この記事でわかること
Claude CodeやCodexのようなAIコーディング支援ツールは、便利な反面「気づいたらトークンをかなり消費していた」という声がよく聞かれます。原因の多くは、1回のやり取りごとに何が読み込まれているかが見えづらいことにあります。この記事では、Anthropicの公式ドキュメント「Manage costs effectively」(code.claude.com)などをもとに、費用を抑えるための具体的な見直しポイントを整理します。
そもそも何がトークンを消費しているのか
Claude Codeの公式ドキュメントによると、セッションを開くと同時にシステムプロンプト、CLAUDE.mdの内容、MCPサーバーのツール一覧、直近のgit情報などが自動的にコンテキストへ読み込まれます(Explore the context window)。さらに会話が進むほど、ツールの実行結果や過去のやり取りがすべて次のリクエストに乗って送られるため、セッションが長くなるほど1メッセージあたりのコストも上がっていきます。これはCodex CLI側でも同様で、AGENTS.mdの内容やMCPサーバーのツール定義が毎ターン注入される構造になっている、という指摘があります(apidog.comの解説)。
1. CLAUDE.md / AGENTS.mdを軽くする
CLAUDE.mdはセッション開始時に必ず読み込まれるファイルです。公式ドキュメントのベストプラクティスは「CLAUDE.mdは200行程度に収め、本当に必要な情報だけを残す」ことを推奨しています。細かい作業手順は本体に書かず、必要なときだけ読み込まれる「Skills」に切り出すと、普段の会話ではその分のトークンを消費せずに済みます。
2. セッションはタスクごとに区切る
無関係な作業に移るときは/clearで会話を空にするのが基本です。公式ドキュメントは「長時間開いたままのセッションは、実際の作業量以上にトークンを消費しやすい」と説明しており、会話履歴が長いままだと、ちょっとした質問1つでも過去のやり取り全体を読み直すコストがかかるとしています。逆に/compactは要約のために会話全体を読み込む処理なので、こまめな/clearのほうが軽く済むケースが多いとされています。
3. MCPサーバーは「つなぎっぱなし」にしない
MCPサーバーを複数接続していると、使っていないサーバーのツール一覧まで毎回コンテキストに乗ります。公式ドキュメントは/contextで内訳を確認し、/mcpで使っていないサーバーを無効化することを勧めています。GitHubやSlackなど汎用CLI(ghコマンドなど)で代替できる操作は、MCP経由よりCLI直接呼び出しのほうがツール定義の分だけ軽い、という指摘もあります。
4. 依頼の粒度を絞る
「コードベース全体を改善して」のような曖昧な依頼は、AIが広範囲を探索する原因になります。「auth.tsのログイン処理に入力チェックを追加して」のように対象を絞ると、読み込むファイルの数が減り、結果的にトークン消費も抑えられます。
5. 冗長な出力は下処理で削る
テストログのような大量出力をそのままAIに読ませると、それだけで数千〜数万トークンを消費します。公式ドキュメントでは、PreToolUseフックでテスト出力をgrepし、エラー行だけを渡す設定例が紹介されています。フィルタ済みの情報だけを渡す発想は、Claude Code以外のツールを使う場合にも応用できます。
6. 拡張思考(thinking)の設定を見直す
複雑な設計判断には拡張思考が有効ですが、思考トークンは出力トークンとして課金対象になります。単純な作業では/effortで推論の深さを下げたり、/configで拡張思考を無効化したりすることで、無駄な思考コストを避けられます(コマンド名・仕様は2026年8月時点のもので、バージョンにより変わる可能性があります)。
7. モデルの使い分け
すべての作業を最上位モデルで処理する必要はありません。公式ドキュメントも「Sonnetは大半のコーディング作業をこなせ、Opusより低コストで済む」とし、複雑な設計判断だけOpusに任せる運用を勧めています。サブエージェントを使う場合も、単純な処理には軽量モデルを指定できます。
以上の7点は、いずれも「何が毎回読み込まれているか」を意識するという1つの発想に集約されます。使っているツールの設定画面や/contextのような可視化コマンドを一度確認してみると、削れる部分が見えてくるはずです。