CLAUDE.mdがトークンを食い潰す5つの書き方と、直し方
Claude Codeを使っていて「なぜかトークン消費が激しい」と感じたことはないだろうか。
原因のひとつがCLAUDE.mdだ。このファイルに書いた内容は、毎ターン、毎回のやりとりでコンテキストに読み込まれる。1行足すと、そのセッション中のすべてのメッセージで固定コストが増える。
ただし「短くしろ」は間違ったアドバイスだ。短すぎるCLAUDE.mdは曖昧さを生み、曖昧さはリトライを生み、リトライは数行の追加より遥かにトークンを消費する。
目指すのは**「短い」ではなく「効率的」**——同じ意図を、より少ないトークンで、より高い精度で伝えること。
800時間以上の運用データから見えた5つのパターンを紹介する。
先に断っておくと、この5つの直し方はすべて無料で、設定の書き方を変えるだけで実践できます。 まずはそのまま試してください。
そのうえで、トークンの消費がどこへ消えているかを——並列のエージェントの運用まで含めて——体系的に半分へ寄せたい人は、Claude Code のトークン消費を半分にする(¥2,500・第1章まで無料)に全体の地図があります。費用は「気づいたら倍」になってから取り返すのが難しいので、入口で整えるのが一番安いです。
パターン1: 禁止リストではなく許可リストで書く
トークンを浪費する書き方
## 禁止事項
- rm -rf を使うな
- git reset --hard を使うな
- git push --force を使うな
- .env ファイルを削除するな
- node_modules を削除するな
- sudo を使うな
6行で6つのルール。しかし「禁止されていないことは許可」なので、find . -delete は通ってしまう。禁止リストは常に不完全だ。
効率的な書き方
## 許可された操作
- ファイル読み取り: 常にOK
- git commit: OK(mainへの直接pushは不可)
- npm install: OK(--save-devのみ)
- ファイル削除: 自分が作成したファイルのみ
上記にない破壊的操作: 先に確認すること。
5行で同じ意図を、より高い精度で伝えられる。曖昧さが減ればリトライも減る。
パターン2: 1つだけ例を見せる(Few-Shot)
トークンを浪費する書き方
## エラーハンドリングの方針
エラーが発生した場合は、適切にハンドリングしてください。
ログを出力し、ユーザーに通知し、可能であればリトライしてください。
ただし、リトライ回数には上限を設けてください。
リトライ時は exponential backoff を使ってください。
ログレベルは状況に応じて適切に選択してください。
抽象的な指示は、Claude側で「適切とは何か」を毎回考えさせる。コンテキスト消費が増え、解釈のブレも増える。
効率的な書き方
## エラーハンドリングの方針
エラーは以下のように扱う(例: API呼び出しが失敗した場合):
```ts
try {
const result = await retry(() => apiCall(), { maxRetries: 3, backoff: 'exponential' });
return result;
} catch (err) {
logger.error('API call failed', { error: err, context });
throw new ApiError('Upstream service unavailable', { cause: err });
}
1つの良い例で、抽象的な指示5行分の情報を伝えられる。
## パターン3: 理由を1行だけ添える
### トークンを浪費する書き方
```markdown
## TypeScript の方針
- 必ず strict mode を有効にしてください
- any 型は使用しないでください
- 型推論を活用してください
- ジェネリクスは慎重に使ってください
ルールだけ並べると、Claudeはエッジケースで判断できず、確認や再質問でトークンを消費する。
効率的な書き方
## TypeScript の方針
- strict mode 有効(型エラーを実行時ではなくビルド時に出すため)
- any は禁止(型情報を失うため、エッジケースの自律判断が必要なときは unknown を使う)
- 型推論を優先(明示的な型注釈は API の境界とエクスポートのみ)
理由が1行あるだけで、Claudeは自分で判断できる。リトライと確認のラウンドトリップが減る。
パターン4: 判断基準はテーブルで書く
トークンを浪費する書き方
## ライブラリ選定の方針
新しいライブラリを追加する前に、以下を検討してください。
GitHub のスター数が1,000以上あること。
最終コミットが3ヶ月以内であること。
TypeScript の型定義があること。
ライセンスが MIT または Apache 2.0 であること。
既存の依存関係と衝突しないこと。
バンドルサイズへの影響が許容範囲内であること。
散文の条件を毎回解析するコストが、ターンごとに乗ってくる。
効率的な書き方
## ライブラリ選定の方針
| 項目 | 条件 |
|---|---|
| スター数 | 1,000以上 |
| 最終コミット | 3ヶ月以内 |
| 型定義 | TypeScript の型あり |
| ライセンス | MIT / Apache 2.0 |
| 依存衝突 | 既存と非衝突 |
| バンドルサイズ | +50KB 以下 |
全条件を満たす場合のみ追加可。
テーブル形式は、解析が速く、読み落としも少ない。
パターン5: 強制できるルールはhooksに移す
トークンを浪費する書き方
## 安全ルール
- git push --force は絶対に使わないでください
- .env ファイルを git add しないでください
- DROP TABLE を含む SQL を実行する前に確認してください
- production の環境変数を変更しないでください
これらのルールは、CLAUDE.md に書いても Claude が忘れる ことがある。毎ターン文字列として読み込ませているのに、判断のタイミングで適用されない場合がある。
効率的な書き方
## 安全
破壊的操作の予防は cc-safe-setup のhookで強制している(CLAUDE.md側では繰り返さない)。
機械的に強制できるルールは、hookに移譲する。cc-safe-setup は破壊的コマンド、.env 漏洩、DROP TABLE などをhookで防ぐ無料の安全装置の集まり。
CLAUDE.md からの3-5行の削減が、毎ターン乗ってくる。
目安: CLAUDE.mdの適正サイズ
| 規模 | 行数 | トークン数 (目安) |
|---|---|---|
| 小規模プロジェクト | 50-100行 | 500-1,000 |
| 中規模 | 100-200行 | 1,000-2,000 |
| 大規模 (複数モジュール) | 200-300行 | 2,000-3,000 |
300行を超える場合は、パターン2 (Few-Shot) と パターン5 (hook 委譲) の整備の経路を最初に検討するのが、最大の削減の入力。
まとめ
| パターン | 核心 | 節約の仕組み |
|---|---|---|
| 許可リスト | 許可されたものを定義 | リトライループ排除 |
| 1つの例 | 良い例+悪い例を1つずつ | 品質リワーク防止 |
| 理由1行 | 15-30語で「なぜ」を説明 | エッジケース自律判断 |
| テーブル形式 | 条件→判断のテーブル | 解析速度向上、誤読減少 |
| hook委譲 | テキストでなく機械的に強制 | 重複ルール排除 |
この5パターンでCLAUDE.mdが500行から100行に圧縮される——情報を失わずに。トークン節約は毎ターン、毎セッションで複利的に効く。
まず、自分のトークン消費がどこで膨らんでいるかは、無料のトークン消費の詳しい診断で確かめられます。/cost の出力を貼るだけで、キャッシュの効き方と CLAUDE.md の常駐コストまで内訳が出ます。ブラウザの中だけで動くので、貼った内容はどこにも送信されません。自分の浪費を確かめてから、下の本で全手順を読むのが早いです。
5つのパターンの実装の続きと、トークン節約の他の20の経路(キャッシュ管理、サブエージェント、hook設計、800時間の実測の数値)は Token Book(¥2,500) にまとめています。第1章は無料で試し読みできます。6月15日の課金分離の前後の費用設計の中心の本です。
破壊的コマンドや認証情報の流出を予防する hook は cc-safe-setup(MIT、無料) で914件公開しています。
毎月の鮮度で追いたい人へ。Claude Code は毎月のように仕様が変わり、費用の膨らみ方も事故の新種も変わります。「先月から何が変わったか・今すぐ直すべき設定や貼るべき hook はどれか」を、本を読み返すのでなく暦月に1号の短い便りとして受け取りたい人には、無料の月刊まとめ Claude Code 事故まとめ(無料・月次)もあります。本は腰を据えて読む手引き、便りは毎月の鮮度で走らせる運用の線、という住み分けです。
この記事を書いたあとで、自分の CLAUDE.md(608行・3層)に同じ点検を当ててみました。出てきたのは書き方ではなく、書いたのに守られていないルールのほうでした。その記録を監査の見本として全文公開しています(無料・登録不要)。守れないことが分かったルールが2件と、削ってもほとんど費用が変わらない節が1つ、そのまま載せてあります。
同じ点検を自分の CLAUDE.md へ当てたい人は、書面の監査(¥3,980・48時間以内)も使えます。ただし正直に書くと、CLAUDE.md はキャッシュに乗るので、重複を全部消しても自分の環境では月$0.24〜$1.19しか変わりませんでした。費用の削減だけが目的なら、この監査は割に合いません。効くのは「書いたのに守られていないルール」を見つけるほうです。