大模型上下文窗口是什么?token、失忆与128K到底多大
你跟 AI 聊到第二十来轮,它开始不听话了。第二轮你就交代过"代码示例一律控制在三十行以内",到第二十轮,它递给你一段九十行的。你把规则重说一遍,它道歉、照办,过一小时又犯。
模型不是变粗心了,它身上发生了一件最接近"遗忘"的事:大模型上下文窗口被塞满了,你第二轮说的那条规则被悄悄挤了出去。搞懂这个机制,你对这类工具的用法会变一档。这篇文章把上下文窗口是什么、128K 换算成纸有多大、长对话为什么会退化、厂商宣传的数字怎么读,一次讲清。
上下文窗口是什么
上下文窗口(context window),指模型单次推理能处理的文本上限,计量单位是 token。它就是模型生成下一条回答时眼前能看到的一切。IBM 把它比作工作记忆:桌上摊着的东西它都能参考,不在桌上的,对它来说就不存在。
我觉得桌面这个比方更贴切,因为桌面能解释后面所有的麻烦。把模型的上下文想成一张面积固定的桌子:你的问题、之前的对话、附带的文档,全得同时摊在这张桌上。桌面不够了怎么办?放新的之前,得先撤走一些旧的。没有抽屉,没有柜子,只有这一张桌面。所以说大模型上下文窗口不是模型对你的记忆,而是这一次请求的桌面空间。
还有一个各家定义页都一笔带过、但很关键的细节:窗口是输入和输出共用的。你的提示词、模型正在生成的回答,从同一个池子里扣。
4K、128K 到底是多大
大模型上下文窗口按 token 计数。token 是模型阅读文本的最小单位,通常是一个词片,偶尔是整个词。换算没有固定汇率,但粗略数字够用:一个英文单词约 1.3 个 token,一个汉字约 0.6 个 token。IBM 的研究者还发现分词对语言并不公平:同一句话翻译成泰卢固语,字符更少,token 消耗却是英文的七倍。也就是说同样的窗口,装某些语言时装的东西更少。
把这些行话换算成页数,宣传数字就诚实了:
| 窗口 | ≈ 英文词数 | ≈ 能装什么 |
|---|---|---|
| 2K | 1,500 | 一封长邮件往来(McKinsey 指出这是 GPT-3 的上限) |
| 8K | 6,000 | 一篇短论文或几个代码文件 |
| 32K | 24,000 | 一份带附录的白皮书 |
| 128K | 96,000 | 一本 200 页的书 |
| 1M–2M | 75万–150万 | 1,500–3,000 页,Gemini 的地盘 |
按中文算:一个汉字约 0.6 token,那么 4K 窗口约装 6,800 字,32K 约五万字,128K 约二十一万字,差不多一本长篇小说。表格第一行解释了一大段历史:GPT-3 出厂只有 2,048 token、约 1,500 英文词,装不下一份保险计划或供应商合同。现在看 8K 以下像史前时代,但直到 2023 年,整整一代围绕大模型上下文窗口做文章的方案,就是为这一行而生的。
窗口里装的不只是你输入的东西
看到"128K 上下文",你大概以为是 96,000 词你的文档。实际桌面上坐着这些人:
| 占用者 | 是什么 |
|---|---|
| 你当前的输入 | 提示词、粘贴的文档 |
| 对话历史 | 之前每一轮,每次请求都重发一遍 |
| 系统提示词 | 厂商预置的隐藏指令,塑造模型行为 |
| 检索资料 | RAG 流程为回答你现查的文档 |
| 格式符号 | 特殊字符、换行、标记 |
| 模型的输出 | 正在生成的回答,同一个池子里扣 |
IBM 的文章是少数把这层说透的:系统提示词和 RAG 检索内容同样占窗口。这就是为什么标称窗口用起来永远没有听看上去宽敞——等你看得见的部分上桌时,看不见的部分早就坐下了。
为什么 AI 聊久了会"失忆"
现在解开开头那个第二十轮的谜。聊天 API 是无状态的:服务器不记得你们的对话,每一轮,客户端都把完整历史重发一遍:你的消息、模型的回答,全部,再加上新消息。讲 DeepSeek API 的实践文章把这件事讲得最直白,代码都在:第二轮的请求里原样装着第一轮的问和答。
于是每聊一轮,桌面就满一分。等总量终于超过大模型上下文窗口,厂商的工程策略就上场了:上下文截断。系统只保留最近 N 个 token,最早的内容被静默丢弃。你看不到任何报错——你看到的是一个照样对答如流、但已经忘了五十轮前承诺过什么的模型。这不是模型记错了,是那些内容根本不在桌上了。
腾讯云开发者社区有个实验把这个失败模式演示得很干净:给一个 4,096 token 窗口的模型喂 5,000 token 的产品说明书,最前面约 900 token 被切掉——"核心功能"一节在开头,没了;"售后政策"在结尾,活着。问核心功能,答非所问或者瞎猜;问售后政策,完美作答。同一份文档,命运完全相反,只取决于位置。
实际的应对都不性感:任务换了就新开一个会话;关键约束在最新一条消息里重说一遍,别指望第二轮;真正重要的参考资料放在最近的消息里。我自己的习惯是每到大节点交付前,把需求原文重新粘贴一次,就当给可能已经掉下桌子的规则买份便宜保险。
标称和有效:数字不等于数字
厂商规格和实际体验在这里分岔。一个大模型能装下 128K token,不代表它能用好中间的部分。标志性研究是《Lost in the Middle》(Liu 等,2023):模型对长输入开头和结尾的信息利用得好,答案埋在中部时性能明显下降。维基百科给这个现象起了个收编的名字——有效上下文长度(effective context length):性能真正开始退化的位置,研究发现往往比标称的大模型上下文窗口短。
厂商知道这事,也在改善,Google DeepMind 2024 年报告新模型的长程一致性已有进步。但我的经验法则是:工具明明"看过"某个信息却答错时,先别骂模型笨,查一下那条事实是不是埋在文档中部。这也是为什么有据可依的回答好过凭记忆硬答——检索把桌上的东西变少了,这也是它能缓解 AI 幻觉的原因之一。
为什么不把窗口无限做大
既然越大越好,为什么没有大模型厂商上线一亿 token 的窗口?数学不允许。Transformer 的自注意力机制要让每个 token 和其他所有 token 两两计算关系,计算量随长度平方增长:token 翻倍,计算量翻四倍。社区工程师估算,128K 序列的注意力矩阵在 FP16 下需要约 65GB 显存——8K 只要 262MB。长上下文还更慢(生成每个词都要回头参考前面全部内容)、更贵(按 token 计费,塞多少付多少),IBM 引 Anthropic 的研究还指出:窗口越长,越狱攻击面越大。
解决方案是有的:稀疏注意力、滑动窗口、旋转位置编码,这些技术也是大模型窗口三年内从 4K 涨到百万级的原因。但约束是真的,所以大模型上下文长度至今仍是发布会上的头版参数,而不是一个"解决了的问题"。
2026 年主流窗口一览,怎么选
各家公开文档标注的窗口(标称值,注意上面说的有效长度打折扣):
| 模型 | 标称窗口 |
|---|---|
| OpenAI GPT-4o / o 系 | 128K |
| Anthropic Claude | 标准 200K(企业版 500K) |
| Google Gemini | 1M–2M |
| Meta Llama 3.1+ | 128K |
| DeepSeek | 64K |
| Mistral Large | 128K |
选型口径:日常聊天、单文件问答,8–32K 绰绰有余;整份合同、论文、代码仓库子目录,要 128K 以上;整本书、跨文档批量分析,是百万级窗口的地盘。如果你主要冲着大窗口选模型,先停一下:对大规模私有知识库,用检索(RAG)配一个中等窗口,通常胜过把所有东西塞进上下文——更便宜、可溯源,还不怕文档中部盲区。说到底,大模型上下文窗口决定模型一次能看多少,检索决定什么值得看。
常见问题快答
大模型上下文窗口一句话是什么? 模型单次请求能考虑的最大文本量,就是它这一轮交换的工作桌面,输入输出算在一起。
模型的输出也占窗口吗? 占。输入输出同一个池子:64K 窗口、8K 最大输出的模型,留给你的输入上限是 56K。
为什么 AI 会忘了我之前说的话? 每轮都重发完整历史,超窗后最早的内容被静默截断。关键约束要在最新消息里重说。
大模型上下文窗口越大越好吗? 不是。除了更贵更慢,有效长度往往低于标称值,实测中部信息的性能会下降。大规模文档场景,RAG 配合理窗口通常更优。
哪个大模型窗口最大? 截至 2026 年,Google Gemini 系标称最高 1M–2M token(约 1,500–3,000 页);Kimi 等也在百万级竞争。这些数字每季度都在变,用前查最新文档。
下次发布会再吹 token 数,你知道大模型上下文窗口的数字实际买到的是什么了:桌面面积,按满宽宣传,而桌面中部的东西仍然容易被漏看。按你自己的文档量去选模型——等材料多到任何桌子都摊不下,就是检索该上场的时候了。