第五章 · 认知篇

上下文窗口与 Token
AI 的工作记忆

AI 不是无所不记的——它有一个"工作台"。
放不下的东西就会被忘掉,放满了就会开始变笨。

TokenAI 处理文本的最小单位
有限上下文窗口不是无限的
会衰减越长越笨的真实原因
本章导读 Token 是什么 上下文窗口:AI 的工作台 上下文腐败:为什么越长越笨 中文用更多 Token 意味着什么 实际管理策略 Token 的真实影响 上下文窗口满了 估算任务 Token 数
§ 一 · Token 是什么

AI 不直接处理"字",而是处理"Token"

当你向 AI 发送一段话,AI 不是把这段话当作一整块文字来处理,而是先把它切成一个个小块——这些小块叫做 Token(词元)

Token 可以理解成"AI 处理文本的最小单位"。在英文里,Token 大约对应一个单词或者单词的一部分;在中文里,每个汉字通常是 1-2 个 Token,但比英文更"贵"(消耗更多 Token)。

来看一个直观的例子。下面这句话,用颜色标出了不同的 Token 块:

The quick brown fox jumps over the lazy dog
英文 9 个词 ≈ 10 个 Token("jumps"被切成了 "jum" + "ps")
中文 13 个字 ≈ 13-26 个 Token(每个汉字 1-2 Token)

Token 重要是因为:AI 的所有计算都以 Token 为单位——它的上下文窗口大小用 Token 来衡量,它的收费通常也按 Token 计算。

英文
"Hello, how are you?" (4 words)
~6 tokens
中文
"你好,你还好吗?" (7字)
~10 tokens
代码
print("Hello World")
~8 tokens

这意味着:相同内容,中文对话消耗的 Token 数量比英文多约 30-50%。这在使用 AI 的时候有两个实际影响:一是相同的上下文窗口,中文能放下的信息量更少;二是中文对话的 API 费用通常更高。

§ 二 · 上下文窗口:AI 的工作台

AI 的"工作记忆"是有限的

上下文窗口(Context Window)是 AI 在同一时刻能"看到"的所有内容——你的问题、它之前的回答、你给它的参考资料……全部都在这个窗口里。

最好的比喻是:把上下文窗口想象成一张书桌。

系统提示词 AI 的角色设定 你的问题 当前这条输入 历史对话记录 之前所有轮次 参考资料 你粘贴的文档 满了 上下文窗口 = AI 的书桌 ← 这张桌子只有这么大 →
书桌上摆着系统提示词、你的问题、历史对话、粘贴的文档——所有这些加起来,就是 AI 当前能"看见"的全部内容。桌子是有限大的,放不下的东西就不在 AI 的"视野"里了。

主流 AI 的上下文窗口大小:Claude 3.7 约 20 万 Token,GPT-4o 约 12.8 万 Token,DeepSeek-V3 约 6.4 万 Token。

20 万 Token 是什么概念?大约是 15 万字的中文——相当于一本中等长度的书。听起来很大,但在实际工作中,你会比想象中更快地用完它。

§ 三 · 上下文腐败:为什么 AI 越聊越笨

不是 AI 变笨了,是它的"注意力"被稀释了

你有没有发现:跟 AI 聊到后来,它的回答质量越来越差,开始重复自己,开始忘记你之前说过的事?

这个现象有个专业名字:上下文腐败(Context Rot)。Anthropic 的工程团队的研究发现,随着对话越来越长,AI 从上下文中准确召回信息的能力会逐渐下降——不是突然崩溃,而是渐进式地精度衰减。

为什么会这样?

Transformer 架构(几乎所有大语言模型的底层结构)在处理文本时,需要计算每个 Token 与所有其他 Token 之间的关系。Token 数量翻倍,计算复杂度大约是四倍(n² 级别)。随着上下文越来越长,模型的"注意力"要被分散到更多的 Token 上,每个 Token 能分配到的注意力就越来越少。

上下文腐败:随着对话变长,性能如何下降
短对话(0-1万 Token)准确率 ~95%
模型状态最佳,召回精准
中等对话(1-5万 Token)准确率 ~80%
开始出现遗漏,部分细节被忽视
超长对话(10万+ Token)准确率 ~55%
早期信息经常被忽略,一致性明显下降
长对话不等于好对话。当你把所有历史记录都堆在同一个对话里,AI 的表现反而更差——因为它的注意力被大量噪音分散了。

这就解释了一个反直觉的现象:有时候,新开一个对话、把关键背景重新说一遍,反而比在一个超长的老对话里继续更有效。

§ 四 · 中文消耗更多 Token,对你意味着什么

三个你应该知道的实际影响

影响一
相同内容,中文占用更多空间
你粘贴进去的一份 5000 字的中文文档,会比同等内容的英文占用更多的上下文空间。这意味着,做同样的任务,你能给 AI 参考的中文内容比英文少。

实际建议:如果你在做研究,把文档里的关键摘要单独整理,不要把整篇文章都粘进去。
影响二
API 费用以 Token 计算
如果你在用付费 API(比如自己调用 Claude 或 GPT-4 的接口),中文对话的费用会比英文高 30-50%。

实际建议:需要做大批量的 AI 处理任务时,考虑是否能先把内容压缩或用英文处理。(免费用户不受影响。)
影响三
长对话消耗快
你和 AI 的每一轮对话,都在不断累积 Token——你说的话、AI 说的话、你粘贴的内容,全部加起来。中文对话的速度更快触达上下文上限。

实际建议:重要的长任务,定期用新对话重置,而不是在一个对话里无休止地追加。
§ 五 · 实际管理策略

四个让 AI 保持状态的方法

知道了上下文窗口的限制,你可以主动管理它,而不是被动等 AI "变笨"。

方法一:分段法
把大任务拆成多个独立对话
不要在一个对话里同时做研究、写稿、修改、定稿。每个阶段开一个新对话,把上一阶段的输出当作这个阶段的输入。

每次开始时只放"这个阶段需要的"内容,保持上下文干净。
方法二:摘要法
让 AI 帮你总结进度
对话变长时,在继续之前先让 AI 总结:

"在我们继续之前,请总结一下到目前为止我们确认的事项、做的决定,以及还没有解决的问题。"

把这个摘要保存下来,新对话里用它开场。
方法三:精炼法
只放"当前需要"的信息
不要把整篇文章、整份报告粘进去——提炼出和当前任务直接相关的部分再粘贴。

给 AI 一张"100 行的目录索引",比给它"1000 页的完整手册"更有效。这就是 Anthropic 工程师说的"给地图,不给手册"。
方法四:文件化法
重要结论写进文件,而不是留在对话里
当你和 AI 讨论出了重要的决策或发现,立刻把它保存到一个单独的文档里。

下次对话时,直接粘贴这个文档里的关键信息——而不是让 AI 从几十轮对话历史里自己去找。

这四个方法的共同逻辑:主动管理进入 AI 的信息,让"书桌"上始终只摆着当前任务需要的东西。这是第 44 章"长对话管理"的核心内容,届时我们会有更完整的方法论。

§ 六 · Token 的真实影响——实测数据

中文 vs 英文的 Token 成本差异

理论上理解了 Token,还要知道它在实践中的真实成本。这很重要,因为它直接影响你的工作效率和费用。

1.5-2
中文每字平均 Token 数
1-1.5
英文每词平均 Token 数
~40%
中文提示词的额外成本

实际例子:同一个请求的 Token 成本对比

Chinese:
■ 12 个字 = 约 15-18 Token
English: Writemeamarketanalysisreport
■ 6 个词 = 约 7-8 Token

同样的意思,中文版本用了大约 2 倍的 Token。如果你的工作涉及大量 API 调用(比如批量数据处理、自动化工作流),这个差异会非常显著。

代码的 Token 效率

高效的格式
Python、YAML
语法简洁,Token 消耗相对较低。100 行 Python 代码约 400-600 Token。
低效的格式
XML、JSON(嵌套深)
包含大量标签和冗余结构。同样的数据用 XML 表示会消耗 2-3 倍的 Token。

实际建议:何时用英文提示词来省成本

场景一:API 批量调用
如果你在做数据处理、自动化流程或 Agent 开发,用英文提示词。成本差异在大规模工作中会乘以请求数,变成真金白银。

场景二:长文档处理
要处理的文档很长时,先把核心内容提炼出来,而不是全部粘进去。一份 10000 字的中文文档,可能只需要 1000 字的摘要就足够。

场景三:反复迭代
如果这个任务你要问 AI 很多次,考虑把背景信息和规则用英文写清楚一次,避免重复解释。

关键是有意识地选择,而不是无脑粘贴。你越了解 Token 的实际成本,你的提示词就写得越精炼。

§ 七 · 上下文窗口满了会发生什么

不同模型的应对策略差异很大

不是所有模型在上下文满了的时候都会有相同的行为。这很重要,因为它影响你如何规划长对话。

截断策略
从开头开始丢弃(Sliding Window)
当窗口满了,模型会忽略最早的对话内容,保留最新的部分。这会导致早期的关键指示被遗忘。
拒绝策略
拒绝继续,要求开启新对话
某些模型或 API 配置下,当接近上限时会直接拒绝继续,强制用户开启新对话。
无声丢弃
"Lost in the Middle" 问题
模型继续工作,但对上下文中间位置的信息注意力严重下降。你给的参考资料被忽视了,而你不知道。
严重后果
最坏的情况
AI 在基于不完整的信息做决策,但仍然信心十足地输出结果——看起来没问题,实际上是错的。

名义上下文 vs 实际有效上下文

Claude 标称 20 万 Token 的上下文窗口,但这不意味着所有 20 万 Token 都被等同对待

📊 Anthropic 的研究发现

为什么"有效上下文"小于"名义上下文"

Anthropic 在测试中发现,当在超长上下文(接近上限)的中间位置放入关键信息,模型的检索准确率会显著下降——即使该信息在窗口内。表现最好的是:

💡 实际建议:最重要的信息要么放在开头,要么放在最后。不要指望 AI 能准确检索中间的细节。

如何判断你的上下文已经太满

你不需要等模型告诉你"上下文满了"。以下是几个早期信号:

信号一:开始遗忘早期信息
你之前明确说过的设定、决策、或约定,AI 开始"忘记"。它会说"我们之前没讨论过这个",但你知道讨论过。
信号二:自相矛盾
AI 的回答开始违反之前确认过的约束或逻辑。这通常意味着它没有一致地访问整个上下文。
信号三:输出质量明显下降
不是字更少,也不是格式不对,而是逻辑变差、创意变平庸、细节变粗糙。这是"注意力被分散"的直接表现。
信号四:对你的要求反应迟钝
你说"和之前的分析一样的方法来处理这个",但 AI 搞不明白"之前"指的是什么。频繁需要你重复说明。

上下文太满了怎么办

方案一:总结并开新对话
让 AI 输出一份结构化的总结(关键决策、确认的事项、待解决的问题),然后新建对话,把总结作为新对话的开场。这样保留了关键信息,但清空了"噪音"。

方案二:使用"三文件系统"(Ch44 详述)
维护三个独立文档:(1) 系统规则 (2) 当前进度总结 (3) 待办事项。每次对话只引用这三个文档,而不是把整个对话历史都拉进来。

方案三:分阶段对话
不同阶段(研究、写作、修改、定稿)用不同对话。每个阶段对话只关注那个阶段的内容。完成后,把输出和关键决策保存到外部文档,下个阶段再引用。
§ 八 · 如何估算一个任务需要多少 Token

从经验规则到实际工具

好消息是:你不需要手算每个字的 Token。但你应该能快速估算,这样在开始任务前就知道"这件事能不能塞进一个对话里"。

经验规则:2 倍安全系数

输入 + 输出
所有内容加起来
× 2
安全系数
= 预算
这就是你的 Token 预算

为什么乘以 2?因为:

常见任务的 Token 预算

任务类型 输入范围 预期输出 总预算(× 2 安全系数) 是否适合单对话
简单 Q&A 100-300 字 200-800 字 500-1000 Token ✓ 轻松
文档总结 2000-5000 字 500-1500 字 3000-6000 Token ✓ 轻松
代码审查 300-1000 行代码 500-2000 字评论 2000-4000 Token ✓ 轻松
长报告写作 资料 5000-10000 字 3000-8000 字输出 5000-12000 Token ✓ 可以,但会接近对话上限
数据分析 + 可视化建议 数据 5000-15000 字 2000-5000 字分析 7000-15000 Token ✓ 可以,但留意对话长度
完整项目规划 需求 10000+ 字、参考资料 5000-15000 字方案 20000-40000 Token △ 单对话会比较紧张
多轮设计迭代 初稿 + 多次反馈 + 参考 反复优化,每轮 2000-5000 字 50000+ Token ✗ 用分段法,不要在一个对话里

实际工具:使用 Tokenizer

不要猜——验证。当你准备做一个重要任务时,把文本粘进 tokenizer,看真实的 Token 数。

推荐工具:
OpenAI Tokenizer(在线):https://platform.openai.com/tokenizer — 查看 GPT 系列的 Token 数
Anthropic Token Counter(在线):Claude.ai 侧边栏有内置的消息 Token 数显示
tiktoken(Python 库):pip install tiktoken — 批量计算,适合自动化

花 30 秒验证,比浪费 10 分钟在超长对话里要聪明。

"80/20 规则":你的大部分工作其实很"小"

📈 真实观察

80% 的日常任务不需要接近上下文上限

在实际工作中,大多数 AI 对话的 Token 消耗在 1000-5000 之间。只有约 20% 的任务(大型文档处理、复杂项目规划、多轮迭代设计)才会触及 20000-50000 Token。

这意味着:

  • 你不需要为了应对"最坏情况"就过度优化
  • 但当你知道自己在做那 20% 的工作时,要有意识地使用分段法、总结法
  • 大多数时候,只要别在一个对话里无限累积,你就不会碰到真正的上下文压力
💡 实际建议:监控,但不要过度焦虑。当对话超过 10000 Token 时,看一眼"这还需要继续吗"。通常不需要。
§ 九 · 本章小结

本章要点回顾

  • 01Token 是 AI 处理文本的最小单位。上下文窗口 = AI 的书桌,所有内容都在这张桌子上,桌子有固定大小。
  • 02上下文腐败(Context Rot):对话越长,AI 的注意力被稀释,召回准确率下降。实际有效上下文 < 名义上下文。
  • 03解决方案:总结后开新对话、使用三文件系统、分阶段对话。主要思想是清空"噪音",保留"信号"。
  • 04判断上下文过满的信号:AI 开始遗忘早期信息、自相矛盾、输出质量下降。
  • 05用 Tokenizer 工具验证真实的 Token 数,而不是猜测。30 秒的验证省去 10 分钟的浪费。
你已经知道了 AI 的工作原理、提示词的写法、上下文的限制。那这一切的背后,是什么商业逻辑在支撑?为什么有些 AI 免费,有些收费,有些突然停服?下一章,我们讲 AI 的商业模型——理解这些,你才能判断哪些工具值得长期依赖。