Claude Code のデフォルト設定でトークンを無駄にしていた話

Claude Code を使っていて「なんかコストかかるな…」と思ったことはないでしょうか。以前、デフォルト設定のまま使い続けると推定 2 億 6,400 万トークンもの無駄が発生するという事例が話題になりました。 その後 Claude Code 自体が大幅に改善されましたが、トークン消費を意識した使い方は今でも重要です。本記事では、現在のバージョン(2026年4月時点)で有効な最適化ポイントを整理します。 ツール検索の遅延ロード(Deferred Tools) 以前の Claude Code では、すべてのツール定義がセッション開始時にコンテキストに読み込まれ、大量のトークンを消費していました。ENABLE_TOOL_SEARCH を明示設定することで改善できるという報告もありました。 現在のバージョンでは、この問題はビルトインで解決されています。 ツール定義は「遅延ロード(Deferred Tools)」方式に変わり、ツール名だけがコンテキストに載り、実際のスキーマは必要になった時点で初めてロードされます。ENABLE_TOOL_SEARCH を手動で設定する必要はありません。 プロンプトキャッシュの 5 分 TTL — 今も最大の落とし穴 Claude のプロンプトキャッシュは 5 分で期限切れになる。これは現在も変わっておらず、トークンコストに最も影響する要素だ。 5 分休憩しただけで、会話全体が再処理され、コストが 10 倍以上に跳ね上がることがある。 つまり: 長時間セッションの途中で離席する ちょっと休憩してから作業再開する 別の作業をしてから Claude Code に戻ってくる といった行動がすべて、想定外のコスト増につながる。「休憩明けの最初のメッセージが一番高い」というのは、このキャッシュ再処理が原因だ。 キャッシュを意識した作業フロー 5 分以内に次の操作を行う — キャッシュが維持される 長い離席の前にセッションを終了する — 戻ってきたら /resume で再開した方が、コンテキストが圧縮されて効率的 タスクの区切りで /compact を実行する — 手動でコンテキストを圧縮し、次のキャッシュミス時のコストを下げる コンテキスト自動圧縮を活かす Claude Code はコンテキストウィンドウの上限に近づくと、過去の会話を自動的に圧縮する。この仕組みのおかげで、長時間セッションでも会話が途切れることはない。 ただし、圧縮時にはトークンが消費される。不要にコンテキストを膨らませないことが、結果的にコスト削減になる。 コンテキストを膨らませない工夫 やりがちなこと 改善策 大きなファイルを全行読む 必要な範囲だけ offset / limit 指定で読む ビルドログをそのまま流す エラー時だけ出力を確認する 試行錯誤を同一セッションで続ける 方針が変わったら新しいセッションで仕切り直す CLAUDE.md に大量の指示を詰め込む 必要最小限に保つ(毎ターンのコンテキストに載る) 現在のビルトイン最適化機能 2026年4月時点で Claude Code に組み込まれている主なトークン最適化機能: ...

2026年4月6日 · 1 分