AI 코딩 에이전트의 성능을 평가하는 기존의 공개 벤치마크(SWE-bench)는 실제 개발 환경과의 괴리로 인해 신뢰성이 떨어진다는 지적이 많았습니다. 이러한 문제를 해결하기 위해, 새로운 오픈소스 도구인 '셀프벤치(Self-bench)'가 등장했습니다. 셀프벤치는 개발자의 비공개 저장소(private repository)에 있는 완료된 풀 리퀘스트(PR)를 활용하여, 실제 코드베이스에 최적화된 코딩 에이전트 평가 데이터를 자동으로 생성해줍니다.
셀프벤치는 저장소의 변경 이력을 분석하여, 완료된 풀 리퀘스트를 기반으로 평가 과제를 재구성합니다. 각 과제에 대해 원본 변경 전의 코드 상태를 복원하고, 숨겨진 테스트 케이스와 정답 솔루션을 자동으로 생성합니다. 이 과정에서 생성된 테스트가 솔루션 없이는 실패하고 원본 구현을 적용하면 통과하는지 검증하며, 최종적으로 코딩 에이전트 평가를 위한 '하버(Harbor)' 형식의 데이터셋을 내보냅니다. 사용자는 이 데이터셋을 이용해 다양한 대규모 언어모델(LLM) 기반 코딩 에이전트의 성능을 비교하고, 자신의 코드베이스에 가장 적합한 모델을 선택할 수 있습니다. 특히, 쉬움(easy), 중간(medium), 어려움(hard) 난이도별로 변경된 코드 라인 수와 파일 경로 수를 기준으로 과제를 분류하여 다양한 복잡성의 평가를 지원합니다.
이러한 접근 방식은 AI 코딩 에이전트의 실질적인 가치를 측정하는 데 혁신적인 변화를 가져올 것입니다. 공개 벤치마크는 학습 데이터에 포함되어 모델이 이미 답을 알고 있을 가능성이 있어 실제 성능을 과대평가할 수 있습니다. 반면, 셀프벤치는 기업의 고유한 코드와 개발 워크플로우를 반영한 평가 환경을 제공함으로써, 모델이 실제 업무에서 얼마나 효과적으로 작동하는지 정확하게 파악할 수 있게 합니다. 이는 기업들이 AI 코딩 도구 도입을 결정하거나, 특정 모델을 미세조정(fine-tuning)할 때 훨씬 더 합리적인 의사결정을 내릴 수 있도록 돕고, 궁극적으로 개발 생산성 향상에 크게 기여할 것으로 기대됩니다.