動察 Beatingのモニタリングによると、AnthropicはClaude Codeのトークン節約ガイドを公開した。核心は一言で言えば、コンテキストが長いほど、後の各ラウンドが高くなる。チャット、ファイル、コマンド出力はすべてトークンを消費し続け、それによってクォータも早く消耗する。
整理すると、最も実用的な11のテクニックは以下の通り:
1. タスクを変えたら /clear。1つのタスクが終わったらコンテキストをクリアする。同じタスクを続けているが、以前の内容が不要になった場合は、/compactで圧縮する。長いセッションは後半ほど高くなる。各ラウンドで以前の内容を再度読み込むためだ。
2. モデルとeffortは最初に選ぶ。途中で /model や /effort を実行すると、プロンプトキャッシュが破棄され、次のラウンドでコンテキスト全体を再処理する必要がある。Fast modeも同様で、最初から有効にするのが最善。
3. 離れる前に /compact。サブスクリプションユーザーのキャッシュは約1時間で期限切れ、APIキーはデフォルトで約5分。キャッシュが期限切れになった後に戻ると、次のラウンドで通常コンテキスト全体を再処理する必要がある。キャッシュがまだ有効なうちに圧縮する方が安い。
4. 最近の数ラウンドが脱線したら /rewind。これは後ろの数ラウンドだけを削除し、前のキャッシュは引き続き使える。/compactは会話全体を書き換えるため、コストが高い。
5. ファイルは直接 @ファイル名 を使う。Claudeは最初のラウンドで直接ファイルを取得でき、Readや検索を1回省ける。1つのファイルは通常1回@するだけで十分で、繰り返し@すると同じファイルが再度コンテキストに追加される可能性がある。
6. プロンプトは具体的に。 「テストが失敗した」と言うより、どのテストか、どのファイルかを直接Claudeに伝える。そうしないと、grep、検索、複数ファイルの読み込みを行う可能性があり、その結果が後の各ラウンドでコンテキストを占有し続ける。
7. テストとログの出力は最小限に。ビルド、テスト、git logの出力はすべてコンテキストに残る。quietパラメータを追加したり、エラーのみを出力したり、tailで切り詰めたりできる。Claude Codeは3万文字を超えるコマンド出力を自動的にファイルに書き込み、要約とパスのみをセッションに残す。
8. /contextで起動時の負荷を確認。新しいセッションの開始時に、CLAUDE.md、MCP、ツール定義がどれだけコンテキストを占めているか確認できる。CLAUDE.mdには汎用ルールのみを置き、特定のプロセスはオンデマンドで読み込むSkillに入れる。使わないMCPは /mcp でオフにする。
9. 簡単なタスクには小さなモデルと低いeffortを使う。大きなモデルは入力も出力も高く、thinkingも出力トークンに含まれる。純粋な実行タスクに常に最高級のモデルと最高の推論強度を使う必要はない。
10. 大きなログはsubagentに任せ、小さなタスクには乱用しない。Subagentは独立したコンテキストを持ち、最終結果のみをメインセッションに戻すため、大量のログ読み取りやドキュメント検索に適している。ただし、ファイルを再読み込みし、自分で複数ラウンド実行するため、小さなタスクでは逆に高くなる可能性がある。検索やログ読み取りなどのタスクでは、HaikuやSonnetを指定することもできる。
11. /loopは別のセッションで実行するのが最善。各ループは完全な1ラウンドであり、現在のセッションの全コンテキストを繰り返し持ち込む。間隔がキャッシュ時間を超えると、キャッシュ無効化が1回追加される可能性もある。公式には、別のターミナルを開き、クリーンなセッションでループを専用に実行することを推奨している。
Anthropicのアドバイスを要約すると、不要な内容を詰め込まず、タスク終了後はすぐにクリアし、セッションを長く引き延ばさないことだ。