新規 無料登録で、呼び出し 10 回分(最大 $1)をお試しいただけます。カード登録は不要です。

Claude Code のサブエージェント別コスト:$0.17 の内訳

ゲートウェイ経由で実行した Claude Code の1回分の費用を、エージェント別に分けて確認。総請求額は $0.17 で、その72%を3つのエージェントそれぞれの初回呼び出しが占めました。初回呼び出しへの費用の集中を示す内訳と、環境変数2つで行う設定を紹介します。

推奨モデル

リアルタイム価格
モデル 評価 価格
Claude Sonnet 5.5 サブエージェントを二つ使用して11回呼び出したClaude Codeの実行コストは、コールドキャッシュでは$0.1728、その半分後ではなく半分の1分後の再実行では$0.0812でした。キャッシュ書き込みはコールドキャッシュでの実行コストの77%を占めました。 デモで使用したモデル $2/100万〜
目次
  1. Claude Code をゲートウェイ経由にするには?
  2. 追加設定なしでゲートウェイが把握できるものは?
  3. $0.17 は何にかかったのか?
  4. 2 回目の実行はいくらかかる?
  5. Claude Code が表示する費用は請求額と一致する?
  6. 開発者別やリポジトリ別に費用を分けるには?
  7. セッションをまたいでエージェントの費用を見るには?
  8. この設定で得られないものは?
  9. FAQ
  10. Claude Code の 1 セッションはいくらかかる?
  11. チームの Claude Code の費用を追跡するには?
  12. Claude Code のサブエージェントを使うと費用は増える?
  13. Claude Code の費用表示は正確?
  14. CLAUDE_CODE_GATEWAY_HINT_HEADERS は何をする?
  15. 関連記事

Claude Code はセッションの費用を表示します。ただし、セッション内のどの処理にいくらかかったかはわかりません。チームで使うようになると、請求額がどのリポジトリや開発者のものなのかも追えなくなります。Claude Code とモデルプロバイダーの間にゲートウェイを挟めば、プラグインやラッパーなしで両方を把握できます。ゲートウェイはすべてのリクエストを受け取り、Claude Code は各リクエストにセッション ID とエージェント ID を付けているからです。この記事では、小さなタスクを Synthorai ゲートウェイ経由で実行し、その結果を確認します。11 リクエストの費用は $0.1728 で、その 72% を 3 つのエージェントの初回呼び出しが占めました。

TL;DR

  • Claude Sonnet 5.5 を使い、2 つのサブエージェントを起動する Claude Code の実行は、ゲートウェイ経由で $0.1728 でした。半分ほどの 1 分、つまり 30 秒後に再実行すると $0.0812 でした。
  • 初回実行の費用の 77% はキャッシュ書き込みで、3 つのエージェントの初回呼び出しが 72% を占めました。
  • 2 つのサブエージェントはセッション費用の 39% を占めました。
  • 環境変数 2 つで Claude Code をゲートウェイ経由にできます。さらに 1 つ設定すると、各サブエージェントの種類もわかります。

コードは github.com/synthorai-io/use-cases の coding-agent-spend/ にあります。Python 3.10 以降と claude コマンドが必要です。このモデルを使うには、claude のバージョンが 2.1.280 以降である必要があります。

git clone https://github.com/synthorai-io/use-cases
cd use-cases
cp .env.example .env    # put your API key in it
cd coding-agent-spend
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python run.py --hints --label repo=shipping --label _user=dev_1

スクリプトは、テストが 1 件失敗する小さなサンプルリポジトリをコピーし、そこで Claude Code を起動します。ゲートウェイのアドレスとキーは、そのプロセスの環境変数にだけ設定します。設定ディレクトリも空にしているため、普段使っている Claude Code の設定を読み込んだり変更したりしません。1 回の実行には約 30 秒かかります。--max-budget-usd で 1 回の上限を $0.60 に設定し、累計が $2 を超える可能性のある実行は開始しません。

コンソールのセッション画面。11 回の呼び出しで $0.1728、入力 212k token、キャッシュヒット率 74.9%。クライアントは Claude Code 2.1.296、ラベルは _user dev_1 と repo shipping。エージェント一覧にはメイン会話 $0.1053、Explore サブエージェント $0.0575、custom サブエージェント $0.0101 が表示されている

この記事の数値は、2026 年 10 月 10 日に Claude Code 2.1.296 と Claude Sonnet 5.5 で実行した結果です。

Claude Code をゲートウェイ経由にするには?

環境変数を 2 つ設定します。Claude Code は Anthropic の Messages API を使い、ゲートウェイも同じ API を独自のアドレスで提供しています。

export ANTHROPIC_BASE_URL="https://synthorai.io"   # no /v1: Claude Code adds /v1/messages itself
export ANTHROPIC_API_KEY="<your gateway key>"

ほかに変更はありません。詳細は Claude Code の連携ページ にあります。設定後は、全セッションのモデル呼び出しがゲートウェイのリクエストログに記録され、コンソールでまとめて表示されます。

追加設定なしでゲートウェイが把握できるものは?

セッション、そのトレース、クライアント、各サブエージェントを把握できます。Claude Code はすべてのリクエストに自身のセッション ID を付けるため、claude の 1 回の実行がコンソール上の 1 セッションになります。セッションページにはクライアント名として「Claude Code 2.1.296」が表示されます。リクエストのトレース ID もコンソールに表示され、セッションページにはトレースの一覧が出ます。今回の実行では 6 回と 5 回の呼び出しからなる 2 つのトレースでした。「Agents in this session」テーブルでは、メイン会話と各サブエージェントの呼び出しがすでに別々の行に分かれています。

サブエージェントは、タスクの一部を担当するために Claude Code が起動する別のエージェントです。独自の指示とコンテキストを持ちます。このデモでは 2 つを使うよう指示しています。組み込みの Explore サブエージェントがルールの実装箇所を探し、カスタムの test-runner サブエージェントがテストを実行します。

デフォルトでは、サブエージェントは a05e467acd14b25e6 のような ID で表示されます。2 つあることはわかっても、どちらが何を担当したかはわかりません。環境変数をもう 1 つ設定すれば解決します。

export CLAUDE_CODE_GATEWAY_HINT_HEADERS=1
デフォルトヒント用の環境変数あり
セッション、トレース、クライアント、費用ありあり
ID ごとのサブエージェント表示ありあり
サブエージェントの種類(Explore、custom)なしあり
各呼び出しの種類と、その前に実行したツールなしあり

設定すると、テーブルに各サブエージェントの種類が表示されます。Logs で呼び出しを開くと、種類(subagent:Explore)と「Tools before this call」の一覧も確認できます。一覧には Read 7 ms のように、各ツールの名前と実行時間が表示されます。ゲートウェイが保持するのはエージェントの種類で、付けた名前ではありません。そのため test-runner は custom と表示されます。ツール名と実行時間は保持しますが、ツールが読み書きした内容は保持しません。

$0.17 は何にかかったのか?

3 つのエージェントにかかった費用で、その大半は各エージェントの初回呼び出しでした。

エージェント呼び出し数入力 tokenキャッシュヒット率費用
メイン会話6159k78.9%$0.1053
Explore サブエージェント347.5k64.7%$0.0575
custom サブエージェント(test-runner)25,32348.1%$0.0101
セッション11212k74.9%$0.1728

2 つのサブエージェントの費用は $0.0676 で、セッション全体の 39% でした。担当したのは、タスクの中でも小さな 2 つの作業です。ソースファイル 3 つのライブラリからルールを 1 つ探し、テストを 5 件実行しました。修正自体は > を >= にする 1 文字の変更でした。

理由は、実行終了時に Claude Code が表示する token 数にあります。

claude-sonnet-5-5                20 in   158612 cache read   53058 cache write   2425 out  $0.1728

このモデルの料金は、100 万 token あたり入力 $2、出力 $10、キャッシュ読み取り $0.10、キャッシュ書き込み $2.50 です。4 種類の token 数をこの料金で計算すると、次のようになります。

token の種類token 数費用割合
キャッシュ書き込み53,058$0.132677%
出力2,425$0.024314%
キャッシュ読み取り158,612$0.01599%
キャッシュされていない入力20$0.00000%

請求額の 77% はキャッシュ書き込みです。プロンプトのプレフィックスを初めて送ると、キャッシュ書き込みが発生します。料金は入力単価の 1.25 倍で、このモデルでは以後のリクエストで入力単価の 20 分の 1 で読み取れます。コーディングエージェントのプロンプトにはシステムプロンプトと全ツールの定義が含まれるため、ユーザーが何か入力する前から長くなっています。そのため、エージェントの初回呼び出しが最も高くなります。

各エージェントは独自のプロンプトで開始するため、それぞれに初回呼び出しの費用がかかります。

初回呼び出しのエージェント入力 tokenキャッシュヒット率費用
メイン会話30.0k0%$0.0772
Explore サブエージェント14.9k0%$0.0391
custom サブエージェント2,5620%$0.0077

この 3 回で $0.1240、実行全体の 72% です。それ以降の呼び出しは安くなります。Explore サブエージェントの 2 回目と 3 回目は、入力の 94% をキャッシュから読み取り、費用はそれぞれ $0.0052 と $0.0132 でした。

大量の読み取り内容をメイン会話のコンテキストに入れずに済むなら、サブエージェントのコールドスタート費用を払う価値があります。実際のコードベースで Explore を使う目的はそこにあります。1 回か 2 回の呼び出しで済む作業なら、メイン会話で処理すれば追加のキャッシュ書き込みを避けられます。今回は小さなリポジトリ 1 つの結果なので、作業方法を変える前に、自分のセッションの内訳を確認してください。

2 回目の実行はいくらかかる?

キャッシュが残っているうちに開始すれば、費用は約半分になります。同じ処理を 30 秒後に再実行しました。呼び出し数は同じ 11 回で、キャッシュから読み取った入力の割合は初回の 74.9% から 93.1% に増えました。費用は $0.1728 に対して $0.0812 でした。3 つの初回呼び出しでも、それぞれ 82%、81%、71% をキャッシュから読み取っています。開始時のプロンプトが、前の実行ですでにキャッシュに入っていたためです。

Anthropic のキャッシュはデフォルトで 5 分間保持され、読み取りのたびに保持時間が更新されます。同じリポジトリで継続的に作業する開発者なら、ほとんどはキャッシュが温まった状態の料金になります。1 時間に 1 回動く定期ジョブでは、毎回キャッシュが空の状態の料金になります。

Claude Code が表示する費用は請求額と一致する?

2.1.296 では小数点以下 4 桁まで一致しました。キャッシュが空の実行は $0.1728、温まった実行は $0.0812 で、どちらも同じです。ただし、バージョンによって異なります。Claude Code は独自の料金表で費用を計算します。10 月 8 日の時点でこのモデルを実行できた 2.1.278 では、入力と出力の単価を 100 万 token あたり $5 と $25 としていました。実際の請求単価は $2 と $10 だったため、表示額は請求額の約 2.7 倍でした。token 数は毎回、双方で一致していました。

これは設定を 1 つ使う際に影響します。--max-budget-usd は、Claude Code 自身の計算額が上限に達すると実行を止めます。古いバージョンでは、Claude Code の計算で $0.60 に達して実行が停止しましたが、請求額はその約 3 分の 1 でした。アップグレード後は一度、セッションページと表示額を照合してください。確実に守りたい上限は、請求額を集計する側、つまり API キーの支出上限として設定します。

開発者別やリポジトリ別に費用を分けるには?

各リクエストにラベルを付けます。Claude Code がすでに対応しているカスタムヘッダー用の環境変数で送れます。

export ANTHROPIC_CUSTOM_HEADERS='X-Synthorai-Metadata: {"repo":"shipping","_user":"dev_1"}'

X-Synthorai-Metadata は、ゲートウェイにラベルを渡すヘッダーです。最大 10 個の短い文字列を持つフラットな JSON オブジェクトを指定します。_user は、そのリクエストが誰のために行われたかを表すキーです。デモの --label オプションも、このヘッダーを設定しています。上のセッションページでは、両方のラベルがタグとして表示されています。

開発者ごとの値はシェルのプロファイルに、リポジトリごとの値はプロジェクトの環境変数を読み込む仕組みに設定します。すると、次の 2 つの画面で集計できます。

  • Traces の検索欄に metadata.repo = shipping を指定すると、そのリポジトリのセッションが一覧表示されます。
  • Analytics の Breakdown タブにある Cost by metadata カードでは、キーの値ごとにリクエスト数と費用を集計します。repo ならリポジトリ別、_user なら開発者別の請求額になります。

共有キー 1 つでも使えます。開発者ごとにキーを分けても同じように費用を分けられ、個別の支出上限も設定できます。その分、管理するキーは増えます。

セッションをまたいでエージェントの費用を見るには?

Analytics の Breakdown タブにある Cost by agent カードを使います。セッションページは 1 セッションの内訳を表示しますが、このカードは指定期間内の全セッションをエージェントの種類ごとに集計します。

Cost by agent カードの 2 行。Explore は 2 つで 6 リクエスト、入力 95.1k token、$0.0871。custom は 2 つで 4 リクエスト、入力 10.9k token、$0.0170

Explore × 2 と custom × 2 は、上で紹介したキャッシュが空の実行と温まった実行を、エージェントの種類ごとに合算したものです。Share 列は、指定期間の全支出に対する各行の割合です。この期間にはほかのセッションも含まれています。ヒント用の環境変数がない場合、サブエージェントの種類は送られず、「Sub-agent」という行にまとめられます。LLM エージェントのトレース の例のように、自作プログラムのエージェントが X-Agent-Id を設定すれば、送信した名前の行に集計されます。

チームの 1 週間分のセッションをこの画面で見ると、サブエージェントが請求額の大きな割合を占めているのか、小さな割合なのか、どの種類に費用がかかっているのかがわかります。

この設定で得られないものは?

span ID、カスタムエージェントの名前、簡単に実行環境を分離する方法、作業内容そのものは得られません。

  • span ID はありません。Claude Code 2.1.296 のリクエストにはセッション ID とトレース ID が表示されますが、span ID はありません。呼び出しの span 欄は「not sent」になります。分析の単位はセッション、トレース、エージェントです。
  • カスタムエージェントの名前はわかりません。すべてのカスタムサブエージェントは custom になります。複数の種類を動かして区別したい場合、手がかりはセッションページのエージェント ID だけです。
  • 実行環境を簡単に分離する方法にはなりません。--bare は、自分のプラグインや設定を使わずに Claude Code を動かす方法に見えます。ただし、サブエージェントも無効になるため、セッションにはエージェントが 1 つしかなく、内訳を分けられません。デモでは代わりに、空の CLAUDE_CONFIG_DIR で実行環境を分離しています。
  • 作業内容そのものは見られません。ゲートウェイが記録するのはモデル呼び出し、ツール名、実行時間です。ファイルの内容、差分、コマンド出力は記録しません。

FAQ

Claude Code の 1 セッションはいくらかかる?

モデル、リポジトリの規模、参加するエージェント数、キャッシュの状態によって変わります。この記事では、Claude Sonnet 5.5 と 2 つのサブエージェントで 1 文字のバグを修正しました。11 リクエストの費用は、キャッシュが空の状態で $0.1728、30 秒後の再実行で $0.0812 でした。

チームの Claude Code の費用を追跡するには?

全開発者の Claude Code に ANTHROPIC_BASE_URL を設定してゲートウェイへ向け、ANTHROPIC_CUSTOM_HEADERS で開発者とリポジトリのラベルを付けます。Claude Code に何もインストールせずに、ゲートウェイがセッション別、ラベル値別、エージェント種類別に費用を集計します。

Claude Code のサブエージェントを使うと費用は増える?

各サブエージェントは独自のプロンプトで開始し、それぞれキャッシュ書き込みの費用がかかります。Claude Sonnet 5.5 を使ったデモでは、Explore サブエージェントの初回呼び出しが $0.0391、続く 2 回が $0.0052 と $0.0132 でした。2 つのサブエージェントを合わせると、セッション費用の 39% です。その費用で独立したコンテキストを得られます。大規模な調査では効果がありますが、1 回の呼び出しで済む作業には向きません。

Claude Code の費用表示は正確?

バージョンごとに一度確認してください。Claude Code 2.1.296 は、請求額と同じ $0.1728 を表示しました。Claude Code 2.1.278 は Claude Sonnet 5.5 の料金を 100 万 token あたり $5 と $25 としていました。実際の請求単価は $2 と $10 で、表示額は請求額の約 2.7 倍でした。token 数はどちらのバージョンでも一致しました。

CLAUDE_CODE_GATEWAY_HINT_HEADERS は何をする?

Claude Code が各リクエストで追加の 3 項目を送るようになります。エージェントの種類、呼び出しの種類、その前に実行したツールの名前と実行時間です。設定しなくても、ゲートウェイはセッションと各サブエージェントを把握できますが、サブエージェントは ID でしか識別できません。

関連記事

← ユースケース