【论文】SWE‑RM:针对软件工程代理的无执行反馈

发布: (2025年12月26日 GMT+8 16:26)
7 min read
原文: arXiv

Source: arXiv - 2512.21919v1

概览

论文介绍了 SWE‑RM,一种大规模的“奖励模型”,能够在 不实际运行代码 的情况下评估 AI 代理生成的代码质量。通过提供细粒度、无需执行的反馈,SWE‑RM 使得通过测试时扩展(TTS)和强化学习(RL)来改进编码助手更加容易,同时规避了传统基于单元测试的信号的脆弱性和稀疏性。

关键贡献

  • 无执行反馈:展示了奖励模型可以取代单元测试反馈,用于软件工程(SWE)代理,从而提供更丰富的学习信号。
  • 全面的评估指标:表明仅有良好的 TTS 性能不足以支撑 RL;引入 分类准确率校准度 作为必备的 RL‑ready 指标。
  • 受控实验:系统研究了数据规模、策略混合以及来源组成如何影响奖励模型在这三项指标上的鲁棒性。
  • 混合专家架构:提出 SWE‑RM,一个拥有 30 B 参数、推理时仅激活 3 B 专家的模型,在保持计算效率的同时实现了高准确率。
  • 最新技术成果:在 SWE‑Bench Verified 基准上,使开源编码代理(如 Qwen3‑Coder‑Flash、Qwen3‑Coder‑Max)的表现提升 10–7 个百分点,超越所有先前的开源模型。

方法论

  1. 问题框定 – 将代码生成视为一个序列决策过程。不是仅依赖单元测试的二元通过/失败,而是训练一个 奖励模型,为任何生成的程序预测连续的质量分数。
  2. 数据收集 – 从多个现有编码代理中收集大量的 (提示, 生成代码, 人类评分质量) 三元组。数据集混合高质量和低质量样本,以教会模型进行区分。
  3. 模型设计 – 使用 Mixture‑of‑Experts (MoE) Transformer:共享的主干网络将每个 token 路由到少量专家子网络。推理时仅激活 3 B 参数,保持低延迟。
  4. 训练目标 – 优化三种互补的损失:
    • 排序损失 用于 TTS(选择最佳轨迹)。
    • 分类损失 用于提升二元正确性预测(对 RL 很重要)。
    • 校准损失(例如温度缩放)以确保预测分数反映真实概率。
  5. 评估流程
    • TTS:使用奖励模型对多个候选程序重新排序,并在 SWE‑Bench Verified 上测量 top‑1 成功率。
    • RL:使用 PPO 对编码代理进行微调,以奖励模型作为评论者(critic),随后评估同一基准。
    • 指标:报告准确率、Expected Calibration Error (ECE),以及 RL 特有的奖励曲线。

结果与发现

模型(基线)TTS 准确率 ↑RL 准确率 ↑校准 (ECE ↓)
Qwen3‑Coder‑Flash51.6 % → 62.0 %+9.4 pp0.18 → 0.11
Qwen3‑Coder‑Max67.0 % → 74.6 %+7.6 pp0.14 → 0.07
  • TTS 提升 来自更好的轨迹排序;模型能够在众多候选中可靠地挑选出质量最高的那个。
  • RL 改进 超过 TTS 增幅,进一步证明分类准确率和校准对于稳定的策略更新至关重要。
  • 消融实验 表明:
    • 将奖励模型的训练数据从 10 万扩展到 100 万条样本后,收益在约 50 万条后出现递减。
    • 混合策略(例如同时使用高容量和轻量级 coder 的输出)能够提升鲁棒性。
    • 添加少量合成的有缺陷代码有助于模型学习惩罚细微错误。

实际意义

  • 更快的迭代周期:开发者可以即时评估代码建议,无需启动测试环境,从而显著降低 AI 辅助编码工具的 CI 延迟。
  • 更好的基于 RL 的微调:构建专有编码助手的公司现在可以将 SWE‑RM 作为即插即用的奖励信号,使用更少的 RL 步骤实现更高的正确性。
  • 资源高效部署:MoE 设计使模型能够在单个 GPU(3 B 活跃参数)上运行,同时保留 30 B 模型的知识——非常适合需要低延迟推理的 SaaS 平台。
  • 跨任务通用性:由于 SWE‑RM 是从人工质量判断而非特定测试套件中学习的,它可以重新用于代码审查、错误修复建议,甚至文档生成等相关任务。

限制与未来工作

  • 领域覆盖:奖励模型在以 Python 为中心的基准上进行训练;在其他语言(例如 Rust、Go)上的表现尚未测试。
  • 依赖人工标签:质量判断具有主观性;标注过程中的偏差可能影响模型在不同编码风格下的公平性。
  • 校准漂移:在长时间的强化学习训练过程中,奖励模型的校准可能会退化,需要定期重新校准或在线微调。
  • 作者提出的未来方向包括:将训练语料扩展到多语言代码、将静态分析工具作为辅助信号集成,以及探索层次化 MoE 结构以进一步降低推理成本。

作者

  • KaShun Shum
  • Binyuan Hui
  • Jiawei Chen
  • Lei Zhang
  • X. W.
  • Jiaxi Yang
  • Yuzhen Huang
  • Junyang Lin
  • Junxian He

论文信息

  • arXiv ID: 2512.21919v1
  • 类别: cs.CL
  • 发表时间: 2025年12月26日
  • PDF: 下载 PDF
Back to Blog

相关文章

阅读更多 »