资料贴得越长,AI 为什么越容易漏?聊聊“迷失在中间”

把长文贴给 AI,它答得很顺,却漏掉了中段那句关键限制。这篇讲清“迷失在中间”是怎么回事,以及怎样把问题、证据和原句放到它比较不容易忽略的位置。

资料贴得越长,AI 为什么越容易漏?聊聊“迷失在中间”

你把一份三十页的材料贴进对话框,在最上面问了一个很具体的问题。AI 答得又快又顺,还像是读完了。你回到原文第 14 页,发现它要的那句话就在那里,答案里却完全没出现。这不一定是窗口装不下。很多时候,材料还在它的上下文里,它只是更会用开头和结尾,更容易漏掉中间。

这件事常被叫作“迷失在中间”。它和“聊久了变笨”不是同一件事,也不是把文件再总结一遍就能解决的。

窗口还没满,它也可能漏

上下文窗口是一次对话能装下多少文字。Token 和上下文窗口讲的是容量:装不下的部分,模型根本看不见。迷失在中间讲的是另一层:装得下,也不等于每一段都被同等使用。

你可以把长文想成一排座位。模型不是从第一排均匀看到最后一排。它往往对门口和最后一排更敏感,坐在中间的人更容易被当成背景。研究里反复看到的是一条 U 形:把同一条关键事实放在长文开头或结尾,模型更常答对;放在中段,漏掉的次数会上升。幅度因模型和任务而异,没有一个永远适用的百分比,所以不必背数字。要记住的是位置不公平。

文件没有被截断,只说明它进了房间。不说明中间那一页被认真看过。

开头和结尾为什么更占便宜

模型读到的是一长串词,不是你在文件夹里标好的“重点”。靠前的内容会先成为它理解后文的框架,靠后的内容离它即将写出的答案更近。中间那段两边都不靠,就更容易被写成“大概是这个意思”。

你把关键句放在哪模型更常发生什么适合放什么
开头更容易被当成这次任务的框架问题、范围、不要编造的要求
中间更容易被跳过或被前后文带跑不要只把唯一证据放在这里
结尾离答案最近,更容易被用上再重复一次问题,并点名必须引用的段落

所以“我都贴进去了”不是核对完成。你还得知道那句关键的话坐在哪一排。

长资料里的关键句放在开头和结尾更容易被 AI 用到
同一句话,放在开头或结尾,比埋在中段更不容易被漏掉。

别和另外两个词混在一起

上下文工程说的是你怎么准备材料:哪些该给、哪些不该给、按什么顺序给。迷失在中间是材料已经给进去之后,模型使用它们的偏差。准备得再全,如果把证据堆在中段、把问题只写在第一行,这个偏差还在。

它也不是幻觉的全部原因,但会加重幻觉。模型没抓到中段那句限制条件,就会用前后更显眼的句子把答案圆完。圆得很顺,限制条件却丢了。

贴资料时,可以固定用这四种放法

  • 问题写两次:开头写清要回答什么,结尾用一句话再说一遍,并写上“若材料没写,就回答未找到”;
  • 证据不要只有一份藏在中间:如果某段是唯一依据,把它剪出来,单独放在问题附近;
  • 长文先切片:按章节问,不要三十页只问一次“总结一下”;
  • 先引用,再下结论:要求它写出原句,你核对原句在不在,再看它的解释。

可以直接用:

下面是一份材料。请只回答我放在结尾的那个问题。回答前先引用材料中的原句,并说明它大致在前部、中部还是后部。如果原句不存在,请回答“未找到”,不要用材料外的知识补全。不要因为某一段写得更顺,就忽略后面的限制条件。

最后一句是有用的。模型会偏向写得完整、语气肯定的段落,中段里一句干巴巴的“但是不包括出口订单”,反而容易消失。

一份合同里,中段那句例外最容易丢

假设一份合作说明有 18 段。第 2 段写“本服务包含三次修改”,第 11 段写“出口订单不包含在三次修改里,需另行报价”,第 17 段又把交付日期重说了一遍。你问:“一共包含几次修改?”模型很容易抓住第 2 段和第 17 段附近的句子,回答“三次”,把第 11 段的例外留在原地。

这不是它故意省略,是那句例外两头都不靠。你可以先把第 11 段单独剪出来,放在问题下面,再问一次。如果第二次答案变了,就说明第一次不是不会读中文,而是没把中段当依据。

长 PDF 也可以拆成三次提问,而不是一次“总结全文”:

  • 第一次只问结构:有哪些章节,每章用一句话说明,不要下结论;
  • 第二次只问你在意的那一章:把这一章贴在问题后面;
  • 第三次专门找限制:让它列出“但是、除外、仅当、不包括、截至”所在的原句。

三次都短,比一次超长更不容易把例外留在中段。你最后自己保留的,应该是这些原句,而不是它写的那篇总括。

让它指出位置,是最便宜的检查

你不必懂注意力机制。让它做一件可以核对的事:把支持答案的原句抄出来。然后你只做三步:

  1. 原句能不能在材料里用搜索找到;
  2. 原句是不是在它声称的那一段,而不是相邻段的意思被拼在一起;
  3. 原句附近有没有“除外、但是、仅当、截至”这类限制。

三步有一步对不上,这个答案就先放下。流畅不能代替定位。很多“它读得很认真”的感觉,来自它复述了开头的背景,而不是它看见了你在意的那一行。

让 AI 先引用原文原句,再判断它有没有漏掉中段
先要原句。原句对不上,后面的解释先不要用。

什么时候不该整篇塞进去

如果材料已经长到你自己都要靠搜索才能找到那句话,就不要指望一次粘贴解决。更好的顺序是:先把相关的几段找出来,再交给模型。这和“把整个知识库倒进去”不是一回事。嵌入负责把文字变成可搜索的向量,重排负责把真正相关的段落排到前面。它们的价值,恰恰是少给中段那些无关页,而不是把无关页也一起送进窗口。

让 AI 只根据你的资料回答时也一样。检索到的段落如果仍被拼成一篇超长上下文,关键依据再被放回中段,迷失还是会发生。检索解决“找得到”,位置解决“给了之后用不用得上”。

还有一种更隐蔽的塞法:你前面聊了很久,最后才把真正的问题补在最新一条,但关键附件在十几轮之前。对模型来说,那份附件已经从“结尾”变成了“中间”。重要附件最好在要回答的那一轮再贴一次,或者新开对话,只保留这一份材料和这一个问题。

新开对话不是折腾。旧对话里的寒暄、改稿和半截结论,都会占住开头和结尾附近的注意力。你真正要问的那份材料若夹在这些来回中间,就又坐回了容易被漏的位置。一个干净的新对话,等于把证据重新放到门口。

如果只记一个摆放顺序,可以用这四行,从上到下贴进新对话:先写问题;再写“未找到就直说,不要补全”;然后贴你要它依据的那几段,而不是整份文件;最后把问题再写一遍,并加上“请先引用原句”。关键依据若仍然超过你一眼能扫完的长度,就继续切,不要靠再写一句“请仔细读中间”来补救。那句话本身也会沉进长文里。

标题、加粗和表格也不会自动把中段救出来。那些格式是给你看的,模型收到的仍是按顺序排下去的文字。你在原文里把某句标成红色,粘贴进对话框之后,颜色通常就没了。真正有用的标记,是你把那句剪到问题旁边,而不是指望原来的排版还在。

小结

  • 上下文窗口决定装不装得下;迷失在中间说的是装下之后,中段仍更容易被漏;
  • 关键事实放在开头或结尾更稳,不要只埋在长文中部;
  • 问题写两次,并要求先引用原句、标出大致位置;
  • 原句搜不到、位置不对、或周围的限制条件被丢掉,这个答案先不要用;
  • 材料长到你自己都要搜索时,先切片或先检索,再交给模型。

长文不是交给 AI 就自动被读匀了。你要做的不是把文件再贴得更长,而是把那句真正算数的话,放到它比较不容易忽略的地方,并且自己核对它有没有引用到。核对完的原句,抄到你自己的笔记里。聊天记录会往后堆,今天放在结尾的证据,明天就可能又变成中段。


本文为「读懂 AI」原创。文中关于“长上下文里中段更容易被忽略”的说法,来自多项已发表研究中反复出现的现象,具体程度随模型、任务和材料而变,不存在一个固定的失误比例。处理合同、医疗、财务等材料时,请回到原文核对,不要把模型的转述当成最终依据。