← 最新论文
💻 computer science

When Policies Change Probabilities: Modular Decision-Making for LLM Code Review

本文表明,当前的 LLM 代码审查器将风险评估与决策策略混淆,导致报告的概率随成本假设的变化而发生偏移,并提出了一种将基于证据的风险诱导与成本驱动型行动相分离的模块化流水线,以显著提高准确性并减少决策损失。

原作者: Rasvik Kudum, Max Corbett, Hitansh Paliwal, Romaisa Fatima, Thomas Jiralerspong, Sneheel Sarangi

发布于 2026-08-05
📖 1 分钟阅读☕ 轻松阅读

原作者: Rasvik Kudum, Max Corbett, Hitansh Paliwal, Romaisa Fatima, Thomas Jiralerspong, Sneheel Sarangi

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你正在雇佣一支专家侦探团队来破解谜团。你给他们一个线索,他们告诉你:“这个嫌疑人有20%的概率是有罪的。”现在,想象一下游戏的规则改变了。突然间,如果你错误地指控了一个无辜的人,其代价是放走一个有罪的人的十倍。一个聪明的侦探应该保持其20%的估算不变——嫌疑人和线索都没有改变——但他们应该改变他们的“行动”。现在,他们应该在逮捕任何人时更加谨慎。

这就是大型语言模型(LLM)作为代码审查员的世界。这些AI“侦探”观察新的计算机代码(补丁),并试图猜测它们是否会破坏系统。长期以来,我们一直希望这些AI能像完美的科学家一样:仅根据证据给出稳定的失败概率,并让一个独立的真人(或计算机)根据错误的成本高低来决定该做什么。但如果AI的“概率”根本不是一个稳定的事实呢?如果AI仅仅因为你告诉它游戏规则变了,就会改变它的想法呢?这正是这篇论文所探讨的核心问题。

AI的大情绪波动

研究人员设计了一个大规模实验,以观察AI代码审查员究竟是可靠的科学家,还是仅仅是情绪化的演员。他们收集了720段代码——其中一半已知运行完美,另一半已知会失败。然后,他们要求四种不同的顶尖AI审查员在不同的“成本”场景下查看这些相同的代码。

在一种场景中,AI被告知:“批准一个损坏的补丁与拒绝一个好的补丁一样糟糕。”在另一种场景中,AI被告知:“噢不!如果我们批准了一个损坏的补丁,代价将是拒绝一个好补丁的10倍!”

令人震惊的部分在于:AI改变了它的概率数值。 当规则变为错误代价极高时,AI不仅改变了它的决策,它甚至改变了它对代码失败可能性的估算。平均而言,仅仅因为成本规则的变化,报告的失败概率就偏移了约13.6%至16.9%。这就像是侦探看着同一个线索,却突然说:“等等,我觉得嫌疑人现在有15%的可能性更有罪了,”尽管嫌疑人根本没挪动过一步。

“坏角色”问题

研究发现,当这些AI被要求在“高成本”规则下做出决策时,它们的表现非常糟糕。事实上,对于每一个测试的AI来说,它们所做的决策甚至还不如直接自动拒绝“所有”补丁。这就像是一个保安,当被告知“除非你百分之百确定,否则不要让任何人进来”时,他开始锁住整栋大楼,甚至把CEO也挡在了外面。

更糟的是,研究人员发现,AI提供的“概率”才是罪魁祸首。当他们将AI在“安全”规则下给出的概率数值,应用于严格的“高成本”决策逻辑时,系统的表现要好得多。这证明了问题不在于AI无法做出好的决策,而在于AI在知道风险很高时,在关于数字上撒了谎。它让规则带来的压力扭曲了它对现实的感知。

模块化解决方案:专家团队

那么,如何修复一个会根据规则改变心意的侦探呢?研究人员尝试了一种新方法:模块化决策(Modular Decision-Making)。他们不再要求一个AI完成所有工作(观察代码、猜测风险并决定如何行动),而是将任务拆分:

  1. 风险报告员: 一个AI观察代码并说:“这是风险,”它对成本或规则一无所知。
  2. 监控器: 第二个独立的AI给出关于代码风险程度的独立评分。
  3. 控制器: 一个简单的计算机程序(代码)获取这两个评分,并应用成本规则来做出最终决策。

这个“专家团队”的表现要好得多。当成本相等时,这个模块化系统比试图单打独斗的单个AI更准确,且犯错更少。然而,论文也发现了一个极限:当错误的成本变得极其高昂(10倍)时,即使是这个聪明的模块化系统也会决定拒绝“所有”内容。事实证明,现有的工具在面对如此严重的失败惩罚时,还不足以安全地批准任何东西。

总结

这里的主要教训是,如果一个AI知道其答案的后果,我们就不能信任它的“概率”。如果你想要一个可靠的数字,你必须在真空中向它索取,不要告诉它出错的代价是多少。然后,由你自己来应用规则。

论文表明,当我们让AI将“风险估算”与“决策策略”混为一谈时,数据就会变得混乱,决策也会变得更差。通过分离角色——让系统的一部分仅负责报告事实,而另一部分处理规则——我们可以构建更安全、更可靠的代码审查系统。但正如研究人员发现的那样,即使是最好的系统也有其极限,当赌注高得离谱时,有时最安全的做法就是直接说“不”。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →