SWE-agent is an advanced tool that allows language models to autonomously perform tasks such as fixing issues in GitHub repositories, conducting web tasks, and identifying cybersecurity vulnerabilities through configurable agent-computer interfaces.
Documentation | Discord | Paper
SWE-agent lets your language model of choice (e.g. GPT-4o or Claude Sonnet 3.7) autonomously use tools to:
- fix issues in real GitHub repositories
- perform tasks on the web,
- find cybersecurity vulnerabilities (by solving Capture The Flag challenges), or
- any custom task.
It does so by using configurable agent-computer interfaces (ACIs) to interact with isolated computer environments.
SWE-agent is built and maintained by researchers from Princeton University and Stanford University.
π£ News
- Feb 28: SWE-agent 1.0 + Claude 3.7 is SoTA on SWE-Bench full
- Feb 25: SWE-agent 1.0 + Claude 3.7 is SoTA on SWE-bench verified
- Feb 13: Releasing SWE-agent 1.0: SoTA on SWE-bench light & tons of new features
- Dec 7: An interview with the SWE-agent & SWE-bench team
π Get started!
π Try SWE-agent in your browser:
(more information)
Read our documentation to learn more:
- Installation
- Hello world from the command line
- Benchmarking on SWE-bench
- Frequently Asked Questions
SWE-agent for offensive cybersecurity (EnIGMA)
SWE-agent: EnIGMA is a mode for solving offensive cybersecurity (capture the flag) challenges. EnIGMA achieves state-of-the-art results on multiple cybersecurity benchmarks (see leaderboard). The EnIGMA project introduced multiple features that are available in all modes of SWE-agent, such as the debugger and server connection tools and a summarizer to handle long outputs. Please use SWE-agent 0.7 while we update EnIGMA for 1.0.
About
SWE-agent is an academic project started at Princeton University by John Yang*, Carlos E. Jimenez*, Alexander Wettig, Kilian Lieret, Shunyu Yao, Karthik Narasimhan, and Ofir Press. Contact person: John Yang, Carlos E. Jimenez, and Kilian Lieret (Email: johnby@stanford.edu, carlosej@princeton.edu, kl5675@princeton.edu).
Contributions
- If you'd like to ask questions, learn about upcoming features, and participate in future development, join our Discord community!
- If you'd like to contribute to the codebase, we welcome issues and pull requests!
Citation
If you found this work helpful, please consider citing it using the following:
@inproceedings{yang2024sweagent,
title={{SWE}-agent: Agent-Computer Interfaces Enable Automated Software Engineering},
author={John Yang and Carlos E Jimenez and Alexander Wettig and Kilian Lieret and Shunyu Yao and Karthik R Narasimhan and Ofir Press},
booktitle={The Thirty-eighth Annual Conference on Neural Information Processing Systems},
year={2024},
url={https://arxiv.org/abs/2405.15793}
}If you used the summarizer, interactive commands or the offensive cybersecurity capabilities in SWE-agent, please also consider citing:
πͺͺ License
MIT. Check LICENSE.