Open-SWE-Traces: Advancing Dual-Mode Multilingual Distillation for Software Engineering Agents
本文介绍了 Open-SWE-Traces,这是一个包含 207,489 条源自真实世界拉取请求(pull requests)的大规模、多语言软件工程智能体轨迹数据集,它能够通过蒸馏出高性能的开源模型,使其在多样化的 SWE-bench 评估中达到最先进的水平。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你想教一个机器人如何在海量的软件库中修复损坏的代码。问题在于,你不能只告诉机器人“要修复什么”;你需要向它展示“如何思考”这个问题、如何犯错、如何尝试并最终成功。直到目前为止,还没有足够的这种“过程录像”来有效地教导机器人,尤其是在处理多种编程语言时。
这篇论文介绍了 OPEN-SWE-TRACES,这是一个旨在教导 AI 智能体成为软件工程师的大规模全新“录像库”。
以下是他们工作的详细拆解,使用了简单的类比:
1. 问题所在:缺乏“训练视频”
把软件工程想象成一项复杂的运动。为了训练一名新球员(AI),你需要观看数千小时的职业比赛录像,以学习各种动作。
- 瓶颈: 以前,研究人员只有区区几小时的“比赛录像”。他们缺乏足够多样化的例子,来展示如何在不同语言(如 Python、Java 或 C++)中修复 Bug,从而训练出一个真正聪明的 AI。
- 解决方案: 作者创建了 OPEN-SWE-TRACES,该数据集包含 207,489 场记录在案的“比赛”。这些是 AI 在真实的软件项目中尝试修复 Bug 的真实场景。
2. 训练方法:两种思维模式
论文引入了一种受人类工作方式启发、巧妙的教学方法。他们称之为 “双模蒸馏”(Dual-Mode Distillation)。
- 模式 A:“思考者”(慢速且谨慎)
想象一位国际象棋大师,在动手移动棋子之前会停下来计算每一种可能的走法。数据集中包含了 AI 在行动前进行显式“出声思考”(思维链,Chain-of-Thought)的轨迹。- 神奇之处: 论文发现,当 AI 花时间思考时,它完成问题的总步数反而更少。这就像是在规划路线时多花点时间,以免迷路并被迫绕圈子。从长远来看,这节省了时间和精力。
- 模式 B:“执行者”(快速且直接)
想象一名机械师,看到螺栓松动后会立即将其拧紧,而不会进行长篇大论。数据集中也包含了 AI 在没有内心独白的情况下快速行动的轨迹。- 目标: AI 学习在这些模式之间切换:“思考”处理难题,“执行”处理简单任务。
3. 他们是如何构建这个数据集的
他们并没有凭空捏造虚假问题。他们走向了现实世界:
- 来源: 他们查看了来自开源项目的 20,000 个真实的 Pull Request(人类提交的实际代码更改)。
- 演员: 他们使用了两个强大的 AI “教练”(MiniMax-M2.5 和 Qwen3.5)来观察这些真实问题,并模拟智能体将如何解决它们。
- 安全检查: 在将记录添加到库之前,他们运行了严格的安全过滤器。他们确保 AI 没有通过“偷看答案”(查看 git 历史记录)或违反规则来“作弊”。如果 AI 试图作弊,该条记录就会被丢弃。
4. 结果:一位新冠军
在将这个庞大的录像库喂给一名学生 AI(基于 Qwen3-30B 模型)后,他们在三个衡量 AI 修复真实 Bug 能力的著名“考试”(基准测试)上对其进行了测试:
- SWE-bench Verified: 该学生答对了 61.7% 的问题。
- SWE-bench Multilingual: 该学生在多种语言中答对了 57.1%。
- SWE-bench Pro: 该学生在非常困难的专业级任务上答对了 36.8%。
为什么这很重要?
论文将这个新学生与其他顶尖 AI 模型进行了对比。经过该特定数据集训练的模型,其表现优于许多其他开源模型,并且非常接近一些昂贵的“闭源”超级智能。
5. 核心经验总结
作者通过实验观察了是什么让 AI 变得聪明:
- 语言的重要性: 仅在 Python 上训练 AI 还可以,但通过 九种语言(Python, Go, Java 等)进行训练,显著提升了它解决所有类型问题的能力,甚至是 Python 问题。这就像在雨、雪和沙地中学习驾驶,会让你的城市驾驶技术变得更好。
- 失败也是好事: 他们发现,包含 AI 未能 修复 Bug 的记录实际上是有帮助的。这教会了 AI 不要 做什么。如果你只给学生看成功的进球,他们就学不会如何避免失败。
- “思考”的权衡: 虽然“思考”轨迹有助于 AI 解决难题,但在处理标准任务时,允许 AI 快速行动(“无思考”)会让它的整体表现略好。最好的方法是两者的结合。
总结
这篇论文展示了一个大规模、高质量的软件工程“回放”库,它教会了 AI 智能体如何像人类开发者一样思考和行动。通过在多种编程语言中使用“慢思考”和“快行动”的结合,他们创造出了一个开源 AI,目前已成为修复现实世界软件 Bug 最优秀的 AI 之一。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。