← 返回 2026-01-08

基于智能评分规则的上下文验证器用于软件工程代理 Agentic Rubrics as Contextual Verifiers for SWE Agents

Mohit Raghavendra, Anisha Gunjal, Bing Liu, Yunzhong He 📅 2026-01-07 👍 13 2026-07-13 08:35
LLM应用 代码验证 智能代理 测试时扩展

无执行的代码补丁验证方法

前置知识

Test-Time Scaling (TTS)

测试时扩展是指在推理阶段通过增加计算资源来提升模型性能的技术。在SWE代理场景中,TTS通过采样多个候选补丁并使用验证器选择最佳方案来提高解决问题的成功率。核心思想是用推理时计算换取更准确的输出,通常采用并行采样策略,比如K=16个独立rollout,然后通过某种选择机制(如验证器评分)选出最优候选。

本文主要评估方法是在TTS框架下进行的,理解TTS是理解实验设计和性能指标的关键。BEST@K指标本质上就是TTS策略的效果度量。

SWE-Bench Verified

SWE-Bench Verified是一个专门用于评估软件工程代理能力的数据集,包含500个真实的GitHub问题和对应的ground-truth测试用例。每个问题都是从开源项目的pull request中提取的,包含了完整的issue描述、代码库上下文和验证测试。数据集的关键特点是提供了可验证的Fail-To-Pass和Pass-to-Pass测试,能够客观判断候选补丁是否正确解决了问题。

这是本文的主要评估基准,所有实验结果都在这个数据集上报告。理解数据集的特点和评估协议(通过ground-truth测试判断是否解决)是解读结果的基础。

Verifier's Law

验证器定律描述了AI系统在任务上训练的难易程度与验证候选解决方案的效率和可靠性之间的关系。在软件工程代理场景中,这个定律意味着如果验证器能够准确、高效地判断补丁质量,那么训练高性能的SWE代理就会更容易。验证器的质量直接影响RL训练中的奖励信号质量和TTS中的候选选择效果。

这是论文的理论基础之一,解释了为什么验证问题如此重要。论文的动机部分引用了这个定律来强调改进验证器的价值。

研究动机

现有SWE代理验证方法面临严重的trade-off问题。代码执行方法虽然环境感知,但扩展性差:每个实例需要环境设置(如沙箱初始化),产生稀疏且脆弱的信号,包括有限的区分能力和测试毒性问题。执行无关方法虽然操作轻量,但可靠性较低、可解释性差,容易受表面线索(如风格模式、非语义人工痕迹)影响而非功能正确性。在SWE-Bench Verified的实验中,随机选择只有22.6%(Qwen3-32B)和39.6%(Qwen3-Coder),说明存在巨大的验证改进空间。

本文的目标是本文的目标是开发一种既可扩展又代码库特定的验证方法,能够提供高效、可靠且细粒度的验证信号。具体来说,目标是设计一种无需执行代码的验证器,同时又能充分利用代码库的上下文信息,避免执行无关方法的浅薄判断。最终目标是显著提升在标准TTS框架下的BEST@K性能,为RL训练提供更好的奖励信号。

与已有工作不同的是,本文的独特切入点是结合智能agent交互和评分规则验证。不同于传统方法要么依赖代码执行要么直接从问题陈述判断,本文让验证器主动探索代码库来生成grounded的评分标准,然后执行无关地评分。这个方法填补了完全执行和完全无关之间的空白,实现了有上下文但执行无关的验证范式。关键创新在于将rubric生成过程变成agentic的,让验证器能够看到代码库的实际结构和约定。

核心方法

Agentic Rubrics方法分为两个阶段:rubric生成阶段和推理评分阶段。在rubric生成阶段,一个专家rubric agent使用SWE Agent的脚手架工具(文件导航、文件检查/编辑、shell命令执行)与沙箱化的代码库交互,收集任务相关的上下文,然后生成结构化的rubrics.yaml文件。在推理评分阶段,对于每个候选补丁,一个LLM judge根据rubric中的每个标准给出二元评分(通过/不通过),然后加权聚合得到最终验证分数S∈[0,1]。这个分数用于对K个候选补丁进行重排序,选择最高分的作为最终输出。

核心创新点是将rubric生成过程变成agentic的,让验证器主动探索代码库来grounded评分标准。与已有方法的本质区别在于:传统执行无关方法直接从问题陈述和补丁判断,缺乏代码库特定上下文;执行方法虽然环境感知但成本高;而agentic rubrics在生成时通过代码库交互获得上下文,但评分时执行无关。另一个关键区别是rubric的多维度、可解释结构(File Change、Spec Alignment、Integrity、Runtime四个轴),比单一正确性判断提供更细粒度的反馈。

方法步骤详情

方法流程包括四个主要步骤。第一步是rubric生成:给定问题描述D和代码库,rubric agent(使用Claude Sonnet-4.5)在30轮交互预算内探索代码库,生成rubrics.yaml文件。每个rubric项是元组(ti, wi),包含自然语言标准ti和重要性权重wi∈{1,2,3}(nice-to-have/important/must-have),分配到四个轴之一:File Change(4-8项,评估编辑是否最小、局部、充分)、Spec Alignment(3-6项,补丁是否满足issue要求)、Integrity(3-6项,无作弊约束如不削弱测试)、Runtime(3-6项,运行时行为是否正确且避免明显问题)。第二步是候选补丁生成:对于500个SWE-Bench Verified问题,使用固定的generator模型(Qwen3-32B或Qwen3-Coder-30B-A3B)生成K=16个独立rollout,提取候选补丁。第三步是rubric评分:对于每个候选补丁,judge模型(GPT-5 low reasoning)根据rubric给出每个项的二元评分si∈{0,1},计算加权平均$S = \frac{\sum_i w_i s_i}{\sum_i w_i}$。第四步是候选选择:选择分数最高的补丁作为最终输出,通过ground-truth测试判断是否解决。

技术新颖性

技术新颖性体现在三个方面。首先是验证范式的创新:agentic rubrics实现了有上下文但执行无关的验证,填补了执行验证和执行无关验证之间的空白。其次是rubric生成的agentic化:不同于从问题陈述直接写rubric,本文让agent使用工具(find、grep、str_replace_editor view等)主动探索代码库,使得rubric项具体到代码库中的实体(文件、类、方法),而不是模糊的触及正确代码路径。第三是多维度可解释的反馈结构:四个轴的rubric提供了比单一正确性判断更细粒度的诊断信息,可以告诉开发者补丁在哪些方面有问题。实验证明这种结构化方法在性能上优于agentic tests和agentic patch similarity等其他agentic方法。

Agentic rubric pipeline
Figure 1: Agentic rubric pipeline

实验结果

核心发现是Agentic Rubrics在SWE-Bench Verified上显著优于所有基线方法。在K=16时,对于Qwen3-32B生成器,Agentic Rubrics达到40.6% BEST@16,比最好的non-agentic baseline(Patch Classifier 37.1%)提升+3.5个百分点,比最好的agentic baseline(Agentic Patch Similarity 35.0%)提升+4.6个百分点。对于Qwen3-Coder-30B-A3B生成器,达到54.2%,比最好的non-agentic baseline(50.2%)提升+4.0个百分点,比最好的agentic baseline(49.6%)提升+4.6个百分点。scaling曲线显示优势随K增加而保持,说明不是单一操作点的偶然结果。rubric分数与ground-truth测试高度对齐:ROC-AUC为0.886,PR-AUC为0.722。rubric为GT-passing补丁分配高分(通常0.85-1.0),为GT-failing补丁分配较低分数(通常0.4-0.5),提供了比二元测试通过/失败更密集的信号。utility分析显示:当rubrics和tests一致时,78%的判断是high-utility(反映核心语义、API兼容性、结构/范围、边缘覆盖);当tests通过但rubrics拒绝时,54%的拒绝是high-utility,通常标记未覆盖的根因或缺失边缘情况。ablation study显示rubric生成模型能力直接影响性能:前沿模型(Opus-4.5、Sonnet-4.5、Gemini-3-Pro)达到54%,open-weight模型约45%,Qwen3-32B约43%。Sonnet-4.5平均每实例生成20+个rubrics,是Qwen3-32B的两倍,解释了性能差距。去掉repository交互(non-agentic rubrics)使Qwen3-32B的BEST@16下降4.0个百分点,Qwen3-Coder下降1.4个百分点,证明agentic上下文收集的价值。judge模型能力影响较小:从GPT-5 mini(52.6%)到GPT-5 high reasoning(55.0)提升约2.4个百分点。finetuning实验显示将agentic rubric生成能力从Sonnet-4.5蒸馏到Qwen3-32B是可行的,且finetuned Qwen3-32B作为rubric generator显著优于finetuned作为patch classifier,证明rubric生成是比二元分类更强的训练目标。

Comparison of Non-Agentic vs Agentic Rubrics with the agent's tool calls that gather relevant context
Table 1: Comparison of Non-Agentic vs Agentic Rubrics with the agent's tool calls that gather relevant context
Best@16 accuracy for different judge model capabilities for scoring Sonnet-4.5 rubrics on Qwen3-Coder-30B-A3B rollouts
Table 2: Best@16 accuracy for different judge model capabilities for scoring Sonnet-4.5 rubrics on Qwen3-Coder-30B-A3B rollouts
(Left) Best@16 resolution (%) with K = 16 rollouts, (Right) Best@K scaling curves for Qwen3-32B rollouts under different verifiers
Figure 2: (Left) Best@16 resolution (%) with K = 16 rollouts, (Right) Best@K scaling curves for Qwen3-32B rollouts under different verifiers
Distribution of Weighted Rubric score for Qwen3-32B rollouts on Sonnet-4.5 generated agentic rubrics
Figure 3: Distribution of Weighted Rubric score for Qwen3-32B rollouts on Sonnet-4.5 generated agentic rubrics
Category-wise distribution of Sonnet-4.5 rubric scores on Qwen3-32B rollouts
Figure 4: Category-wise distribution of Sonnet-4.5 rubric scores on Qwen3-32B rollouts
Qualitative breakdown of agentic rubric utility relative to SWE-Bench Verified ground-truth tests
Figure 5: Qualitative breakdown of agentic rubric utility relative to SWE-Bench Verified ground-truth tests
(a) Test-time scaling using rubrics generated by various frontier and open models, (b) Distribution of rubric counts per instance across rubric-generation models
Figure 6: (a) Test-time scaling using rubrics generated by various frontier and open models, (b) Distribution of rubric counts per instance across rubric-generation models
Finetuning (SFT) open-weight models like Qwen3-32B as Agentic Rubric Generator outperforms finetuning them as Patch Classifier for SWE verification
Figure 7: Finetuning (SFT) open-weight models like Qwen3-32B as Agentic Rubric Generator outperforms finetuning them as Patch Classifier for SWE verification
查看结构化数据
任务指标本文基线提升
SWE-Bench Verified (Qwen3-32B generator, K=16) BEST@16 40.6% Patch Classifier 37.1%, Agentic Patch Similarity 35.0% +3.5% over best non-agentic, +4.6% over best agentic
SWE-Bench Verified (Qwen3-Coder-30B-A3B generator, K=16) BEST@16 54.2% Patch Classifier 50.2%, Agentic Patch Similarity 49.6% +4.0% over best non-agentic, +4.6% over best agentic
Rubric-Ground Truth Test Alignment ROC-AUC / PR-AUC 0.886 / 0.722 N/A (new metric) Establishes strong correlation baseline
Model Capability Correlation (Qwen3-Coder trajectories) BEST@16 54% (Sonnet-4.5 rubrics) 45% (Qwen3-Coder rubrics), 43% (Qwen3-32B rubrics) +9% over Qwen3-Coder, +11% over Qwen3-32B

局限与改进

作者承认的局限性包括:本文研究局限于并行TTS设置,这是评估验证器的干净和广泛使用的方式,但自然下一步是将rubric信号集成到post-training pipeline,这会引入额外的挑战如reward hacking、策略改进时的非平稳性、跨多步agent行为的credit assignment。rubric质量是另一个重要问题:虽然utility分析显示大多数自动生成的rubric判断是high-utility,但子集落入low-utility模式(如过度规范、冗余、rubric-test不匹配)。额外观察的局限性包括:方法依赖于高质量的rubric generation,需要强模型如Sonnet-4.5才能达到最佳性能;rubric grading仍然需要LLM judge,虽然不需要高推理能力但仍有一定成本;方法在简单问题上可能overkill,生成复杂的rubric可能不值得;rubric的四个轴是预设的,可能不适用于所有类型的SWE任务;当前评估在SWE-Bench Verified上,这是一个相对干净的数据集,在更复杂或混乱的代码库上性能可能下降。

独立分析的弱点

独立分析的弱点包括:rubric生成成本仍然较高,需要expert agent(Sonnet-4.5)进行多达30轮的代码库交互,虽然评分时执行无关但生成阶段的成本不容忽视。rubric grading的可解释性虽然优于黑盒分类器,但仍然依赖LLM judge的判断,可能引入judge特有的偏见。四个预设轴(File Change、Spec Alignment、Integrity、Runtime)可能不足以覆盖所有SWE任务类型,比如某些任务可能需要更多关注性能或安全性而不是代码变更范围。方法在K值较大时才能发挥优势,论文主要展示K=16的结果,在实际资源受限场景下可能不如更简单的方法。rubric的权重是离散的{1,2,3},可能不足以捕捉不同标准之间更细微的重要性差异。改进方向包括:研究如何降低rubric生成成本,比如通过few-shot learning或模型蒸馏;探索自适应rubric结构,根据任务类型动态调整轴和权重;研究在K值较小的设置下如何优化rubric设计;开发rubric模板和复用机制,避免每次从零生成。

未来方向

作者提出的未来工作包括:将rubric信号集成到post-training pipeline,作为RLVR-style优化的奖励信号,这需要解决reward hacking、非平稳性和credit assignment问题。基于成果可延伸的方向包括:研究human-in-the-loop的rubric refinement,通过轻量级review/editing、rubric模板复用和针对常见失败模式的targeted prompts来提高rubric fidelity。扩展到更多样的SWE任务类型,不仅限于bug fix,还包括功能实现、重构、性能优化等,可能需要设计任务特定的rubric轴。研究rubric的自动演化,随着策略改进自动更新rubric标准。探索rubric在其他agent领域的应用,如数学证明、科学推理等需要验证的任务。开发rubric质量评估的自动化指标,减少对人工审查的依赖。研究rubric的ensemble方法,结合多个rubric生成模型的输出。探索rubric与传统测试方法的混合使用,在某些情况下用rubric补充测试的不足。

复现评估

论文的复现性评估显示:论文使用了标准数据集SWE-Bench Verified,这是公开可用的。方法实现基于SWE Agent脚手架,这也是开源的。然而,论文没有明确说明是否开源了agentic rubrics的具体实现代码,包括rubric generation agent的prompt、rubric grading pipeline等。实验使用了强模型如Claude Sonnet-4.5和GPT-5,这些是商业API,复现成本较高。论文提到finetuning实验在4个节点的8xH100 GPU上进行,用2 epochs,学习率1.0e-5,batch size 32,这些细节对复现finetuning结果有用。论文提供了baseline prompts在附录A.10,这对于复现基线结果有帮助。总的来说,核心方法思路清晰,数据集公开,但完整复现所有实验可能需要较多算力和API调用成本。难度评估为中等偏高:方法原理理解不难,但实现细节较多,且需要访问商业LLM API。