ホーム / ドキュメント / コスト管理

コスト管理

エージェントのワークロードでトークンが実際に消費される箇所と、料金を左右する要因。

コーディングエージェントを丸一日の勤務時間にわたって動かしたことがあれば、その請求額を見たことがあるはずです。エージェントのループは、通常のチャットとは比較にならないほどトークンを消費します。読み込んだすべてのファイル、すべてのツール結果、すべての差分がコンテキストに入り、次のターンで再送されるためです。

高価なのは出力トークン

どの最先端モデルでも、出力のコストは入力の4~5倍です。最終回答で思考過程を長々と述べるモデルは、簡潔に答えるモデルよりも速くコストを消費します。意識的に上限を設定する対象は max_tokens とし、日常的な作業には簡潔に回答するモデルを優先してください。

モデル入力:ドル/百万トークン出力:ドル/百万トークン比率
claude-opus-4-8$3$155×
claude-sonnet-4-6$0.90$4.505×
claude-haiku-4-5$0.40$25×
gemini-3-flash$0.20$1.206×

コストを抑える主な方法

  1. タスクに応じて振り分ける。 分類、抽出、ルーティングにOpusは必要ありません。Haikuなら、およそ七分の一の料金で処理できます。最上位モデルは、推論を多く必要とする作業に使ってください。
  2. プロンプトキャッシュ。 固定のシステムプロンプトやツール定義は、入力料金の一部に相当する低コストでキャッシュから再読み込みされます。エージェントでは、これが最も効果の大きい方法です。参照先は プロンプトキャッシュ.
  3. ターンごとにコンテキストを削減する。 会話履歴全体を再送せず、直近のターンと随時更新する要約を保持してください。コンテキストが際限なく増えると、$2のセッションが$20のセッションになってしまいます。
  4. ループに上限を設ける。 自律実行には厳格なステップ数の上限を設定し、行き詰まったエージェントが無限にループしないようにしてください。

実行前の見積もり

IN_RATE  = {class="s">"claude-opus-4-8": 3.0,  class="s">"claude-sonnet-4-6": 0.9, class="s">"claude-haiku-4-5": 0.4}
OUT_RATE = {class="s">"claude-opus-4-8": 15.0, class="s">"claude-sonnet-4-6": 4.5, class="s">"claude-haiku-4-5": 2.0}

def cost(model, tok_in, tok_out):
    return tok_in / 1e6 * IN_RATE[model] + tok_out / 1e6 * OUT_RATE[model]

print(cost(class="s">"claude-opus-4-8",   20_000, 2_000))   class=class="s">"c"># 0.09
print(cost(class="s">"claude-sonnet-4-6", 20_000, 2_000))   class=class="s">"c"># 0.027
print(cost(class="s">"claude-haiku-4-5",  20_000, 2_000))   class=class="s">"c"># 0.012

入力20K・出力2Kの同じタスクでも、OpusのコストはHaikuの7.5倍です。分類タスクであれば、その追加コストに見合うメリットはありません。

実行後の測定

すべてのレスポンスには usage オブジェクトです。リクエストIDとタスクの種類に紐付けてログに記録してください。これがなければ、コスト最適化は推測頼みになります。ゲートウェイのダッシュボードにはモデル別の使用量が表示されますが、リクエストが*なぜ*行われたかを把握できるのは、自分で記録したログだけです。

コストがかさむ最も一般的なミスは、モデルの選択ではありません。長いエージェントセッションで、増え続ける会話履歴を毎ターン再送することです。まずコンテキストの増加を抑え、その後でモデルを調整してください。