[논문 리뷰] SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering
SWE-agent는 언어-모델 에이전트가 소프트웨어 엔지니어링 작업을 자율적으로 수행할 수 있게 하는 에이전트-컴퓨터 인터페이스(ACI)를 도입하여 SWE-bench와 HumanEvalFix에서 최첨단 성능을 달성한다.
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.
연구 동기 및 목표
- 소프트웨어 엔지니어링 작업에서 LM 에이전트에 맞춤화된 인터페이스의 필요성을 강조한다.
- 코드 검색, 내비게이션, 편집, 실행에서 LM-에이전트의 성능을 개선하기 위한 에이전트-컴퓨터 인터페이스(ACI)를 설계하고 구현한다.
- SWE-agent를 SWE-bench와 HumanEvalFix에서 평가하여 베이스라인 대비 성능 향상을 입증한다.
- ACI 설계 선택이 에이전트의 행동과 성능에 미치는 영향을 분석한다.
- 재현성 및 LM 주도 소프트웨어 엔지니어링 연구를 촉진하기 위해 SWE-agent를 오픈 소스로 제공한다.
제안 방법
- 작은 수의 간단하고 LM 친화적인 동작(검색/내비게이션, 파일 뷰어, 파일 편집기, 맥락 관리)으로 특화된 ACI를 정의한다.
- 편집 오류를 예방하고 복구하기 위한 구문 검사기와 린트와 같은 가드레일을 도입한다.
- 에이전트가 생각을 먼저 내고 명령을 생성한 뒤 환경 피드백을 처리하는 ReAct 스타일 루프(think-aloud + action)를 사용한다.
- 맥락을 관련성 있게 유지하기 위한 정보성이고 간결한 환경 피드백 메커니즘과 간결한 이력 관리으로 효과를 강화한다.
- 필요 시 표준 Linux 도구에 대한 접근을 유지하면서 Linux 셸 위에 ACI를 통합한다.
- 편집 인터페이스, 검색 전략, 파일 뷰어 창 크기, 맥락 관리의 영향에 대한 제거 실험(ablations)을 수행한다.
실험 결과
연구 질문
- RQ1목적에 맞춘 ACI가 탑재된 LM 에이전트가 전통적인 셸이나 검색 기반 베이스라인에 비해 소프트웨어 엔지니어링 작업을 어떻게 수행하는가?
- RQ2코드 검색, 내비게이션, 편집, 실행 작업에서 ACI의 어떤 설계 원칙이 LM-에이전트의 성능에 가장 큰 영향을 미치는가?
- RQ3SWE-agent의 SWE-bench 및 HumanEvalFix에서의 정량적 이득은 얼마이며, 다양한 LM 간의 접근성은 어느 정도인가?
- RQ4이 설정에서 LM 에이전트가 어떤 실패 모드를 보이며, 가드레일과 인터페이스 설계가 이를 어떻게 완화하는가?
주요 결과
| 모델 | % 해결됨 (SWE-bench) | $ 평균 비용 (SWE-bench) | % 해결됨 (SWE-bench Lite) | $ 평균 비용 (SWE-bench Lite) |
|---|---|---|---|---|
| RAG w/ GPT-4 Turbo | 1.31 | 0.13 | 2.67 | 0.13 |
| RAG w/ Claude 3 Opus | 3.79 | 0.25 | 4.33 | 0.25 |
| Shell-only agent w/ GPT-4 Turbo | - | - | 11.00 | 1.46 |
| Shell-only agent w/o Demonstration | - | - | 7.33 | 0.79 |
| SWE-agent w/ GPT-4 Turbo | 12.47 | 1.59 | 18.00 | 1.67 |
| SWE-agent w/ Claude 3 Opus | 10.46 | 2.59 | 13.00 | 2.18 |
- SWE-agent가 GPT-4 Turbo를 사용했을 때 SWE-bench 작업의 12.47%를 해결했고(2,294 사례), Lite의 비SWE-agent 베이스라인의 3.79%에 비해 ACI 설계로 인한 상당한 이득을 보인다.
- SWE-bench Lite에서 SWE-agent는 18.00%를 해결한 반면 RAG 베이스라인은 2.67%로, 인당 비용은 더 높다.
- HumanEvalFix에서 SWE-agent는 87.7%의 pass@1을 달성하며 비SWE 접근 방식보다 현저히 높은 성능을 보인다.
- 검색/내비게이션/편집을 위한 간결하고 LM 친화적인 동작 세트와 간결하고 정보성 있는 피드백 및 가드레일(린트)이 셸 전용 및 No-demo 베이스라인 대비 성능을 크게 향상시킨다.
- 적층 연구(ablation studies) 결과 반복적 검색, 간결한 파일 편집, 강력한 맥락 관리가 성능 향상에 기여하며, 더 큰 파일 보기 창과 데모도 결과에 영향을 준다.
- 이 접근 방식의 이식성은 입증되었다: Claude 3 Opus를 사용하는 SWE-agent는 SWE-bench 해상도 10.46%, Lite 해상도 13.00%를 달성하여 ACI 설계의 LM 독립성을 시사한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.