대규모 코드베이스 최적화를 위한 에이전트 평가 벤치마크

FormulaCode는 실제 과학 파이썬 프로젝트에서 추출한 957개의 성능 병목을 기반으로, 다중 워크로드와 다중 목표(정확성·성능·비용)를 동시에 평가하는 새로운 리포지터리‑스케일 코딩 에이전트 벤치마크이다. 최신 LLM 기반 코딩 에이전트(GPT‑5, Claude 4.0 Sonnet, Gemini 2.5 Pro, Qwen 3 Coder)를 두 프레임워크(Terminus 2, OpenHands)에서 실험한 결과, 에이전트는 일부 런타임 개선…

저자: Atharva Sehgal, James Hou, Akanksha Sarkar

대규모 코드베이스 최적화를 위한 에이전트 평가 벤치마크
본 논문은 LLM 기반 코딩 에이전트가 리포지터리 전체를 대상으로 성능 최적화를 수행할 수 있는지를 평가하기 위해, 실제 과학 파이썬 프로젝트에서 추출한 957개의 성능 병목을 중심으로 한 **FormulaCode** 벤치마크를 제안한다. 기존 코드 생성·수정 벤치마크는 주로 단일 함수·파일 수준의 합성 과제나 이진 정답(통과/실패)만을 제공해, 다중 워크로드·다중 목표를 동시에 고려하는 실제 최적화 상황을 반영하지 못한다는 한계를 지적한다. **데이터 구축**은 네 단계 파이프라인으로 이루어진다. 첫 단계에서는 GitHub Public Dataset을 활용해 ASV(airspeed‑velocity) 기반 벤치마크를 포함하고 별 ≥ 100개, Python 3.8+ 지원, 활발히 유지보수되는 766개의 레포지터리를 선별한다. 두 번째 단계에서는 26,717개의 PR을 규칙 기반(머지 상태·벤치마크 존재·파일 변경)과 LLM 기반(의도 분류) 필터링을 거쳐 3,181개의 성능 개선 후보를 추출한다. 세 번째 단계에서는 자동화된 Docker 스크립트를 생성·반복 실행해 1,232개의 후보에 대해 재현 가능한 빌드 환경을 확보한다. 마지막 단계에서는 Mann‑Whitney U 테스트(p < 0.002)와 정밀 테스트 스위트를 적용해 통계적으로 유의하고 재현 가능한 성능 향상만을 남겨 최종적으로 957개의 태스크를 70개의 레포지터리에서 확보한다. 각 태스크는 (1) 원본 코드(Code 0), (2) 인간 전문가가 만든 최적화 패치(Code expert), (3) 평균 264.6개의 커뮤니티 유지 ASV 워크로드(런타임·메모리·I/O 등)로 구성된다. **평가 지표**는 다중 목표를 정량화하기 위해 설계되었다. **Speedup**은 워크로드별 실행 시간 비율을 기하 평균해 전체 성능 향상을 나타낸다. **Advantage**는 에이전트 Speedup과 전문가 Speedup의 차이로, 0이면 전문가 수준, 양이면 초인적 최적화를 의미한다. **Stratified Advantage**는 코드 계층(모듈·클래스·함수)별로 그룹화해 성능 향상이 어느 수준에서 이루어졌는지를 보여준다. **Normalized Advantage**는 워크로드 변동성을 고려해 신호‑대‑잡음 비율을 제공하고, **Cost‑Weighted Advantage**는 추론 토큰 비용을 반영해 비용 대비 효율성을 측정한다. **실험**에서는 최신 LLM 네 종류(GPT‑5, Claude 4.0 Sonnet, Gemini 2.5 Pro, Qwen 3 Coder)를 두 오픈소스 에이전트 프레임워크(Terminus 2, OpenHands)와 결합해 총 10여 개의 에이전트 구성을 평가했다. 모든 구성은 **Speedup > 1**을 달성했으며, 평균 1.05~1.10배 정도의 런타임 개선을 보였다. 그러나 **Advantage**는 모두 음수(–0.02 ~ –0.05)였으며, 이는 인간 전문가가 만든 패치보다 전반적으로 뒤처짐을 의미한다. 특히, 모듈‑레벨(ℓ = 0)에서 큰 변화를 주는 경우가 드물고, 함수‑레벨(ℓ = 2)에서만 미세한 개선이 관찰돼 현재 LLM이 전역적인 구조 변화를 설계·검증하는 데 한계가 있음을 시사한다. 전략별 분석에서는 병렬화·배치 처리 같은 명시적 최적화는 잘 수행했지만, 벡터화·메모리 레이아웃 재구성 등 더 깊은 수준의 최적화는 미흡했다. 레포지터리 인기도와 성능 격차도 상관관계가 있었으며, 인기 상위 2분위에서는 상대적으로 좋은 결과를 보였지만, 4분위(덜 알려진 레포)에서는 가장 큰 손실을 보였다. 비용 측면에서는 프론티어 모델이 호출당 비용이 높음에도 불구하고 추론 체인이 짧아 **Cost‑Weighted Advantage**가 오픈‑웨이트 모델보다 우수했다. 데이터 누수 검증에서는 전문가 패치가 학습 데이터에 포함되었을 가능성을 조사했지만, 성능 차이가 미미해 단순 메모리 효과는 제한적이었다. **결론**적으로, FormulaCode는 실제 소프트웨어 엔지니어링 환경에서 LLM 기반 코딩 에이전트의 최적화 능력을 다중 목표·다중 워크로드·리포지터리‑스케일이라는 세 축을 동시에 평가할 수 있는 최초의 공개 벤치마크이다. 실험 결과는 현재 최첨단 LLM도 인간 전문가 수준의 전역 최적화에는 아직 미치지 못함을 보여주며, 특히 코드 구조 재설계·다중 워크로드 간 트레이드오프를 고려한 최적화 전략이 향후 연구의 핵심 과제로 부각된다. 저자들은 벤치마크와 데이터 파이프라인을 오픈소스로 제공해 커뮤니티가 지속적으로 새로운 태스크를 추가하고, 에이전트 성능을 비교·향상시킬 수 있는 기반을 마련한다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기