SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering

John Yang, Carlos E. Jimenez, Alexander Wettig, Kilian Adriano Lieret, Shunyu Yao, Karthik Narasimhan, Ofir Press

arXiv:2405.15793 · 2026-07-27 공개 · arXiv · PDF

swe-bench software-engineering language-model-agents code-editing swe-agent agent-computer-interface humanevalfix repository-navigation

Abstract

Language model (LM) agents are increasingly being used to automate complicated tasks in digital environments. Just as humans benefit from powerful software applications, such as integrated development environments, for complex tasks like software engineering, we posit that LM agents represent a new category of end users with their own needs and abilities, and would benefit from specially-built interfaces to the software they use. We investigate how interface design affects the performance of language model agents. As a result of this exploration, we introduce SWE-agent: a system that facilitates LM agents to autonomously use computers to solve software engineering tasks. SWE-agent's custom agent-computer interface (ACI) significantly enhances an agent's ability to create and edit code files, navigate entire repositories, and execute tests and other programs. We evaluate SWE-agent on SWE-bench and HumanEvalFix, achieving state-of-the-art performance on both with a pass@1 rate of 12.5% and 87.7%, respectively, far exceeding the previous state-of-the-art achieved with non-interactive LMs. Finally, we provide insight on how the design of the ACI can impact agents' behavior and performance.

한국어 요약

한 줄 요약

SWE-agent는 LM 에이전트가 소프트웨어 엔지니어링 작업을 자동화하도록 돕는 ACI 시스템이다.

핵심 기여도

핵심 아이디어

LM 에이전트는 인간과 유사한 방식으로 컴퓨터 소프트웨어를 사용할 수 있어야 한다. 기존의 비상호작용적 LM은 복잡한 작업에서 한계가 있었으나, SWE-agent는 ACI를 통해 에이전트가 파일 시스템을 탐색하고, 테스트를 실행하는 등 실제 작업 환경과 상호작용할 수 있도록 한다. 이는 에이전트가 인간 개발자처럼 행동하도록 유도하는 핵심 아이디어이다. ACI는 에이전트가 명령어를 해석하고, 결과를 기반으로 다음 동작을 결정하는 데 중요한 역할을 한다.

기술적 접근법

SWE-agent는 LM 에이전트가 컴퓨터와 상호작용할 수 있도록 설계된 ACI를 사용한다. 이 인터페이스는 코드 파일 생성, 편집, 테스트 실행, 전체 리포지토리 탐색을 지원한다. ACI는 에이전트가 명령어를 입력하고, 시스템이 실행 결과를 반환하는 방식으로 작동한다. 실험은 SWE-bench와 HumanEvalFix 데이터셋에서 수행되었으며, 비상호작용적 LM과 비교하여 훨씬 높은 성능을 보였다.

주요 결과

의의 및 한계

SWE-agent는 LM 에이전트가 실제 개발 환경에서 작업할 수 있도록 하는 첫 시도로, 자동화된 소프트웨어 엔지니어링 분야에 중요한 발전을 의미한다. ACI 설계가 에이전트 행동에 직접적인 영향을 미친다는 점도 학술적으로 유의미하다. 그러나 ACI가 모든 작업 환경에 일반화될 수 있는지, 또는 특정 도구에 의존하는지에 대한 한계는 추가 연구가 필요하다.

실용적 활용

SWE-agent는 코드 자동화, 버그 수정, 테스트 자동화 등 소프트웨어 개발 프로세스에서 활용 가능하다. 연구 및 산업 현장에서 반복적이고 복잡한 작업을 효율적으로 처리하는 데 유용할 수 있다.