Anthropic Prompt Caching(APIプロンプトキャッシュ機能・2025年)(アンソロピックプロンプトキャッシング)
AnthropicのClaude APIで提供されるプロンプトキャッシュ機能。同一の長文プレフィックス(システムプロンプト・ドキュメント等)をキャッシュして再利用し、API料金を最大90%削減・処理速度を最大85%短縮。大規模LLMアプリ開発のコスト最適化に不可欠な2025年の主要API機能。
Anthropic Prompt Caching とは
Anthropic Prompt Caching(プロンプトキャッシング)は、2024年8月にAnthropicがClaude APIに追加したコスト最適化機能。LLMアプリケーションにおいて、毎回同じ内容を繰り返しAPIに送信する「反復的な長文プロンプト」をキャッシュすることで、API料金を最大90%削減・レスポンス速度を最大85%短縮できる。
Problem(なぜキャッシュが必要か):
- RAGシステムでは毎回の検索ドキュメントをプロンプトに含める
- チャットボットでは毎回の長いシステムプロンプトを繰り返し送信
- コードアシスタントでは毎回のコードベース全体をコンテキストとして渡す
- これらが繰り返されると入力トークンのコストが急増する
Prompt Cachingの仕組み
動作フロー:
1. 最初のリクエスト:
[システムプロンプト 10,000tokens] + [ユーザー質問 50tokens]
→ Anthropicサーバーがシステムプロンプト部分をキャッシュに保存
→ コスト: 通常の125%(キャッシュ書き込みコスト)
2. 2回目以降のリクエスト(5分以内):
[キャッシュヒット 10,000tokens] + [ユーザー質問 50tokens]
→ キャッシュから読み出し(再計算なし)
→ コスト: 通常の10%(90%削減)
→ TTFT: 85%短縮
キャッシュの有効期限: 最後のアクセスから5分(2025年時点)。
対応モデルとコスト構造
| モデル | 通常入力 | キャッシュ書き込み | キャッシュ読み出し | 出力 |
|---|---|---|---|---|
| Claude 3.7 Sonnet | $3/MTok | $3.75/MTok | $0.30/MTok | $15/MTok |
| Claude 3.5 Haiku | $0.80/MTok | $1.00/MTok | $0.08/MTok | $4/MTok |
| Claude 3 Opus | $15/MTok | $18.75/MTok | $1.50/MTok | $75/MTok |
※ MTok = 100万トークン
コスト削減シミュレーション(月100万リクエスト・システムプロンプト1,000tokens):
- キャッシュなし: 1,000 × 1,000,000 × $3/MTok = $3,000/月
- キャッシュあり(ヒット率90%): $270/月(91%削減)
実装方法
Python SDK(Anthropic SDK)での実装例:
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-3-7-sonnet-20250219",
max_tokens=1024,
system=[
{
"type": "text",
"text": "以下のドキュメントを参照して質問に答えてください。\n\n" + very_long_document,
"cache_control": {"type": "ephemeral"} # キャッシュポイント指定
}
],
messages=[
{"role": "user", "content": user_question}
]
)
# キャッシュ状況の確認
print(response.usage.cache_creation_input_tokens) # キャッシュ書き込みトークン数
print(response.usage.cache_read_input_tokens) # キャッシュ読み出しトークン数
最小キャッシュサイズ:
- Claude 3.7 Sonnet / Opus: 1,024 tokens以上
- Claude 3.5 Haiku: 2,048 tokens以上
最大効果を得るユースケース
高効果(ヒット率90%以上が見込める):
- RAGシステム: 検索で取得した長文ドキュメントを複数ターンで繰り返し参照
- AIコーディングアシスタント: 大規模コードベースをコンテキストとして複数クエリで使用
- チャットボット: 長いシステムプロンプト(規約・ペルソナ・ルール)を毎回送信
- ドキュメント解析: 同一PDFに複数の質問を投げる
低効果(ヒット率が低い):
- 毎回異なるドキュメントを渡すシングルターン処理
- キャッシュ有効期限(5分)を超える間隔のバッチ処理
よくある質問(FAQ)
Q1: Prompt Cachingは自動で有効になりますか?
A: なりません。プロンプト内の特定箇所に"cache_control": {"type": "ephemeral"}ブロックポイントを明示的に設定する必要があります。設定しない場合は通常料金での処理となります。
Q2: キャッシュは複数ユーザー間で共有されますか? A: されません。キャッシュはAPIキー(アカウント)単位で独立しており、他のユーザー・他の組織と共有されることはありません。
Q3: キャッシュした内容はAnthropicに学習されますか? A: されません。API利用では、オプトインしない限りデータがモデルトレーニングに使用されない設計になっています。
まとめ
- 繰り返し使用する長文プロンプトをキャッシュしてAPIコストを最大90%・TTFT 85%削減
cache_control: ephemeralを追加するだけで有効化できるシンプルな実装- RAGシステム・長文コードベース分析・チャットボットで特に効果が大きい
- 月$3,000のAPI費用が$270に削減された実例があり、大規模LLMアプリには必須機能
- 2025年のClaude 3.7 Sonnet/Haiku/Opus全モデルで利用可能