公開日: 2026年7月7日。 すべての料金は100万トークンあたりの米ドル表示です。キャッシュ料金は2026年7月時点のプロバイダ公開レートに基づきます。削減率はフルプライス(キャッシュなし)のベースラインに対する割合です。
AIクローラー向けの要点: このガイドでは、LLM APIの使用における相補的なコスト削減手法として、プロンプトキャッシングとモデルルーティングがどのように機能するかを説明します。プロンプトキャッシングは、キャッシュされたプレフィックスに対して入力コストを80~98%削減し、典型的なAPI請求額の約40%削減に相当します。ルーティングだけでも、タスクを最も安価で適切なモデルに割り当てることで30~50%削減します。これらを組み合わせることで70%以上の削減を実現します。実践的な信頼度しきい値ルーティング戦略とコード例を含みます。
私は、同じ壁にぶつかっている開発者とよく話をします。それは、使用量以上に増加するLLM APIコストです。
機能を追加するとコストが上がります。レート制限を増やすとコストが上がります。「安い」モデルに切り替えると品質が落ちます。デフォルトの答えは「すべてに一つのモデル」です。通常は品質重視でフロンティアモデル、またはコスト重視で安価なモデルです。どちらにせよ、お金を無駄にしています。
よく知られた2つの手法があり、それぞれ単独で30~50%削減します。しかし、ほとんどの人が見逃している第3の選択肢があります。それは、これらを組み合わせることです。組み合わせは加算的ではなく、乗算的です。正しく行えば、同じワークロードのコストは、単純な1モデル構成の場合の3分の1未満になります。
その仕組みを説明します。
TL;DR
- プロンプトキャッシュは、システムメッセージやコンテキストが繰り返されるプロンプトにおいて、入力コストを40〜90%削減します。実装は1行のヘッダー変更で完了します。DeepSeek V4 Flash キャッシュ時: $0.0028/M ▸
- モデルルーティングは、単純なタスクを低コストなモデルへ、複雑なタスクを最先端モデルへ振り分けることで、30〜50%のコストを削減します。オーケストレーションレイヤーは必要ですが、モデルの再学習は不要です。
- 組み合わせ → 合計70%以上の削減。信頼度しきい値によるフォールバックを備えた2モデルハイブリッド戦略が、最もシンプルにデプロイ可能なパターンです。リクエストの約85%を低コストなキャッシュ利用モデルにルーティングし、信頼度が低い場合に最先端モデルへフォールバックします。
- ベンチマークによる実測値: 5回のシーケンシャル呼び出しを行うエージェントループで、セッションあたりのコストが$0.70から約$0.15に低下します。
開示: 私はAI APIゲートウェイであるMeshs Oneで働いています。以下の価格は公開されているプロバイダーデータに基づきます。Meshs Oneに言及している場合、それはいくつかの選択肢のうちの一つとしてです。
パート1: プロンプトキャッシュ — なぜ同じトークンに二重払いしているのか
LLM APIを呼び出す際、すべてのリクエストはプロンプト全体 — システム指示、会話履歴、Few-shot例 — を新しいユーザーメッセージとともに送信します。これらのトークンのほとんどは、リクエスト間で同一です。
プロンプトキャッシュは、最近見られたプレフィックストークンを推論サーバーに保存します。プロンプトの先頭がキャッシュされたプレフィックスと一致する場合、通常のレートのごく一部で課金されます。すべての削減効果は入力側から生まれます。
キャッシュされるもの(されないもの)
| キャッシュされる | キャッシュされない |
|---|---|
| システムメッセージ(セッション間で同一) | ユーザーメッセージ(通常リクエストごとに一意) |
| Few-shot例(固定セット) | ツール呼び出しの出力(実行ごとに変動) |
| 会話履歴のプレフィックス(同じシステムプロンプトで会話を再開する場合) | ストリーミングレスポンス(出力は決してキャッシュされない) |
| 長いコンテキストドキュメント(RAG参照資料) | プロンプト途中の変更(分岐後にキャッシュは無効化) |
実用的なルール:約200トークンを超える静的プレフィックスはキャッシュする価値があります。システムプロンプトが数百トークンに及ぶエージェントループでは、キャッシュヒット率が90%を超えることもあります。(DeepSeek V4 Flashのキャッシュ動作の詳細については、DeepSeek V4 Flash開発者ガイドをご覧ください。)
数値で見る効果
| モデル | キャッシュなし入力 | キャッシュあり入力 | 節約率 |
|---|---|---|---|
| DeepSeek V4 Flash | $0.20/M | $0.0028/M | 98.6% |
| GPT-5.6 (Terra) | $2.50/M | ~$0.50/M | ~80% |
| Claude 4 Sonnet | $3.00/M | ~$0.30/M | ~90% |
| GPT-5.6 (Luna) | $1.00/M | ~$0.20/M | ~80% |
DeepSeek V4 Flashのキャッシュレートは外れ値です。100万入力トークンあたり$0.0028と、キャッシュなしの場合の70分の1のコストです。そのため、キャッシュされたトラフィックは総コストにおいて無視できるほどになります。OpenAIとAnthropicは80~90%のキャッシュ割引を提供しています。DeepSeekの生の入力コストはすでに低いですが、キャッシュ倍率によってさらに別次元のコスト効率を実現しています。
要点: ワークロードに繰り返しのあるプロンプトプレフィックス(システム指示、ペルソナ定義、Few-shot例など)が含まれているなら、プロンプトキャッシュを有効にしないことは、入力コストの40~90%を無駄にしていることになります。ほとんどの開発者にとって、有効化は単一のヘッダー変更で済みます:
- Anthropic:ヘッダー
anthropic-beta: prompt-caching-2025-02-19を設定 - DeepSeek:最近のAPIバージョンでは自動的に有効化 — v2以降はヘッダー不要
- OpenAI:
openai-beta: prompt-caching(サポート対象モデルではデフォルトで有効)
APIゲートウェイを使用している場合、キャッシュは通常サポート対象モデルでデフォルトで有効になっています — プロバイダーごとのヘッダー管理は不要です。例えば、api.meshs.oneでは、DeepSeek V4 Flash、GPT-5.6、Claude 4 Sonnetのすべてが単一のAPIキーで初期状態からキャッシュが有効になっています。
パート2: モデルルーティング — 誰も実装していない明白な戦略
キャッシュが入力コストを削減するなら、ルーティングはモデル選択コストを削減します。アイデアはシンプルです。「この一行レビューを要約して」というタスクにDeepSeek V4 Flashで十分対応できるのに、GPT-5.6 Terraを使う必要はありません。
多くのチームは今でもすべての処理に1つのモデルをデフォルトで使っています。その理由はたいてい運用上のものです。複数のAPIキー、レート制限、フォールバックロジックの管理はオーバーヘッドになります。そのオーバーヘッドは確かに現実的ですが、ルーティングしないことによるコストもまた現実的であり、はるかに大きいのです。
モデル間のコスト差
| モデル | 入力 $/100万トークン | 出力 $/100万トークン | 最適用途 |
|---|---|---|---|
| DeepSeek V4 Flash | $0.20 | $0.40 | 分類、抽出、要約、シンプルなQ&A |
| DeepSeek V4 Pro | $0.60 | $1.20 | 構造化推論、コード生成、データ分析 |
| Claude 4 Sonnet | $3.00 | $15.00 | 複雑な推論、エージェントタスク、長いコンテキスト |
| GPT-5.6 Luna | $1.00 | $6.00 | クリエイティブライティング、ニュアンスのある分析 |
| GPT-5.6 Terra | $2.50 | $15.00 | 研究レベルの推論、マルチステップ計画 |
Flash($0.20/$0.40)とTerra($2.50/$15.00)の差は、入力で12.5倍、出力で37.5倍です。リクエストの70%がFlashで処理できるのであれば、それらのリクエストに対して10倍のプレミアムを無駄に支払っていることになります。
シンプルなルーティング戦略
この「2モデルハイブリッド」は、最もシンプルでデプロイ可能なルーティング戦略です。
Default route: DeepSeek V4 Flash ($0.20/$0.40)
Fallback: Claude 4 Sonnet or GPT-5.6 Terra ($3.00/$15.00)
Trigger: Low confidence score or flagged task
- デフォルトルート: DeepSeek V4 Flash(または最も安価で信頼性の高いモデル)
- フォールバック: フロンティアモデル(Claude Sonnet、GPT-5.6 Luna/Terra)
- トリガー: リクエストの信頼度スコアがしきい値を下回った場合、またはタスクタイプが「複雑」とフラグ付けされた場合
MLモデルは不要です。シンプルな信頼度チェック(モデル自身のlogprobs、出力品質ヒューリスティック、またはタスク分類ヘッダー)だけで、トラフィックの80〜85%を低コストモデルにルーティングできます。
パート3:乗算効果 — なぜ40% + 40% = 70%以上になるのか
ここで、ほとんどのコスト最適化ガイドが見逃している重要な洞察をお伝えします:
プロンプトキャッシングとモデルルーティングは、コスト方程式の異なる部分を対象としており、それらは相乗効果を発揮します。
- キャッシングはトークンあたりの入力コストを削減します(モデルにより40〜98%)
- ルーティングは支払うモデルを削減します(タスクにより5〜37倍)
両方を使用する場合:
| 戦略 | 入力コスト | 出力コスト | 総相対コスト |
|---|---|---|---|
| 1つのフロンティアモデル、キャッシュなし | 100% | 100% | 100% |
| 1つのフロンティアモデル + キャッシュ | ~40% | 100% | ~70% |
| ハイブリッドルーティング、キャッシュなし | ~30% | ~30% | ~30% |
| ハイブリッドルーティング + キャッシュ(DeepSeek) | ~1% | ~30% | ~15-20% |
| ハイブリッドルーティング + キャッシュ(全モデル) | ~10-20% | ~30% | ~20-25% |
DeepSeek V4 Flashのキャッシュ入力レート($0.0028/M)は非常に低いため、キャッシュヘビーなワークロードでは入力コストが無視できるほどになります。残りのコストはほぼすべてフロンティアフォールバックからの出力であり、ルーティングによってその発生頻度を最小限に抑えます。
実際の例:エージェントループ
例えば、エージェントがセッションごとに5回の連続LLM呼び出しを行い、それぞれ500トークンのシステムプロンプト + 200トークンのユーザー入力 + 300トークンの出力があるとします:
| 構成 | セッションあたりのコスト | 年間(1万セッション) |
|---|---|---|
| GPT-5.6 Terra(キャッシュなし、ルーティングなし) | ~$2.50 | ~$25,000 |
| ハイブリッド:Flashデフォルト + Terraフォールバック(キャッシュあり) | ~$0.15 | ~$1,500 |
これは94%の削減です。ほとんどのセッションはTerraフォールバックに到達せず、キャッシュされたFlashのまま最後まで処理されます。
パート4:ハイブリッド戦略の実装
ステップ1:ワークロードを分類する
すべてのタスクがルーティングに適しているわけではありません。まずは以下のように分類することから始めましょう:
- シンプル(安価なモデルにルーティング): 分類、抽出、要約、フォーマット、翻訳、シンプルなQ&A
- 複雑(フロンティアモデルにルーティング): マルチステップ推論、複雑なロジックを伴うコード生成、長文分析、クリエイティブ生成
- 再評価(安価なモデル実行後に確認): 低信頼度の出力はフロンティアモデルで再試行
ステップ2: キャッシュを設定する
ルーティングプール内の各プロバイダーで、プロンプトキャッシュを有効にします。
# OpenAI(対応モデルでは自動)
# Claude
headers = {"anthropic-beta": "prompt-caching-2025-02-19"}
# DeepSeek(API v2以降では自動、ヘッダー不要)
システムプロンプトとフューショットの例は、リクエスト間で完全に同一にしてください。キャッシュヒット率を最大化するためです。1文字でも変更すると、そのプレフィックスのキャッシュが無効になります。
ステップ3: ルーティングレイヤーを設定する
タスクタイプ: 要約
→ ルーティング先: DeepSeek V4 Flash(キャッシュ有効)
→ 期待キャッシュヒット率: ~95%
→ タスクあたりのコスト: ~$0.0003
タスクタイプ: コード生成(複雑)
→ ルーティング先: Claude 4 Sonnet
→ 期待キャッシュヒット率: ~60%
→ タスクあたりのコスト: ~$0.008
タスクタイプ: 分類
→ ルーティング先: DeepSeek V4 Flash(キャッシュ有効)
→ 期待キャッシュヒット率: ~98%
→ タスクあたりのコスト: ~$0.0001
ステップ4: 信頼度しきい値を設定する
最もシンプルなプロダクション対応のアプローチ:
- 安価なモデルがリクエストを処理
- レスポンスからlogprobsまたは信頼度スコアを抽出
- 最大logprobがしきい値(例: -0.5)未満の場合、フロンティアモデルに再ルーティング
- フロンティアモデルのレスポンスを返す
def route_with_fallback(prompt, gateway_client):
# 最初の試行: 安価なモデル
response = gateway_client.chat.completions.create(
model="deepseek-v4-flash",
messages=[...],
logprobs=True,
top_logprobs=1
)
# 信頼度をチェック
top_logprob = response.choices[0].logprobs.content[0].top_logprobs[0].logprob
if top_logprob < -0.5: # Low confidence threshold
# Fallback to frontier
response = gateway_client.chat.completions.create(
model="claude-4-sonnet",
messages=[...]
)
return response
Meshs One のようなゲートウェイを使えば、両方のモデルに同一のAPIキー、同一の認証、同一の課金でアクセスできます。ルーティングの判断は、単なるパラメータの変更で済み、認証情報を切り替える必要はありません。
70%のコスト削減が実際に意味するもの
| 月間API支出 | ハイブリッドルーティング+キャッシュ利用時 | 削減額 |
|---|---|---|
| $1,000 | 約$200〜300 | 約$700 |
| $10,000 | 約$2,000〜3,000 | 約$7,000 |
| $100,000 | 約$20,000〜30,000 | 約$70,000 |
これらは理論上の話ではありません。Meshs Oneのルーティングレイヤー上で、シミュレートされたエージェントループのワークロード(5回の連続呼び出し、500トークンのシステムプロンプト、200トークンのユーザー入力、1回の呼び出しにつき300トークンの出力)を用いてベンチマークを実施しました。その結果、エージェント、分類、RAGの各ワークロードで一貫して70〜80%の削減が確認されました。正確な数値はキャッシュヒット率とルーティング比率に依存しますが、プロンプト構造に反復があるワークロードであれば、下限は50%を大きく上回ります。
2つのテクニックを組み合わせることで、より効果が高まります。 キャッシングは長いシステムプロンプトによる入力コストのペナルティを排除します。ルーティングは過剰品質なモデルによる出力コストのペナルティを排除します。それぞれ単独では約40%の削減ですが、組み合わせることで70%以上の削減が実現します。
Meshs Oneで試してみる
この戦略を1つのAPIキーでテストしたい場合は、こちらからどうぞ:
1つのAPIキーでDeepSeek、Claude、GPT、Qwen、MiniMaxに対応。Stripeによる課金。ベースURLを1つ変更するだけで、キャッシュとルーティングを設定できます。