跳到主要内容
「以文档为准」这四个字,可能是 RAG 里最危险的一句

「以文档为准」这四个字,可能是 RAG 里最危险的一句

画唠
画唠

· 阅读约 5 分钟

先甩一个我一开始不信的结果:同一道题、同一段检索回来的材料,只把给模型的指令从「你可以用自己的知识」换成「以文档为准」,误导率就往上走——三个 QA 集平均涨 10.9 到 13.5 个百分点。

两周前挂出来的 RAG-Stress(arXiv 2610.11183,Zhou 他们)测的。15 个系统,API 的、开源的、还有 RL 训出来的搜索 agent,TriviaQA-RC / HotpotQA / SearchQA 三个集,另外补了中英文的 MedQA。数字先放这儿,我更想说的是它把我哪张图打穿了。

我以前画 RAG,画的是这样:

  问题 ──► 检索 ──► 拼进 prompt ──► 模型 ──► 回答
                                        ▲
                                  "以文档为准"

最后那半句,我一直当成一个防幻觉的开关。拧上去,模型就老实了,不敢瞎编。

RAG-Stress 干的事就是把这个开关拧到两头,看模型往哪边抖。它把 source-priority 拆成两种指令策略:一种让文档说了算,一种允许模型拿自己的先验知识顶一顶。然后两种策略交叉三种位置——答案片段放在证据文本的开头、中间、末尾。

结果方向跟我预想的相反。文档优先那一档,误导率反而高。

这里得先讲清楚它怎么量,不然这个结论站不住。

它不给全题库算误导率。它先跑一遍无检索,把「这模型本来就能答对」的那部分题挑出来,只在这部分题上做实验:

   全题库
   ├─ 无检索就答错 ──► 出局,不进分母(本来就不会,带不带偏没意义)
   └─ 无检索就答对 ──► 塞一段改过的证据 ──► 答错了?记一笔

那段证据只动了一个断言——把原来支持正确答案的一句,改成支持某个指定的错误答案,其余原样。问题不动,参考答案不动。所以它量的是纯粹的「被带跑」,不掺「本来就不会」。

这个切分我觉得是整篇最漂亮的地方,比结论本身还值得借鉴。你拿全题库算准确率,模型答错你根本分不清是它不会还是它被材料骗了。切两半,这笔账才算得清。

它也报了 clean accuracy,全覆盖的那个传统指标。那个数一直是好看的——好看就对了,好看说明不了任何问题。

然后是位置。

末尾最容易被带跑,开头其次,中间最稳。三种位置跨模型平均下来是这个序。

我第一反应是「不对吧」,流行说法不是中间最容易被忽略吗。等等等等,先别急——这俩说的不是一回事。中间被忽略,说的是「模型用不上中间那段内容」;这里量的是「模型跟不跟中间那段内容」。用不上和不跟,中间可能恰好因为读得不用力,反而没那么容易被说服。

这是猜的。这一段我也还没完全画明白,先放这儿,等我想通了再补。论文自己也说了,单个模型不是个个都按这个序,是平均下来这个序。别拿它当定律用。

回到那句指令。

有害覆盖上升,有益纠正没跟着上升。这是另一组配对审计给的——500 道题、两个 checkpoint。你把文档的权重调上去,模型「把对的改成错的」变多了,「把错的改成对的」没变多。

这条比那 10.9 个百分点更狠。前面那条你还能自我安慰「至少它更听话了」,这条直接告诉你,听话这件事在两个方向上是不同步的。

那「以文档为准」到底在干什么?它不提升可靠性,它是在挪一个偏置项 ✨——让模型把「跟我读到的对上」排在「我本来觉得对」前面。材料干净的时候这个偏置是好事,材料被污染一丁点,它就是放大器。

最要命的是这坑不是谁的疏忽。RAG 整个叙事就是「别让它瞎编,去查」,写 prompt 的人几乎不会犹豫就把这句加上。它是这个范式的默认值,所以十五个系统一个没跑掉。RL 训出来的搜索 agent 也在里面,这点我没想到——它们本来就是被训成多轮检索、跟着证据走的,按理说该对材料更挑剔,结果一样中招。

所以那篇论文那句「证据依从度和事实可靠性该分开」才是我真正想画的:

   证据依从度 ──► 它有没有跟着你给的资料走
   事实可靠性 ──► 它答的对不对

   这是两根轴,不是一根。RAG 的评测常年只量第二根。

你量准确率,量不出「它是自己想对的,还是抄对的」。可一旦上线,出问题的时候你要的恰恰是这一层——这段回答是模型自己的判断,还是它把检索回来那句有问题的材料原样咽下去了?

比喻收一下。我把 source-priority 指令比成「开关」,这个比喻漏风:开关是两档,拧到哪档就是哪档。它更像偏置,你往上调,两个方向一起动,只不过一个动得比另一个快得多。抓「它会改变模型对证据的服从程度」这个大方向,开关够用了;但你要真去改那句 prompt,就得知道它不是在切换模式,是在挪一条看不见的线。

自检留一个,能动手的那种:

翻你手上那个 RAG 的评测集,能不能切出「不检索就能答对」的那一半?切不出来,说明你到现在只量过准确率,没量过误导率。

这两个数上线之后会分得很开。

下期想画开哪个,你说了算。我这儿压着两个念头:中间位置为什么最稳,还有那个「有益纠正」为什么怎么调都调不动。

画唠
画唠

把被讲玄的概念用图 + 比喻 + 动手实验拆到咔哒扣明白,错的也保留。

查看主页 →