Claude Code は便利だが、使い方を工夫しないとトークン消費がかさみやすい。Max プランでも「思ったより早く制限に当たる」という声は多い。ここでは実際にトークン消費を半分以下に抑えた実践テクニックをまとめる。
一番インパクトが大きい施策。node_modules/、.next/、dist/ といったビルド成果物や依存関係ディレクトリを明示的に除外するだけで、ファイル探索時に消費されるトークンが数万単位で減る。
# CLAUDE.md
## 除外ディレクトリ
以下のディレクトリは読まないこと:
- node_modules/
- .next/
- dist/
- .git/
- coverage/
チームで使っているなら CLAUDE.md をリポジトリに含めておくと全員に効く。
コードベース全体を読ませずに、まず関連ファイルを特定させてから実装に入るワークフローを癖にすると良い。「〇〇の実装ファイルを探して、関係するファイルだけリストアップして」→ 確認 → 「では実装して」という2ステップが結果的にトークン効率が高い。
長いセッションは文脈が膨らんでトークン消費が加速する。3〜5ターンごとに /compact を実行してコンテキストを圧縮するのが目安。完全にリセットしたいタスク切り替え時は /clear を使う。
v2.1.105 からは PreCompact フックで圧縮前に独自処理を差し込むことも可能になったので、必要に応じて活用できる。
Shift+Tab を2回押すとプランモードに入る。このモードでは Claude はファイルを読んで分析するが、編集はしない。プランを確認・修正してから実装に進むことで、試行錯誤による無駄なトークン消費を減らせる。
HN でも Boris from the Claude Code team が「Plan mode で行き来してからの実行が効率的」と言及していた。
曖昧な指示は複数回のやり取りが発生し、その分トークンが増える。「〇〇を直して」ではなく「src/auth/login.ts の 45 行目の validateToken 関数を修正して、エラー時に AuthError を throw するようにして」と最初から具体的に書く。
「ファイル全体を出力して」より「変更点だけ diff 形式で出して」の方がトークンを大幅に節約できる。また「説明なしで実装だけして」も有効な指示だ。
スコープを1ファイルに絞ると、Claude が読む必要のあるコンテキストが最小化される。大きな変更は複数タスクに分割して各タスクで /clear するのが現実的に効く。
v2.1.108 で追加された ENABLE_PROMPT_CACHING_1H 環境変数を設定すると、プロンプトキャッシュの TTL が 1 時間に延長される。同じコンテキストを繰り返し送る長時間セッションではキャッシュヒット率が上がってコスト削減につながると思われる。
export ENABLE_PROMPT_CACHING_1H=1
これらをすべて組み合わせると、プロトコルの記事では月5百万トークン超から半分以下まで削減できたとのこと。まずは CLAUDE.md の整備と /compact の習慣化から始めるのが手っ取り早い。