한 줄 요약
SWE Refactor Bench는 코드 생성 에이전트가 전체 레포지토리 마이그레이션을 완료할 수 있는지 평가하는 3단계 벤치마크로, 5.4%만 모든 단계를 통과했다.
핵심 기여도
- **Blindness 문제 제기**: 기존 벤치마크는 마이그레이션이 실제로 이루어졌는지 확인하지 못해, 에이전트가 원본 코드를 그대로 복사해 테스트를 통과하는 문제가 발생함.
- **SWE Refactor Bench 도입**: 20개의 전체 레포지토리 마이그레이션 태스크를 포함하며, 4가지 기술 부채 유형(언어, 프레임워크, 플랫폼, 빌드 툴체인)을 다룸.
- **3단계 평가 프로토콜 제안**: Migration Audit, Behavioural Tests, Agentic Verification로 구성되어 마이그레이션 완성도와 동작 정확도를 분리 평가함.
- **실험 결과 공개**: 520번의 실행 중 28번(5.4%)만 모든 단계를 통과했으며, 최고 모델(claude-opus-5)이 47.0/100 점수를 기록함.
핵심 아이디어
기존 벤치마크는 테스트 성공 여부만 평가해, 코드가 실제로 변경되었는지 확인하지 못하는 **Blindness** 문제가 발생한다. 이를 해결하기 위해 **SWE Refactor Bench**는 3단계 평가 프로토콜을 도입한다. 첫 번째 단계인 **Migration Audit**은 마이그레이션이 실제로 이루어졌는지 코드 수준에서 검증하며, 두 번째 단계인 **Behavioural Tests**는 130,118개의 고정된 테스트를 통해 동작 정확도를 평가한다. 마지막 단계인 **Agentic Verification**은 6개의 독립적인 코드 생성 에이전트가 제출된 코드와 원본 코드를 비교해 숨겨진 동작 차이를 탐지한다. 이는 단순히 테스트를 통과하는 것이 아니라, 실제 시스템 동작이 유지되었는지를 확인하는 데 기여한다.
기술적 접근법
- **데이터셋**: 20개의 실제 오픈소스 인프라 레포지토리 마이그레이션 태스크 (예: SQLite, zlib, GraphHopper).
- **평가 단계**:
- **실험 설정**: 8개의 최첨단 모델과 26개의 모델-노력 구성으로 총 520번의 실행을 수행.
1. **Migration Audit**: 마이그레이션이 실제로 이루어졌는지 확인하는 단계.
2. **Behavioural Tests**: 130,118개의 고정된 테스트를 통해 동작 정확도를 평가.
3. **Agentic Verification**: 6개의 독립 에이전트가 제출된 코드와 원본 코드를 비교해 숨겨진 동작 차이를 탐지.
주요 결과
- **전체 성공률**: 520번의 실행 중 28번(5.4%)만 모든 단계를 통과.
- **최고 점수**: claude-opus-5 모델이 47.0/100 점수를 기록.
- **마이그레이션 유형별 성능**: 빌드 툴체인 리라이트에서 31.4점, 언어 리라이트에서 5.6점.
- **마이그레이션 완성도 vs 동작 정확도**: 30개 실행은 마이그레이션을 생략해 동작을 유지했고, 252개는 마이그레이션을 완료했으나 동작을 깨뜨림.
- **Agentic Verification 성능**: Migration Audit을 통과한 340개 실행 중 58%가 99%의 고정 테스트를 통과했으나, 100%를 달성한 경우는 26%에 불과.
의의 및 한계
SWE Refactor Bench는 코드 생성 에이전트가 전체 레포지토리 마이그레이션을 안정적으로 수행할 수 있는지 평가하는 첫 번째 3단계 벤치마크로, 기술 부채 해결의 학술적·실용적 가치를 제공한다. 특히, **Blindness** 문제를 명확히 지적하고 이를 해결하기 위한 평가 프로토콜을 제안한 점에서 의의가 있다. 그러나 현재 에이전트는 5.4%의 성공률에 그치며, 특히 언어 리라이트와 같은 복잡한 작업에서는 성능이 저조하다는 한계가 있다. 또한, 13개의 태스크는 아무런 해결책도 제시되지 않았으며, 이는 마이그레이션의 난이도가 모델에 따라 크게 달라질 수 있음을 시사한다.
실용적 활용
SWE Refactor Bench는 코드 생성 에이전트의 장기적, 대규모 시스템 유지보수 능력을 평가하는 데 활용될 수 있다. 특히, 빌드 툴체인 변경이나 언어 리라이트와 같은 고비용 작업을 자동화하려는 소프트웨어 엔지니어링 팀이나 연구자에게 유용할 수 있다. 이 벤치마크는 에이전트가 단순히 테스트를 통과하는 것이 아니라, 실제 시스템 구조를 변경하면서도 동작을 유지할 수 있는지 평가하는 데 기여한다.