乐于分享
好东西不私藏

Token 与上下文窗口:为什么长文档 AI 会忘事?

Token 与上下文窗口:为什么长文档 AI 会忘事?

AI解说局 · AI MODEL & AGENT

📘 大模型基础 · 第 2 讲

Token 与上下文窗口

为什么长文档,AI 会"忘事"?

你大概率遇到过:把一份 80 页的 PDF 喂进去,问它第 3 页讲了啥,它答非所问,甚至编一段。

不是它变笨,是"上下文窗口"满了。今天用直觉把这事讲透——顺便解释上周横评里 Kimi 长文档为什么那么强。

① Token 是什么:模型不读"字",读"Token"

大模型不是按汉字一个个读的,它先把文本切成 Token(最小语义单元),再喂给模型。中文 1 个字 ≈ 1.5~2 个 Token;英文一个词可能拆成几个 subword。

所以你发 1000 个中文字 ≈ 1500~2000 个 Token。同样一段话,中文比英文更"费"Token——这也是中文长文档更吃上下文的原因之一。

② 上下文窗口:模型一次能"装进脑子"的上限

常见窗口:8K / 32K / 128K / 1M Token。它指的是单次对话里,模型能同时"看到"的 Token 总量(你的输入 + 它的回答都算)。

超出了怎么办?两种处理:直接截断(前面的看不到了),或滑动窗口(只保留最近一段)。无论哪种,超出窗口的内容,模型就等于没读过——这就是"忘事"的根源。

③ 为什么"忘":窗口截断 + 注意力衰减

两件事叠加:一是窗口满了被截断;二是注意力机制对离得远的前文权重天然更低。所以你开头提的需求,聊到后面它越来越顾不上——下下周我专门讲注意力机制,这里先留个扣子。

④ KV-Cache:窗口越大,显存越爆

推理时,模型会把窗口内每个 Token 算出来的"键/值"缓存下来(KV-Cache),免得每生成一个字都重算一遍。窗口从 8K 涨到 1M,缓存量上百倍增长——长上下文不是白给的,是真金白银的算力。这就是为什么能开 1M 上下文的模型少。

⑤ 窗口怎么从 4K 拉到 1M:位置编码外推

模型靠位置编码(RoPE)知道"第几个字"。原训练只见过 4K 位置,直接丢 1M 进去它会懵。办法是"外推":把超长位置压缩回它见过的范围(Position Interpolation),或更聪明地分段外推(YaRN)。

Kimi 的 1M 上下文,走的就是这条路线。所以上周横评里它读 100 页 PDF 不丢要点——不是它记性好,是窗口真的够长

🎯 给你三条实用建议

超长文档 → 先切片 / 用 RAG,别一股脑全塞进窗口

别一次甩 10 个 bug 给 Agent → 分批、带上下文

要"续命" → 学上下文工程:摘要前置、关键信息重复提醒

👉 追更系统课

回复【基础】追更 12 周大模型系统课(每周 1 讲)

想看长文档实测,回复【模型】领中文横评表

强力推荐

→ | ←

© 2026 AI解说局 · 用 AI 把世界讲清楚