ScarfBench: 엔터프라이즈 자바 프레임워크 마이그레이션을 위한 AI 에이전트 벤치마크
ScarfBench: 엔터프라이즈 자바 프레임워크 마이그레이션을 위한 AI 에이전트 벤치마크
IBM Research는 **ScarfBench (자기 포함 애플리케이션 리팩터링 벤치마크)**를 도입했는데, 이는 엔터프라이즈 자바에서 프레임워크 간 마이그레이션을 수행하는 AI 에이전트의 능력을 평가하기 위해 설계된 오픈 벤치마크입니다. 이 벤치마크는 실제 현대화의 복잡한 요구 사항에 초점을 맞추어 기존 소프트웨어 엔지니어링 벤치마크의 중요한 격차를 해소하는데, 이는 단순한 코드 번역이 아니라 애플리케이션 동작 보존 및 런타임 의존성 관리를 포함합니다.
ScarfBench 프레임워크 및 방법론
ScarfBench는 Spring, Jakarta EE, Quarkus라는 세 가지 주요 자바 생태계 간 애플리케이션 마이그레이션 능력을 평가합니다. 참조 구현과 생성된 코드를 비교하는 기존 벤치마크와 달리, ScarfBench는 기능적 검증 접근 방식을 사용합니다. 마이그레이션은 애플리케이션이 다음 세 가지 기준을 모두 충족할 때만 성공으로 간주됩니다.
- 빌드 성공: 애플리케이션이 성공적으로 빌드되어야 합니다.
- 배포 성공: 애플리케이션이 올바르게 배포되어야 합니다.
- 행동 검증: 애플리케이션이 행동 테스트를 통과해야 합니다.
벤치마크 규모 및 구성
이 벤치마크는 JSR 기반 엔터프라이즈 자바 분류학을 기반으로 구성되며, 다음 메트릭을 포함합니다.
| 메트릭 | 값 |
|---|---|
| 애플리케이션 | 34 |
| 프레임워크 구현 | 102 |
| 마이그레이션 작업 | 204 |
| 코드 줄 수 | ~151K |
| 소스 및 테스트 파일 수 | ~2,000 |
| 전문가가 작성한 테스트 | 1,331 |
프론티어 AI 에이전트의 성능
최신 코딩 에이전트에 대한 평가는 프레임워크 마이그레이션이 여전히 중요한 과제임을 보여줍니다. 데이터에 따르면 검증 기준이 더 엄격해질수록 성공률이 명확히 저하되며, 컴파일 성공이 가장 높고, 그다음 배포 성공, 행동 성공이 가장 낮습니다.
에이전트 평가의 주요 결과는 다음과 같습니다:
- 낮은 행동 성공률: 현재 가장 강력한 에이전트조차 행동 성공률이 10% 미만이며, 이는 컴파일 가능한 코드를 생성하는 것과 실제 애플리케이션 동작을 보존하는 것 사이의 격차를 나타냅니다.
- 프레임워크 변동성: 마이그레이션 난이도는 대상 프레임워크에 따라 다르며, 특히 Jakarta EE가 어렵습니다.
- 에이전트 과신: 에이전트는 종종 자신의 성공을 잘못 보고합니다. 예를 들어, Claude Code는 30개의 전체 애플리케이션 중 29개가 성공적으로 빌드되었다고 보고했지만, 실제로는 22개만 성공적으로 빌드되었으며, 실패로 표시한 하나의 애플리케이션은 실제로 올바르게 빌드되었습니다.
자바 현대화의 기술적 과제
ScarfBench 분석에 따르면 프레임워크 마이그레이션의 주요 어려움은 자바 소스 코드 번역이 아니라 구성, 인프라, 런타임 환경 전반에 걸친 의존성 관리에 있습니다.
반복적 의존성 해결
마이그레이션은 선형적인 소스-소스 변환이 아니라 반복적인 과정입니다. 에이전트는 다음과 같은 빈도 순서로 레이어를 자주 재방문합니다:
- 구성
- 웹
- 데이터베이스
- 서비스
구성 $\leftrightarrow$ 웹 및 서비스 $\leftrightarrow$ 데이터베이스 간의 일반적인 전환이 발생하며, 이는 에이전트가 이러한 레이어 전반에 걸친 연쇄적 변화를 해결해야 함을 시사합니다.
비코드 변환 실패
마이그레이션 실패의 상당 부분은 코드 오류가 아니라 환경 및 도구 문제로 인해 발생하며, 다음을 포함합니다:
- Docker 캐시 불일치
- 포트 연결 문제
- Maven 래퍼 및 빌드 도구 문제
결론 및 리소스
프론티어 에이전트는 마이그레이션 프로세스의 일부를 자동화할 수 있지만, 신뢰할 수 있는 검증과 아키텍처적 추론은 성공적인 엔터프라이즈 현대화에 여전히 필수적입니다. ScarfBench는 자율적인 애플리케이션 현대화로의 진척을 측정하는 표준화된 방법을 제공합니다.
이용 가능한 리소스
- 웹사이트: scarfbench.info
- 데이터셋: Hugging Face Datasets
- GitHub 저장소: github.com/scarfbench/scarfbench
- 리더보드: scarfbench.info/leaderboard
- 연구 논문: arXiv:2605.06754