From SWE-ZERO to SWE-HERO: Execution-free to Execution-based Fine-tuning for Software Engineering Agents

📄 arXiv: 2604.01496v1 📥 PDF

作者: Nikolai Ludwig, Wasi Uddin Ahmad, Somshubra Majumdar, Boris Ginsburg

分类: cs.SE, cs.CL

发布日期: 2026-04-02


💡 一句话要点

提出SWE-ZERO到SWE-HERO两阶段SFT方法,提升软件工程Agent在SWE-bench上的性能。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 软件工程Agent 监督微调 代码修复 SWE-bench 零样本迁移 大语言模型 代码语义 执行反馈

📋 核心要点

  1. 现有软件工程Agent训练依赖大量资源,且难以有效利用代码语义和仓库级推理。
  2. 提出SWE-ZERO到SWE-HERO两阶段SFT方法,先通过无执行轨迹学习代码语义,再通过执行反馈进行精炼。
  3. SWE-HERO-32B在SWE-bench Verified上达到62.2%的解决率,并在多语言数据集上展现出良好的泛化能力。

📝 摘要(中文)

本文提出了一种名为SWE-ZERO到SWE-HERO的两阶段监督微调(SFT)方法,通过蒸馏开源前沿大语言模型,在SWE-bench上实现了最先进的结果。该流程使用演化精炼策略替代了资源密集型依赖:(1)SWE-ZERO利用大规模、无执行轨迹来掌握代码语义和仓库级推理;(2)SWE-HERO应用有针对性的、基于执行的精炼,将这些语义直觉转化为严谨的工程工作流程。实验结果为同等规模的开源模型设定了新的基准。作者发布了一个包含30万SWE-ZERO和1.3万SWE-HERO轨迹的数据集,这些数据从Qwen3-Coder-480B中蒸馏而来,以及一套基于Qwen2.5-Coder系列的Agent。值得注意的是,SWE-HERO-32B在SWE-bench Verified上达到了62.2%的解决率。此外,尽管仅在Python上训练,但Agent在SWE-bench Multilingual上表现出强大的零样本迁移能力,达到了44.1%,证实了该范式在不同语言中的通用性。

🔬 方法详解

问题定义:论文旨在解决软件工程Agent在软件修复任务中性能不足的问题。现有方法通常需要大量的计算资源和人工标注数据,并且难以有效地利用代码的语义信息和仓库级别的上下文信息。此外,现有方法在跨语言场景下的泛化能力也有限。

核心思路:论文的核心思路是将软件工程Agent的训练过程分解为两个阶段:SWE-ZERO和SWE-HERO。SWE-ZERO阶段侧重于利用大规模的无执行轨迹数据,使Agent能够学习代码的语义信息和仓库级别的推理能力。SWE-HERO阶段则侧重于利用有针对性的、基于执行的反馈,对Agent进行精炼,使其能够将语义直觉转化为严谨的工程工作流程。

技术框架:整体框架包含两个主要阶段:SWE-ZERO和SWE-HERO。SWE-ZERO阶段使用大规模的无执行轨迹数据对Agent进行监督微调(SFT),使其掌握代码的语义信息和仓库级别的推理能力。SWE-HERO阶段则使用有针对性的、基于执行的反馈数据对Agent进行精炼,使其能够将语义直觉转化为严谨的工程工作流程。这两个阶段可以迭代进行,以不断提升Agent的性能。

关键创新:论文的关键创新在于提出了SWE-ZERO到SWE-HERO的两阶段SFT方法,该方法能够有效地利用无执行轨迹数据和基于执行的反馈数据,从而提升软件工程Agent的性能。与现有方法相比,该方法不需要大量的人工标注数据,并且能够更好地利用代码的语义信息和仓库级别的上下文信息。

关键设计:SWE-ZERO阶段的关键设计在于如何选择和处理无执行轨迹数据,以使其能够有效地帮助Agent学习代码的语义信息和仓库级别的推理能力。SWE-HERO阶段的关键设计在于如何设计有针对性的、基于执行的反馈数据,以使其能够有效地帮助Agent将语义直觉转化为严谨的工程工作流程。具体的技术细节(例如损失函数、网络结构等)在论文中没有详细描述,属于未知信息。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

SWE-HERO-32B在SWE-bench Verified上达到了62.2%的解决率,显著优于同等规模的开源模型。此外,该Agent在SWE-bench Multilingual上表现出强大的零样本迁移能力,达到了44.1%,证明了该方法在不同编程语言上的通用性。这些结果表明,SWE-ZERO到SWE-HERO的两阶段SFT方法能够有效地提升软件工程Agent的性能。

🎯 应用场景

该研究成果可应用于自动化软件修复、代码生成、代码理解等领域,能够提高软件开发的效率和质量。通过训练更强大的软件工程Agent,可以减少人工干预,降低开发成本,并加速软件迭代过程。未来,该方法有望推广到更广泛的软件工程任务中。

📄 摘要(原文)

We introduce SWE-ZERO to SWE-HERO, a two-stage SFT recipe that achieves state-of-the-art results on SWE-bench by distilling open-weight frontier LLMs. Our pipeline replaces resource-heavy dependencies with an evolutionary refinement strategy: (1) SWE-ZERO utilizes large-scale, execution-free trajectories to master code semantics and repository-level reasoning, and (2) SWE-HERO applies targeted, execution-backed refinement to transition these semantic intuitions into rigorous engineering workflows. Our empirical results set a new benchmark for open-source models of comparable size. We release a dataset of 300k SWE-ZERO and 13k SWE-HERO trajectories distilled from Qwen3-Coder-480B, alongside a suite of agents based on the Qwen2.5-Coder series. Notably, SWE-HERO-32B achieves a 62.2% resolution rate on SWE-bench Verified. Furthermore, despite being trained exclusively on Python, our agents demonstrate robust zero-shot transferability on SWE-bench Multilingual, reaching 44.1% and confirming the paradigm's generalizability across diverse languages.