코딩 에이전트 하네스 설계의 실증 연구: 컨텍스트 관리·플래닝·액션 스페이스
An Empirical Study of Harness Design for Coding Agents
TL;DR Highlight
하네스 부품을 하나씩 바꿔 보니 효과가 모델·예산·작업 종류에 따라 갈렸다
Who Should Read
코딩 에이전트 루프를 직접 만들면서 컨텍스트 관리·플래닝·툴 구성을 어떻게 잡을지 고민하는 백엔드 개발자
Core Mechanics
- 컨텍스트 창이 좁을수록 관리가 효과적
- 관리 없는 T0와 관리 티어(T1~T4)의 성공률 차이는 SWE-Bench에서 32k 35.7%p, 64k 15.9%p, 96k 5.5%p, 128k 2.7%p로 줄었다.
- 이유는 대부분 컨텍스트 초과로 실행이 끊기는 실패를 막아서다.
- 먼저 규칙 기반 생략, 필요하면 요약
- 오래된 툴 출력을 짧은 stub으로 바꾸는 생략을 먼저 하고, 그래도 넘치면 LLM 요약을 하는 T4가 성공률은 비슷하면서 비용이 가장 낮았다.
- 생략이 먼저 처리해 주니 비싼 요약 호출이 줄어든다.
- 생략한 내용 복구 툴은 거의 안 쓰인다
- recall_event로 원본을 되살리는 T2는 T1(생략만)보다 나은 설정이 15개, 못한 설정이 14개, 같은 설정이 3개였다.
- 모델이 거의 호출하지 않아 정확도 이득이 없다.
- 플래닝은 약한 모델엔 발판, 강한 모델엔 절약
- 약한 모델은 플래닝이 있어야 수정(edit)까지 가는 경우가 늘고, 강한 모델은 수정 뒤 중복 검증 턴이 줄어 비용이 내려간다.
- 강한 모델은 성공률이 거의 그대로다.
- 전용 툴은 bash가 약한 모델에만 도움
- bash를 잘 쓰는 모델은 bash만 줘도 한 번에 여러 작업을 묶어 호출 수와 비용이 줄었다.
- 쉘 중심 작업(Terminal-Bench)에서 그 차이가 더 크다.
Evidence
- 32k에서 관리 효과가 가장 컸다
- SWE-Bench에서 관리 티어와 T0의 성공률 차이는 모델 평균 32k 35.7%p에서 128k 2.7%p로 줄었다.
- T0 컨텍스트 초과 실패율은 SWE-Bench에서 78.7%에서 8.7%, Terminal-Bench에서 61.0%에서 12.1%로 떨어졌고 관리 티어는 모두 0이었다.
- T4가 8개 패널 중 7개에서 최저 비용
- 모델 4개와 벤치마크 2개 조합 중 7곳에서 T4가 T1~T3와 비슷한 성공률에 가장 낮은 비용을 기록했다.
- 8개 조합 평균으로는 모든 윈도우 예산에서 T4의 작업당 비용이 가장 낮았다.
- recall은 56.3% 설정에서 한 번도 안 쓰였다
- T2·T4 64개 설정 중 36개(56.3%)가 recall_event를 한 번도 호출하지 않았다.
- 작업당 평균 호출은 32k 0.540회에서 128k 0.007회로 줄었고, T2 대 T1 평균 차이는 -0.36%p였다.
- 플래닝 효과는 모델 크기별로 달랐다
- Nemotron-3 30B는 플래닝으로 SWE-Bench 성공률이 11.6%p, Terminal-Bench 4.5%p 올랐고 비용도 올랐다.
- Nemotron-3 550B와 Mistral-Medium-3.5는 SWE-Bench 비용이 약 30%, 32% 줄었고 성공률은 2.0%p, 0.4%p 떨어졌다.
- bash-only는 모델별로 갈렸다
- Nemotron-3 550B는 bash-only로 SWE-Bench 성공률 3.6%, Terminal-Bench 5.6% 올랐고 비용은 53%, 30% 줄었다.
How to Apply
- 에이전트 루프에 오래된 툴 출력 생략 넣기
- 토큰이 윈도우의 60%를 넘으면 오래된 큰 툴 출력을 "[tool output elided: N lines]" 같은 stub으로 바꿔라.
- 시스템 프롬프트, 최초 태스크, 최근 2턴 이상은 원문 그대로 둬라.
- 요약은 85% 넘을 때만 실행하기
- 생략 후에도 윈도우의 85%를 넘을 때만 가장 오래된 이벤트를 같은 모델로 요약해라.
- recall 툴은 일단 빼고 시작해도 논문 결과상 정확도 손해가 없었다.
- 플래닝 on/off를 모델별로 A/B 비교하기
- update_plan 툴과 첫 턴 플랜 요청을 켠 버전과 끈 버전을 같은 태스크로 돌려라.
- 성공률, 평균 턴 수, 수정 없이 끝난 비율, 비용을 함께 봐라.
- bash-only 구성을 쉘 중심 작업에서 시험하기
- 모델이 쉘에 강하면 read, edit, grep 전용 툴을 빼고 bash만 준 버전을 비교해라.
- 툴 이름 불일치로 일찍 끝나는 실행이 있는지 먼저 확인해라.
Try It
# Claude/ChatGPT에 붙여넣기 — 논문 방법의 간이 버전(컨텍스트 관리 T4 스타일 요약)
너는 코딩 에이전트의 대화를 압축하는 역할이다. 아래는 가장 오래된 대화 기록이다. 도구를 호출하지 말고 텍스트로만 답해라.
아래 제목으로 간결하게 요약해라(비어 있으면 생략).
## Goal
## Files touched
## Done
## Pending
## Errors & fixes
## Current state
## Next step
파일 경로, 함수명, 에러 메시지는 정확히 유지해라. 이전 요약이 있으면 갱신해라.
[이전 요약]
{{이전 요약}}
[오래된 대화 기록]
{{대화 기록}}
이어서 해 볼 것: 긴 도구 출력은 먼저 "[tool output elided: N lines]" 형태로 바꾼 뒤, 그래도 길 때만 이 프롬프트로 요약해 비용을 비교해 보세요.Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓
Original Abstract (Expand)
Coding harnesses shape how autonomous coding agents translate model capabilities into long-horizon software-engineering performance, yet existing work typically evaluates harnesses as monolithic systems, leaving the effectiveness of individual components unclear. To enable component-level comparisons, we study this question with a lightweight coding harness whose execution loop is fixed while three components are varied: planning, action space, and context management. Across four models evaluated on SWE-Bench Verified and Terminal-Bench 2.1, we evaluate 176 matched settings spanning five context-management strategies, four context-window budgets, and targeted ablations of planning and action space. We find that: (1) Context management becomes increasingly valuable as the context-window budget tightens, with most of its benefit coming from preventing context-overflow failures. (2) Staging rule-based elision before LLM-based summarization provides the strongest overall efficiency among the context-management strategies, whereas making elided content recoverable adds machinery that models rarely use and yields no accuracy gain. (3) Planning shifts from an accuracy scaffold for weaker models to a cost saver for stronger models, with little change in accuracy. (4) Predefined tools improve performance for models with weaker bash proficiency, whereas bash-capable models can operate effectively with a bash-only interface and achieve substantially lower cost, especially on command-line-centric tasks. Trajectory-level analysis explains these effects: context management extends execution trajectories without substantially altering agent behavior, planning changes where trajectories stop, and the action space changes the granularity at which code is written. These findings inform model- and budget-aware harness design and provide a modular framework for evaluating future harness components.