コストを効果的に管理する

Claude Code エンジニアリング 5分で読めます

Claude Code の料金は、消費したトークン量で決まります。同じチームでも、選ぶモデル・コードベースの大きさ・セッションを開きっぱなしにするかどうかで、1人あたりの金額は大きく変わります。公式ドキュメントは、企業導入での平均が「稼働日1日あたり約13ドル、1人あたり月150〜250ドル」で、利用者の90%は1稼働日あたり30ドル未満に収まる、としています。ここでは、使用量を見る方法、組織として上限を設ける方法、そしてトークン消費そのものを減らす方法を順に見ていきます。

概要

この文書が扱うのは次の3つです。使用量を追跡する組織としてコストを管理するトークン消費を減らす

まず前提を整理しておきます。Claude Code は API のトークン消費に対して課金されます。一方 Pro・Max・Team・Enterprise といったサブスクリプションプランの場合は、料金の考え方が変わります。プランでは各メンバーの「シート枠」から使用量が引かれる形になり、ドル建てで課金されるのは API 経由か、クラウドプロバイダ経由の場合です。自分がどちらに当たるかで、見る画面も設定する上限も変わります。

もう1つ、直感に反するがコストに直結する事実があります。Claude Code はリクエストのたびに会話全体を送信します。さらに、Claude がツールを使うたびに、そのツール結果を積んだ別のリクエストが飛びます。つまり「1行の質問」であっても、それまでの会話が長ければ長いほど、その1行のコストは高くなります。長時間開いたままのセッションで使用量が伸びるのは、この仕組みによるものです。

基本概念

コストを見るときに区別しておきたい概念を挙げます。

入力トークンとキャッシュ

Claude Code はプロンプトキャッシュを自動的に使います。システムプロンプトのように毎回同じ内容は、キャッシュ読み取りの安い単価で再処理されます。ただしキャッシュには有効期限(cache lifetime)があり、サブスクリプションでは1時間、使用クレジットを使い始めると5分、API キーやクラウドプロバイダ経由では既定で5分です。この時間を超えて放置したあとの最初のメッセージは、キャッシュを外して会話全体を再処理します。休憩を挟んだ直後にコストが跳ねるのはこれが理由です。

自動コンパクション

会話がモデルの入力上限に近づくと、Claude Code は古い履歴を要約して領域を空けます。これが自動コンパクションです。便利な機能ですが、/compact は要約する対象の会話を読むので、大きなコンテキストのコンパクション自体が大きなリクエストになります。区切りをつけたいだけなら、コストのかからない /clear のほうが適切です。

拡張思考(extended thinking)

拡張思考は既定で有効です。複雑な計画や推論では性能が明確に上がるためです。ただし思考トークンは出力トークンとして課金されます。既定の予算はモデルによってはリクエストあたり数万トークンに達します。深い推論が不要な作業では、ここを下げるのが効きます。

コンテキストの警告は使用量の上限ではない

「コンテキストが上限に近い」「自動コンパクトします」という警告は、プランの使用量制限に達したという意味ではありません。会話がモデルの最大入力サイズに近づいただけです。一方「セッション制限に達しました」「週次の制限に達しました」はシートベースの使用枠の話で、こちらは /model でモデルを切り替えても解消しません(枠は全モデルで共有されるため)。この2つは混同されやすいので、分けて理解しておいてください。

使い方

使用量を確認する

現在のセッションのトークン使用状況は /usage で確認します。出力は次のような形です。

Total cost:            $0.55
Total duration (API):  6m 20s
Total duration (wall): 6h 33m 10s
Total code changes:    0 lines added, 0 lines removed
Usage by model:
   claude-sonnet-4-6:  1.2k input, 5.3k output, 940.0k cache read, 50.0k cache write ($0.55)

ここに出る金額は、Claude Code が手元のトークン数に標準の定価をかけて計算したものです。キャンペーン価格や契約割引は反映されないので、実際の請求額とは一致しません。正式な金額は Claude Console の使用量ページで確認してください。なおこの合計は /clear で新しいセッションを始めるとリセットされます。

Pro・Max・Team・Enterprise のプランでは、/usage はプラン上限に対する内訳も表示します。直近の使用量をスキル・サブエージェント・プラグイン・個々の MCP サーバーごとに割り当てて、それぞれの割合を出します。長いコンテキストやキャッシュミスのように、ひとつで直近使用量の10%以上を占める挙動があると、それも表示されます。dw で直近24時間と直近7日を切り替えられます。

常時表示したい場合は、ステータスラインの設定でコンテキスト使用量を出せます。

組織として上限を設ける

どこで上限を設定するかは、組織が Claude Code をどう契約しているかで変わります。

ユーザー単位のコスト按分が必要なら、OpenTelemetry によるメトリクス出力が唯一すべての構成で使える方法です。自前の監視基盤へ、ユーザーごとのトークン数とコストをほぼリアルタイムで流し込めます。

トークン消費を減らす

効果の大きい順に並べます。

1. 作業の切れ目で /clear する

関係のない作業に移るときは /clear で会話を切ります。古いコンテキストは、それ以降のすべてのメッセージでトークンを消費し続けます。あとで戻る可能性があるなら、/rename で名前を付けてから /clear し、/resume で戻れます。

2. モデルを作業に合わせる

Sonnet はほとんどのコーディング作業を十分にこなし、Opus より安価です。Opus は複雑な設計判断や多段の推論に取っておきます。切り替えはセッション中なら /model、既定値は /config で設定します。単純なサブエージェントには、サブエージェント設定に model: haiku を指定できます。

3. 拡張思考の水準を下げる

深い推論が不要な作業では、/effort または /model の中で努力レベルを下げます。固定思考予算を持つモデルなら、環境変数 MAX_THINKING_TOKENS で予算を下げられます(例: MAX_THINKING_TOKENS=8000)。適応推論のモデルは0以外の予算を無視するので、そちらでは努力レベルを使ってください。

4. 冗長な出力をサブエージェントに逃がす

テストの実行、ドキュメントの取得、ログファイルの処理は大量のコンテキストを消費します。これらをサブエージェントに任せると、冗長な出力はサブエージェント側のコンテキストに留まり、本体の会話には要約だけが返ります。

5. フックで前処理する

Claude に見せる前にデータを絞れます。1万行のログを読ませる代わりに、フックERROR だけを抜き出して返せば、数万トークンが数百トークンで済みます。次は Bash コマンドの前に走らせて、テスト出力を失敗だけに絞る PreToolUse フックの設定例です。

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/filter-test-output.sh"
          }
        ]
      }
    ]
  }
}

設定できたかは /hooks を実行して PreToolUse の下に出ているかで確認します。claude --debug で起動してテストコマンドを走らせると、フックがコマンドを書き換えたときにデバッグログへ modified tool input keys: [command] が出ます。

6. CLAUDE.md から SKILL へ移す

CLAUDE.md はセッション開始時にコンテキストへ読み込まれます。PR レビューやデータベース移行のような特定作業向けの詳しい手順がここに書いてあると、まったく関係のない作業をしているあいだも、そのトークンが常に乗り続けますスキルは呼び出されたときだけ読み込まれるので、専門的な手順はスキルへ移すとベースのコンテキストが小さくなります。CLAUDE.md は200行以内を目安にする、と公式は書いています。

7. MCP サーバーの負荷を下げる

MCP のツール定義は既定で遅延読み込みになっており、Claude が実際にツールを使うまではツール名だけがコンテキストに入ります。何が容量を食っているかは /context で確認できます。ghawsgcloud のような CLI ツールは、ツール一覧を一切追加しないぶん、いまでも MCP サーバーよりコンテキスト効率がよい選択肢です。使っていないサーバーは /mcp で無効化してください。

8. 指示を具体的に書く

「このコードベースを改善して」のような曖昧な依頼は広範なスキャンを引き起こします。「auth.ts の login 関数に入力バリデーションを追加して」のように具体的に書けば、読むファイルは最小限で済みます。

エージェントチームのコスト

エージェントチームは複数の Claude Code インスタンスを起動し、それぞれが独自のコンテキストウィンドウを持ちます。公式は、チームメイトがプランモードで動く場合、通常のセッションのおよそ7倍のトークンを使うとしています。抑えるには、チームメイトに Sonnet を使う、チームを小さく保つ、起動時のプロンプトを絞る、作業が終わったチームメイトを終了させる、といった点が挙げられています。なおエージェントチームは既定で無効で、CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 を settings.json か環境変数に設定すると有効になります。

アイドル中も消費される分

操作していなくても、Claude Code は一部の背景処理でトークンを使います。claude --resume のために過去の会話を要約する処理や、/usage のような状態確認のリクエストです。公式によれば、これらは1セッションあたり通常0.04ドル未満です。

まとめ

要点をまとめます。

本ページは Anthropic の公式ドキュメント「Manage costs effectively」(code.claude.com/docs/en/costs)を、2026年8月4日時点の内容にもとづいて日本語でまとめた非公式の解説です。Claude Code は更新が頻繁で、コストの表示方法を含めて挙動が変わることがあります。claude --version で手元のバージョンを確認し、最新の仕様は公式ドキュメントをご参照ください。