SWE-agent  by SWE-agent

Agent for automated software engineering (NeurIPS 2024)

created 1 year ago
16,852 stars

Top 2.8% on sourcepulse

GitHubView on GitHub
Project Summary

SWE-agent automates software engineering tasks by enabling large language models (LLMs) to interact with isolated computer environments. It targets developers and cybersecurity professionals, offering solutions for bug fixing, web tasks, and offensive cybersecurity challenges, with state-of-the-art performance on benchmarks like SWE-bench.

How It Works

SWE-agent utilizes configurable Agent-Computer Interfaces (ACIs) to provide LLMs with tools and access to isolated environments. This architecture allows models like GPT-4o or Claude 3.7 to execute commands, interact with web services, and debug code, facilitating autonomous task completion. The approach is advantageous for its flexibility in integrating various LLMs and its robust environment isolation for safe execution.

Quick Start & Requirements

  • Install: pip install swe-agent
  • Prerequisites: Python 3.8+, an LLM API key (e.g., OpenAI, Anthropic).
  • Resources: Requires access to LLM APIs. Setup is generally quick, depending on LLM access.
  • Docs: Documentation, Installation, Hello World

Highlighted Details

  • State-of-the-art (SoTA) performance on SWE-bench (full and light) with Claude 3.7.
  • Dedicated mode (EnIGMA) for offensive cybersecurity CTF challenges, achieving SoTA on multiple benchmarks.
  • Includes features like a debugger, server connection tools, and output summarizer.
  • Supports custom tasks beyond software engineering and cybersecurity.

Maintenance & Community

  • Developed by researchers from Princeton University and Stanford University.
  • Active development with recent releases (v1.0).
  • Community support via Discord.

Licensing & Compatibility

  • License: MIT.
  • Compatibility: Permissive MIT license allows for commercial use and integration into closed-source projects.

Limitations & Caveats

  • The EnIGMA mode is currently being updated for SWE-agent 1.0; use version 0.7 for EnIGMA capabilities.
  • Performance is dependent on the chosen LLM and its API access.
Health Check
Last commit

2 days ago

Responsiveness

1 day

Pull Requests (30d)
18
Issues (30d)
15
Star History
1,279 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.