ChatPaper.aiChatPaper

SWE-smith: Масштабирование данных для агентов в области разработки программного обеспечения

SWE-smith: Scaling Data for Software Engineering Agents

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

Аннотация

Несмотря на недавние успехи в области языковых моделей (Language Models, LMs) для разработки программного обеспечения, сбор обучающих данных остается серьезной проблемой. Существующие наборы данных малы, содержат не более нескольких тысяч обучающих примеров из 11 или менее репозиториев GitHub. Процедуры подготовки таких наборов данных часто сложны и требуют сотен часов человеческого труда; сопутствующие среды выполнения также занимают несколько терабайт памяти, что серьезно ограничивает их масштабируемость и удобство использования. Чтобы решить эту проблему, мы представляем SWE-smith — новый подход для генерации обучающих данных для разработки ПО в больших масштабах. Для любого кодового проекта на Python SWE-smith создает соответствующую среду выполнения, а затем автоматически синтезирует от сотен до тысяч задач, которые нарушают существующие тесты в кодовой базе. С помощью SWE-smith мы создали набор данных из 50 тысяч примеров, полученных из 128 репозиториев GitHub, что на порядок больше, чем во всех предыдущих работах. Мы обучили модель SWE-agent-LM-32B, достигнув показателя 40,2% Pass@1 на бенчмарке SWE-bench Verified, что является лучшим результатом среди моделей с открытым исходным кодом. Мы открываем исходный код SWE-smith (процедуры сбора, задачи, траектории, модели), чтобы снизить барьер для исследований в области систем языковых моделей для автоматизированной разработки ПО. Все материалы доступны по адресу 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.

Summary

AI-Generated Summary

PDF71May 7, 2025