SWE-Bench ProMax: 다국어 대규모 리팩터링으로 코딩 에이전트를 평가하다
도입
AI 코딩 에이전트는 이제 코드 자동완성이나 짧은 버그 수정만이 아니라, 더 길고 복잡한 소프트웨어 엔지니어링 작업으로 영역을 넓히고 있다. 하지만 이를 평가하는 기존 벤치마크는 한계에 부딪히고 있다. SWE-Bench ProMax 논문은 기존 SWE-bench 계열 평가가 빠르게 포화되고 있으며, 평가 품질 역시 의심받고 있다고 지적한다. 특히 저자들이 언급한 최근 감사에서는 SWE-bench Verified의 미해결 사례 상당수에 결함 있는 테스트가 포함되어 있었다. 어떤 테스트는 너무 좁아 올바른 해법을 거부하고, 어떤 테스트는 명시되지 않은 요구사항까지 검사한다는 것이다.
SWE-Bench ProMax는 이러한 문제를 바탕으로, 실제 개발에 더 가까운 대규모 코드 리팩터링을 평가 대상으로 삼는다.
핵심 내용
- 단순 버그 수정이 아닌 리팩터링 평가: 기능 동작을 유지하면서 여러 파일에 걸친 일관된 변경을 수행할 수 있는지 측정한다.
- 7개 언어 지원: Python, Java, TypeScript, Go, C, C++, Rust를 포함해 특정 생태계에 치우치지 않도록 설계됐다.
- 실제 커밋 기반 170개 과제: 인위적으로 만든 소규모 문제가 아니라 실제 프로젝트 변경에서 과제를 추출했다.
- 전문가 중심의 정제 과정: 문제 설명을 처음부터 다시 작성해 요구사항을 명확히 하고, 테스트 스위트를 수작업으로 검토해 지나치게 좁거나 넓은 테스트를 제거했다.
- 더 큰 변경 규모: 각 인스턴스는 평균 11.4개 파일과 261.6줄의 코드 변경을 포함해 저장소 수준의 이해를 요구한다.
의미와 영향
현실의 소프트웨어 유지보수는 단일 실패 테스트를 고치는 일만으로 구성되지 않는다. API를 이전하고, 중복 로직을 정리하며, 모듈 경계를 바꾸거나 구조를 개선하는 작업이 자주 발생한다. 이런 리팩터링은 기존 동작을 보존해야 하므로, 모델이 코드 조각뿐 아니라 프로젝트 구조와 의존성, 변경 의도를 함께 이해해야 한다.
또한 SWE-Bench ProMax는 평가에서 테스트 품질이 얼마나 중요한지 보여준다. 테스트가 모호하거나 과도하게 제한적이면, 벤치마크 순위는 실제 엔지니어링 역량이 아니라 잘못된 채점 기준에 대한 적응력을 반영할 수 있다. 문제 설명을 다시 쓰고 테스트를 검토하는 접근은 코딩 에이전트 평가의 신뢰도를 높이려는 시도다.
제공된 자료에는 구체적인 모델 순위나 상세 성능 비교가 포함되어 있지 않다. 따라서 현재 주목할 부분은 결과표가 아니라 벤치마크 설계다. 코딩 에이전트가 실제 저장소 유지보수에 투입되는 단계로 갈수록, ProMax와 같은 대규모 리팩터링 평가는 더 중요한 기준이 될 가능성이 크다.
댓글
로그인 상태 확인 중…
댓글 불러오는 중…