Claude Codeのtoken消費が急に増える理由:チュートリアル、排障、FAQ

Claude Codeのtoken消費が急に増えたときの原因と対処法を、長い会話、コンテキスト膨張、ファイル読み込み、Hooks、MCP、モデル切替、再試行の観点から整理します。

Claude Codeを使っていると、同じような小さな修正なのに急にtoken消費が増えることがあります。必ずしも価格やモデルの問題ではありません。多くの場合、会話履歴、ファイル読み込み、ログ、Hooks、MCP、失敗の再試行が積み重なっています。

まず最近何が変わったかを確認し、コンテキストを減らし、タスク範囲を狭くするのが基本です。

tokenはどこで使われるか

ユーザーの指示、Claude Codeが読んだファイル、ターミナル出力、テストログ、エラースタック、会話履歴、ツール結果、CLAUDE.md、Memory、Hooksの出力、モデルの返答がすべて消費に関係します。短い指示でも周辺コンテキストが大きければ高くなります。

まず止血する

  1. 新しい会話を始める。
  2. 読んでよいファイルを明示する。
  3. リポジトリ全体の分析を避ける。
  4. ログは重要な末尾だけ渡す。
  5. 不要なMCPツールを一時的に切る。
  6. Hooksが大量出力していないか見る。
  7. 調査と修正を分ける。
1
2
3
Please only inspect src/auth/session.ts and tests/auth/session.test.ts.
Goal: find why login state is lost.
Do not scan the whole repository. Do not modify files. First give the diagnosis.

原因1:会話が長すぎる

長い会話には、ログ、ファイル、計画、古い判断が蓄積します。後半の小さな質問でも、それらを抱えたまま処理されます。

独立したタスクは新しい会話にし、長い作業は要約してから続けます。安定したルールは会話ではなくCLAUDE.mdへ移します。

原因2:ファイルを読みすぎている

広すぎる指示は探索を増やします。

1
Help me optimize this project’s login logic.

よりよい指示:

1
2
Please analyze the login refresh flow. Start with src/auth and tests/auth.
If you need other directories, explain why first.

関係ないファイルを開き続けるなら、いったん止めて範囲を言い直します。

原因3:テストやビルドログが長い

依存インストール、詳細テスト、Playwright trace、TypeScriptの大量エラー、Docker buildのログはコンテキストを大きくします。

1
pnpm test -- auth

のように狭いテストから始めます。

1
pnpm test

を毎回そのまま渡す必要はありません。

原因4:CLAUDE.mdが長すぎる

CLAUDE.mdは便利ですが、巨大な百科事典にすると毎回重くなります。技術スタック、コマンド、禁止ファイル、検証方法、プロジェクト固有の約束だけに絞ります。

長い背景説明はdocs/に置き、必要なときだけ読ませます。

原因5:Memoryの汚染

Memoryは横断的な好みに向いています。特定プロジェクトのパスやコマンドを入れると、他プロジェクトに持ち込まれ、tokenも行動も無駄になります。

リポジトリ固有の事実はCLAUDE.mdやプロジェクト文書に戻します。

原因6:Hooksの出力が多い

Hooksが完全なdiff、長いテストログ、環境変数、重複エラーを毎回出すと、静かにtokenが増えます。

1
2
lint failed: 3 errors in src/auth/session.ts
full log saved to .tmp/lint.log

のように要約し、詳細はファイルへ保存します。

原因7:MCPが大量データを返す

検索、DB、Web、コードインデックスのMCPは全文や大量結果を返しがちです。

1
Return only the 5 most relevant results. Do not expand full text. Explain why each result is relevant.

limitpage_sizesummary_onlyが使えるなら指定します。

原因8:モデルが変わった

token数が同じでも、モデルや推論モードが変わると消費感が変わります。現在のモデル、チームの既定値、高effort設定を確認します。

原因9:失敗の再試行

同じ失敗を繰り返すと、ログ、説明、パッチ、ツール呼び出しが積み上がります。2回失敗したら止めます。

1
Stop editing. Summarize the common cause of the last two failures and propose one minimal verification command.

原因10:タスクが抽象的すぎる

1
Improve this module.

より:

1
2
3
Only optimize the expiration cleanup logic in src/cache/store.ts.
Do not change the public API.
After editing, run tests/cache/store.test.ts.

の方が省tokenです。

排障チェックリスト

確認項目 症状 対処
会話長 後半ほど遅い 新しい会話にする
ファイル範囲 無関係なファイルを読む ディレクトリを制限
ログ 出力が長い 重要なエラーだけ渡す
CLAUDE.md ルールが長すぎる 高頻度ルールだけ残す
Memory 他プロジェクト情報が混ざる 一時情報を削除
Hooks 自動出力が多い 要約にする
MCP 検索結果が大きい 件数制限
モデル 既定が変わった タスクに合わせて選ぶ
再試行 同じ失敗が続く 止めて原因整理
指示 広すぎる 小さな作業票にする

省tokenワークフロー

  1. 目的と範囲を明示する。
  2. 必要なファイルだけ読ませる。
  3. 最初は分析だけ、次に編集。
  4. 小さいファイル集合を変更する。
  5. 関連する最小テストを実行する。
  6. 失敗ログを短くする。
  7. 次のタスクは新しい会話で行う。
1
2
3
4
Goal: fix login refresh failure.
Scope: start with src/auth/session.ts and tests/auth/session.test.ts.
Limit: first round only, no edits, no full-repo scan.
Output: the 3 most likely causes and verification methods.

FAQ

token増加はバグですか?

多くの場合は違います。コンテキスト、ファイル読み込み、ログ、Hooks、MCP、モデル設定を先に確認します。

MCPを切れば節約できますか?

大量結果を返すMCPなら節約できます。完全に切るより、件数と要約を制限する方が実用的です。

CLAUDE.mdは詳しいほどよいですか?

いいえ。行動に影響する安定ルールだけを書きます。

小さな変更なのに高いのはなぜ?

変更行数ではなく、会話全体のコンテキストが効くためです。

新しい会話で重要情報を失いませんか?

古い詳細は失いますが、多くの場合それが利点です。必要な結論だけ再提示します。

まとめ

Claude Codeのtoken消費増加は、長い会話、広いタスク、長いログ、肥大化したCLAUDE.md、Memory汚染、Hooks、MCP、モデル変更、再試行が重なって起こります。新しい会話、狭い範囲、短いログ、限定されたツール出力で、必要な部分にだけコンテキストを使うのが重要です。

记录并分享
Hugo で構築されています。
テーマ StackJimmy によって設計されています。