智能体模块机理

ReDeEP: Detecting Hallucination in Retrieval-Augmented Generation via Mechanistic Interpretability

ReDeEP 研究检索增强生成中的工具与证据使用幻觉。它分离对外部证据敏感的通路和参数知识通路, 在模型内部定位失效信号,并利用这套机制进行幻觉检测与干预。

ICLR 2025 Spotlight 第一作者 Zhongxiang Sun, Xiaoxue Zang, Kai Zheng, Jun Xu, Xiao Zhang, Weijie Yu, Yang Song, Han Li
ReDeEP

从机制层面解释 RAG 幻觉:外部证据利用不足与参数知识依赖失衡。

检索增强生成系统已经获得相关外部证据,为什么仍会产生幻觉?

从研究问题到机制与证据

下面按论文的图表顺序展开。每一节都说明这张图回答了什么问题,又支持了哪一步结论。

1

问题

证据已经出现,模型却没有使用

图中对比了忠实回答的嫦娥六号案例,以及检索证据与参数知识冲突后出现幻觉的超声检查案例。

ReDeEP 证据已经出现,模型却没有使用图示

左侧是一次成功的 RAG。检索文档给出嫦娥六号带回 1935.3 克月球样品,问题询问样品重量,回答复述同一数值并被判为正确。 检索文档、问题、模型和答案在这里保持一致。

右侧正是 ReDeEP 要处理的失败。检索文档说优质超声图像最适合在孕期 20 至 32 周获取,紫色参数知识框给出 24 至 32 周, 最终回答又混入 17 周的条件并被标为幻觉。证据虽然在上下文中,却没有真正控制回答。

读图要点
  • 左例中,绿色检索文档框和黄色回答框的关键数值都是 1935.3 克。
  • 右例中,检索文档写的是 20–32 周,参数知识框写的是 24–32 周,回答没有稳定遵循任何一方。
  • 这张图提出 ReDeEP 的核心诊断问题:检索完成以后,哪一种信息源真正控制了生成?
2

机制

RAG 中的两条信息路径

图中用 E 表示外部上下文、P 表示参数知识、H 表示回答是否产生幻觉,并据此刻画 RAG 幻觉。

ReDeEP RAG 中的两条信息路径图示

左侧紫色部分对应参数知识 P 被外部证据 E 混杂的检测设定;中间绿色部分是相反情形,即外部证据 E 被参数知识 P 混杂; 下方中间图表示 P 与 E 共同影响 H 的混合设定。

右侧蓝色的“Decouple & Regression”给出本文的处理方式:拆开 P 与 E,使一个来源不会遮蔽另一个来源的作用。 图中把已有方法放在相应的混杂设定下,把解耦后的因果图留给 ReDeEP。

读图要点
  • E 是检索得到的外部上下文,P 是参数知识,H 表示回答是否发生幻觉。
  • 三个因果图说明,只把幻觉归因于单一信息源,检测结果可能受到另一来源的混杂。
  • 最右侧的解耦步骤分别估计 E 和 P 的作用,这是 ReDeEP 与已有方法的主要区别。
3

方法

把证据使用转化为可计算信号

方法图说明如何根据注意力、隐藏状态、LogitLens 以及 FFN 前后的残差变化计算外部上下文分数和参数知识分数。

ReDeEP 把证据使用转化为可计算信号图示

左侧计算外部上下文分数。步骤 1 根据注意力权重找出受到关注的证据 token;步骤 2 对这些 token 的隐藏状态做平均池化, 再计算余弦相似度,得到具体层和注意力头位置上的外部上下文信号。

右侧计算参数知识分数。图中既把末层隐藏状态送入反嵌入矩阵,也通过 LogitLens、softmax 和 JSD 比较 FFN 前后的残差流。 因而,ReDeEP 同时测量了证据注意和 FFN 注入的参数知识。

读图要点
  • 沿左侧橙色箭头阅读,可以看到被注意的证据 token 如何形成 External Context Score。
  • 沿右侧蓝框中的 LogitLens/JSD 计算阅读,可以看到 FFN 前后的变化如何形成 Parametric Knowledge Score。
  • 这里评分的是模型内部的信息路由,不是回答文本本身。
4

结果

两条信息路径的内部证据

结果图汇集外部上下文热图、复制头热图和参数知识层级柱图,用来检验两条路径的机制假设。

ReDeEP 两条信息路径的内部证据图示

(a) 与 (b) 是跨层、跨注意力头的外部上下文热图。(a) 比较忠实生成与幻觉生成的分数差,(b) 给出分数与反向幻觉标签的 Pearson 相关性;(c) 单独画出各层各头的复制头分数。

(d) 与 (e) 转向参数知识。(d) 按层给出“幻觉减忠实”的分数差,并标出平均值虚线;(e) 报告参数知识分数与幻觉标签的 Pearson 相关性。五个子图与方法图一一对应:外部证据利用和参数知识依赖都能测量,并且在两类生成中表现不同。

读图要点
  • (a)–(c) 是分布在层和注意力头上的证据侧诊断。
  • (d)–(e) 是分布在层上的知识侧诊断。
  • 这组结果回应图 3:由内部组件计算出的分数能够区分幻觉生成和忠实生成。
5

结果

因果干预与已知/未知知识状态

左图检验复制头与知识 FFN 是否会因果性地影响幻觉,右图比较模型已知和未知答案时的外部上下文及参数知识分数。

ReDeEP 因果干预与已知/未知知识状态 对注意力头和 FFN 的干预子图

对注意力头和 FFN 的干预

ReDeEP 因果干预与已知/未知知识状态 已知真值与未知答案幻觉的分数比较子图

已知真值与未知答案幻觉的分数比较

左图是因果检验。干预注意力头和 FFN 后,损失按预期方向变化,说明这些组件与 RAG 幻觉的关系不只是相关性。

右图把模型知道真实答案的样本,与模型不知道答案并产生幻觉的样本分开。这个比较仍然围绕信息源竞争:生成是否忠实, 会伴随外部上下文使用程度和参数知识依赖程度的变化。

读图要点
  • 左图把 Copying Heads 和 Knowledge FFNs 读作可干预的因果环节,而非一般诊断特征。
  • 右图把内部机制与模型是否具有可靠参数知识联系起来。
  • 两图共同支持 AARF 的干预思路:保留注意力侧证据,同时减少 FFN 过量注入参数知识。

主要实验结果

ReDeEP 在 RAGTruth 和 Dolly (AC) 上作为 RAG 幻觉检测器进行评估。为便于阅读,表中列出各指标最强的非 ReDeEP 结果, 并与主表中表现最稳定的 ReDeEP (chunk) 比较。

RAG 幻觉检测

骨干模型方法RAGTruth AUCRAGTruth F1Dolly AUCDolly F1
LLaMA2-7B最佳基线0.72900.70660.71100.7241
LLaMA2-7BReDeEP (chunk)0.74580.71900.79490.7833
LLaMA2-13B最佳基线0.80890.73420.72140.7200
LLaMA2-13BReDeEP (chunk)0.82440.75870.84200.7603

指标取值范围为 0–1;“最佳基线”表示原论文表格中该列最好的非 ReDeEP 结果。

结果说明了什么

  • 在八组骨干模型、数据集与指标的组合上,ReDeEP (chunk) 都超过了表中最强的非 ReDeEP 结果。
  • Dolly AUC 的增幅最大:LLaMA2-7B 提高 0.0839,LLaMA2-13B 提高 0.1206。
  • 联合建模外部上下文使用和参数知识注入,比只依赖输出信号的检测更有效。

这项工作得到了什么

1

检索成功之后仍会发生 RAG 幻觉

证据链路正常并不能保证模型回答正确。文档里可能已经写出答案,模型却继续依赖内部信念、记忆关联或没有证据支持的先验。

2

忠实生成与幻觉生成采用了不同的信息路径

两类生成的差别不只出现在最终文本中。它们利用检索上下文和参数知识的方式也不同。路径级分数因此能够揭示回答对 不同信息源的隐性依赖。

3

机制检测可以直接指向干预

这些信号对应具体内部机制,因此可以用于事后分类以外的环节。高风险的路径失衡可以触发证据复核、再次检索,或引导模型 增强对外部上下文的利用。

4

工具调用之后还需要内部审计

工具接口返回正确结果,智能体内部仍可能失败。真正需要检查的是返回证据有没有进入后续推理并控制生成。

在整体研究计划中的位置

ReDeEP 让智能体的证据使用模块变得可检查。未来的智能体会频繁检索、浏览和调用工具,仍需回答一个基本问题: 它真的使用了自己收集到的证据吗?

这项工作给出了机制层面的检查方法,把最终答案核验推进到内部信息源审计。智能体若要解释、监控并修正自己使用外部信息的方式, 需要先完成这一步。

资源与引用

@inproceedings{sun2025redeep,
  title={{ReDeEP}: Detecting Hallucination in Retrieval-Augmented Generation via Mechanistic Interpretability},
  author={Sun, Zhongxiang and Zang, Xiaoxue and Zheng, Kai and Xu, Jun and Zhang, Xiao and Yu, Weijie and Song, Yang and Li, Han},
  booktitle={International Conference on Learning Representations},
  year={2025}
}