クイック回答: プロンプトキャッシング(Prompt Caching)は、リクエスト間でKVキャッシュのテンソルを再利用することで、LLM APIの入力コストを50%〜90%削減し、初回トークン生成時間(TTFT)を最大85%短縮します。Anthropicは明示的なブレークポイントで90%の読み取り割引(1,024トークン以上)を提供。OpenAIは書き込み追加料金なしで自動50%割引を適用。DeepSeekは64トークンの超低閾値と永続NVMe保存により80%〜90%の圧倒的なコスト削減を実現します。
1. はじめに:ステートレスLLM APIにおける「状態の経済学」
現代の大規模言語モデル(LLM)APIは、設計上ステートレス(無状態)原則に従っています。/v1/chat/completions や /v1/messages に対するすべてのHTTP POST リクエストは、過去の会話履歴、システムプロンプト、ツール定義、参考ドキュメントをすべて含めて送信する必要があります。ステートレス設計はGPUクラスタの負荷分散や水平スケーリングを容易にする反面、マルチターン型のエージェントワークフローでは莫大な計算コストとAPI費用の増大を引き起こします。
Claude Code、Roo Code、Aider、Devin、あるいはエンタープライズ向けRAGシステムなどの自律型エージェントループでは、エージェントはステップごとに同一のシステム指示、OpenAPIスキーマ、Model Context Protocol(MCP)定義、リポジトリのコンテキストを繰り返し送信します。一般的な15ターンのコーディングタスクでは、送信されるトークンの 95%〜98%がすでに過去に処理された静的プレフィックス です。
従来の課金モデルでは、クラウドプロバイダーはリクエストごとに全トークンに対して基本入力料金を課金し、推論クラスタは変化しないコンテキストに対して重い行列乗算(Prefillフェーズ)を毎回実行していました。プロンプトキャッシング(Prompt Caching) はこの非効率を根本から解消します。静的プレフィックスの事前計算された Key-Value(KV)アクティベーションテンソル を高速GPUメモリ(HBM)、ホストRAM、または高速NVMe SSDに保持することで、推論エンジンは重複するPrefill計算を完全にバイパスします。
体系的なプロンプトキャッシングを導入した開発チームは、日常的に API請求額を60%〜88%削減 し、同時に初回トークン生成時間(TTFT)を数秒から数百ミリ秒に短縮しています。
2. アーキテクチャ解説:KVキャッシュの仕組みとPrefillの計算ボトルネック
プロンプトキャッシングの経済性を理解するには、モダンなAIアクセラレータ(NVIDIA H100/B200、Google TPU v5e/v6eなど)におけるTransformerの推論物理を理解する必要があります。
従来のステートレス推論パイプライン:
[静的システムプロンプト + ツールスキーマ + 履歴 (64,000トークン)]
│
▼
[完全Prefillフェーズ (O(N²) FLOPs)]
稠密行列積で全Q, K, Vアクティベーションを再計算
│
▼
[初回トークン生成 (TTFT: 2.8秒)]
[コスト: 通常入力単価 × 64,000トークン]
プロンプトキャッシング有効時の推論パイプライン:
[静的プレフィックス (60,000トークン)] ──► [プレフィックスハッシュ完全一致!] ──► [KVテンソルを直接読込]
│ (行列計算をバイパス)
[動的クエリ (4,000トークン)] ──► [差分のみPrefill計算] ─────────┤
▼
[初回トークン生成 (TTFT: 0.35秒)]
[コスト: キャッシュ読取単価×60k + 通常単価×4k]
アテンション機構の計算ボトルネック
標準的なマルチヘッド自己アテンションにおいて、入力トークンは次元 $d_k$ の Query ($Q$)、Key ($K$)、Value ($V$) 行列に射影されます:
$$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
Prefill(プリフィル)フェーズ では、GPUは入力プロンプトの全トークンを並列処理します。自己アテンションは全トークンペア間の相互関係を計算するため、計算量(FLOPs)はシーケンス長 $N$ に対して二乗で増加します:
$$\text{FLOPs}_{\text{prefill}} \approx 2 \cdot P \cdot N^2 + 4 \cdot N \cdot d_{\text{model}} \cdot d_{\text{ffn}}$$
ここで $P$ はモデルパラメータ数です。70Bパラメータモデルで64,000トークンのプロンプトを処理する場合、Prefillフェーズだけで約 $5.8 \times 10^{14}$ 回の浮動小数点演算が必要になります。
Decode(生成)フェーズ では、トークンが1つずつ逐次出力されます。過去のトークンを再計算しないよう、各層のKeyとValueの活性化ベクトルをメモリに保存します。これが KVキャッシュ(KV Cache) です。$L$ 層、$H_{kv}$ 個のKVヘッド、ヘッド次元 $D$ を持つモデルの1トークンあたりのメモリ消費量は以下の通りです:
$$\text{Memory}_{\text{KV}} = 2 \times 2 \times L \times H_{kv} \times D \quad \text{(FP16 / BF16形式のバイト数)}$$
GQA(Grouped-Query Attention)やMLA(Multi-Head Latent Attention)を採用した最新モデルでも、10万トークンのコンテキストは同時接続セッションあたり1.2GB〜4.8GBのメモリを消費します。
プロンプトキャッシングは、このリクエスト内KVキャッシュをリクエスト間をまたぐ共有レイヤーへと拡張します。受信したプロンプトの暗号学的ハッシュがサーバー上の既存KVブロックと一致した場合、推論クラスタは保存されたKVテンソルを即座に読み込み、莫大なPrefill計算を完全に回避します。
3. 主要3社のアーキテクチャ比較:Anthropic vs OpenAI vs DeepSeek
各社のアプローチは、最小トークン閾値、TTL(キャッシュ有効期限)、書き込み加算、読み取り割引率において大きく異なります:
| 設計項目 | Anthropic Claude | OpenAI (GPT-4o / o1 / o3) | DeepSeek (V3 / V4 / R1) |
|---|---|---|---|
| 起動方式 | 明示的ブレークポイント (cache_control) |
完全自動プレフィックス一致 | 完全自動プレフィックス一致 |
| 最小キャッシュ閾値 | 1,024トークン (Sonnet/Opus) 2,048トークン (Haiku) |
1,024トークン | 64トークン (KVブロック単位) |
| ブロック粒度 | 指定ブレークポイント (1リクエスト最大4個) | 1,024超過後は128トークン刻み | 64トークンのハードウェア境界に完全整合 |
| キャッシュ有効期間 (TTL) | 5分間 (デフォルト) 1時間 (拡張TTL) |
5〜10分間 (LRU動的退避) | 数時間〜永続 (NVMe多層階層) |
| TTL更新トリガー | キャッシュヒットごとに5分/1時間延長 | 後続アクセスで動的維持 | 高速ストレージ層で長時間保持 |
| 書き込み追加料金 | +25% (5m TTLで1.25x) +100% (1h TTLで2.0x) |
$0.00 (通常入力単価の1.0x) | $0.00 (通常入力単価の1.0x、追加費用なし) |
| 読み取り割引率 | 90%割引 (通常単価の0.10x) | 50%割引 (通常単価の0.50x) | 75%〜90%割引 (通常単価の0.10x〜0.25x) |
| ストレージ料金 | 書き込み加算に含まれる | 無料 | 無料 (NVMeオフロード) |
| 初回遅延短縮 (TTFT) | 最大85%短縮 | 最大50%短縮 | 最大80%短縮 |
各プロバイダーの特徴詳細
#### 1. Anthropic Claude(高精度明示型)
Anthropicは "cache_control": {"type": "ephemeral"} を明示的に指定する方式を採用しています。
- ブレークポイント: 1つのリクエスト内で最大4個まで設定可能。
- 閾値: Sonnet/Opusは1,024トークン、Haikuは2,048トークン以上で有効化。
- 費用: 初回書き込み時に25%のプレミアム(Sonnetで$3.75/1M)が発生しますが、5分以内の後続ヒット時は $0.30/1M(90%割引) と破格の価格になります。
#### 2. OpenAI(ゼロコンフィグ自動型) GPT-4o、o1、o3-miniにおいて、事前の設定なしに自動でプレフィックスキャッシュが働きます。
- 完全自動: 特別なJSONプロパティは不要。先頭の1,024トークン以上が過去のリクエストと一致すれば自動適用。
- 費用: 書き込みプレミアムはゼロ。初回は通常料金(GPT-4oで$2.50/1M)、キャッシュヒット時は一律 50%割引($1.25/1M)。
#### 3. DeepSeek(超低閾値・高密度型) DeepSeekはMLA(Multi-Head Latent Attention)とPCIe Gen5 NVMe SSDを活用した多階層キャッシュを実装しています。
- 64トークンの極小閾値: わずか64トークンからキャッシュが適用されます。
- 圧倒的な安さ: 書き込み追加料金なし。キャッシュ読み取り単価は $0.014〜$0.028/1Mトークン という驚異的な低価格を実現しています。
4. 全モデル詳細価格マトリックス(USD / 1Mトークン)
| モデル名 | 通常入力 ($/1M) | キャッシュ書込 ($/1M) | キャッシュ読取 ($/1M) | 読取割引率 | 通常出力 ($/1M) | 最小キャッシュ閾値 |
|---|---|---|---|---|---|---|
| Claude 3.5 / 3.7 Haiku | $0.80 | $1.00 (5m) / $1.60 (1h) | $0.08 | 90.0% | $4.00 | 2,048トークン |
| Claude 3.7 Sonnet | $3.00 | $3.75 (5m) / $6.00 (1h) | $0.30 | 90.0% | $15.00 | 1,024トークン |
| Claude 3 Opus / Opus 4.6 | $15.00 | $18.75 (5m) / $30.00 (1h) | $1.50 | 90.0% | $75.00 | 1,024トークン |
| OpenAI GPT-4o mini | $0.15 | $0.15 | $0.075 | 50.0% | $0.60 | 1,024トークン |
| OpenAI GPT-4o | $2.50 | $2.50 | $1.25 | 50.0% | $10.00 | 1,024トークン |
| OpenAI o1 | $15.00 | $15.00 | $7.50 | 50.0% | $60.00 | 1,024トークン |
| OpenAI o3-mini | $1.10 | $1.10 | $0.55 | 50.0% | $4.40 | 1,024トークン |
| DeepSeek V3 / V4 (オフピーク) | $0.14 | $0.14 | $0.014 | 90.0% | $0.28 | 64トークン |
| DeepSeek V3 / V4 (ピーク) | $0.27 | $0.27 | $0.027 | 90.0% | $1.10 | 64トークン |
| DeepSeek R1 (推論) | $0.55 | $0.55 | $0.14 | 74.5% | $2.19 | 64トークン |
| Google Gemini 2.5 Flash | $0.15 | $0.15 | $0.0375 | 75.0% | $0.60 | 32,768トークン |
| Google Gemini 2.5 Pro | $1.25 | $1.25 | $0.3125 | 75.0% | $5.00 | 32,768トークン |
5. コスト計算の数学モデルと90%削減の漸近証明
損益分岐ターン数 ($N^*$) の算出
Anthropicのように書き込み時に25%のプレミアムが課される場合($R_{\text{write}} = 1.25 R_{\text{base}}$、$R_{\text{read}} = 0.10 R_{\text{base}}$)、キャッシュが利益を生む最小ターン数 $N^*$ は:
$$1.25 + 0.10(N - 1) \le N \implies 1.15 \le 0.90N \implies N \ge \frac{1.15}{0.90} \approx 1.278$$
定理 1: Anthropicの5分TTLでは、2ターン目の呼び出しから即座に純利益 が発生します。
1時間拡張TTL($R_{\text{write}} = 2.0 R_{\text{base}}$)の場合:
$$2.0 + 0.10(N - 1) \le N \implies 1.90 \le 0.90N \implies N \ge 2.11$$
定理 2: Anthropicの1時間TTLでは、3ターン目の呼び出しで損益分岐点を突破 します。
90%コスト削減の極限証明
静的プレフィックスの比率が大きい長文脈セッションにおいて、ターン数 $N \to \infty$ の節約率 $S(N)$ は:
$$\lim_{N \to \infty} S(N) = 1 - \frac{R_{\text{read}}}{R_{\text{base}}}$$
- Anthropic / DeepSeek ($R_{\text{read}} / R_{\text{base}} = 0.10$): 極限削減率は 90.0%。
- OpenAI ($R_{\text{read}} / R_{\text{base}} = 0.50$): 極限削減率は 50.0%。
6. 実装コード例(Python & TypeScript)
Anthropic Claude(Python)
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-3-7-sonnet-20250219",
max_tokens=2048,
system=[
{
"type": "text",
"text": "大規模なシステム仕様書...\n" * 400,
"cache_control": {"type": "ephemeral"} # キャッシュブレークポイント
}
],
messages=[
{"role": "user", "content": "認証モジュールをリファクタリングしてください。"}
]
)
print(f"読取キャッシュヒット: {getattr(response.usage, 'cache_read_input_tokens', 0)}")
OpenAI(Node.js / TypeScript)
import OpenAI from "openai";
const openai = new OpenAI();
const response = await openai.chat.completions.create({
model: "gpt-4o",
messages: [
{ role: "system", content: "固定システムプロンプト...\n".repeat(400) },
{ role: "user", content: "最新の注文状況を確認してください。" }
]
});
console.log("キャッシュトークン:", (response.usage as any)?.prompt_tokens_details?.cached_tokens ?? 0);
7. 実稼働導入事例と月間削減コスト
- コーディングエージェント(Claude Code、25万行モノレポ): 20人のエンジニアチームで月間未最適化コスト $29,700 が、プロンプトキャッシング適用後に $4,334 / 月 に急減(85.4%の純削減)。
- 金融ドキュメントRAG(OpenAI GPT-4o): 月間5万件の問い合わせ処理において、月額 $5,625 から $2,975.63 / 月 に圧縮(47.1%削減)。
- 超大規模ECサポート(DeepSeek V3/V4): 月間200万セッションのサポートにおいて、月額 $3,360 から $378.34 / 月 に激減(88.7%削減)。
8. キャッシュを無効化してしまう5大アンチパターン
- システムプロンプトに動的タイムスタンプを埋め込む: 毎秒ハッシュが変わり、キャッシュヒット率が0%になります。
- ツール定義(Tools)の配列順序の不一致: JSONシリアライズ時の順序が崩れるとハッシュが不一致になります。必ず名前順でソートしてください。
- プロンプト中間に動的変数を挿入する: キャッシュは先頭プレフィックスの一致でのみ機能します。静的テキストを先頭に、動的データを末尾に配置してください。
- 5分のTTL期限切れの見落とし: 人間の入力待ちが5分を超えると再書き込み料金が発生します。長時間セッションには1時間TTLを活用してください。
- 最小閾値未満のプロンプト: 1,024トークン未満のテキストは通常料金で処理されます。
9. 結論とLLMPodium推奨構成
- マルチターン自律開発: Anthropic Claude 3.7 Sonnet の90%読み取り割引が圧倒的なROIをもたらします。
- 既存システムの手間なし改修: OpenAI GPT-4o の自動キャッシュにより、コード変更ゼロで50%のコスト削減を享受できます。
- 大規模高トラフィック: DeepSeek V3/V4 の64トークン閾値と$0.014/1Mの価格破壊により、最高峰の経済性を達成できます。