SWE-smith  by SWE-bench

Toolkit for training software engineering agents

Created 4 months ago
383 stars

Top 74.4% on SourcePulse

GitHubView on GitHub
Project Summary

SWE-smith is a toolkit for generating synthetic data and environments to train Software Engineering (SWE) agents. It enables users to transform GitHub repositories into "SWE-gyms," create diverse tasks like program repair, and fine-tune large language models for improved software development performance. The primary benefit is the ability to scale data generation for robust SWE agent training.

How It Works

SWE-smith leverages Docker to create isolated execution environments for each GitHub repository. It synthesizes task instances by identifying code changes that break unit tests, generating corresponding issue text. This process allows for the creation of large, diverse datasets and environments specifically designed for training and evaluating SWE agents.

Quick Start & Requirements

  • Install from source.
  • Requires Docker.
  • Tested on Ubuntu 22.04.4 LTS; Windows and macOS are not supported.

Highlighted Details

  • Provides 52k task instances and 250+ Docker environments.
  • Used to fine-tune Qwen 2.5 Coder into SWE-agent-LM-32B, achieving a +32% jump on SWE-bench Verified.
  • Supports GRPO-style reinforcement learning via SkyRL.

Maintenance & Community

  • Active development with follow-up projects.
  • Contact: John Yang, Kilian Lieret (johnby@stanford.edu).

Licensing & Compatibility

  • License: CC-BY-4.0. This license allows for commercial use and linking, provided attribution is given.

Limitations & Caveats

  • Strictly limited to Linux (Ubuntu 22.04.4 LTS) environments due to Docker dependency and lack of Windows/macOS support.
Health Check
Last Commit

3 days ago

Responsiveness

1 week

Pull Requests (30d)
9
Issues (30d)
9
Star History
57 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.