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

Kilian Lieret a0db8b187e CI: Reduce MLC false failures; make work on github 4 周之前
.devcontainer ec41209bb1 Groq Models Integration (#721) 2 月之前
.github f618f1bab2 CI: Upload trajectories from test runs (#777) 4 周之前
assets fd48b2a6ec Doc: Add livestream video to readme (#750) 1 月之前
config c7976e20c8 Merge branch 'main' into enigma 4 周之前
docker 5a48368927 documentation of enigma usage 1 月之前
docs 9aaab5d4b5 Change: Require --ctf flag to run in enigma mode (#769) 4 周之前
inspector 47da56d942 Issue #446: Fixed calls to open without ctx manager (#469) 4 月之前
make_demos 47da56d942 Issue #446: Fixed calls to open without ctx manager (#469) 4 月之前
scripts 0634d67921 Remove old scripts 4 周之前
sweagent c7976e20c8 Merge branch 'main' into enigma 4 周之前
tests 9aaab5d4b5 Change: Require --ctf flag to run in enigma mode (#769) 4 周之前
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 31bcd559f9 chore: update pre-commit hooks (#765) 4 周之前
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 2692444b0c Update README.md 4 周之前
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 63db6f3a40 Revert "Doc: Add emojis to sidebar" 4 周之前
mlc_config.json a0db8b187e CI: Reduce MLC false failures; make work on github 4 周之前
pyproject.toml c7976e20c8 Merge branch 'main' into enigma 4 周之前
release_dockerhub.sh f111779c56 No need to build eval docker container anymore (#678) 3 月之前
requirements.txt ec41209bb1 Groq Models Integration (#721) 2 月之前
run.py 9aaab5d4b5 Change: Require --ctf flag to run in enigma mode (#769) 4 周之前
run_replay.py 16eec7969c using new image to run CTF tests 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 (Enhanced Interactive Generative Model Agent) is a mode for solving offensive cybersecurity challenges. EnIGMA achieves SOTA on multiple cybersecurity benchmarks (see leaderboard). The EnIGMA project introduced multiple novelties that are available to all use cases of SWE-agent, such as Interactive Agent 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}
}

🪪 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)