Claude Codeのトークン消費を半分にした。800時間以上の自律運用で見つけた方法をまとめる。
Opus 4.7(2026年4月16日リリース)で新トークナイザーが導入され、同じプロンプトでもトークン消費が最大35%増加している(Finout.io調査)。Max planでも1時間で枯渇する報告が相次いでいる。
この記事で分かること
- CLAUDE.mdの書き方で消費が2倍変わる理由と対策
- キャッシュを壊さない運用方法
- hookで自動的にトークン浪費を止める設定
-
/clearと/compactの正しい使い分け - Opus 4.7固有の問題への対処
これから挙げる方法は、すべて無料で、設定や運用を変えるだけで実践できます。 まずはそのまま試してください。
そのうえで、ここで触れる5つを越えて——並列のエージェントの運用やキャッシュの設計まで含めて——トークンの消費を体系的に半分へ寄せたい人は、Claude Code のトークン消費を半分にする(¥2,500・第1章まで無料)に全体の地図と検証の数字をまとめています。費用は「気づいたら倍」になってからでは取り返しにくいので、入口で整えるのが一番安いです。
1. CLAUDE.mdを短くする(効果: 20-40%削減)
Claude Codeの指示ファイル(CLAUDE.md)は全ターンでコンテキストに含まれる。100行のCLAUDE.mdを35行に凝縮したら、キャッシュ読み取り率が89%→95%に改善した。
やること
- 禁止リストを許可リストに変える(7行→6行で同じカバー範囲)
- hookに任せるルールをCLAUDE.mdから外す(「rm -rf禁止」はhookで自動ブロック)
- 具体例を1つだけ添える(曖昧な指示→リトライ増→トークン浪費)
before(典型的な肥大化パターン):
# プロジェクトルール
## コーディング規約
- TypeScriptを使用すること
- ESLintの設定は.eslintrc.jsに従うこと
- Prettierのフォーマットを適用すること
- テストはJestで書くこと
- テストのカバレッジは80%以上を維持すること
## ディレクトリ構造
- src/: ソースコード
- tests/: テストコード
- docs/: ドキュメント
(...50行以上続く)
after:
# Rules
- TypeScript + Jest + ESLint/Prettier
- Test coverage ≥ 80%
- See .eslintrc.js for style rules
CLIやlinterが既に強制しているルールをCLAUDE.mdに書く必要はない。「AIが知らないこと」だけを書く。
2. キャッシュを壊さない(効果: コスト10-20倍の差)
Claude Codeのプロンプトキャッシュは5分で失効する。キャッシュが効いているとき(cache_read)と壊れたとき(cache_creation)でコストが10-20倍違う。
キャッシュが壊れる3大原因
- 5分以上の空白: 考え込んだり離席するとキャッシュ失効
- git status変更: ファイルを保存するだけでコンテキストが変わる
- skills/ディレクトリの変更: CLAUDE.mdと同じく毎ターン読み込まれる
対策
-
/costで定期的にキャッシュ読み取り率を確認(80%以上が健全) - 長時間作業は
/compactでコンテキストを圧縮してから継続 - キャッシュが壊れたら
/clearで新セッション開始が最安
3. hookでトークン浪費を自動ブロック(効果: リトライループの早期停止)
hooksはClaude Codeのランタイムレベルで動く自動チェック機構。CLAUDE.mdに「大きなファイルを読むな」と書くより、hookで自動ブロックする方が確実——CLAUDE.mdの指示は無視されることがあるが、hookは無視できない。
例: 同じファイルの繰り返し編集を検知
{
"hooks": {
"PostToolUse": [{
"matcher": "Write",
"hooks": [{
"type": "command",
"command": "bash -c 'INPUT=$(cat); FILE=$(echo \"$INPUT\" | jq -r \".tool_input.file_path // empty\"); [ -z \"$FILE\" ] && exit 0; LOG=/tmp/cc-write-log.txt; COUNT=$(grep -c \"$FILE\" \"$LOG\" 2>/dev/null || echo 0); echo \"$FILE\" >> \"$LOG\"; if [ \"$COUNT\" -ge 3 ]; then echo \"WARNING: $FILE has been written $COUNT times. Consider a different approach.\" >&2; fi'"
}]
}]
}
}
4. /clearと/compactの使い分け
| コマンド | いつ使う | 効果 |
|---|---|---|
/clear |
テーマが変わるとき | コンテキスト完全リセット。キャッシュも新規 |
/compact |
同じテーマで長時間 | 会話を要約して圧縮 |
/cost |
定期チェック | 現在の消費量とキャッシュヒット率を確認 |
⚠ /compact後にコンテキストが破損する報告がある(#50402)。圧縮後は重要な事実を再確認する習慣をつけよう。
5. Opus 4.7固有の問題に備える
Opus 4.7(2026年4月16日)では以下の問題が報告されている:
- 新トークナイザーで+35%消費増(同じ入力でも多くのトークンを消費 — Finout.io分析)
-
デフォルトeffort levelがxhighに変更(全プランで消費が増加。公式ベストプラクティスで
medium/highへの変更を推奨) -
allowedToolsバイパス(パーミッションバイパスフラグ併用時に
--allowedToolsが無効化 — #50303) - データ損失(50GB以上のファイル削除 — #49129)
今すぐできる対策
Claude Codeの設定で/config→effortをhighまたはmediumに変更する。Anthropic公式も「コスト重視ならmediumかlow」と明言している。タスクの複雑さに応じて使い分けるのがベスト。
まとめ: 効果が大きい順
- effort levelを下げる(Opus 4.7最重要。xhigh→highで即効果)
- CLAUDE.mdを短くする(毎ターンの固定コスト削減)
- キャッシュを壊さない(10-20倍の差)
- hookで自動制御(浪費パターンの早期停止)
- /clearと/compactの使い分け(蓄積コスト管理)
まず、自分のトークン消費がどこで膨らんでいるかは、無料のトークン消費の詳しい診断で確かめられます。/cost の出力を貼るだけで、キャッシュの効き方と CLAUDE.md の常駐コストまで内訳が出ます。ブラウザの中だけで動くので、貼った内容はどこにも送信されません。自分の浪費を確かめてから、下の本で全手順を読むのが早いです。
トークン削減の整備の延長として、 800時間の実測データと CLAUDE.md の最適化のテンプレートと hook の素案を第3章まで無料・以降も毎月更新で整理した Claude Codeトークン節約ガイド (¥2,500、 はじめにと第1章は無料で読める) に整備しました。 hook の事例の集まりは cc-safe-setup (MIT・914件の hook) で配布中。
トークンを減らす設定の裏側で、無断の課金や暴走した操作で API の料金そのものが膨らむ事故を、実行の前で止める側の手順もあります。費用の最適化(節約ガイド)と、費用が事故で膨らむのを防ぐ側は、同じ費用の問題の表と裏です。後者は、800時間の自律運用で踏んだデータ消失・暴走・無断課金の防ぎ方を全手順で整理した Anthropic 公式ガイドにない事故防止本(第3章まで無料の試し読み)にまとめています。件数では一番読まれている、摩擦の低い入口です。
ほかにも、800時間の運用データから、トークン消費の削減・複数ベンダー(Claude / Codex / Gemini / Copilot)の並行運用・サブエージェントの沈黙の失敗対策など、テーマ別の手引きを公開しています。気になる人は著者の本の一覧から、価格と評価を見て選べます。
この5つはどれも一般解です。効くかどうかは、あなたのログの中で何が実際に一番重いかで決まります。自分の21,770往復のログを数え直したときは、**推定請求額の70.1%がキャッシュの読み出しで、出力は15.2%**でした。削る的が違っていた、ということです。その監査の実物は見本として全文公開しています(無料・登録不要)。
自分のログにも同じ読み方を当ててほしい人向けに、書面の監査を¥3,980で受け付けています(48時間以内に返します)。ただし「合計いくら使ったか」を知りたいだけなら /cost と ccusage で無料で分かるので、先にそちらを試してください。