大模型上下文窗口是什么?token、失忆与128K到底多大

你跟 AI 聊到第二十来轮,它开始不听话了。第二轮你就交代过"代码示例一律控制在三十行以内",到第二十轮,它递给你一段九十行的。你把规则重说一遍,它道歉、照办,过一小时又犯。

模型不是变粗心了,它身上发生了一件最接近"遗忘"的事:大模型上下文窗口被塞满了,你第二轮说的那条规则被悄悄挤了出去。搞懂这个机制,你对这类工具的用法会变一档。这篇文章把上下文窗口是什么、128K 换算成纸有多大、长对话为什么会退化、厂商宣传的数字怎么读,一次讲清。

上下文窗口是什么

上下文窗口(context window),指模型单次推理能处理的文本上限,计量单位是 token。它就是模型生成下一条回答时眼前能看到的一切。IBM 把它比作工作记忆:桌上摊着的东西它都能参考,不在桌上的,对它来说就不存在。

我觉得桌面这个比方更贴切,因为桌面能解释后面所有的麻烦。把模型的上下文想成一张面积固定的桌子:你的问题、之前的对话、附带的文档,全得同时摊在这张桌上。桌面不够了怎么办?放新的之前,得先撤走一些旧的。没有抽屉,没有柜子,只有这一张桌面。所以说大模型上下文窗口不是模型对你的记忆,而是这一次请求的桌面空间。

还有一个各家定义页都一笔带过、但很关键的细节:窗口是输入和输出共用的。你的提示词、模型正在生成的回答,从同一个池子里扣。

4K、128K 到底是多大

大模型上下文窗口按 token 计数。token 是模型阅读文本的最小单位,通常是一个词片,偶尔是整个词。换算没有固定汇率,但粗略数字够用:一个英文单词约 1.3 个 token,一个汉字约 0.6 个 token。IBM 的研究者还发现分词对语言并不公平:同一句话翻译成泰卢固语,字符更少,token 消耗却是英文的七倍。也就是说同样的窗口,装某些语言时装的东西更少。

把这些行话换算成页数,宣传数字就诚实了:

窗口≈ 英文词数≈ 能装什么
2K1,500一封长邮件往来(McKinsey 指出这是 GPT-3 的上限)
8K6,000一篇短论文或几个代码文件
32K24,000一份带附录的白皮书
128K96,000一本 200 页的书
1M–2M75万–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 Gemini1M–2M
Meta Llama 3.1+128K
DeepSeek64K
Mistral Large128K

选型口径:日常聊天、单文件问答,8–32K 绰绰有余;整份合同、论文、代码仓库子目录,要 128K 以上;整本书、跨文档批量分析,是百万级窗口的地盘。如果你主要冲着大窗口选模型,先停一下:对大规模私有知识库,用检索(RAG)配一个中等窗口,通常胜过把所有东西塞进上下文——更便宜、可溯源,还不怕文档中部盲区。说到底,大模型上下文窗口决定模型一次能看多少,检索决定什么值得看。

常见问题快答

大模型上下文窗口一句话是什么? 模型单次请求能考虑的最大文本量,就是它这一轮交换的工作桌面,输入输出算在一起。

模型的输出也占窗口吗? 占。输入输出同一个池子:64K 窗口、8K 最大输出的模型,留给你的输入上限是 56K。

为什么 AI 会忘了我之前说的话? 每轮都重发完整历史,超窗后最早的内容被静默截断。关键约束要在最新消息里重说。

大模型上下文窗口越大越好吗? 不是。除了更贵更慢,有效长度往往低于标称值,实测中部信息的性能会下降。大规模文档场景,RAG 配合理窗口通常更优。

哪个大模型窗口最大? 截至 2026 年,Google Gemini 系标称最高 1M–2M token(约 1,500–3,000 页);Kimi 等也在百万级竞争。这些数字每季度都在变,用前查最新文档。

下次发布会再吹 token 数,你知道大模型上下文窗口的数字实际买到的是什么了:桌面面积,按满宽宣传,而桌面中部的东西仍然容易被漏看。按你自己的文档量去选模型——等材料多到任何桌子都摊不下,就是检索该上场的时候了。