检索到证据却不读就作答:Read-Gate 不改权重就救回最多 19.9 分

Before Reasoning Fails: Pre-Evidence Procedural Failures in Agentic RAG

Daeyoung Roh, Donghee Han

cs.AI

2026-08-03

拆解 1.2 万条 RAG 轨迹:agent 常检索到证据却不读就作答,和「读了仍错」几乎不重叠;强制先读的运行时门不改权重,零读子集上救回 14.9 到 19.9 分。

这篇在解决什么

Agentic RAG(带工具调用的检索增强生成)和固定上下文的 RAG 不一样:agent 自己决定什么时候搜、读哪条结果、什么时候停、什么时候答。这种自由带来一种程序性风险,agent 可能检索到了候选证据片段,却在没读它们的情况下直接给出最终答案。错误发生在证据推理还没开始之前。

作者认为这种失败应该和「读了金标准证据仍然答错」分开看。把两者混作一类普通的答错,会藏住一个本来很好修的失败来源。

方法

框架把答错拆成几类。一类叫程序性纪律失败(discipline failure),细分为三种:零读作答(readcount 为 0 就出答案)、只看片段(答案实体只出现在搜索摘要里、从没进过被读的段落)、低证据作答(问题里的命名实体在被读段落里覆盖率不足 80%)。另一类叫金标准读后失败(post-gold-read failure),指检索成功、agent 也读了至少一个金标准支持段落,但答案仍错。

核心干预叫 Read-Gate,是一个运行时、环境层的不变量:如果 agent 在 readcount 为 0 时发出最终答案,环境直接拒绝这个动作,返回一条纠正提示,要求它先对一个有希望的段落调用 read。它不改模型权重、不改检索、不改索引、不改判分、不改推理预算,只管「读完再答」这一条。

实验在 HotpotQA、2WikiMultiHopQA、MuSiQue 三个多跳问答基准上跑,每个数据集加条件一千条,共 1.2 万条 OpenAI 轨迹,主模型是 gpt-4o-mini 和 gpt-5-mini。

结果

先看两类失败重不重合。在 3807 个答错样本里,两种失败同时触发的比例(regex 和 spaCy 两种抽取器下)稳定在 11.2% 到 13.1%,远低于会塌成同一类的阈值,说明这是两套不同的失败机制。

Read-Gate 的效果,在「原本会跳过阅读」的子集上最明显。

数据集零读子集 LLM-Acc(原 → 强制读)提升
HotpotQA58.1 → 73.0+14.9
2WikiMultiHopQA42.1 → 62.1+19.9
MuSiQue22.5 → 37.4+14.9

在完整的最小推理单元上,提升是 +3.2 到 +9.4 分。配对 McNemar 检验 p 值都小于万分之一。

一个对照很关键:把段落文本直接塞进上下文(ctx-inject),不走 read 动作,复制不出 Read-Gate 的收益,在 2Wiki 上甚至是负的(降 7.4 分)。说明起作用的是「逼 agent 自己去读」这个动作,不是单纯多给文本。

最反直觉的结果来自 Gemini 2.5 Flash:给 1024 token 的思考预算,零读作答的比例不降反升(HotpotQA +5.7 个百分点、2Wiki +24.8、MuSiQue +42.6),正确率反而下降。隐藏的「思考」和「真的去读证据」是两回事,可以各自独立变化。

为什么重要

这篇把一个朴素的事讲清楚了:证据获取是个轨迹层的控制问题,要和答案侧的推理分开评、分开修。一个零改权重、零改检索的推理时小门,就能在零读子集上拿回十几到二十分,这对成本敏感的部署很实用。它也补上 20% 到 24% 从最小推理到中等推理的准确率差距,开销只是多几次 read。

反直觉那条尤其值得记:给更多思考预算未必让 agent 更严谨,有时反而更爱跳过证据直接作答。

局限与存疑

作者自述:只覆盖成本敏感的控制器(gpt-4o-mini、gpt-5-mini),Gemini 只当外部诊断用;框架要求离散的 search/read/final 工具动作,不适用于把检索和生成隐式交织的 agent;三个数据集都是英文维基式多跳问答,这类题有显式证据链,纪律失败才看得见,换领域要重新标定覆盖率阈值和门行为。

Read-Gate 也不是检索质量的解药:它假设搜索经常能返回有用候选,代价是每题多几次 read、多召回一些 token,该和检索质量监控、答案侧校验一起用。

一处存疑:程序性失败在这三个多跳基准上特别显眼,可能部分是因为这些数据集的答案实体高度集中在少数段落里,「读没读」判得很干净。换成答案更分散、证据更碎的领域,Read-Gate 的收益会不会同样大,这篇没给。

术语

原文与代码

社区讨论

相关论文

全部论文解读