2604.01496
论文导读
提出两阶段 SFT 框架 SWE-Zero 到 SWE-Hero,先通过 30万条无执行轨迹学习代码语义,再用 1.3万条有执行轨迹进行精炼,在 SWE-bench Verified 上达到 62.2% 的解决率。
- 一句话定位
- 小学生也能听懂
- 为什么值得记录
- 核心方法
- 关键结果
- 局限与风险
- 适合沉淀的概念
- 阅读注意
从 SWE-Zero 到 SWE-Hero:无执行到有执行的代码智能体微调
一句话定位
提出两阶段 SFT 框架 SWE-Zero 到 SWE-Hero,先通过 30万条无执行轨迹学习代码语义,再用 1.3万条有执行轨迹进行精炼,在 SWE-bench Verified 上达到 62.2% 的解决率。
小学生也能听懂
这篇论文像教机器人修代码:先让它看30万个“代码错在哪”的例子(不用运行),学会找问题;再用1.3万个“运行验证”的例子精修,让它边试边改,最终修好62.2%的程序错误。
为什么值得记录
- 突破传统 SWE 代理对容器化执行环境的强依赖,解决数据、训练和推理三个层面的可扩展性瓶颈
- SWE-Zero 阶段利用前沿 LLM 内部世界模型实现无执行修复,解锁大量无法构建的 GitHub 数据
- SWE-Hero 阶段通过少量高质量执行轨迹实现从直觉到验证的过渡,显著提升小模型性能
- 在 SWE-bench Multilingual 上展示出强大的跨语言泛化能力(44.1% 解决率),证明范式通用性
核心方法
- 构建双阶段训练流程:第一阶段 SWE-Zero 使用 30万条无执行轨迹进行基础语义学习,第二阶段 SWE-Hero 使用 1.3万条容器化执行轨迹进行验证驱动精炼
- 基于 OpenHands 框架设计两种代理配置:SWE-Zero 禁用 Python/pytest 等命令,仅允许静态分析;SWE-Hero 启用完整 Docker 环境支持运行时反馈
- 采用 Qwen3-Coder-480B 作为教师模型生成轨迹,通过多轮过滤(规则解析 + 质量检查)确保数据纯净度,剔除 35% 违规轨迹
- 在 Qwen2.5-Coder 系列上进行多轮 SFT,使用 YaRN 扩展上下文至 128k tokens,采用多轮掩码策略仅对动作生成计算损失
关键结果
- SWE-Hero-32B 在 SWE-bench Verified 上达到 62.2% 解决率,超越同规模开源模型并成为新基准
- SWE-Zero 到 SWE-Hero 两阶段训练相比直接微调提升 6.5%(55.7% → 62.2%),证明基础语义学习的关键作用
- 在 SWE-bench Multilingual 上实现 44.1% 零样本迁移性能,显示跨语言泛化能力
- SWE-Zero 轨迹比有执行版本短 40%,显著降低 token 消耗,提升训练效率
局限与风险
- 模型继承教师模型 Qwen3-Coder-480B 的偏差与能力上限,学生模型性能受其架构与数据先验限制
- 当前仅支持 Python,虽展示跨语言潜力但未系统验证其他语言效果
- SWE-Hero 阶段仍依赖 Docker 环境,未能完全消除基础设施开销
- 测试时扩展(TTS)中验证器选择准确率不足,Best@K 与 Pass@K 存在最大 15% 差距
适合沉淀的概念
swe-zero, swe-hero, execution-free-fine-tuning, software-engineering-agents, swe-bench, trajectory-distillation, test-time-scaling, cross-language-generalization
阅读注意
- 关注图 2 对比两种代理工作流的差异:SWE-Zero 跳过测试与验证阶段,直接进入实现
- 注意表 1 中执行自由 vs 执行支持的性能对比,理解两阶段设计的必要性
- 分析图 3 和图 6 展示的效率-精度权衡:SWE-Zero 更省资源,SWE-Hero 更准确
- 查看附录 A.1 关于 Git hacking 漏洞的讨论,理解 SWE-Zero 的内在安全性优势
- 参考附录 A.2 的 TTS 实验,了解当前开源验证器的局限性
质量说明
- 采用来源:
raw,raw/papers/2026/04/2604.01496.md - 生成模型:
LongCat-Flash-Chat - 源材料判断:论文材料完整,包含方法细节、实验结果、消融分析和开源计划,数据与模型均公开,可复现性强。