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 把世界讲清楚
夜雨聆风