SWE-agent
SWE-agent
SWE-agent는 프린스턴 대학교와 스탠포드 대학교 연구진이 만든 자율 소프트웨어 엔지니어링 에이전트예요. 여러분이 고른 언어 모델(예: GPT-4o, Claude Sonnet 4)이 스스로 도구를 사용해 실제 GitHub 저장소의 이슈를 고치고, 사이버 보안 취약점을 찾고, 어떤 커스텀 작업이든 수행할 수 있게 해 줘요. 오픈소스 프로젝트 중에서 SWE-bench 최고 수준(state-of-the-art) 성능을 보여줬고, 단일 yaml 파일 하나로 전체 동작을 제어할 수 있도록 설계됐어요.
출처: 문서
본문
핵심 개념
자율 소프트웨어 엔지니어링 에이전트는 언어 모델에게 "어떤 행동을 하면 좋은지"를 묻되, 실제 파일 편집·명령 실행 같은 구체적인 행동은 에이전트가 직접 수행하도록 하는 구조예요. SWE-agent는 언어 모델에 최대한의 자율성을 맡기면서도 흐름이 자유롭고(free-flowing), 일반화가 잘 되도록 설계되었어요.
Agent-Computer Interface (ACI) 는 SWE-agent의 핵심 아이디어예요. 논문 《SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering》(arXiv 2405.15793)에서 제안된 개념으로, 에이전트가 컴퓨터를 다루는 방식을 최적화해서 언어 모델이 더 효과적으로 작업하게 만드는 인터페이스를 말해요. 사람을 위한 인터페이스와 달리 에이전트가 코드를 읽고, 파일을 고치고, 명령을 실행하기 편한 형태로 설계돼요.
Registry(레지스트리)와 설정 시스템에 대해 말할게요. SWE-agent의 모든 동작은 하나의 yaml 설정 파일로 관리돼요. 모델, 환경, 도구, 프롬프트 등을 설정으로 묶어 놓고, 명령줄에서 해당 설정을 지정해서 어떤 에이전트 구성을 쓸지 고를 수 있어요. 완전히 문서화되어 있고, 연구와 해킹(수정)에 좋도록 단순하게 만들어진 구조예요.
설치
소스에서 설치하는 방법이 기본이에요. 먼저 저장소를 클론하고:
git clone https://github.com/SWE-agent/SWE-agent.git
저장소 루트에서 의존성을 설치해요:
python -m pip install --upgrade pip && pip install --editable .
설치가 끝나면 sweagent 명령이 생겨요. 동작 확인은:
sweagent --help
주요 하위 명령으로 sweagent run(단일 문제 실행)과 sweagent run-batch(문제 목록 벤치마킹 실행)가 있어요.
기본 실행 환경은 Docker라서 Docker를 설치하고 로컬에서 띄워 두는 걸 추천해요. Docker 없이 클라우드 기반 실행(예: Modal)으로 코드를 평가하는 방법도 지원해요.
사용 예시
실제 GitHub 저장소의 이슈 하나를 고치는 아주 간단한 예시예요. sweagent run을 쓰면 돼요:
sweagent run \
--agent.model.name=claude-sonnet-4-20250514 \
--agent.model.per_instance_cost_limit=2.00 \
--env.repo.github_url=https://github.com/SWE-agent/test-repo \
--problem_statement.github_url=https://github.com/SWE-agent/test-repo/issues/1
모델은 Anthropic의 Claude Sonnet 4를 예로 들었지만, OpenAI의 GPT-4o를 쓰려면 --agent.model.name=gpt-4o로 바꾸면 돼요. API 키는 환경 변수로 넣어 줘요:
export ANTHROPIC_API_KEY=<your key>
export OPENAI_API_KEY=<your key>
작업 디렉터리에 .env 파일을 만들어 키를 넣어도 돼요:
ANTHROPIC_API_KEY=<your key>
OPENAI_API_KEY=<your key>
SWE-agent는 오픈소스 벤치마크 SWE-bench에서 최고 성능을 기록했고, 여러 최신 연구 프로젝트(mini-SWE-agent, SWE-ReX, SWE-bench, SWE-smith)와 함께 이어지고 있어요. 라이선스는 MIT예요.