HarnessTax 연구는 코딩 에이전트의 하서치 선택이 주로 비용에 영향을 미치며 성공률에는 거의 영향을 주지 않는다는 것을 보여줍니다
TL;DR
코딩 에이전트의 하서치를 선택하는 것은 작업 해결 비용을 최대 5배까지 변화시킬 수 있지만 성공률에는 거의 영향을 주지 않으며, 최소한의 오픈소스 하서치(Pi)는 종종 프로프라이어터리 시스템과 동등한 효과를 발휘합니다.
HarnessTax 평가 개요
HarnessTax 프로젝트는 7개의 언어 모델(Claude, GPT-5 시리즈, Kimi K3 등)과 3개의 코딩 에이전트 하서치(Claude Code, Codex CLI, 오픈소스 Pi)를 조합한 21개의 모델-하서치 쌍을 평가했습니다. 각 쌍은 SWE-bench Lite와 Terminal-Bench 2.0이라는 두 개의 공개 벤치마크에서 무작위로 추출한 30개의 작업에 대해 실행되었으며, 작업당 3회 반복하여 변동성을 측정했습니다. 비용은 2026년 9월 1일 기준 가격표를 사용해 토큰 달러 단위로 측정되었으며, 성공률은 각 벤치마크의 공식 평가기로 측정되었습니다.
이 연구는 아래에 설명된 세 가지 핵심 발견을 보고합니다.
발견 1: 하서치 선택은 주로 비용에 영향을 미치며, 정확도에는 거의 영향을 주지 않음
결론: 동일한 모델이 다양한 하서치에서 거의 동일한 성공률을 달성하지만, 토큰 비용은 최대 5배 차이가 날 수 있습니다.
- 주어진 모델에서 하서치를 교체할 때, SWE-bench Lite에서는 성공률이 ±2% 이내, Terminal-Bench 2.0에서는 ±5% 이내로만 변동합니다.
- 비용 비율(기하 평균)에 따르면, SWE-bench Lite에서 Claude Code는 Pi보다 약 2.0배, Codex보다 약 1.6배 비쌉니다. Terminal-Bench 2.0에서는 Pi보다 약 1.5배 비쌉니다.
- 예시: Claude Fable 5는 Claude Code에서 97.8%의 시도를 해결했고, Codex와 Pi에서는 각각 96.7%를 해결했지만, Claude Code는 시도당 $1.33의 비용이 들었고 Pi는 $0.67에 그쳤습니다.
"다른 하서치를 사용하는 것만으로 거의 동일한 품질을 위해 추가 비용을 지불하는 것은 마치… 하서치 세금을 내는 것과 같다 💰" – 저자, HarnessTax.
의미: 성공률만을 고려하는 사용자는 은밀한 '하서치 세금'을 부담할 수 있습니다. 평가 시 항상 하서치 간의 비용 조정된 성능을 비교해야 합니다.
발견 2: 최소한의 하서치도 경쟁력이 있을 수 있음
결론: 가벼운 오픈소스 Pi 하서치는 단지 네 가지 도구(읽기, 쓰기, 편집, bash)만 제공하지만, 두 벤치마크 모두에서 파레토 최적 경계에 도달합니다.
- 하서치 간의 턴 수는 유사합니다 (예: Fable 5의 SWE-bench Lite에서 Pi와 Claude Code는 각각 평균 ~15.4, 15.3턴). 그러나 Claude Code의 턴당 토큰 사용량은 Pi의 약 두 배입니다.
- 초기 컨텍스트 크기는 주요 비용 요인입니다: Claude Code의 첫 번째 모델 호출에는 Pi보다 10배 이상 많은 지시문과 도구 스키마 문자가 포함되어 모델 출력 전에 토큰 소비가 급증합니다.
- 단순한 하서치는 성공률을 희생하지 않고 오버헤드를 줄이며, 풍부한 프로프라이어터리 하서치 기능이 많은 작업에 반드시 필요하지 않다는 것을 시사합니다.
"Pi와 Codex의 효과성은 기존 모델을 활용한 오픈소스 하서치 연구의 기회를 보여줍니다." – 저자, HarnessTax.
의미: 보안이나 일치성 제약이 다른 곳에서 처리된다면, 개발자는 얇은 하서치를 구축하거나 채택함으로써 비용 효율적인 코딩 보조를 달성할 수 있습니다.
발견 3: 모델은 종종 자체 하서치 외부에서 더 잘 작동함
결론: 제공업체별 하서치 최적화가 모델-하서치 조합의 최고 성능을 보장하지는 않으며, 12개의 모델 간 비교 중 9개에서 대안 하서치가 가장 높은 성공률을 달성했습니다.
- Anthropic의 Claude 모델은 Claude Code에 최적화되어 있지만, Codex CLI와 Pi에서도 비슷하거나 더 나은 성능을 보였습니다.
- OpenAI의 GPT-5.6 Sol은 Terminal-Bench 2.0에서 Pi에서 **83.3%**의 성공률을 기록했고 Codex에서는 **78.9%**였으며, 비용은 약 **50%**에 그쳤습니다.
- Sonnet 4.6는 SWE-bench Lite에서 Codex에서 **68.9%**를 해결했고 Claude Code에서는 **66.7%**를 해결했으며, 비용은 유사했습니다.
"모델의 능력은 호환 가능하고 일반화 가능하며 다른 하서치로도 이식될 수 있다." – 저자, HarnessTax.
의미: 실무자는 제공업체의 기본 하서치가 최적이라고 가정하기보다, 주어진 모델에 대해 여러 하서치를 실험해보아야 합니다.
Hacker News 커뮤니티 반응
- 비용 vs. 강건성: 몇몇 댓글러들은 Pi는 저렴하지만, Claude Code와 Codex는 더 풍부한 시스템 프롬프트로 인해 잘못된 도구 호출에 더 강건할 수 있다고 지적했습니다.
- 벤치마크 한계: 사용자들은 두 개의 오픈소스 벤치마크가 훈련 중 유사한 데이터를 본 모델에게 유리할 수 있으며, 실제 워크로드에서는 비용-정확도 트레이드오프가 다를 수 있다고 지적했습니다.
- 도구 호출 호환성: 한 댓글은 내장 도구 서명(예: Claude의
Edit, GPT의apply_patch_call)을 사용하는 것이 하서치 자체보다 성능에 더 큰 영향을 미칠 수 있다고 강조했습니다. - 보안 고려사항: 일부는 프로프라이어터리 하서치의 추가 컨텍스트에 보안 지침이 포함되어 있어 비용이 높지만, 생산 환경에서는 필수일 수 있다고 주장했습니다.
- 미래 방향성: 논의는 병렬 하서치 설계, 동적 하서치 선택, 그리고 토큰 비용과 강건성을 모두 반영하는 표준화된 벤치마크에 대한 관심을 보였습니다.
개발자와 연구자에게 Practical한 통찰
- 비용을 측정하라, 성공률만 측정하지 마라. 코딩 에이전트를 평가할 때, 통과/실패 지표와 함께 토큰 달러를 기록하라.
- 얇은 하서치부터 시작하라. Pi의 네 도구 설계는 많은 작업에 있어 최소한의 설계가 충분함을 보여준다. 특정 보안 또는 도구 기능이 필요할 때만 복잡성을 추가하라.
- 다양한 하서치 조합을 테스트하라. 모델이 프로프라이어터리 하서치와 함께 마케팅되더라도, 다른 하서치(예: Claude 모델을 Codex CLI에서 실행)를 통해 더 저렴하면서도 동등한 구성이 있는지 찾아보라.
- 초기 프롬프트 크기를 주의하라. 큰 시스템 프롬프트는 비용을 주도할 수 있다. 불필요한 지시문과 도구 스키마를 줄이면 즉각적인 절감 효과를 얻을 수 있다.
- 워크로드에 따라 변동성이 있음을 인지하라. 보고된 결과는 SWE-bench Lite와 Terminal-Bench 2.0에 적용되며, 과학적 코드나 대규모 리팩터링과 같은 다른 도메인에서는 비용-정확도 곡선이 다를 수 있다.
미래 연구 방향
- 벤치마크 확장: 장기적 목표와 다중 세션 워크플로우를 포함한 더 넓은 작업 세트를 만들고, 현재 오픈소스 벤치마크를 넘어서 하서치를 테스트할 수 있도록 한다.
- 자동 하서치 선택: 작업 특성과 실시간 피드백을 기반으로 가장 비용 효율적인 하서치를 동적으로 선택하는 메타에이전트를 개발한다.
- 보안 vs. 비용 트레이드오프: 안전 관련 컨텍스트(예: 일치 프롬프트)가 비용과 실패 유형에 미치는 영향을 정량화한다.
- 오픈소스 하서치 생태계: 커뮤니티 기여를 장려하여 가벼운 하서치를 개발하고, 다양한 제공업체와 모델 간의 상호운용성을 촉진한다.
인용
HarnessTax 결과를 귀하의 연구에 사용할 경우, 다음을 인용해 주세요:
@misc{pan2026harnesstax,
title = {{HarnessTax: How Much Does Harness Matter for Coding Agents?}},
author = {Pan, Melissa Z. and Yang, Shuo and Arabzadeh, Negar and Chiang, Wei-Lin and Stoica, Ion and Zaharia, Matei},
year = {2026},
url = {https://harnesstax.github.io/},
}
Sources
관련
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch