コスト最適化 & トークン管理
Claude Codeは使用したトークン分だけコストが発生します。どこでトークンが漏れているかを把握し、削減する方法をまとめます。
現在のトークン使用量を確認する
/context項目別に分類されたトークン使用量をバー形式で表示します。
| 項目 | 意味 |
|---|---|
System Prompt | CLAUDE.mdなどのシステム指示 |
System Tools | 接続されたMCPサーバー、ツール定義 |
User/Assistant | 実際の会話内容 |
トークンを大量消費するパターン TOP 5
1. 重いMCPを常時オンにしておく
NotionやLinearのように大量のデータを扱うMCPは、息をしているだけでSystem Toolsのトークンを10%以上消費します。
解決策: 使うときだけオンにする
/mcp → 該当サーバーを無効化/有効化2. CLAUDE.mdが長くなりすぎる
ルートのCLAUDE.mdにすべての内容を入れると、毎ターン数千トークンが無駄になります。
解決策: フォルダごとのCLAUDE.mdに分割
ルート: 核心ルールのみ50〜100行
サブフォルダ: 該当ドメインのルールのみ → 作業時にのみロード→ CLAUDE.mdの階層構造 詳細参照
3. 一つのセッションで複数機能を開発する
コンテキストが蓄積されるほど、Claudeが処理しなければならない履歴が増え、徐々に遅くなりコストも上がります。
解決策: 1セッション = 1フィーチャーの原則
機能完了後は必ず /clear4. 大容量ファイルをチャット画面で直接分析する
数千行のJSON、ログファイルをチャット画面に貼り付けると、一度に数万トークンが消費されます。
解決策: スクリプトへのオフロード
Claudeに分析スクリプトを書いてもらった後
ローカルで実行 → 結果の要約だけをClaudeに渡す→ スクリプトオフロード 詳細参照
5. サブエージェントの乱用
サブエージェントはそれぞれ独立したコンテキストを使用します。3つを並列実行するとトークンが最大3倍消費されます。
解決策: タスクが本当に独立している場合のみ並列実行
独立していなければ単一セッションの方がはるかに効率的モデル別コスト戦略
Claude Codeは作業中でも/modelでモデルを切り替えることができます。
| モデル | 相対コスト | 適した作業 |
|---|---|---|
| Opus | 最も高い | アーキテクチャ設計、複雑なバグ、重要な意思決定 |
| Sonnet | 中程度 | 一般的なコーディング、並列サブエージェント |
| Haiku | 最も低い | ファイル探索、単純なリネーム、簡単な質問 |
サブエージェントのモデル固定:
bash
# メインセッション: Opus(判断)、サブエージェント: Sonnet(実行)
export CLAUDE_CODE_SUBAGENT_MODEL="claude-sonnet-4-5"コンテキスト管理の3ステップ
| 状況 | コマンド | 効果 |
|---|---|---|
| コンテキストが70%以上になったとき | /compact | 核心の要約だけ残して圧縮 |
| 機能が一つ完了したとき | /clear | 完全初期化、新しいセッション開始 |
| セッション間で文脈を引き継ぐ必要があるとき | TODO.md更新後に/clear | 文脈はファイルに、メモリは空にする |
コストモニタリングチェックリスト
作業開始前:
- [ ]
/contextで現在のトークン使用量を確認 - [ ] 使用していないMCPサーバーを無効化
- [ ] 作業範囲に合ったモデルを選択
作業中:
- [ ] 機能完了ごとに
/clear - [ ] 大容量ファイルはスクリプトにオフロード
- [ ]
think hardは本当に必要なときだけ使用(内部推論トークンが増加)
作業後:
- [ ] 繰り返しパターンがあればCLAUDE.mdではなくフォルダ内のCLAUDE.mdに移動
- [ ] よく使う作業はカスタムコマンドやフックで自動化