오염이 없고, 다양한 저장소와 언어를 포괄하며, 장기적인 소프트웨어 엔지니어링 작업을 측정하는 벤치마크.

개요

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 분석과 독립적인 인간 검토를 모두 통과해야 한다. 검토자는 다음 네 가지 차원을 평가한다:

  1. 프롬프트-검증기 전단사(prompt-verifier bijection): 검증기가 정확히 요청된 행동만 테스트하는지
  2. 수용 폭(acceptance breadth): 검증기가 다양한 합리적 구현을 수용하는지
  3. 현실성(realism): 프롬프트가 자연스러운 개발자 언어이며, 작업이 기여로 수용될 만한지
  4. 환경 청결성(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)에 비용이 많이 든다.

관련 개념

출처