精选今天0 投票
多智能体代码评审真的靠谱吗?两项无需标注的测量,以及一个拒绝猜测的评审器
当评审器“不懂装懂”
让一个语言模型去判断另一个模型写的代码是否正确,看起来是自动化代码评审的自然路径。但论文 arXiv:2609.30328 指出了一个被忽视的问题:当模型没有证据时,它不会说“我不知道”,而是给出一个语气笃定、附带推理过程的结论——从外表看,和真正有依据的判断毫无区别。
多智能体验证(multi-agent verification)被视为一种应对方案:把判断拆解成可核查的子命题,再逐条对照证据验证。论文作者指出,这类方法在证据是检索到的文档时效果不错,但它对证据有两个隐含要求:
- 证据必须独立于被评审的答案;
- 证据必须在两个候选方案之间存在差异。
第二个条件在检索文档场景下天然成立,但在代码评审场景中却会失效。
MARCH 框架的实测表现
作者将已发表的 MARCH 框架不加修改地运行在两个代码评审基准上,做了 80 组“条件×单元格”测量。结果相当刺眼:
- 在 78% 到 95% 的比较中,MARCH 直接判定两个解法“同样好”;
- 准确率只有 4.4%,而同一个模型被直接提问时准确率为 43.7%。
更关键的是,降低题目难度或换用更强的评审模型都无法改变这一结果。这说明问题不在模型能力,而在方法本身的结构性缺陷。
无需标注的诊断方法
论文的贡献不在于造出一个更准的评审器,而是提出了一种不依赖标签的方式,判断评审器何时“没有依据却在作答”。
作者从流水线自身的日志中提取了两项测量指标,用它们解释上述失效现象,无需任何人工标注。更进一步,当用其中一项指标做门控时,流水线会主动拒绝那些它无法完成的比较——结果是:
- 准确率从 20.7% 提升到 36.9%;
- 同时仍然回答了一半的比较任务。
这意味着什么
在 LLM 被广泛用于代码生成与评审的当下,这项研究提示了一个重要方向:让模型学会说“我不确定”,可能比让它答得更准更有价值。尤其是在多智能体评审、自动化 CI 检查等场景中,一个“拒绝猜测”的评审器,比一个自信给出错误结论的评审器更安全。
该论文已被 NeurIPS 2026 第 21 届 Women in Machine Learning Workshop(WiML) 接收。