SWE-smith: 软件工程代理的数据缩放
John Yang, Kilian Leret, Carlos E. Jimenez, Alexander Wettig, Kabir Khandpur, Yanzhe Zhang, Binyuan Hui, Ofir Press, Ludwig Schmidt, Diyi Yang
发布日期: 5/13/2025

摘要
尽管在软件工程领域的语言模型(LMs)方面取得了近期进展,但收集训练数据仍然是一个重要的难题。现有的数据集规模较小,最多只有数千个来自不超过11个GitHub仓库的训练实例。构建这些数据集的过程通常非常复杂,需要数百小时的人工劳动;配套的执行环境也占用数太字节的存储空间,严重限制了其可扩展性和可用性。为了解决这一难题,我们引入了SWE-smith,这是一种用于大规模生成软件工程训练数据的新颖管道。给定任何Python代码库,SWE-smith都会构建相应的执行环境,然后自动合成数百到数千个破坏现有测试的任务实例。利用SWE-smith,我们从128个GitHub仓库中创建了一个包含5万个实例的数据集,比所有先前的工作大一个数量级。我们在该数据集上训练了SWE-agent-LM-32B模型,在SWE-bench Verified基准测试中达到了40.2%的Pass@1解决率,在开源模型中处于领先地位。我们开放了SWE-smith(包括数据收集流程、任务实例、轨迹和模型),以降低自动化软件工程领域研究的入门门槛。所有资源均可在 https://swesmith.com 获取。