将大模型转化为软件工程智能体,用于修复 GitHub 存储库中的错误和问题。

Kilian Lieret df210c081e Doc: Set favicon (#820) 17 小时之前
.devcontainer a539107b2a Fix: Remove invalid char from bashrc (#796) 2 周之前
.github 3100cd2d38 Bump actions/checkout from 2 to 4 (#818) 21 小时之前
assets fd48b2a6ec Doc: Add livestream video to readme (#750) 1 月之前
config d913dd8b7f Catch json decode errors (#774) 3 周之前
docker 5a48368927 documentation of enigma usage 1 月之前
docs a1bd6a7f1f Doc: Remove brittle links to anthropic & co about keys (#816) 21 小时之前
inspector 77ce293885 Chore: Replace os.path with pathlib and update ruff lint rules (#797) 1 周之前
make_demos 47da56d942 Issue #446: Fixed calls to open without ctx manager (#469) 4 月之前
scripts 0634d67921 Remove old scripts 4 周之前
sweagent d6770dbcff Typing improvements for summarizer (#809) 1 周之前
tests 3a3d1cf466 CI: Properly test interactive commands 1 周之前
trajectories 4acb9d7811 fix some bugs and updated the trajectory of baby time capsule to include new features 1 月之前
.dockerignore ff35352078 Fix: Include demonstrations in dockerignore (#311) 5 月之前
.git-blame-ignore-revs d3214c337f Dev: Exclude format commits from showing up in git blame 4 月之前
.gitignore 1b60871ab4 added container mounts for caching ghidra out 2 月之前
.pre-commit-config.yaml 58e8277f36 chore: update pre-commit hooks (#819) 17 小时之前
CHANGELOG.md e5af122082 Update changelog and version 4 周之前
CODE_OF_CONDUCT.md 22bde4e25b Docs: Add code of conduct (#394) 5 月之前
CONTRIBUTING.md d587f2344d Docs: Move contribution guide to root to help gh discover it 5 月之前
Dockerfile b62510534c Tweaks to use swe-agent web UI from docker (#423) 4 月之前
LICENSE 5b143857cb init 6 月之前
README.md 12ce5e5665 Doc: more reasons to cite enigma (#806) 1 周之前
build_deploy.sh 5b143857cb init 6 月之前
codecov.yml 6820e3e007 Add codecov config and badge 6 月之前
environment.yml 72f41b4436 Web feat: Allow to specify python version & req pkgs 5 月之前
mkdocs.yml df210c081e Doc: Set favicon (#820) 17 小时之前
mlc_config.json 1c8fba44d1 Doc: Fix dead link (#767) 4 周之前
pyproject.toml 77ce293885 Chore: Replace os.path with pathlib and update ruff lint rules (#797) 1 周之前
release_dockerhub.sh f111779c56 No need to build eval docker container anymore (#678) 3 月之前
requirements.txt ec41209bb1 Groq Models Integration (#721) 2 月之前
run.py 0aef099728 Enh: Improved logging by using traceback.format_exc() (#787) 2 周之前
run_replay.py 77ce293885 Chore: Replace os.path with pathlib and update ruff lint rules (#797) 1 周之前
setup.sh f111779c56 No need to build eval docker container anymore (#678) 3 月之前
setup_ctf.sh e419360ab6 Make setup_ctf.sh executable 1 月之前
start_web_ui.sh 354f33ca48 Enh: Point to documentation (#526) 4 月之前

README.md

swe-agent.com

Documentation  |   Discord  |   Preprint  |   EnIGMA preprint

SWE-agent turns LMs (e.g. GPT-4) into software engineering agents that can resolve issues in real GitHub repositories and more.

On SWE-bench, SWE-agent resolves 12.47% of issues of the full test set and 23% of issues of SWE-bench lite. SWE-agent EnIGMA solves more than 3x more challenges of the offensive cybersecurity NYU CTF benchmark than the previous SOTA agent.

We accomplish our results by designing simple LM-centric commands and feedback formats to make it easier for the LM to browse the repository, view, edit and execute code files. We call this an Agent-Computer Interface (ACI). Read more about it in our paper!

SWE-agent is built and maintained by researchers from Princeton University.

swe-agent-gui-demo

🚀 Get started!

👉 Try SWE-agent in your browser: Open in GitHub Codespaces (more information)

Read our documentation to learn more:

Our most recent lecture touches on the project's motivation, showcases our research findings and provides a hands-on tutorial on how to install, use, and configure SWE-agent:

🕵️ 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.

💫 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!

Contact person: John Yang and Carlos E. Jimenez (Email: johnby@stanford.edu, carlosej@princeton.edu).

📝 Citation

If you found this work helpful, please consider citing it using the following:

@misc{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 Narasimhan and Ofir Press},
      year={2024},
      eprint={2405.15793},
      archivePrefix={arXiv},
      primaryClass={cs.SE}
}

If you used the summarizer, interactive commands or the offensive cybersecurity capabilities in SWE-agent, please also consider citing:

@misc{abramovich2024enigmaenhancedinteractivegenerative,
      title={EnIGMA: Enhanced Interactive Generative Model Agent for CTF Challenges},
      author={Talor Abramovich and Meet Udeshi and Minghao Shao and Kilian Lieret and Haoran Xi and Kimberly Milner and Sofija Jancheska and John Yang and Carlos E. Jimenez and Farshad Khorrami and Prashanth Krishnamurthy and Brendan Dolan-Gavitt and Muhammad Shafique and Karthik Narasimhan and Ramesh Karri and Ofir Press},
      year={2024},
      eprint={2409.16165},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2409.16165},
}

🪪 License

MIT. Check LICENSE.

[![Pytest](https://github.com/princeton-nlp/SWE-agent/actions/workflows/pytest.yaml/badge.svg)](https://github.com/princeton-nlp/SWE-agent/actions/workflows/pytest.yaml) [![Test build containers](https://github.com/princeton-nlp/SWE-agent/actions/workflows/test_build_containers.yaml/badge.svg)](https://github.com/princeton-nlp/SWE-agent/actions/workflows/test_build_containers.yaml) [![Release to dockerhub (nightly)](https://github.com/princeton-nlp/SWE-agent/actions/workflows/release-dockerhub-nightly.yaml/badge.svg)](https://github.com/princeton-nlp/SWE-agent/actions/workflows/release-dockerhub-nightly.yaml) [![Release to dockerhub (release)](https://github.com/princeton-nlp/SWE-agent/actions/workflows/release-dockerhub-release.yaml/badge.svg)](https://github.com/princeton-nlp/SWE-agent/actions/workflows/release-dockerhub-release.yaml) [![build-docs](https://github.com/princeton-nlp/SWE-agent/actions/workflows/build-docs.yaml/badge.svg)](https://github.com/princeton-nlp/SWE-agent/actions/workflows/build-docs.yaml) [![codecov](https://codecov.io/gh/princeton-nlp/SWE-agent/graph/badge.svg?token=18XAVDK365)](https://codecov.io/gh/princeton-nlp/SWE-agent) [![pre-commit.ci status](https://results.pre-commit.ci/badge/github/princeton-nlp/SWE-agent/main.svg)](https://results.pre-commit.ci/latest/github/princeton-nlp/SWE-agent/main) [![Markdown links](https://github.com/princeton-nlp/SWE-agent/actions/workflows/check-links.yaml/badge.svg)](https://github.com/princeton-nlp/SWE-agent/actions/workflows/check-links.yaml)