Claudeのトークンを賢く節約する:7つのテクニック
はじめに
「今日も、数回でトークン制限に引っ掛かってしまった。。。」——Claude Codeを日常的に使っていると、トークン消費の速さに驚かされることがあります。
トークンは有限なリソースです。特にチームで共有しているAPIキーや、月次のクレジット制限がある場合、消費ペースのコントロールは生産性に直結します。
ここで重要なのは、トークンを節約することと、AIの能力を十分に引き出すことは矛盾しないという点です。むしろ、トークン効率を意識することでプロンプトの質が上がり、より少ない対話で目的を達成できるようになります。
なぜトークンが思ったより多く消費されるのか
まず前提として知っておきたいのは、トークン消費の内訳です。多くの人はアウトプット(Claudeの回答)のトークンに注目しますが、実際には**インプット(あなたが送るコンテキスト)**の方が大きな割合を占めるケースが多いです。
会話が長くなるほど、過去のやり取り全体が毎回のリクエストに含まれます。つまり、10ターン目の質問は、10ターン分の履歴を丸ごと抱えてAPIに飛んでいるわけです。
この構造を理解すると、効果的な節約戦略が見えてきます。
この記事について: 公式ドキュメントや各種情報をもとに整理した情報まとめ記事です。筆者自身はテクニック1〜6を実践していますが、テクニック7については効果の違いが明確に体感できていないため、現在は取り入れていません。
テクニック1:コンテキストをこまめにリセットする
最もシンプルかつ効果的な方法は、目的が変わったら会話を新しく始めることです。
1つのチャットセッションでバグ修正・新機能の設計・コードレビューを全部やると、それぞれのやり取りが積み重なって膨大なコンテキストになります。タスクが切り替わるタイミングを節目として、セッションを分割するだけで消費量が目に見えて変わります。
Claude Codeでは /compact コマンドで会話履歴を要約・圧縮してから続けることもできます。関連しない作業へ切り替える場合は /clear、関連する作業を継続する場合は /compact を使い分けると、コンテキストを管理しやすくなります。[1]
/compact「まだ関連した話だから同じセッションで続ける」という発想を変えて、1セッション1目的を基本方針にすることをお勧めします。
テクニック2:CLAUDE.md は必須の指示だけに絞る
プロジェクト設定ファイル(CLAUDE.md など)はセッション開始時にコンテキストへ読み込まれます。丁寧に書けば書くほど、基礎コンテキストのオーバーヘッドが増えます。Anthropicは、CLAUDE.mdを必須事項に絞り、詳細な手順を必要時に読み込むSkillsへ移すことを推奨しています。[1]
実際に遭遇しがちな問題は「良かれと思って詳しく書いたルールが、毎回数千トークンを消費している」というパターンです。
効果的なアプローチは:
- 具体的な指示を絞る: 「必ず〜してください」という強制的な指示だけを残す
- 参照先をポイントする: 詳細は別ファイルに書き、CLAUDE.mdからはパスだけ記載する
- 死んでいるルールを削除する: 実際に機能しているルールだけを残す棚卸しを定期的に行う
設定ファイルの行数を半分にしても、Claudeの動作品質は変わらないどころか、ノイズが減って改善されることが多いです。
テクニック3:ファイル参照の範囲を絞る
「このプロジェクトのコードを確認してください」という依頼では、Claudeは関係するかもしれないファイルを広く読もうとします。結果として大量のファイル内容がコンテキストに乗ります。
代わりに、具体的なファイルと行番号を指定することで、コンテキストへの取り込みを最小限にできます。
# 曖昧な指定(多くのトークンを消費する可能性がある)
「認証周りのバグを直してください」
# 具体的な指定(コンテキストを最小化できる)
「src/auth/login.ts の 45〜78行目、getToken関数の戻り値の型エラーを修正してください」Claudeは「必要なら読む」という判断を自分でしますが、こちらが範囲を示すことで不要な探索コストを抑えられます。
テクニック4:サブエージェントに独立したタスクを分離する
大きなタスクを1つの会話で全部こなそうとすると、途中経過が全部コンテキストに積み重なります。
Claude Codeのサブエージェント機能(Agent ツール)を使うと、独立したタスクを切り離して実行できます。サブエージェントは独自のコンテキストウィンドウを持ち、要約した結果だけをメインの会話へ返せます。[2]
具体的なユースケース:
- 調査タスク(「〇〇について調べてきて」)をサブエージェントに委託
- 複数ファイルの一括変更をサブエージェントに実行させ、結果だけメインに返す
- 長い検証作業を分離して、確認結果のサマリーだけ受け取る
「結果だけ教えてほしい、プロセスはいらない」という考え方でサブエージェントを使うとトークン効率が大幅に改善します。
テクニック5:プロンプトを「短く・明確に」書く習慣
これは当たり前に聞こえますが、実際には多くの人が冗長なプロンプトを送っています。
意外と多いのが「背景説明が長すぎる」パターンです。
# 冗長(不要なコンテキストが多い)
「先日から取り組んでいたプロジェクトの件ですが、以前ご説明したとおり
ユーザー認証の部分で問題があり、チームでも議論した結果、やはり
JWTのリフレッシュトークンの処理に問題があるということになったので、
その部分を修正していただきたいのですが……」
# 簡潔(必要な情報だけ)
「src/auth/token.ts のリフレッシュトークン処理を修正してください。
問題: 期限切れトークンでも検証が通ってしまう。期待動作: 期限切れなら401を返す。」Claudeは賢いので、「あれ」「例の件」のような曖昧な参照でもある程度文脈を推定しますが、明確に書いた方が回答も短く正確になり、追加のやり取りが減ります。
テクニック6:出力フォーマットを事前に指定する
Claudeはデフォルトでは丁寧な説明を添えて回答します。コードを頼むと「まず〇〇について説明します。コードは以下のとおりです。このコードでは……」という形式になりがちです。
出力フォーマットを指定することで、不要な説明トークンをカットできます:
「以下の関数を修正してください。コードのみ出力、説明不要。」
「差分(diff形式)だけ出力してください。」
「箇条書き5項目以内でまとめてください。」特に繰り返し行う作業(コードレビュー、要約、翻訳など)では、フォーマット指定をテンプレート化しておくと毎回のトークン節約が積み重なります。
テクニック7:ツール使用の許可設定を整備する
Claude Codeに接続しているMCPサーバーの数も、トークン消費に影響します。
公式ドキュメントによると、MCPのツール定義はデフォルトで遅延読み込みされており、Claude が実際に使用するまではツール名のみがコンテキストに入ります。とはいえ、使っていないMCPサーバーを多数接続したままにしておくと、オーバーヘッドは積み重なります。[1]
公式が推奨する対策:
- 使わないMCPサーバーを無効化する:
/mcpコマンドで接続中のサーバーを確認し、不要なものを無効化する - CLIツールで代替できるものはCLIを使う:
gh、aws、gcloud、sentry-cliなどのCLIツールはMCPより文脈効率が良い。ツールリストをコンテキストに追加しないため、同じ機能でもトークン消費を抑えられる
/mcpまた、許可確認のラウンドトリップもトークンを消費します。よく使う安全な操作を事前に許可しておくことで、確認のやり取りを削減できます。[3]
{
"permissions": {
"allow": [
"Bash(npm run:*)",
"Bash(git log:*)",
"Bash(git diff:*)"
]
}
}筆者メモ: テクニック7については、設定しても効果の違いが明確に体感できていないため、現在は実践していません。まずはテクニック1〜6から試すことをお勧めします。
効果の大きい順に優先する
7つのテクニックを紹介しましたが、全部を一度に取り入れる必要はありません。効果の大きさでいうと以下の順が目安です:
| 優先度 | テクニック | 期待効果 |
|---|---|---|
| 高 | コンテキストのリセット | 関連しない履歴の再送を防ぐ |
| 高 | サブエージェントの分離 | 詳細な探索結果をメイン文脈から分離する |
| 中 | CLAUDE.mdの最適化 | 常時読み込む基礎コンテキストを減らす |
| 中 | ファイル参照の絞り込み | 探索コストの削減 |
| 中 | 出力フォーマット指定 | 不要な説明出力を抑える |
| 低 | プロンプトの簡潔化 | 積み重ねで効く |
| 低 | 許可設定の整備 | 確認ラウンドトリップの削減 |
まとめ
トークン最適化は「Claudeを使いこなす」ことと同義です。
漫然と長い会話を続けるより、目的ごとにセッションを区切り、コンテキストを最小限に保ち、明確な指示を出す——この習慣を身につけると、同じクレジットでできることが大幅に増えます。
今日から試せる最初の一歩は、**「次にClaude Codeを起動したとき、CLAUDE.mdの不要な行を3つ削除する」**ことです。小さな改善が積み重なって、月末のクレジット残量に違いを生み出します。
なお、OpenAIの GPT-5.5 では会話のコンテキストが自動的に圧縮される機能が実装されており、Claude Codeの /compact に相当する操作が自動化されています。Claude以外のAIツールを併用する場合、こうした自動コンテキスト圧縮の有無もツール選定の参考になります。
参考文献
- Anthropic, Manage costs effectively, Claude Code Docs
- Anthropic, Create custom subagents, Claude Code Docs
- Anthropic, Configure permissions, Claude Code Docs