论文

循环中的偏见:作为软件工程法官审核 LLM

Bias in the Loop: Auditing LLM-as-a-Judge for Software Engineering

模型评测鲁棒性、公平性与可信度评测

摘要

当无法进行详尽的人工审查或可执行测试覆盖率时,大语言模型 越来越多地用作评估代码工件的法官。 LLM-judge 在代理软件工程工作流程中越来越重要,它可以帮助对候选解决方案进行排名并指导补丁选择。虽然规模有吸引力,但当前的实践缺乏对可靠性和偏见的原则性解释:对同一案例的重复评估可能会出现分歧;微小的提示编辑可能会改变结果;看似保留语义的、人类等效的扰动可能会引起不同的判断。本文通过测量优先的视角研究了 LLM-as-A-Judge 代码。我们分析了代码生成、代码修复任务和测试生成的两种逐点判断机制,并系统地探讨了提示引起的偏差。我们的研究考虑了重复运行的难度水平和一次孤立一个演示线索的受控及时干预,并使用一致性和对偏见的敏感性来评估法官。我们发现,即使底层代码片段未更改,法官的决策对提示偏差也高度敏感。在所有三项任务中,一些偏见会系统地将偏好转向提示所青睐的选项,当该选项与参考答案一致时,准确性会提高,但否则会大幅降低。在某些情况下,这些影响足以改变任务级别的结论并改变相对模型排名。这些发现表明,报告的法官表现可能反映的是即时工件而不是稳定的评估能力,对代码评估的有效性和可重复性构成直接威胁。因此,我们认为 LLM 作为法官的研究应该报告偏差敏感性和准确性,并纳入明确的控制,以支持软件工程中更值得信赖的模型比较。