오염이 없고, 다양한 저장소와 언어를 포괄하며, 장기적인 소프트웨어 엔지니어링 작업을 측정하는 벤치마크.
개요
DeepSWE는 장기(long-horizon) 소프트웨어 엔지니어링 벤치마크로, 기존 공개 벤치마크보다 네 가지 주요 발전을 제공한다: 오염 없는 작업(contamination-free tasks), 높은 다양성(high diversity), 실제와 같은 복잡성(real-world complexity), 신뢰할 수 있는 검증(reliable verification).
기존 벤치마크(SWE-bench Pro, SWE-bench Verified)는 GitHub 이슈나 PR에서 작업을 가져오기 때문에 오염 위험이 있고, 검증기가 부정확하며, 작업 범위가 좁다. DeepSWE는 이러한 문제를 해결하여 프론티어 코딩 에이전트 간의 더 선명한 성능 차이를 보여준다.
배경
기존 공개 벤치마크는 몇 가지 한계를 가진다:
- 오염(contamination): 기존 커밋이나 PR에서 작업을 가져오면 사전학습 데이터에 노출될 가능성이 있다.
- 낮은 다양성: SWE-bench Pro Public은 11개, SWE-bench Verified는 12개 저장소만 사용한다.
- 불안정한 검증: LLM 분석 결과 SWE-bench Pro 검증기는 8%의 거짓양성(false positive)과 24%의 거짓음성(false negative) 비율을 보였다.
- 짧은 작업: 평균 120줄의 코드만 필요하다.
DeepSWE는 이러한 모든 측면을 개선한다.
작동 방식
DeepSWE는 113개의 작업으로 구성되며, 91개의 활성 오픈소스 저장소를 5개 언어(TypeScript, Go, Python, JavaScript, Rust)에 걸쳐 다룬다. 각 작업은 독창적(novel)이며, 기존 해결책에서 복사되지 않았다. 검증기는 작업 설명에서 직접 작성되어 행동 기반으로 정확성을 판단한다.
저장소 선정 기준
- 공개 저장소, 활발히 유지보수, 최소 500 GitHub 스타, 허용적 오픈소스 라이선스
- 각 작업은 고정된 커밋 해시에 고정되어 재현 가능
- 중앙값 저장소는 하나의 작업만 기여하므로 특정 저장소가 리더보드를 지배하지 않음
작업 구성
각 작업은 세 가지 산출물을 제공한다:
- 프롬프트(prompt): 에이전트가 읽는 지시문
- 검증기(verifier): 실행 가능하며 결과를 평가
- 참조 해결책(reference solution): 검토에 사용 (채점에는 미사용)
검증기는 공개 API와 관찰 가능한 출력을 통해 행동을 테스트하며, 구현 세부사항에는 의존하지 않는다. 또한 회귀 검사(regression checks)를 수행하여 패치가 기존 코드베이스를 깨뜨리지 않았는지 확인한다.
품질 보증
각 작업은 LLM 분석과 독립적인 인간 검토를 모두 통과해야 한다. 검토자는 다음 네 가지 차원을 평가한다:
- 프롬프트-검증기 전단사(prompt-verifier bijection): 검증기가 정확히 요청된 행동만 테스트하는지
- 수용 폭(acceptance breadth): 검증기가 다양한 합리적 구현을 수용하는지
- 현실성(realism): 프롬프트가 자연스러운 개발자 언어이며, 작업이 기여로 수용될 만한지
- 환경 청결성(environment cleanliness): 의존성, 플래키 테스트 등 환경 오류가 없는지
평가 도구
모든 실행은 mini-swe-agent를 사용한다. 이는 모델에 구애받지 않는 도구로, 모든 모델이 동일한 bash 도구와 공유 프롬프트를 받는다. 비교 실험에서 mini-swe-agent는 각 모델의 네이티브 도구와 동등하거나 더 나은 성능을 보였다.
주요 아이디어
- 오염 없는 작업(contamination-free tasks): 각 작업은 처음부터 작성되며, 기존 커밋이나 PR에서 가져오지 않는다. 참조 해결책은 업스트림 저장소에 병합되지 않아 사전학습 데이터에 등장하지 않는다.
- 높은 다양성(high diversity): 91개 저장소, 5개 언어를 포괄하여 실제 유틸리티를 더 잘 대표한다.
- 실제 복잡성(real-world complexity): 프롬프트는 짧지만(평균 2,158자), 해결책은 평균 668줄의 코드 추가와 7개 파일 수정이 필요하다. 이는 SWE-bench Verified(10줄)나 SWE-bench Pro(120줄)보다 훨씬 크다.
- 신뢰할 수 있는 검증: 수작업 검증기는 0.3%의 거짓양성과 1.1%의 거짓음성 비율을 보여, SWE-bench Pro(각각 8.5%, 24%)보다 훨씬 정확하다.
- 더 선명한 모델 간 차이: DeepSWE에서 최고와 최저 모델 간 점수 차이는 70% 포인트로, SWE-bench Pro의 30%보다 크다. 이는 개발자들이 실제로 체감하는 차이와 더 일치한다.
- 비용 대비 효율성 측정: 통과율(output token 수, 소요 시간, 달러 비용)과 함께 성능을 추적한다. 더 높은 점수가 항상 더 많은 토큰이나 시간을 의미하지는 않는다.
예시 / 사용 사례
리더보드 결과(2026년 5월 26일 기준):
- gpt-5.5: 70%
- gpt-5.4: 56%
- claude-opus-4.7: 54%
- claude-sonnet-4.6: 32%
- gemini-3.5-flash: 28%
- gpt-5.4-mini: 24%
- kimi-k2.6: 24%
- mimo-v2.5-pro: 19%
- glm-5.1: 18%
- gemini-3.1-pro: 10%
- deepseek-v4-pro: 8%
- gemini-3-flash: 5%
DeepSWE는 SWE-bench Pro에서 비슷해 보이던 모델들(gpt-5.4-mini 54%, claude-sonnet-4.6 54%)을 각각 24%와 32%로 뚜렷하게 구분한다.
제한 사항 / 고려 사항
- 모든 모델은
mini-swe-agent로 평가되었으므로, 특정 모델의 네이티브 도구(예: Claude Code, Codex CLI)에서의 성능과 차이가 있을 수 있다. 다만 파일럿 실험에서mini-swe-agent가 네이티브 도구와 동등하거나 더 나은 결과를 보였다. - 저장소는 최소 500 스타 조건으로 선정되어, 더 작은 프로젝트로의 일반화는 제한적일 수 있다.
- 작업은 수작업으로 작성되므로 확장성(scalability)에 비용이 많이 든다.