697 / 707

4 분 소요

hits

AI 코딩 에이전트의 성능은 모델 자체의 역량만큼이나 에이전트가 작동하는 소프트웨어 환경, 즉 하네스의 설계에 크게 좌우된다는 실증 연구 결과가 나왔다. 이 연구는 계획 수립, 도구 구성, 컨텍스트 관리라는 하네스의 세 가지 핵심 구성요소가 에이전트의 성공률과 비용에 미치는 영향을 상세히 분석한다.

코딩 에이전트 하네스, 성능 결정 요인 실증 분석

하네스 구성요소별 비교의 필요성

코딩 에이전트 하네스는 언어 모델의 역량을 실제 소프트웨어 엔지니어링 작업 성과로 연결하는 소프트웨어 계층이다. 하네스는 세 가지 주요 구성요소로 이루어진다.

  • 계획 수립: 에이전트가 작업 진행 상태를 유지하도록 돕는다.
  • 행동 인터페이스 (도구 구성): 모델의 의도를 실행 가능한 작업으로 바꾼다.
  • 컨텍스트 관리: 유한한 컨텍스트 창에 남길 상호작용 이력을 결정한다.

모델이 같아도 하네스를 바꾸면 성능이 크게 달라질 수 있다. 기존의 완성형 하네스 비교 연구만으로는 성능 차이가 어떤 특정 구성요소에서 비롯되는지 파악하기 어려웠다. 예를 들어, Claude-Opus-4.5는 OpenHands에서, Claude-Sonnet-4.5는 SWE-Agent에서 각기 다른 최고의 성능을 보여 모델별 하네스 선호가 존재함을 알 수 있었다. 이 연구는 ReAct 실행 루프의 추론, 행동, 관찰 구조를 고정하고 위 세 가지 구성요소만 변경하여 개별 요소의 영향을 살폈다.

실험 설계와 평가 기준

연구팀은 Nemotron-3 (30B, 120B, 550B)와 Mistral-Medium-3.5-128B 등 총 4개 모델을 사용했다. 평가 과제는 사람의 검증을 거친 GitHub 이슈 500개 (SWE-Bench Verified)와 명령줄 환경 작업 89개 (Terminal-Bench 2.1)였다.

평가는 작업 성공률과 작업당 평균 비용을 기준으로 진행했다. 비용은 OpenRouter의 입력/출력 100만 토큰당 가격을 적용했다. Nemotron-3 30B는 0.05/0.20달러, 120B는 0.08/0.45달러, 550B는 0.50/2.20달러, Mistral-Medium-3.5는 1.50/7.50달러로 책정되었다.

총 176가지 실험 설정이 모델과 벤치마크 조합마다 22개의 조건으로 구성되었다. T0~T4 컨텍스트 관리 전략을 32k, 64k, 96k, 128k의 다양한 컨텍스트 예산에 적용하여 비교했다.

컨텍스트 관리 전략의 효과

컨텍스트 관리는 세 가지 메커니즘을 조합한다. 오래된 도구 관찰 결과를 짧은 자리표시자로 대체하는 생략 (M1), 생략한 원문을 필요할 때 다시 불러오는 복구 (M2), 오래된 메시지를 누적 자연어 요약으로 압축하는 요약 (M3)이다.

이 연구는 다섯 가지 컨텍스트 관리 정책(T0~T4)을 비교했다.

정책 특징 컨텍스트 창 초과 시 동작
T0 추가 압축 없음 오류로 종료 (압축 없이 실행)
T1 생략 (M1)만 사용 오래된 도구 결과 본문 생략 후 버림
T2 생략 (M1) + 복구 (M2) 생략한 원문을 파일 시스템에 저장하여 recall_event로 복구 가능
T3 요약 (M3)만 사용 생략 없이 오래된 메시지를 누적 요약
T4 생략 (M1) + 복구 (M2) + 요약 (M3) 소프트 임계값에서 생략, 하드 임계값에서 요약 (생략을 요약보다 먼저 적용)

컨텍스트 관리의 주요 효과는 모델을 더 똑똑하게 만들기보다는, 대화가 길어져 작업이 중간에 끊기는 것을 막는 데 있었다. 컨텍스트 창이 작을수록 관리의 효과는 더 커졌다. 예를 들어, 32k 컨텍스트 창에서 T1~T4는 T0보다 SWE-Bench 성공률을 35.7%p, Terminal-Bench 성공률을 9.5%p 높였다. 이는 주로 T0의 높은 컨텍스트 초과 실패율(32k SWE-Bench 78.7%, Terminal-Bench 61.0%)을 T1~T4가 0건으로 줄였기 때문이다. 창 크기가 128k로 늘어나면 이러한 성공률 이점은 SWE-Bench에서 2.7%p, Terminal-Bench에서 2.8%p로 크게 감소했다.

여러 컨텍스트 관리 전략 중 T4는 비슷한 성공률에서 전반적으로 비용 효율이 가장 좋았다. 모든 창 크기에서 작업당 비용과 최대 컨텍스트 비율이 가장 낮았다. T4는 저렴한 조기 생략으로 요약 필요성을 줄여 비용 효율을 높였다.

하지만 M2 복구 기능은 일관된 성공률 향상을 만들지 못했다. T1과 T2 비교에서 T2는 15개 설정에서 우세, 14개에서 열세, 3개에서 동률을 보였으며, recall_event 호출 자체가 드물었다. 64개 설정 중 56.3%에서 한 번도 호출되지 않았으며, 호출률은 컨텍스트 창이 커질수록 급격히 감소했다.

계획 수립과 행동 인터페이스의 영향

계획 수립 기능은 모델의 역량에 따라 다른 효과를 보였다.

모델 역량 계획 활성화 시 성공률 (SWE-Bench) 계획 활성화 시 비용 (SWE-Bench) 주요 변화
약한 모델 (Nemotron-3 30B) +11.6%p (13.6%→25.2%) 증가 수정 시도 전에 끝나던 실행을 더 오래 유지
강한 모델 (Nemotron-3 550B) -2.0%p (65.8%→63.8%) -약 30% (2.33달러→1.63달러) 불필요한 검증 단계를 줄여 비용 감소
강한 모델 (Mistral-Medium) -0.4%p (68.6%→68.2%) -약 32% (3.14달러→2.14달러) 불필요한 검증 단계를 줄여 비용 감소

Nemotron-3 120B와 같은 중간 역량 모델에서는 계획의 효과가 작업 유형에 따라 달랐다. 약한 모델에게 계획은 실행을 연장하여 성공률을 높이는 반면, 강한 모델에게는 수정 후 불필요한 검증을 줄여 비용을 낮추는 역할을 했다.

행동 인터페이스 (도구)는 모델의 bash 역량과 작업 유형에 맞추어 설계해야 했다.

모델 역량 도구 유형 성공률 (SWE-Bench) 작업당 비용 (SWE-Bench) 주요 효과
약한 모델 (Nemotron-3 30B) 사전 정의 도구 25.2% (+15.0%p vs bash 전용) (비용 언급 없음) 셸 명령 의존도 낮춰 성공률 보완
강한 모델 (Nemotron-3 550B) bash 전용 69.4% (+3.6%p vs 사전 정의) 1.11달러 (-52% vs 사전 정의) 여러 작업을 한 번의 호출에 결합하여 효율 증대
강한 모델 (Mistral-Medium) bash 전용 45.4% (-23.2%p vs 사전 정의) 1.72달러 (-45% vs 사전 정의) SWE-Bench에서 성공률 하락, 비용 감소 (Terminal-Bench에서는 성공률 상승, 비용 증가)

사전 정의 도구는 특히 약한 모델인 Nemotron-3 30B의 성공률을 크게 높였다 (SWE-Bench에서 bash 전용 대비 15.0%p, Terminal-Bench에서 약 10.1%p). 이는 사전 정의 도구가 셸 사용에 대한 의존도를 낮추기 때문이다. 반면, Nemotron-3 550B처럼 bash에 능숙한 모델은 bash 전용 인터페이스에서 더 높은 성공률과 낮은 비용을 보였다. 이는 bash 능숙 모델이 여러 작업을 한 번의 호출에 결합하며 효율성을 높일 수 있기 때문이었다. Mistral-Medium-3.5-128B의 경우, bash 전용 인터페이스가 SWE-Bench에서는 성공률을 낮추고 비용을 줄였지만, Terminal-Bench에서는 성공률과 비용을 모두 높이는 등 작업 유형에 따라 결과가 달랐다.

요컨대 하네스 구성요소의 가치는 보편적이지 않다. 모델의 역량, 컨텍스트 예산, 그리고 수행하는 작업 유형에 맞춘 세심한 설계가 AI 코딩 에이전트의 최적 성능을 이끌어낸다.

연극학·서사이론의 시선으로 보면

이 연구에서 보여주는 AI 코딩 에이전트의 하네스 설계는 연극 무대 예술과 유사한 통찰을 제공한다. 한 배우(AI 모델)의 연기력은 대본(계획 수립), 소품(도구 구성), 그리고 무대 전환(컨텍스트 관리) 등 주변 환경에 따라 다르게 발현된다. 능력 있는 배우에게는 불필요한 지시나 복잡한 소품 대신 간결한 대본과 자유로운 동선이 효율을 높이지만, 경험이 부족한 배우에게는 상세한 대본과 정교한 소품이 안정적인 연기를 돕는 조력자가 된다. 이는 무대 위의 배우에게 최적의 퍼포먼스를 끌어내기 위해 연출가가 배우의 특성과 극의 맥락에 맞춰 무대를 설계해야 함을 보여주는 지점이다.

출처

공유