Skip to main content
공개 노트

ScarfBench: AI 에이전트의 '진짜 마이그레이션 능력'을 재는 기준

Views 2약 4분생성형 AI 활용
Summary

ScarfBench: AI 에이전트의 '진짜 마이그레이션 능력'을 재는 기준

AI 코딩 에이전트가 코드를 수정하고 기능을 구현하는 능력은 빠르게 발전하고 있습니다. 그러나 엔터프라이즈 Java 프레임워크 마이그레이션은 일반적인 코드 수정과 성격이 다릅니다. 단순히 API나 어노테이션을 바꾸는 일이 아니라, 빌드 설정, 의존성 주입, 영속성, 요청 처리, 배포까지 함께 맞춰야 하는 작업입니다.1

ScarfBench는 바로 이 문제를 평가하기 위한 공개 벤치마크입니다. Spring, Jakarta EE, Quarkus 사이에서 애플리케이션의 동작을 보존한 채 프레임워크를 바꾸는 AI 에이전트의 능력을 측정합니다.1

ScarfBench가 필요한 이유

기존 소프트웨어 엔지니어링 벤치마크는 주로 버그 수정, 기능 구현, 언어·버전 현대화에 초점을 맞춰 왔습니다.1 이런 과제도 중요하지만, 프레임워크 마이그레이션의 난도를 충분히 드러내지는 못합니다.

마이그레이션에서 중요한 기준은 “코드가 그럴듯하게 바뀌었는가”가 아니라 “애플리케이션이 실제로 같은 동작을 하는가”입니다. ScarfBench는 이 차이를 평가의 중심에 둡니다. 후보 구현은 컴파일을 통과해야 하고, 컨테이너화된 목표 런타임에 배포되어야 하며, 관찰 가능한 인터페이스를 기준으로 기존 동작을 유지하는지 테스트를 통과해야 합니다.1

즉 ScarfBench는 정적 코드 비교보다 실행 가능한 검증에 가깝습니다. AI 에이전트가 프레임워크의 문법만 바꿨는지, 아니면 런타임에서 동작하는 애플리케이션을 실제로 만들어냈는지를 확인합니다.

무엇을 어떻게 평가하나

ScarfBench는 34개 애플리케이션, 102개 프레임워크 구현, 204개 방향성 마이그레이션 작업으로 구성됩니다.1 전체 규모는 약 151K 줄의 코드와 1,946개의 소스 및 테스트 파일입니다.1

구성은 두 종류로 나뉩니다. 29개는 단일 계층에 집중한 애플리케이션이고, 5개는 여러 계층이 얽힌 전체 애플리케이션입니다.1 이를 통해 비교적 좁은 범위의 마이그레이션뿐 아니라, 실제 서비스에 가까운 복합적인 전환도 평가할 수 있습니다.

각 작업에서 에이전트는 작동하는 소스 애플리케이션과 목표 프레임워크를 입력으로 받습니다. 그런 다음 소스 애플리케이션의 동작을 보존하는 목표 프레임워크 구현을 만들어야 합니다.1 정답성 평가는 애플리케이션별 실행 가능한 오라클을 사용하며, 최종적으로 빌드, 배포, 동작 테스트를 모두 확인합니다.1

이 구조의 핵심은 명확합니다. ScarfBench는 AI가 “파일 몇 개를 바꾸는 능력”이 아니라, 프레임워크 의미, 실행 환경, 애플리케이션 동작을 함께 다룰 수 있는지를 봅니다.

결과가 말해주는 현재 한계

ScarfBench의 실험 결과는 현재 AI 에이전트가 이 영역에서 아직 안정적이지 않다는 점을 보여줍니다. 논문에 따르면 가장 강한 에이전트도 계층 중심 마이그레이션에서 15.3%, 전체 애플리케이션에서 12.2%의 aggregate test pass에 그쳤습니다.1 204개 작업 중 완전히 동작이 같은 결과는 1개뿐이었습니다.1

특히 주목할 부분은 자기평가의 불안정성입니다. Claude Code는 전체 애플리케이션 30개 중 29개에 대해 빌드 성공을 보고했지만, 독립 검증에서 실제로 빌드에 성공한 애플리케이션은 22개였습니다.2 에이전트가 “성공했다”고 말하는 것과 검증 환경에서 실제로 성공하는 것은 다를 수 있습니다.

이 차이는 실무에서 매우 중요합니다. AI가 만든 마이그레이션 결과를 그대로 신뢰하기보다, 독립적인 빌드와 테스트 파이프라인에서 다시 확인해야 한다는 뜻입니다.

실무자가 얻을 수 있는 기준

ScarfBench의 메시지는 단순합니다. AI 기반 마이그레이션을 도입하려면 프롬프트 설계만큼이나 검증 체계가 중요합니다. 최소한 빌드 성공, 배포 성공, 동작 테스트 통과 여부를 분리해서 확인해야 합니다.

엔터프라이즈 Java에서는 설정, 데이터 접근, 웹 계층, 배포 환경이 서로 영향을 줍니다. 한 영역의 변환이 맞아 보여도 다른 계층에서 런타임 오류나 동작 차이를 만들 수 있습니다. 따라서 AI를 활용하더라도 최종 판단은 실행 가능한 테스트와 독립 검증에 맡기는 편이 안전합니다.

ScarfBench는 AI 에이전트를 낮게 평가하기 위한 도구라기보다, 자동화 가능한 부분과 사람의 검토가 필요한 부분을 구분하게 해주는 기준선입니다. 마이그레이션 자동화를 검토하는 팀이라면 “AI가 코드를 바꿨는가”보다 “동일한 동작을 검증 가능한 방식으로 재현했는가”를 먼저 물어야 합니다.

1ScarfBench: A Benchmark for Cross-Framework Application Migration in Enterprise Java

2ScarfBench: Benchmarking AI Agents for Enterprise Java Framework Migration

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기