能读一百万字,为什么还是会忘?
2026-07-26
一句话:各家 AI 都在比谁的「上下文窗口」更大——20 万字、100 万字。但装得下不等于读得准:一份覆盖 18 个主流模型的技术报告发现,性能下降远在触及上限之前就开始了,而且「怎么摆资料」比「塞了多少资料」更能决定答对率。
反幻觉声明:本文的测试结论来自两个来源,分量不一样,先说清楚。一是 Chroma 团队 2025 年的公开技术报告《Context Rot》——这不是同行评审论文,而且 Chroma 本身就是卖检索基础设施的公司(开源库 Chroma + 商业产品 Chroma Cloud),「长文本靠不住、还得靠检索」正好是对它生意有利的结论,读的时候要打这个折扣;好在它把原始测试数据公开了,本文引用的数字是从它公开的结果文件里直接算出来的。二是斯坦福等机构的《Lost in the Middle》,这是发表在 TACL 2024 上的同行评审论文,跟卖货没关系。两者的研究设计与结论均已从原文核实。文中未使用任何厂商自报的长文本性能数字。
一、一个越来越大的数字
这两年你大概听过这类宣传:
「支持 100 万 token 上下文」「一次能读完一整本《三国演义》」
token 就是文字被切开后的小块(上一篇讲过),上下文窗口就是这张「书桌」一次最多能摊多少块。窗口从几千涨到几十万,再到上百万,确实是了不起的工程进步。
于是很多人自然地想:那把资料全塞进去不就完了?
没那么简单。
二、测试结果:远没到上限,就开始掉
Chroma 团队做了一件很朴素的事:找来 18 个主流模型(涵盖 Anthropic、OpenAI、Google、阿里等),设计几组任务,然后只改变一个变量——输入有多长,看准确率怎么变1。
任务本身很简单,主要是「大海捞针」:在一大段文字里藏一句话(针),然后问模型这句话说了什么。
结果是:模型的表现随输入变长而持续下降,而且下降方式经常出人意料、并不均匀。
关键在于——这个下降不是等到窗口塞满才发生的。报告的说法是:模型在各种输入长度上并不保持稳定的表现。所以「我的窗口有 100 万」和「我在 100 万字里能准确找到那一句」是两回事。
掉多少?给个具体的。报告里有一组「长对话问答」测试,306 道题:只把相关的那一小段聊天记录(中位数约 250 个 token)给 GPT-4.1,它答对 87%;把同样的题连同完整聊天记录(中位数约 11 万 token)一起塞进去,答对率掉到 62%。该有的信息一个字没少,只是旁边多了一堆无关的,答对率就少了 25 个百分点。
这个现象后来被叫做 context rot(上下文腐烂)——资料越堆越多,模型反而越读越糊涂。
三、三条最该记住的发现
① 干扰项会叠加
如果在文字里放进看起来相关、其实是错的段落(研究里叫「干扰项」),模型就更容易答错。放 1 个就掉,放 4 个掉得更多。
这条很实用:你给 AI 的材料里,不相关但看起来像的内容越多,它越容易被带偏。这也是为什么「把整个文件夹一股脑丢给它」经常不如「只挑那三段给它」。
② 问题和答案「长得像不像」也有影响
当「针」和「问题」在字面上很接近时(比如问题里的词就在那句话里),模型容易找到;当两者只是意思相关、字面不像时,性能下降得更明显。
翻译成人话:它更擅长「对暗号」,不那么擅长「意会」。所以提问时尽量用材料里出现过的原词。
③ 反直觉的那一条
这条连研究者都觉得意外:把一大段连贯的文章打乱顺序之后,模型的表现反而变好了。
一份读起来通顺的长文档,反而比一堆被打散的句子更容易让模型出错。
为什么?报告没给出确定答案。但这至少说明一件事:模型「读长文章」的方式,和人类完全不同。我们靠连贯性理解,它似乎会被连贯性干扰。
四、还有一个位置问题
在此之前,2023 年斯坦福等机构的研究已经发现了一个著名现象2:
关键信息放在长文档的开头或结尾时,模型表现最好;放在中间时,性能明显下降。
论文标题就叫《Lost in the Middle》——迷失在中间。幅度是实打实的:在 20 篇文档里找答案,GPT-3.5-Turbo 把答案所在的那篇放第 1 位时答对 75.8%,挪到中间只剩 53.8%——比一篇文档都不给、纯靠自己记忆作答(56.1%)还差。而且研究特别指出:这个问题在那些专门为长上下文设计的模型上同样存在。
把两项研究合起来,结论就清楚了:
不是「塞进去了没有」,而是「摆在哪、旁边有什么、有多长」。
五、这对你实际有什么用
这几条是可以马上用上的:
| 做法 | 为什么有效 |
|---|---|
| 关键信息放开头或结尾 | 直接对应「迷失在中间」的位置效应 |
| 只给相关材料,删掉无关的 | 干扰项越少越好,而且会叠加 |
| 提问时用材料里的原词 | 字面接近比语义接近更容易被找到 |
| 长任务分段处理,别一次全塞 | 输入越长表现越差,这是测出来的趋势 |
| 重要结论让它复述一遍 | 复述失败=它其实没抓住,早发现早补 |
顺带说一句:这也解释了为什么「RAG」(上一篇讲的「临时跑一趟图书馆」)到今天都没有被超大窗口淘汰。曾经有个流行预测是「等窗口够大,检索就没用了」——没有发生。因为问题从来不是装不装得下,而是装进去之后还能不能找准。
不过这条要打个折扣,我得挑明:上面那份《Context Rot》报告的作者 Chroma,自己就是卖检索基础设施的公司(开源库 Chroma,加上商业产品 Chroma Cloud),「检索不会被大窗口淘汰」正好是对它生意最有利的结论,而且这份报告没经过同行评审。所以别把它当定论。它有说服力的地方在于:原始数据是公开的(上面那组 87% 对 62% 就是从它公开的结果文件里算出来的),而且 2023 年那篇《Lost in the Middle》是跟卖货无关的学术论文,两边指向同一个方向。
六、要带走的那句话
下次再看到「支持 XXX 万 token」的宣传,你可以在心里加一句:
那是桌子的尺寸,不是视力的度数。
桌子大是好事,但决定你能不能找到那张纸的,是你怎么摆。