본문 바로가기

인공지능

시니어 엔지니어를 제대로 평가하는 오픈소스 벤치마크, Senior SWE-Bench 정리

728x90
반응형
728x170

이 글에서는 Senior SWE-Bench라는 오픈소스 벤치마크가 무엇인지, 왜 기존 코딩 벤치마크와 다른지, 그리고 어떤 방식으로 시니어 엔지니어 수준의 문제 해결 능력을 평가하려 하는지를 정리합니다.
단순한 알고리즘 과제가 아니라 실제 서비스 개발 현장에서 마주하는 기능 개발, 버그 수정, 성능 문제를 어떻게 평가 대상으로 삼는지에 초점을 맞춰 설명합니다.

반응형

Senior SWE-Bench란 무엇인가

Senior SWE-Bench는 시니어 엔지니어급 코딩 에이전트 평가를 목표로 설계된 오픈소스 벤치마크입니다.
기존 벤치마크들이 과도하게 정제된 주니어 수준 과제에 머물러 있다는 문제의식에서 출발했습니다.

핵심 목표는 명확합니다.

  • 실제로 시니어 엔지니어가 맡는 업무와 가까운 과제를 제공할 것
  • 코드가 “동작하는지”뿐 아니라 “잘 작성됐는지(taste)”까지 평가할 것

즉, 단순 정답 여부가 아니라 현실적인 문제 해결 과정과 코드 품질을 함께 측정하려는 시도입니다.


실제 PR에 가까운 과제 설계

Senior SWE-Bench의 가장 큰 특징은 과제의 출처입니다.

  • 라이브러리부터 다중 서비스 애플리케이션까지 다양한 저장소의 실제 PR을 기반으로 함
  • 각 저장소에서 수백 개 커밋을 작성한 엔지니어들이 만든 PR을 과제로 사용
  • 공개 과제 50개, 비공개 과제 50개로 구성

포함된 대표 저장소 예시는 다음과 같습니다.

  • posthog (8개)
  • electric (6개)
  • gitea (6개)
  • better-auth (4개)
  • harbor (4개)
  • 그 외 7개 저장소

이 덕분에 과제 자체가 “연습용 문제”가 아니라 현업에서 실제로 발생했던 문제에 가깝습니다.


과제 유형 1: 기능 과제 – 자연어에 가까운 지시사항

기능(feature) 과제는 전통적인 체크리스트형 요구사항이 아닙니다.

  • 자연어 메시지처럼 읽히는 현실적인 지시사항
  • 과도하게 세분화된 조건이나 힌트를 제공하지 않음
  • 실제 동료 엔지니어가 남긴 이슈나 PR 설명과 유사한 형태

이런 과제를 안정적으로 평가하기 위해 검증 에이전트(validation agent)가 도입됩니다.

  • 전문가가 설계한 레시피를 기반으로 동작
  • 제출된 해법에 맞춰 행동 테스트를 동적으로 생성
  • 단순 결과 비교가 아니라 “의도대로 동작하는지”를 검증

지시사항 길이도 짧습니다. 중앙값 기준으로 SWE-Bench Pro의 약 31% 수준에 불과해, 에이전트가 맥락을 스스로 해석해야 하는 부담이 큽니다.


과제 유형 2: 버그 과제 – 런타임 조사 중심

버그 과제는 더 까다롭습니다. 단순히 코드를 한 줄 고치는 문제가 아닙니다.

  • 사용자 리포트에서 출발
  • 서비스 실행 및 재현 과정 필요
  • 로그 확인, 프로파일링 데이터 분석
  • 미묘한 런타임 문제 디버깅

이 과제들은 실제로 상당한 런타임 조사가 필요했던 PR에서 가져왔습니다.
즉, “어디가 잘못됐는지 이미 알고 있는 상태”가 아니라, 원인을 찾아가는 과정 자체가 평가 대상입니다.


평가 기준: 정합성 + 코드 감각(taste)

Senior SWE-Bench는 평가 방식에서도 기존 벤치마크와 다릅니다.

단순 통과 여부를 넘는 평가 요소

  • 런타임 정합성 테스트
  • 코드베이스 관행 기반 품질 지표
  • 불필요한 코드 증가(bloat) 여부
  • 관행(practice) 준수 수준
  • 상대적 코드 감각(relative taste)

검증기와 검증 에이전트는 지시사항에 명시되지 않았더라도,
해당 코드베이스에서 중요한 관행이라면 평가 항목으로 삼을 수 있습니다.

리더보드에서 “solve”로 인정받기 위해서는 다음 조건을 모두 충족해야 합니다.

  • Verifiers pass
  • Validation pass
  • Rubric > 0.5
  • Bloat < 2×
  • Practice > 2/5
  • Rel. taste > 2/5

즉, 돌아가기만 하는 코드로는 통과할 수 없습니다.


리더보드 결과가 보여주는 현실

결과는 상당히 인상적입니다.

Tasteful solve rate(pass@1) 기준 상위 결과는 다음과 같습니다.

  • Claude Opus 4.8 (Mini-SWE-Agent max): 24.0%
  • Claude Sonnet 5 (Mini-SWE-Agent max): 19.4%
  • GPT-5.5 (Mini-SWE-Agent xhigh): 16.0%
  • Claude Opus 4.7: 14.1%
  • GPT-5.4: 14.0%
  • 그 외 모델은 한 자릿수

가장 강력한 최신 모델조차도 시니어 수준의 정합성과 코드 감각을 요구하는 과제의 75% 이상을 실패합니다.
이는 현재 코딩 에이전트가 여전히 “시니어 엔지니어처럼 일한다”고 말하기에는 부족하다는 점을 명확히 보여줍니다.


과제 범위와 기술 스택

Senior SWE-Bench가 다루는 범위도 넓습니다.

  • 과제 유형: feature, bug, perf, migrat
  • 기술 스택: Python 서비스, Elixir, Go, SQL, TypeScript 라이브러리, Rust, 프론트엔드 등
  • 기능 과제는 여러 서비스에 걸칠 수 있음
  • 과제당 평균 11개 파일 수정
  • 긴 작업 흐름을 요구해 수백 단계의 추론이 필요

이는 단순 자동화된 코드 생성이 아니라, 복잡한 맥락 이해와 장기 작업 계획을 요구하도록 설계된 구조입니다.


728x90

Senior SWE-Bench는 단순히 더 어려운 문제를 만든 벤치마크가 아닙니다.

  • 실제 PR 기반 과제
  • 자연스러운 지시사항
  • 런타임 조사 중심의 버그 문제
  • 코드 품질과 관행을 포함한 평가

이 모든 요소를 통해 **“시니어 엔지니어처럼 일할 수 있는가”**라는 질문에 정면으로 답하려 합니다.

이 벤치마크는 두 가지 시사점을 줍니다.

  1. 현재 코딩 에이전트의 한계가 어디인지 명확히 드러난다
  2. 앞으로의 에이전트 발전 방향은 단순 정확도가 아니라 맥락 이해와 코드 감각에 있다는 점을 보여준다

시니어 수준의 문제 해결을 목표로 하는 AI 에이전트 연구와 평가에서, Senior SWE-Bench는 중요한 기준점이 될 가능성이 큽니다.

300x250

https://senior-swe-bench.snorkel.ai/

 

Senior SWE-Bench

Evaluating agents as senior engineers on the work we actually give them

senior-swe-bench.snorkel.ai

728x90
반응형
그리드형