Claude Code, 토큰 15~20%를 상태 표시줄에 낭비

원제: Claude Code burns ~15–20% of your tokens on a 3-word status line

왜 중요한가

AI 코딩 도구의 숨겨진 토큰 낭비 구조가 데이터로 입증되면서, 구독 기반 사용자의 실질 API 한도 효율성 문제가 수면 위로 떠올랐다.

Flamerix AI가 공개한 GitHub Gist에 따르면, Anthropic의 Claude Code는 약 30초마다 백그라운드 에이전트의 전체 대화록을 Opus 모델에 전송해 3~5단어짜리 상태 표시줄 문구를 생성하며, 이 과정에서 전체 토큰 사용량의 15~20%가 소비되는 것으로 나타났다.

Flamerix AI가 공개한 분석에 따르면, Claude Code(버전 2.1.232, 2026년 8월 이후)는 백그라운드 에이전트마다 약 30초 간격으로 해당 에이전트의 전체 대화록을 Opus 모델에 전송하고, 에이전트 패널의 상태 표시줄에 표시할 3~5단어짜리 요약을 생성한다. 이 결과는 사용자 대화에 전달되지 않으며, 오직 UI 상태 표시 목적으로만 쓰인다.

DRIM이 Claude Code의 OpenTelemetry 내보내기 데이터를 분석한 결과, `query_source=agent_summary` 항목이 메인 대화(15.7%)보다 높은 전체 지출의 16.4%를 차지했고, API 요청 건수 기준으로는 전체의 19.7%(약 5건 중 1건)에 달했다. 특히 이 요청의 96%가 Opus 모델을 사용했으며, 입력 토큰 대비 출력 토큰 비율은 약 9,000:1로 극단적으로 비효율적이다. GitHub 이슈 #86879에는 독립적으로 측정한 4개 사례가 수집됐으며, 측정치는 18~26% 범위다. 구독제 사용자의 경우 실제 요금 청구보다는 API 속도 제한 여유분이 줄어드는 형태로 영향을 받는다.

Flamerix AI는 MIT 라이선스로 해결책을 공개했다. 약 80줄 분량의 Bun preload 스크립트 `no-agent-summary.js`는 `setTimeout`·`setInterval`을 감싸고, 콜백 소스 텍스트에 `[AgentSummary] Timer fired` 등의 앵커 문자열이 포함된 경우에만 타이머를 비활성화하며 나머지는 그대로 통과시킨다. `BUN_OPTIONS=--preload` 방식을 사용하기 때문에 Claude Code 바이너리 자체는 수정되지 않는다. 다만 Claude Code 업데이트 시 효과가 무효화될 수 있어 주기적인 검증이 필요하다. Linux 환경, Claude Code 2.1.257~2.1.312 버전에서 테스트가 완료됐다.

출처

gist.github.com — 원문 읽기 →