Claude Code 2.1.232-2.1.312 토큰 사용량 및 에이전트 요약 최적화

Claude Code 토큰 오버헤드 문제

Anthropic의 AI 코딩 에이전트용 명령줄 인터페이스인 Claude Code가 백그라운드 작업에 사용자 토큰 예산의 약 1520%를 소비하고 있다는 사실이 밝혀졌습니다. 구체적으로, 이 도구는 에이전트 UI 패널을 위한 35단어의 상태 업데이트를 생성하기 위해 주기적으로 전체 세션 기록을 모델에 전송합니다. 이러한 동작은 버전 2.1.232부터 기본적으로 활성화되어 있어, 눈에 띄지 않게 속도 제한 여유 공간과 토큰 할당량을 상당히 소모하고 있습니다.

기술적 근본 원인

30초마다 백그라운드 에이전트가 agent_summary 쿼리를 시작합니다. OpenTelemetry 내보내기를 분석한 결과, 이러한 요약 요청이 도구에서 수행되는 모든 API 호출의 거의 20%를 차지하는 것으로 나타났습니다. 많은 요청이 프롬프트 캐싱의 이점을 누리고 있지만, 약 5번의 요청 중 1번꼴로 발생하는 빈도는 누적 비용을 크게 증가시킵니다. 바이너리가 사전 컴파일된 Bun 바이트코드로 배포되기 때문에, 표준 구성 파일로는 서브에이전트나 포크와 같은 필수 에이전트 기능을 비활성화하지 않고 이러한 특정 백그라운드 호출만 비활성화할 수 있는 옵션을 제공하지 않습니다.

우회 방법 구현

이러한 토큰을 회수하기 위해 요약 타이머를 담당하는 특정 setTimeout 또는 setInterval 호출을 가로채는 Bun 프리로드 스크립트가 개발되었습니다. 소스 텍스트 앵커를 통해 타이머 콜백을 식별함으로써, 이 스크립트는 다른 에이전트 작업은 그대로 둔 채 요약 요청만 효과적으로 억제합니다.

사용자는 BUN_OPTIONS 환경 변수를 전역으로 설정하여 억제 스크립트를 프리로드함으로써 이 수정 사항을 적용할 수 있습니다:

export BUN_OPTIONS="--preload /path/to/no-agent-summary.js"

프리로드를 적용한 후, 사용자는 모든 활성 세션이 새로운 환경을 상속받도록 Claude Code 데몬(claude daemon stop --any)을 다시 시작해야 합니다. 이 억제 효과는 OpenTelemetry 내보내기에서 query_source를 모니터링하여 확인할 수 있으며, agent_summary 요청이 0으로 떨어져야 합니다.

커뮤니티 통찰 및 세부 사항

이 발견을 둘러싼 논의는 AI 에이전트 설계 및 공급업체 인센티브에 대한 몇 가지 중요한 관점을 강조합니다:

  • 인센티브 불일치: 댓글 작성자들은 모델 제공업체가 에이전트 하네스를 직접 구축할 때 토큰 효율성을 우선시할 인센티브가 거의 없다고 지적했습니다. 한 사용자는 "모델 제작자는 효율적인 토큰 사용을 우선시할 인센티브가 전혀 없다"고 언급했습니다.
  • 검증의 어려움: 일부 사용자는 프롬프트 캐싱이 비용을 완화하는지 의문을 제기했지만, 독립적인 측정 결과 총 토큰 지출에 15~20%의 영향을 미치는 것으로 확인되었습니다. 사용자들은 캐시 적중이 있더라도 장기 세션을 실행할 때 오버헤드가 여전히 상당하다고 보고했습니다.
  • 업데이트 위험: 이 우회 방법은 바이너리의 콜백 함수 내 특정 내부 문자열 일치에 의존하므로, 향후 Claude Code 업데이트 시 훅이 깨질 수 있습니다. 사용자는 업데이트 후 억제가 활성화된 상태인지 확인하기 위해 텔레메트리를 다시 검증하는 것이 좋습니다.
  • 대안적 관점: 일부 사용자는 사용 패턴에 따라 영향이 다를 수 있으며, "ultracode"와 같은 워크플로우는 서브에이전트 중심 작업보다 영향을 덜 받을 수 있다고 지적했습니다. 다른 사용자들은 도구의 비대화에 대한 불만을 표하며, 미니멀리즘이 여전히 대체 코딩 어시스턴트의 핵심 차별화 요소임을 시사했습니다.

이 우회 방법은 있는 그대로 제공되며 Anthropic과 관련이 없습니다. 사용자는 OpenTelemetry를 통해 자신의 API 사용량을 모니터링하여 특정 워크플로우에 이 최적화가 필요한지 판단하는 것이 좋습니다.

Sources

관련

  • Dispatch
  • Dispatch
  • Dispatch
  • 프로젝트
  • 프로젝트