让模型自己审自己:MARCH 如何用信息不对称打破 LLM 的确认偏误
场景:一个"自己审自己"的悖论
想象一个法庭。被告写了一份陈述书,法官要审核这份陈述里有没有撒谎。但这个法官被要求:只能看证据材料,不能看被告的陈述书。
这听起来荒谬——法官不看被告说了什么,怎么审核?
但仔细想想:如果法官看了被告的陈述书,他会被陈述书的叙事逻辑带着走。被告说"我当时在家",法官会下意识地去找"在家"的证据,而不是去找"不在家"的证据。确认偏误(confirmation bias)会让法官变成被告的辩护律师,而不是中立的审核者。
MARCH 论文的核心设计就是这个荒谬但合理的法庭:让 Checker(审核者)看不到 Solver(回答者)的原始回答,只看证据材料。然后让 Proposer(检察官)把 Solver 的回答拆解成一个个原子问题,让 Checker 单独从证据材料里回答这些问题。最后比对 Solver 的回答和 Checker 的回答——任何不一致都可能是幻觉。
这个设计有一个深层洞察:确认偏误的根源是信息泄漏。当审核者能看到被审核的内容时,审核者会被被审核内容的叙事框架同化。打破确认偏误的最彻底方式,不是让审核者"更努力地保持中立",而是物理隔离审核者和被审核内容。
三智能体的角色分工
MARCH(Multi-Agent Reinforced Self-Check for LLM Hallucination)由三个智能体组成:
Solver(回答者)
给定一个问题和一组文档,Solver 生成回答。这是标准的 RAG 流程——没有什么特别的。Proposer(检察官)
Proposer 拿到 Solver 的回答,把它拆解成原子命题。每个原子命题是一个可以从文档里验证真伪的 QA 对。比如 Solver 说:"Eiffel Tower was built in 1889 for the World's Fair, designed by Gustave Eiffel."
Proposer 拆解成:
- Q1: When was the Eiffel Tower built? (A: 1889)
- Q2: What was the Eiffel Tower built for? (A: World's Fair)
- Q3: Who designed the Eiffel Tower? (A: Gustave Eiffel)
Checker(审核者)
Checker 拿到 Proposer 的原子问题,只从文档里找答案,不看 Solver 的原始回答。Checker 对每个问题给出自己的答案。最后比对:如果 Solver 说 "1889",Checker 从文档里也找到 "1889",这个原子命题通过。如果 Solver 说 "Gustave Eiffel",但 Checker 从文档里找到 "Stephen Sauvestre"(实际是主要建筑师之一),这个原子命题就被标记为幻觉。
信息不对称:打破确认偏误的关键
MARCH 最精彩的设计是信息不对称:Checker 不知道 Solver 说了什么。
这个设计为什么重要?因为 LLM-as-Judge 有一个系统性缺陷——当 judge 能看到被审核内容时,judge 会被被审核内容的叙事框架同化。
想象你让 GPT-4 审核 GPT-4 的回答。你给 judge 看问题和回答,让它判断回答有没有幻觉。judge 会怎么做?它会顺着回答的叙事逻辑去检查——"回答里说 Eiffel Tower 在 1889 年建成,我去文档里找 1889 年...找到了,所以这个是对的"。这种审核方式有一个盲区:它只检查"回答里提到的内容"是否正确,不检查"回答里没提到但应该提到的内容"。更严重的是,如果回答里的叙事框架本身就有问题(比如因果倒置、时间线混乱),judge 会顺着这个有问题的框架去检查,无法发现框架本身的问题。
MARCH 的信息不对称打破了这种同化。Checker 不知道 Solver 说了什么,所以它不会被 Solver 的叙事框架影响。它只看文档,独立回答 Proposer 提出的原子问题。这种独立回答产生的"参考答案",是不受 Solver 叙事框架污染的。
这个设计和人类法庭的"隔离审讯"异曲同工。在法庭上,证人之间隔离审讯是为了防止串供。在 MARCH 里,Solver 和 Checker 隔离是为了防止"叙事串供"——Checker 不会被 Solver 的叙事带偏。
原子命题分解:把"整体审核"变成"逐条审核"
Proposer 的角色看似简单——只是把回答拆成原子命题——但这一步是整个框架的关键。
为什么原子化这么重要?因为整体审核和逐条审核的盲区不同。
整体审核(让 judge 看完整回答再判断)有一个盲区:晕轮效应。如果回答整体看起来流畅、有逻辑、引用了文档,judge 会倾向于给高分——即使某个具体的原子命题是错的。流畅的叙事会掩盖事实错误。
逐条审核(把回答拆成原子命题逐个验证)消除了晕轮效应。每个原子命题被独立验证,不受其他原子命题的影响。一个流畅但包含事实错误的回答,在整体审核里可能蒙混过关,在逐条审核里会被逐个揪出来。
但原子化有一个技术挑战:怎么确保拆解完整? 如果 Proposer 漏拆了某个原子命题,这个命题就不会被审核。MARCH 用 RL 训练 Proposer,奖励信号来自 Checker 的审核结果——如果 Checker 发现了幻觉但 Proposer 没拆解到那个命题,Proposer 会被惩罚。这种闭环反馈让 Proposer 逐渐学会"更完整地拆解"。
零容忍奖励:一个谎言 invalidate 整个回答
MARCH 的训练使用 MARL(Multi-Agent Reinforcement Learning),三个智能体联合训练。奖励函数设计是另一个精彩部分。
作者对比了两种奖励:
Error Rate Reward(ERR)
按错误比例惩罚:\(R_{ERR} = -\frac{N_{err}}{N_{total}}\)如果回答有 10 个原子命题,其中 2 个错,奖励是 -0.2。这种奖励允许"部分正确"——只要大部分命题对,惩罚就很小。
Zero-Tolerance Reward(ZTR)
零容忍:任何一个原子命题错,整个回答的奖励为 -1;全对才为 0。\(R_{ZTR} = \begin{cases} -1 & \text{if } N_{err} > 0 \\ 0 & \text{if } N_{err} = 0 \end{cases}\)
实验结果:ZTR 显著优于 ERR。在 Llama3.1-8B 上,ZTR 的平均准确率 61.25%,ERR 只有 55.46%——绝对差距 5.79 个百分点。
这个结果反直觉——为什么更"严苛"的奖励反而效果更好?
作者的解释是:严格逻辑一致性对复杂 RAG 任务更重要。在 RAG 场景里,一个幻觉命题可能污染整个回答的逻辑链——即使其他命题是对的,整个回答的可信度也被破坏了。ERR 允许"部分正确",让模型学到"大部分对就行"的策略;ZTR 强制"全对才行",让模型学到"每个命题都要经得起审核"的策略。
这和人类审核的标准一致——一份法律文件里有一个事实错误,整份文件的可信度就被质疑。一个科学论文里有一个数据造假,整篇论文被撤回。零容忍不是苛刻,是对"事实性"这个概念的正确建模。
惩罚 vs 激励:-1/0 优于 0/1
作者还对比了两种标量分配:
- 惩罚式(-1/0):错为 -1,对为 0。正确是"默认期望"。
- 激励式(0/1):错为 0,对为 1。正确是"额外奖励"。
这个结果更反直觉——数学上等价的两种奖励(只是平移常数),效果差距这么大?
作者的解释是:事实正确应该是默认期望,不是额外奖励。-1/0 把"正确"设为基线(0),把"错误"设为惩罚(-1)。模型学到的是"犯错会被罚,不犯错是本分"。0/1 把"错误"设为基线(0),把"正确"设为奖励(1)。模型学到的是"不犯错是情分,犯错是本分"。
这种框架效应(framing effect)在 RL 训练里产生了实质差异——惩罚式让模型更保守、更谨慎,激励式让模型更激进、更冒险。在幻觉抑制场景里,保守和谨慎是正确的策略。
数据说话:8B 模型 + MARCH ≈ GPT-4o
MARCH 的实验结果令人印象深刻。
RAGTruth 幻觉检测
| 模型 | 平均准确率 |
|---|---|
| Llama3.1-8B baseline | 55.20% |
| + MARCH | 74.93% (+19.73) |
| GPT-4o | 72.0% |
| Gemini-2.5-Flash | 73.5% |
多跳问答(Multi-Hop QA)
在 HotpotQA 上:
| 方法 | 准确率 |
|---|---|
| GPT-4o + RAG-Standard | 64.0% |
| GPT-4o + IRCoT | 66.4% |
| Llama3.1-8B + MARCH | 71.2% |
和其他增强方法正交
MARCH 可以和 RLHF、Few-Shot、CoT 等方法叠加使用:
| 方法 | STEM 平均 | General 平均 |
|---|---|---|
| RLHF baseline | 50.93% | 51.00% |
| + MARCH | 59.13% (+8.20) | 57.80% (+6.80) |
| Few-Shot baseline | 48.53% | - |
| + MARCH | 61.27% (+12.74) | - |
| CoT baseline | 50.93% | 51.00% |
| + MARCH | 59.13% (+8.20) | 57.80% (+6.80) |
概念提炼:信息不对称作为对齐工具
MARCH 揭示了一个我称之为"信息不对称作为对齐工具"的范式。
传统对齐方法(RLHF、DPO)的思路是:让模型看到人类反馈,学会"什么是对的"。这种思路有一个盲区——模型在生成时仍然是"自己审自己",它的审核标准和生成标准是同一套。
MARCH 的思路是:让审核者和生成者物理隔离。审核者看不到生成者的输出,只看证据材料。这种隔离打破了"自己审自己"的循环——审核者的判断不再被生成者的叙事框架污染。
这个范式可以推广到其他对齐场景:
- 代码审核:让审核者只看需求文档和测试用例,不看代码本身,独立判断"这个需求应该怎么实现",再和实际代码比对
- 学术论文审核:让审稿人只看方法和数据,不看作者的解读,独立判断"这个数据支持什么结论",再和论文的结论比对
- 安全审核:让安全审核者只看系统日志和规则,不看操作者的解释,独立判断"这个操作是否合规"
自演化:Solver 和 Checker 共同进化
MARCH 的另一个精彩设计是联合训练。Solver 和 Checker 都用 PPO 训练,共享奖励信号。
这种联合训练产生了一个有趣的动态:Solver 学会生成更容易通过审核的回答,Checker 学会更严格地审核。两个智能体在对抗中共同进化——Solver 越来越会"说真话",Checker 越来越会"抓谎言"。
这和 GAN 的对抗训练有相似之处,但有关键区别:GAN 的两个网络是对抗的(Generator 骗 Discriminator),MARCH 的两个智能体是合作的(都追求"回答和证据一致")。Solver 不是在骗 Checker,而是在学会"说能让 Checker 也认可的话"。Checker 不是在刁难 Solver,而是在学会"更准确地从文档里提取信息"。
这种合作对抗(cooperative adversarial)比纯对抗(GAN 式)更稳定——没有 mode collapse 风险,也没有"Generator 越来越强直到 Discriminator 完全失效"的失衡问题。两个智能体有共同目标(事实一致),只是角色不同(生成 vs 审核)。
局限与未来
MARCH 也有局限。首先是推理成本——每个回答需要经过 Solver、Proposer、Checker 三个智能体,加上多次 LLM 调用。论文里提到训练时间是可以接受的,但推理延迟是实际部署的考量。
其次是Proposer 的拆解质量。如果 Proposer 漏拆了某个关键原子命题,这个命题就不会被审核。虽然 RL 训练会激励 Proposer 更完整地拆解,但没有显式的"完整性检查"机制。
最后是Checker 的能力上限。Checker 从文档里找答案的能力,受限于 Checker 自身的阅读理解能力。如果文档里的信息很隐晦或需要推理,Checker 可能找不到正确答案,从而误判 Solver 的回答是幻觉。
结语:从"自己审自己"到"隔离审核"
MARCH 的核心贡献不是某个具体的网络结构或损失函数,而是一个架构级别的洞察:审核者的独立性需要信息隔离来保证。
传统 LLM-as-Judge 让 judge 看到被审核内容,审核者会被叙事框架同化。MARCH 用信息不对称打破这种同化——Checker 看不到 Solver 的回答,只看文档,独立回答原子问题。这种隔离让审核从"顺着叙事检查"变成"独立重建事实"。
这个洞察在 AI 对齐领域有深远意义。当前主流的对齐方法(RLHF、Constitutional AI)都依赖"模型自己审自己"——让模型生成回答,让同一个模型(或同架构模型)审核。这种"自己审自己"有系统性盲区——审核者会被生成者的叙事框架同化。MARCH 提供了另一种路径:让审核者和生成者物理隔离,用信息不对称来保证审核的独立性。
8B 模型 + MARCH 超过 GPT-4o 的结果告诉我们:对齐不需要更大的模型,需要更好的架构。信息不对称是架构级别的对齐工具——它不依赖模型规模,不依赖训练数据量,只依赖一个简单的设计决策:审核者不该看到被审核的内容。
---
论文: MARCH: Multi-Agent Reinforced Self-Check for LLM Hallucination 作者: Zhe Chen, Lingjie Chen, Yixuan Chen, Yikun Lei, Yushi Bai, Jian Jiao, Yuanbo Wen, Fang Ma, Fei Huang (清华大学 + 复旦大学 + 阿里巴巴) arXiv: 2603.24579 代码: github.com/Qwen-Applications/MARCH