실행할 것인가 말 것인가: LLM 기반 프로그램 수정(Program Repair)에서 코드 실행의 비용 효율성 분석
요약
LLM 기반 프로그램 수정(Program Repair) 과정에서 코드 실행이 미치는 비용 효율성을 분석한 연구입니다. SWE-bench 데이터를 통해 실행 빈도와 성공률의 관계를 분석하고, 실행 제한이 성능에 미치는 영향과 비용 절감 가능성을 제시합니다.
핵심 포인트
- LLM 에이전트는 작업당 평균 8.8회의 테스트 실행을 수행함
- 실행 제한은 SOTA 모델의 해결률에 통계적으로 유의미한 영향을 주지 않음
- 코드 실행 금지 시 토큰 및 실제 시간 비용을 크게 절감할 수 있음
- 실행은 무분별한 적용 대신 비용-편익 트레이드오프를 고려해야 하는 리소스임
프로그램 수정(Program Repair)을 위한 LLM 기반 에이전트들은 패치(patch)를 평가하고 개선하기 위해 테스트를 반복적으로 실행하는 "생성-실행-수정 (generate-run-revise)" 패러다임을 기반으로 점점 더 많이 구축되고 있습니다. 이러한 실행 기반 접근 방식은 최첨단(state-of-the-art) 시스템에서 표준 관행이 되었습니다. 그러나 실행은 시간이 많이 소요되고 비용이 많이 들 수 있음에도 불구하고, 이러한 에이전트들에 미치는 영향은 여전히 충분히 탐구되지 않았습니다. 본 논문에서 우리는 LLM 기반 프로그램 수정에서의 실행 동작에 대해 2단계 실증 연구를 수행합니다. 대규모 실행 동작을 특징짓기 위해, 먼저 우리는 SWE-bench 리더보드 제출물로부터 7,745개의 에이전트 트레이스(trace)를 분석합니다. 둘째, 우리는 200개의 SWE-bench 인스턴스와 3개의 에이전트 (Claude Code, Codex, 그리고 오픈 소스인 OpenCode)를 대상으로 4가지 실행 패러다임 하에서 3,000개의 엔드 투 엔드(end-to-end) 수정 시도를 평가하며, 이를 통해 성능과 비용에 대한 세밀한 비교를 수행합니다. 우리의 분석은 세 가지 주요 관찰 결과를 보여줍니다: (1) 코드 실행은 분석된 모든 에이전트와 모델에서 사용되며, 작업당 평균 8.8회의 테스트 실행이 이루어집니다. 실행 동작은 에이전트와 모델에 따라 작업당 2회에서 19회까지 빈도가 크게 달라지며, 후기 단계의 실행이 초기 단계의 실행보다 일관되게 더 높은 성공률을 달성합니다. (2) 실행 제한은 수정 성공에 거의 영향을 미치지 않습니다: SOTA 모델을 사용하는 상용 에이전트의 경우, 실행 금지(Prohibited)와 제한 없음(Unrestricted) 사이의 해결률(resolve-rate) 격차는 단 1.25%포인트에 불과하며 통계적으로 유의미하지 않은 반면, 실행 금지는 토큰 및 실제 시간(wall-clock) 비용을 상당히 절감합니다. (3) 실행의 이점은 균일하기보다는 집중되어 있습니다. 이러한 패턴은 현재의 에이전트들이 실행을 무분별하게 적용하여, 이점이 거의 없는 인스턴스에서도 비용을 지불하고 있음을 시사합니다. 따라서 실행은 기본 기능이 아니라 명시적인 비용-편익 트레이드오프(cost-benefit tradeoff)를 가진 리소스로 취급되어야 합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기