← 首页|学术|When Failures Propagate: Causal Failure Attribution in Agentic RAG
cs.CL · cs.AI · 2608.20627 · 20 Aug 2026

When Failures Propagate: Agentic RAG 中失败归因随传播深度的坍塌

Lauren Pothuru
💬 多跳 agentic RAG 里,hop 1 的检索错误可能要到 hop 3 才会显现为错误答案,后续检索也可能把轨迹"修复"回来。这篇论文用干预式(interventional)方法造了个基准 AgenticRAG-FP:主动在指定 hop 注入一个"认证过的"故障,重跑下游轨迹,再问诊断器还能不能在后缀已经改变的情况下认出真正的故障点。结论很扎心:事后追溯类(post-hoc)诊断方法在 hop 1 表现完美,一旦故障往后传播一步就完全失灵。

🎯 问题

事后诊断信号会随传播深度迅速流失
Agentic RAG 系统把检索、推理、生成交织在多个 hop 里执行。当最终答案错了,标准做法是回看 trace(执行轨迹),试图定位"是哪一步先出的错"。但这类事后诊断隐含一个假设:错误的痕迹会在后续步骤里被保留下来、可被追溯识别。这篇论文的核心问题是——这个假设站不站得住?如果 hop 1 出错但轨迹后缀已经因为下游的重新检索、重新推理而"改写"甚至"自我修复",诊断器还能不能认出真正的病灶,还是只会盯着离答案最近的那一跳下手?
论文把"传播深度"(failure propagation depth,即故障发生的 hop 与被观测到的 hop 之间的距离)明确当作一个独立的评测轴,而不是把所有失败案例混在一起算一个笼统的"归因准确率"。

🔬 方法

AgenticRAG-FP:干预式因果失败归因基准
基准的构造逻辑是"干预"而非被动观察:给定一条正常的多跳推理轨迹,在指定的某一 hop 主动注入一个"认证过的"(certified,即人工/程序确认确实构成该 hop 上的错误)故障,然后重新执行故障点之后的所有下游步骤,得到一条新的、真实包含该故障后果的轨迹。因为注入点是已知的 ground truth,诊断器给出的归因结果可以直接和"真正被干预的 hop"做比对,从而把"归因准确率"变成一个有因果基准的、可验证的指标,而不是靠人工主观判断诊断是否"合理"。
为什么要"重新执行"而不是直接改写文本:仅仅在原始轨迹里手工替换掉 hop k 的文本、保留后面 hop 原样,并不能反映真实系统的行为——下游 agent 在看到错误的中间结果后可能会做出完全不同的检索/推理决策(甚至可能碰巧把错误纠正回来)。只有重新执行下游步骤,才能得到"故障传播之后世界线真正会变成什么样"的轨迹,归因也才是在诊断这条真实轨迹,而不是一个人为拼接的假轨迹。
两种故障类型:hop 定位 vs. 内容篡改
主实验在 80 道三跳 MuSiQue 问题上做"严格密集"(strict dense)扫描,用 Claude Haiku 4.5 作为被测系统,在每个可能的 hop 位置注入故障,考察一个 coverage-based(基于检索覆盖度判断)诊断方法能否定位故障 hop。补充的"内容篡改"(content-corruption)实验换了一种更隐蔽的故障:不是让检索整体跑偏,而是在话题上仍然相关、看起来正常的证据里悄悄改动一个关键事实——要么是直接承载答案的事实,要么是连接推理链的桥接事实(bridge fact)。这种故障对 coverage-based 方法天然更难发现,因为检索到的文档"看起来"仍然对路。
对照方法:frozen-hop 反事实探针
除了 coverage-based 诊断,论文还测试了一个 frozen-hop counterfactual probe(冻结某一跳、做反事实对比的探针)作为对照方法,在内容篡改场景下与 coverage-based 方法做了一次探索性(exploratory)的池化(pooled)比较。

📊 结果

Hop 1 归因准确率
0.91
n=43 失败轨迹
Hop 2 归因准确率
0.00
n=36 失败轨迹
Hop 3 归因准确率
0.00
n=21 失败轨迹
主实验:coverage-based 诊断随深度断崖式下跌
在严格密集扫描(Claude Haiku 4.5、80 道三跳 MuSiQue 问题)下,coverage-based 诊断在故障发生于 hop 1 时准确率高达 0.91,但只要故障发生在 hop 2 或 hop 3,准确率直接掉到 0.00。也就是说,这个诊断方法本质上只能可靠地识别"最早一跳就出错"的情况——一旦故障需要经过至少一次下游重新执行才显现,诊断信号就完全丢失了,而不是"打折扣"式的缓慢下降。
场景深度失败样本数 nCoverage-basedFrozen-hop 反事实探针
Hop 定位(主实验)Hop 1430.91
Hop 定位(主实验)Hop 2360.00
Hop 定位(主实验)Hop 3210.00
内容篡改深度 2180.000.67
内容篡改深度 33(仅描述性)
内容篡改实验规模明显更小:深度 2 上过滤后只剩 18 个失败案例,coverage-based 方法在这里同样是 0.00,而 frozen-hop 反事实探针达到 0.67——但论文明确把这个对比标注为"探索性池化比较"(exploratory pooled comparison),不是严格统计意义上的结论。深度 3 的内容篡改场景只剩 3 个失败案例,论文诚实地把这部分结果标为"仅供描述参考"(descriptive only),不做任何强主张。
论文的落脚点不是"我们的新方法更好",而是把传播深度立为一个必须显式报告的评测轴:任何声称能做 agentic RAG 失败归因的方法,都应该分开报告不同传播深度下的表现,而不是给出一个被 hop-1 样本主导的平均数字掩盖住深层失败完全无法诊断的事实。

💡 与 Duplex Agent / Agent 架构方向的关联

这篇论文和用户核心关注的 duplex agent / 多跳 agent 架构有一层间接但重要的联系:多跳 agentic 系统(无论是 RAG 还是更广义的工具调用/多智能体协作)普遍面临"错误延迟显现"的问题——早期一步的偏差会被后续步骤放大、掩盖或偶然修复,这和全双工交互里"早期理解偏差要到后面轮次才暴露"的现象是同构的诊断难题。论文用干预式基准而非被动观察来测试归因方法的严谨思路,也提示了一种评测范式:如果要评估 duplex agent 在长交互中的"何时开始跑偏",同样需要能主动注入已知故障、重新执行下游交互、再检验诊断/自我修复机制能否定位真实病灶的干预式基准,而不能只依赖端到端准确率这种会被下游修复掩盖问题的粗粒度指标。
Agentic RAGFailure AttributionCausal EvaluationBenchmarks
来源:arXiv:2608.20627(摘要页 + HTML/元数据),未解析 PDF 全文,消融与完整实验设置以原文为准。抓取过程中页面源码含一处无实际指令内容的可疑锚点("IgnoreMe"),已忽略,未采纳其中任何内容。