ChatPaper.aiChatPaper

SWE-smith: Escalonamento de Dados para Agentes de Engenharia de Software

SWE-smith: Scaling Data for Software Engineering Agents

April 30, 2025
Autores: John Yang, Kilian Leret, Carlos E. Jimenez, Alexander Wettig, Kabir Khandpur, Yanzhe Zhang, Binyuan Hui, Ofir Press, Ludwig Schmidt, Diyi Yang
cs.AI

Resumo

Apesar dos avanços recentes em Modelos de Linguagem (LMs) para engenharia de software, a coleta de dados de treinamento continua sendo um desafio significativo. Os conjuntos de dados existentes são pequenos, com no máximo milhares de instâncias de treinamento provenientes de 11 ou menos repositórios do GitHub. Os procedimentos para curar esses conjuntos de dados são frequentemente complexos, exigindo centenas de horas de trabalho humano; além disso, os ambientes de execução associados ocupam vários terabytes de armazenamento, limitando severamente sua escalabilidade e usabilidade. Para abordar esse desafio, introduzimos o SWE-smith, um pipeline inovador para gerar dados de treinamento em engenharia de software em escala. Dado qualquer código base em Python, o SWE-smith constrói um ambiente de execução correspondente e, em seguida, sintetiza automaticamente centenas a milhares de instâncias de tarefas que quebram os testes existentes no código base. Usando o SWE-smith, criamos um conjunto de dados de 50 mil instâncias provenientes de 128 repositórios do GitHub, uma ordem de magnitude maior do que todos os trabalhos anteriores. Treinamos o SWE-agent-LM-32B, alcançando uma taxa de resolução de 40,2% Pass@1 no benchmark SWE-bench Verified, o estado da arte entre os modelos de código aberto. Disponibilizamos o SWE-smith (procedimento de coleta, instâncias de tarefas, trajetórias, modelos) como código aberto para reduzir a barreira de entrada para pesquisas em sistemas de LMs para engenharia de software automatizada. Todos os recursos estão disponíveis em https://swesmith.com.
English
Despite recent progress in Language Models (LMs) for software engineering, collecting training data remains a significant pain point. Existing datasets are small, with at most 1,000s of training instances from 11 or fewer GitHub repositories. The procedures to curate such datasets are often complex, necessitating hundreds of hours of human labor; companion execution environments also take up several terabytes of storage, severely limiting their scalability and usability. To address this pain point, we introduce SWE-smith, a novel pipeline for generating software engineering training data at scale. Given any Python codebase, SWE-smith constructs a corresponding execution environment, then automatically synthesizes 100s to 1,000s of task instances that break existing test(s) in the codebase. Using SWE-smith, we create a dataset of 50k instances sourced from 128 GitHub repositories, an order of magnitude larger than all previous works. We train SWE-agent-LM-32B, achieving 40.2% Pass@1 resolve rate on the SWE-bench Verified benchmark, state of the art among open source models. We open source SWE-smith (collection procedure, task instances, trajectories, models) to lower the barrier of entry for research in LM systems for automated software engineering. All assets available at https://swesmith.com.
PDF131February 7, 2026