开发者Club开发者Club

3分钟搞懂Token和上下文

Token = AI理解文字的基本单位(不是字也不是词),上下文窗口 = AI能"记住"多长内容的工作台

FTD DevClub
3 分钟阅读
AIToken上下文窗口Context Window大语言模型ChatGPT

一句话定义

Token = AI理解文字的基本单位(不是字也不是词),上下文窗口 = AI能"记住"多长内容的工作台

打个比方

Token和上下文就像存储和工作台:

  • Token = 存储单位: 像硬盘的"MB",衡量文字大小
  • 上下文窗口 = 工作台大小: 台面越大,能同时摊开的资料越多

举个例子:

场景: 让AI帮你写论文

小工作台(4K上下文):
只能放几页参考资料 → 需要分段处理 → 可能遗漏关键信息

大工作台(100K上下文):
能摊开整本书+所有笔记 → 全局理解 → 更连贯的输出

核心理念: Token不是字数,上下文不是记忆力。Token是AI的"计量单位",上下文是AI的"短期工作记忆",超出就会"失忆"(丢掉前面的内容)。

核心要点(3个)

1. Token是什么: AI的基本单位

Token定义:

  • AI理解文字的最小单元
  • 不是"字",也不是"词",而是"词块"(subword)
  • 中文: 1个字 ≈ 1.5-2个token
  • 英文: 1个词 ≈ 0.5-1个token

为什么不是"字"或"词":

如果按"字":
- 英文: "ChatGPT" = 7个字母,太碎片
- 中文: 可以,但新词汇处理困难

如果按"词":
- 词典太大(几十万词),效率低
- 新词无法处理(如"ChatGPT")

按Token(词块):
- 平衡: 常见词整个保留,罕见词拆分
- 灵活: 可以处理新词和拼写错误
- 高效: 词典适中(5万左右)

Token计算示例:

文本Token数说明
"你好"2-3中文每个字约1.5-2 token
"Hello"1常见英文词1 token
"ChatGPT"2-3特殊词会拆分: "Chat" + "GPT"
"1000字中文文章"~1500-2000约字数的1.5-2倍
"1000 words English"~1200-1500约词数的1.2-1.5倍
代码(Python)~1.3倍字符数代码通常token数更多

实际例子:

输入: "我爱ChatGPT"
Token分解: ["我", "爱", "Chat", "GPT"] = 4个token

输入: "I love ChatGPT"
Token分解: ["I", " love", " Chat", "GPT"] = 4个token
(注意英文空格也算在token里)

2. 上下文窗口: AI的工作记忆

上下文窗口定义:

  • Context Window = AI能同时处理的token数量上限
  • 包括: 你的输入 + AI的输出 + 对话历史
  • 超出上限: 早期内容会被丢弃("失忆")

工作台类比:

4K上下文 = 小工作台
→ 约3000中文字
→ 能处理: 短对话/单篇文章
→ 类比: 学生宿舍小桌

8K上下文 = 中等工作台
→ 约6000中文字
→ 能处理: 中等长度文档
→ 类比: 家用书桌

32K上下文 = 大工作台
→ 约24000中文字
→ 能处理: 长文档/多轮对话
→ 类比: 办公室大桌

100K上下文 = 超大工作台
→ 约75000中文字 = 一本中等长度的书
→ 能处理: 整本书/海量资料
→ 类比: 图书馆阅览桌

200K上下文 = 巨型工作台(Claude)
→ 约15万中文字 = 一本长篇小说
→ 能处理: 多本书/整个代码库
→ 类比: 会议室长桌

主流模型上下文对比:

模型上下文窗口约等于(中文)适用场景
GPT-3.54K tokens~3000字日常聊天/短文档
GPT-3.5-16K16K tokens~12000字中等文档
GPT-48K tokens~6000字复杂任务(基础版)
GPT-4-32K32K tokens~24000字长文档分析
GPT-4 Turbo128K tokens~96000字超长文档/代码库
GPT-4o128K tokens~96000字多模态+长文本
Claude 3200K tokens~15万字整本书分析
Kimi(月之暗面)200K tokens~15万字长文本首选(国内)
Gemini 1.5 Pro1M tokens~75万字超长文本(实验性)

3. Token和成本: 直接影响费用

为什么Token影响成本:

  • AI API按token计费
  • 输入token + 输出token = 总费用
  • 上下文越长 = token越多 = 费用越高

价格示例(2024年底):

模型输入价格输出价格1000字约
GPT-3.5 Turbo$0.5/1M tokens$1.5/1M tokens¥0.01
GPT-4o$2.5/1M tokens$10/1M tokens¥0.05
GPT-4 Turbo$10/1M tokens$30/1M tokens¥0.2
Claude 3.5 Sonnet$3/1M tokens$15/1M tokens¥0.08

成本计算例子:

任务: 总结一篇5000字的文章

Token消耗:
- 输入: 5000字 × 1.5 = 7500 tokens
- 输出: 500字摘要 × 1.5 = 750 tokens
- 总计: 8250 tokens

使用GPT-4o:
- 输入成本: 7500 × $2.5/1M = $0.01875
- 输出成本: 750 × $10/1M = $0.0075
- 总成本: ~$0.026 ≈ ¥0.19

如果每天处理10篇:
- 日成本: ¥1.9
- 月成本: ¥57

节省成本技巧:

  1. 精简Prompt: 去掉多余内容
  2. 选对模型: 简单任务用便宜模型(3.5)
  3. 控制输出长度: 限制AI回复字数
  4. 避免重复: 不要反复发送相同内容

为什么重要

理解Token和上下文,才能高效使用AI和控制成本。

实际影响:

影响使用体验

场景1: 长文档分析

错误做法(小上下文):
把100页报告分10次提问
→ AI每次只看一部分
→ 缺乏全局视角
→ 结论可能片面

正确做法(大上下文):
选择Claude(200K)或Kimi
→ 一次性上传整份报告
→ AI全局理解
→ 更准确的分析

场景2: 多轮对话

小上下文(4K):
对话20轮后,AI忘记最初的设定
→ 前后矛盾
→ 需要重新提醒

大上下文(128K):
对话100轮也不会忘
→ 保持一致性
→ 更流畅的体验

影响成本

场景3: API开发

未优化:
每次请求都发送完整历史对话
→ Token浪费严重
→ 成本高10倍

优化后:
只保留最近N轮对话+关键摘要
→ Token减少80%
→ 成本大幅降低

常见误解

误解1: Token就是字数

真相:

  • 中文: 1个字 ≈ 1.5-2 token(不是1:1)
  • 英文: 1个词 ≈ 0.5-1 token
  • 标点/空格也算token
  • 建议: 用1.5-2倍字数估算中文token

误解2: 上下文越长越好

真相:

  • 越长越贵: 成本按token计费
  • 可能影响效果: 信息过多AI也会"晕"
  • 速度更慢: 处理更多内容需要时间
  • 建议: 按需选择,够用就好
    • 日常聊天: 4K-8K够了
    • 长文档: 32K-128K
    • 整本书: 200K

误解3: 超出上下文会报错

真相:

  • 不会报错,会自动截断
  • 早期内容被丢弃(从对话开头删除)
  • AI"失忆",忘记前面说过的话
  • 表现: 前后矛盾/重复问题/忘记设定

误解4: 上下文 = AI的长期记忆

真相:

  • 上下文是"短期工作记忆",只管当前对话
  • 关闭对话就清空(除非有记忆功能)
  • 不同对话之间不共享
  • ChatGPT记忆功能: 另一种机制,不是上下文

实用技巧

1. 选对模型省钱

任务类型 → 推荐模型

日常聊天/简单问题:
→ GPT-3.5(4K)免费/便宜

分析5-10页文档:
→ GPT-4(8K)或GPT-4o(128K)

分析50-100页报告:
→ GPT-4 Turbo(128K)或Claude 3(200K)

分析整本书/代码库:
→ Claude 3(200K)或Kimi(200K)
→ Gemini 1.5 Pro(1M,实验性)

2. 查看Token消耗

OpenAI API:

response = openai.ChatCompletion.create(...)
tokens_used = response['usage']['total_tokens']
print(f"使用了{tokens_used}个tokens")

在线工具:

3. 优化Prompt减少Token

❌ 浪费token:

请你作为一个资深的、经验丰富的、专业的、优秀的编辑,
帮我写一篇关于AI的文章,要求文章内容丰富、逻辑清晰、
语言流畅、结构完整...
(100字Prompt = 150+ tokens)

✅ 精简版:

你是资深编辑,写一篇800字AI文章,要求:逻辑清晰,3段结构。
(20字 = 30 tokens,节省80%)

4. 处理长文档策略

方法1: 分块总结(小上下文)

1. 把文档分成N段
2. 每段总结要点
3. 最后综合所有要点

方法2: 一次性处理(大上下文)

使用Claude/Kimi
→ 上传完整文档
→ 直接提问

方法3: MapReduce(超长文档)

1. 分块处理(Map)
2. 汇总结果(Reduce)
3. 综合分析

3秒总结

记住这3点就够了:

  • Token = AI的计量单位,中文1字≈1.5-2token,决定成本
  • 上下文 = 工作台大小,越大能处理越长内容,但越贵
  • 按需选择: 日常4K够,长文档32K-200K,控制成本

💬 互动话题: 你用AI时遇到过"失忆"问题吗?(对话太长,AI忘记前面说的)

评论

登录后即可发表评论

登录账户

加载评论中...