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%という数字が集まっており、再現性は高い。