Scalable Supervising Software Agents with Patch Reasoner

📄 arXiv: 2510.22775v1 📥 PDF

作者: Junjielong Xu, Boyin Tan, Xiaoyuan Liu, Chao Peng, Pengfei Gao, Pinjia He

分类: cs.CL, cs.SE

发布日期: 2025-10-26


💡 一句话要点

提出R4P补丁验证模型,通过推理实现软件工程Agent训练的可扩展监督。

🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 软件工程Agent 补丁验证 推理 强化学习 可扩展监督 代码审查 SWE-bench

📋 核心要点

  1. 现有基于测试的软件工程Agent监督方法,面临测试沙箱构建成本高、易崩溃,以及高覆盖率测试数据稀缺和易被破解的挑战。
  2. R4P通过模仿人类代码审查员的推理过程,将补丁验证视为推理任务,避免了传统测试方法的局限性,并使用分组目标强化学习来提高鲁棒性。
  3. 实验表明,R4P在补丁验证准确率上超越了OpenAI o3,并显著提升了Mini-SE在SWE-bench-verified上的Pass@1指标,验证速度提升50倍。

📝 摘要(中文)

大型语言模型Agent在软件工程任务中取得了进展,但现有基于测试的监督方法的可扩展性限制了数据规模化带来的潜在改进。原因有两方面:(1)构建和运行测试沙箱非常繁琐且脆弱;(2)具有高覆盖率测试的数据非常稀少,并且容易受到通过边缘情况进行测试破解的威胁。本文提出了R4P,一种补丁验证模型,通过推理为训练和测试软件工程Agent提供可扩展的奖励。我们认为补丁验证本质上是一项推理任务,类似于人类仓库维护人员在不编写和运行新的复现测试的情况下审查补丁。为了获得足够的参考并降低奖励破解的风险,R4P使用分组目标进行强化学习训练,使其能够相互验证多个补丁的修改,并获得稳定的训练的密集奖励。R4P在SWE-bench-verified上验证补丁的准确率达到72.2%,超过了OpenAI o3。为了证明R4P的实用性,我们设计并训练了一个轻量级支架Mini-SE,完全使用强化学习,其中所有奖励都来自R4P。结果,Mini-SE在SWE-bench-verified上实现了26.2%的Pass@1,比原始的Qwen3-32B提高了10.0%。通过R4P进行测试时扩展,可以进一步提高到32.8%。此外,R4P在一秒钟内验证补丁,平均比测试快50倍。奖励和准确率的稳定扩展曲线以及高效率反映了R4P的实用性。

🔬 方法详解

问题定义:现有软件工程Agent的训练依赖于基于测试的监督,这种方法存在两个主要问题:一是构建和运行测试沙箱的成本很高,且容易出错;二是高质量的测试数据(即具有高覆盖率的测试用例)非常稀少,并且容易被通过构造特殊输入来“欺骗”测试的Agent所利用。因此,如何高效、可靠地监督软件工程Agent的训练,成为了一个亟待解决的问题。

核心思路:论文的核心思路是将补丁验证视为一个推理任务,而不是传统的测试任务。作者认为,人类代码审查员在审查代码补丁时,通常是通过阅读代码、理解其逻辑和影响来进行判断,而不是编写和运行新的测试用例。因此,可以通过训练一个模型来模拟这种推理过程,从而实现对软件工程Agent的监督。

技术框架:R4P的整体框架包括以下几个主要模块:1) 补丁编码器:将待验证的补丁转换为向量表示。2) 推理模块:基于补丁的向量表示,进行推理,判断补丁的正确性。3) 奖励函数:根据推理结果,为软件工程Agent提供奖励信号。为了提高R4P的鲁棒性,作者采用了分组目标强化学习,即同时验证多个补丁,并根据它们之间的相互关系来计算奖励。

关键创新:R4P最重要的创新点在于它将补丁验证视为一个推理任务,而不是一个测试任务。这种方法避免了传统测试方法的局限性,例如测试沙箱的构建成本和测试数据的稀缺性。此外,R4P还采用了分组目标强化学习,进一步提高了模型的鲁棒性和泛化能力。

关键设计:R4P的关键设计包括:1) 补丁编码器:使用预训练的语言模型(例如CodeBERT)来编码补丁。2) 推理模块:使用Transformer网络来进行推理。3) 奖励函数:根据R4P的推理结果,为软件工程Agent提供奖励。如果R4P认为补丁是正确的,则给予正向奖励;否则,给予负向奖励。分组目标强化学习的具体实现方式是,将多个补丁组成一个组,并根据它们之间的相互关系来计算奖励。例如,如果一个组中的所有补丁都是正确的,则给予更高的奖励。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

R4P在SWE-bench-verified数据集上取得了显著的性能提升。具体来说,R4P在补丁验证任务上的准确率达到了72.2%,超过了OpenAI o3模型。此外,使用R4P作为奖励信号训练的Mini-SE模型,在SWE-bench-verified数据集上的Pass@1指标达到了26.2%,比原始的Qwen3-32B模型提高了10.0%。通过R4P进行测试时扩展,Pass@1指标可以进一步提高到32.8%。同时,R4P的验证速度比传统测试方法快50倍。

🎯 应用场景

R4P具有广泛的应用前景,可以用于软件工程Agent的训练、代码审查、漏洞检测等领域。通过提供可扩展且高效的监督信号,R4P可以加速软件工程Agent的开发,并提高其性能和可靠性。此外,R4P还可以帮助开发人员更有效地审查代码,并及时发现潜在的漏洞。

📄 摘要(原文)

While large language model agents have advanced software engineering tasks, the unscalable nature of existing test-based supervision is limiting the potential improvement of data scaling. The reason is twofold: (1) building and running test sandbox is rather heavy and fragile, and (2) data with high-coverage tests is naturally rare and threatened by test hacking via edge cases. In this paper, we propose R4P, a patch verifier model to provide scalable rewards for training and testing SWE agents via reasoning. We consider that patch verification is fundamentally a reasoning task, mirroring how human repository maintainers review patches without writing and running new reproduction tests. To obtain sufficient reference and reduce the risk of reward hacking, R4P uses a group-wise objective for RL training, enabling it to verify multiple patches against each other's modification and gain a dense reward for stable training. R4P achieves 72.2% Acc. for verifying patches from SWE-bench-verified, surpassing OpenAI o3. To demonstrate R4P's practicality, we design and train a lite scaffold, Mini-SE, with pure reinforcement learning where all rewards are derived from R4P. As a result, Mini-SE achieves 26.2% Pass@1 on SWE-bench-verified, showing a 10.0% improvement over the original Qwen3-32B. This can be further improved to 32.8% with R4P for test-time scaling. Furthermore, R4P verifies patches within a second, 50x faster than testing on average. The stable scaling curves of rewards and accuracy along with high efficiency reflect R4P's practicality.