Claude Codeがトークンの最大20%を3語のステータス表示に浪費

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

なぜ重要か

AIコーディングエージェントの隠れたトークン消費構造が明るみになり、利用コストの透明性とAPI設計の見直しを迫る事例として業界に波紋を呼んでいる。

Flamerix AIが2025年に公開したGitHub Gistによれば、Anthropicのコーディングエージェント「Claude Code」はバックグラウンドエージェントのステータス行(3〜5語)を更新するためだけに、約30秒ごとにエージェントの全会話履歴をモデルに送信しており、全トークン使用量の15〜20%をこの処理が占めることが計測データから判明した。

問題の発端は、DRIM(開発チーム)がClaude CodeのOpenTelemetry出力を分析したことだ。APIリクエストイベントを「query_source」別に集計すると、「agent_summary」が全Claude Code支出の16.4%を占め、メイン会話の15.7%をも上回っていた。リクエスト数ベースでは約5件に1件(19.7%)がこの処理に割り当てられ、そのうちOpusモデルへの支出が96%を占める。入力トークン対出力トークンの比率は約9,000対1という極端な非対称さだ。

この挙動はClaude Code 2.1.232(2026年8月)以降にデフォルト有効化されており、ユーザーが設定でオフにする手段は存在しない。生成されたステータス文字列はエージェントパネルのUI表示にのみ使われ、モデルや実際の会話には一切届かない。サブスクリプション契約では金銭的請求には現れないが、レート制限の消費として実質的なコストが発生する。

Flamerix AIが提示した回避策は「no-agent-summary.js」というBunのpreloadスクリプト(約80行)だ。`setTimeout`/`setInterval`をラップし、コールバックのソースに`[AgentSummary]`を示す文字列が含まれる場合のみタイマーを不活性化する。他のタイマーはそのまま通過するため、副作用は最小限とされている。適用後、OpenTelemetry出力でagent_summaryの支出は0%に低下したと報告している。

なお、同スクリプトはClaudeのバイナリ自体を改変しないが、アップデートで効果が無効化される可能性があると注意書きされており、適用後の定期確認を推奨している。GitHub Issue #86879では独立した4件の計測で18〜26%という数字が集まっており、再現性は高い。

出典

gist.github.com — 元記事を読む →