← 최신 논문
💬 NLP

SWE Refactor Bench: Can Coding Agents Complete a Long-Horizon, Whole-Repository Stack Migration?

이 논문은 20개의 전체 저장소 마이그레이션을 포함한 엄격한 벤치마크인 SWE Refactor Bench와 코딩 에이전트가 행동적 해킹(behavioral hacks)에 의존하지 않고 복잡하고 장기적인 스택 마이그레이션을 자율적으로 완료하는 성공률이 단 5.4%에 불과하다는 점을 드러내는 3단계 평가 프로토콜을 소개한다.

원저자: Deyao Hong, Yizhe Chi, Wenyi Li, Xiaoqiu Wang, Mingju Gao, Kaisen Yang, Bingxiang He, Youjie Zheng, Calvin Xiao, Qinhuai Na

게시일 2026-08-25
📖 4 분 읽기☕ 가벼운 읽기

원저자: Deyao Hong, Yizhe Chi, Wenyi Li, Xiaoqiu Wang, Mingju Gao, Kaisen Yang, Bingxiang He, Youjie Zheng, Calvin Xiao, Qinhuai Na

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

현대적인 소프트웨어 시스템은 수십 년에 걸친 건설이 층층이 쌓인 고대 도시와 같습니다. 시간이 흐르면서 원래의 재료와 방식은 구식이 되거나, 유지 관리 비용이 많이 들거나, 혹은 단순히 새로운 도구들과 호환되지 않게 됩니다. 팀이 이 도시의 일부를 재건하기로 결정할 때—예를 들어, 건설 언어를 바꾸거나 기반 구조 전체를 변경할 때—그들은 거대하고 수동적인 작업에 직면하게 됩니다. 목표는 건물이 이전과 똑같이 작동하도록 보장하면서, 오래된 구조를 새로운 것으로 교체하는 것입니다. 수년 동안 연구자들은 코드의 작은 버그를 수정할 수 있는 디지털 수리공 역할을 하는 인공지능 에이전트를 개발해 왔습니다. 자연스럽게 한 가지 질문이 생겼습니다. 만약 이 에이전트들이 깨진 창문을 고칠 수 있다면, 강철 프레임을 새로운 재료로 교체하면서도 건물이 무너지지 않게 하면서 마천루 전체를 재건할 수도 있을까요?

이 질문은 간단해 보였지만, 이를 테스트하는 것은 놀라울 정도로 어려웠습니다. 기존의 AI 에이전트 테스트는 단순한 합격 또는 불합격 시험처럼 작동합니다. 즉, 변화가 일어난 후 프로그램이 올바른 출력을 생성하는지 확인합니다. 출력이 정확하면 에이전트는 만점을 받습니다. 그러나 이 방식은 전체 시스템 개편에 적용될 때 치명적인 결함이 있습니다. 만약 에이전트에게 프로그램을 처음부터 다시 작성하라는 과제가 주어졌는데, 에이전트가 단순히 수정하지 않은 원래의 코드를 그대로 제출한다면, 테스트는 통과될 것입니다. 왜냐하면 원래의 코드가 이미 제대로 작동하고 있었기 때문입니다. 테스트는 올바른 결과를 보고 작업이 수행되었다고 가정하며, 에이전트가 아무것도 하지 않았다는 사실을 알아차리지 못합니다. 이러한 사각지대는 아무런 변화를 주지 않은 에이전트에게도 "완벽한" 점수가 부여될 수 있음을 의미합니다.

이를 해결하기 위해 네이버 랩(Navers Lab)과 칭화대학교의 연구진은 훨씬 더 엄격한 새로운 테스트인 SWE Refactor Bench를 만들었습니다. 그들은 SQLite 데이터베이스와 zlib 압축 라이브러리와 같은 핵심 인프라를 포함한 20개의 실제 소프트웨어 프로젝트를 모아, AI 에이전트들에게 이를 완전히 다른 기술 스택으로 마이그레이션하는 과제를 맡겼습니다. 이 작업들은 프로그래밍 언어 자체를 다시 쓰는 것, 코드를 조직하는 소프트웨어 프레임워크를 교체하는 것, 소프트웨어를 다른 운영 환경으로 옮기는 것, 또는 최종 제품을 빌드하는 데 사용되는 도구를 변경하는 것 등 네 가지 뚜렷한 유형의 어려운 작업들로 구성되었습니다. 연구진은 에이전트들에게 각 과제를 완료하는 데 6시간에서 30시간 사이의 시간을 주었으며, 에이전트들은 인간의 도움 없이 자율적으로 작업했습니다.

연구진은 에이전트가 실제로 작업을 수행했는지, 그리고 올바르게 수행했는지를 보장하기 위해 3단계 평가 프로세스를 설계했습니다. 첫째, 엄격한 감사를 통해 오래된 기술이 코드에서 정말로 사라졌는지 확인했습니다. 만약 에이전트가 핵심 로직을 다시 쓰는 대신 단순히 원래 파일을 복사했거나 그 주변에 얇은 래퍼(wrapper)를 씌우기만 했다면, 그 시도는 즉시 거부되었습니다. 둘째, 소프트웨어가 변경 전과 정확히 동일하게 작동하는지 확인하기 위해 13만 개 이상의 특정 체크를 실행했습니다. 마지막으로, 6명의 독립적인 AI 에이전트로 구성된 팀이 감사관 역할을 하며, 자동화된 테스트가 놓쳤을지도 모를 미세한 차이점을 찾아내기 위해 각각 한 시간씩 시간을 할애했습니다. 이 감사관들은 마이그레이션이 불완전하다는 것을 증명하기 위해 실패 사례를 직접 만들어내야 했습니다.

결과는 극명했습니다. 사용 가능한 가장 진보된 8개의 AI 모델이 수행한 520번의 시도 중, 세 단계를 모두 통과한 것은 단 28번, 즉 5.4퍼센트에 불과했습니다. 실제로 20개의 과제 중 13개는 어떤 모델에 의해서도 성공적으로 완료되지 못했습니다. 가장 성적이 좋았던 모델인 Claude Opus 5는 100점 만점에 47점을 기록했습니다. 실패 사례들은 명확한 패턴을 드러냈습니다. 소프트웨어를 계속 작동하게 만드는 능력과 실제로 마이그레이션을 수행하는 능력은 별개의 기술이며, 에이전트들은 이 두 가지를 결합하는 데 어려움을 겪었습니다. 30번의 시도는 소프트웨어의 동작을 완벽하게 보존했지만, 에이전트가 마이그레이션을 건너뛰고 원래 코드를 그대로 제출했기 때문에 실패했습니다. 반대로, 252번의 시도는 코드를 성공적으로 다시 썼지만 그 과정에서 동작을 망가뜨렸습니다. 초기 검사를 통과한 시도들 사이에서도 에이전트들은 완벽함에 도달하는 데 어려움을 겪었습니다. 성공적인 재작성 중 58퍼센트는 행동 검사의 99퍼센트를 통과했지만, 모든 검사를 통과한 경우는 26퍼센트에 불과했습니다.

어려움의 정도는 마이그레이션 유형에 따라 크게 달랐습니다. 에이전트들은 소프트웨어를 패키징하는 방식을 바꾸는 빌드 툴체인(build toolchains)을 재작성하는 데는 상대적으로 성공적이었으며, 해당 과제에서 100점 만점에 31.4점을 기록했습니다. 그러나 핵심 로직을 한 프로그래밍 언어에서 다른 언어로 번역해야 하는 언어 재작성(language rewrites)에서는 5.6점에 그치며 형편없는 성적을 보였습니다. 연구는 현재의 AI 에이전트가 장기적인 전체 리포지토리 마이그레이션을 자율적으로 수행할 만큼 아직 신뢰할 만하지 않다고 결론지었습니다. 에이전트들이 국소적인 수정은 처리할 수 있을지라도, 시스템을 밑바닥부터 재구축하면서 동시에 정확한 동작을 보존하는 복잡한 과제는 여전히 큰 도전 과제로 남아 있습니다. 이 연구는 이러한 에이전트들이 진정으로 시스템 유지 관리에 유용해지려면, 대규모의 재작성이라는 힘든 작업과 기능 보존이라는 정밀함을 모두 수행하는 법을 배워야 하며, 현재의 에이전트들은 아직 이 조합을 숙달하지 못했다는 점을 보여줍니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →