原理
prompt caching を有効にしたリクエストを送信すると、システムはプロンプトプレフィックスが最近のクエリからキャッシュされているかどうかをチェックします。見つかった場合はキャッシュを使用し、処理時間とコストを削減します。見つからない場合は、完全なプロンプトを処理し、応答開始後にプレフィックスをキャッシュします。これは以下のシナリオで特に有用です:- 多数の例を含むプロンプト
- 広範なコンテキストまたは背景情報
- 一貫した指示を持つ反復的タスク
- 長いマルチターン会話
コアメカニズム
異なるモデルプロバイダーは、キャッシュへのサポートが異なります:自動キャッシュ
自動キャッシュは追加の設定を必要としません。システムが自動的に再利用可能なコンテンツを識別してキャッシュします。OpenAI、DeepSeek などのモデルに適用されます。OpenAI
- 最小プロンプト長:1024 トークン。プレフィックスが一字一句一致すると自動的にヒットします
- GPT-5.6 より前のモデル:キャッシュ書き込みに追加課金はなく、キャッシュ読み取りは各モデルのキャッシュ読み取り価格で課金されます
- GPT-5.6 以降(公式の表現 “GPT-5.6 models and later model families”、現在は gpt-5.6-sol / terra / luna):キャッシュ書き込みは入力価格の 1.25x、読み取りは 0.1x で課金されます。
prompt_cache_keyと明示的キャッシュブレークポイントのパラメータが追加されました - 使い方、課金、ヒットの調査は GPT プロンプトキャッシュ を参照してください
Gemini
- 暗黙的コンテキストキャッシュがデフォルトで有効になっており、手動設定なしで自動的にキャッシュが有効になります。
- コンテンツ、モデル、パラメータが同一の場合にのみキャッシュが有効です。違いがあれば新しいリクエストとして扱われ、キャッシュにヒットしません。
- キャッシュ有効期限は開発者が設定しますが、未設定のままにすることもできます。未指定の場合、デフォルトで 1 時間になります。最小または最大の期間制限はなく、コストはキャッシュトークン数とキャッシュ期間に依存します。
DeepSeek / Grok / Moonshot / Groq
- コスト:キャッシュへの書き込みは無料または同価格、キャッシュからの読み取りは元の価格を下回ります
Claude モデルの明示的キャッシュ
cache_controlで有効化します:リクエストボディ最上位のフィールドで自動的にブレークポイントを設定(会話に合わせて前方へ移動)するか、コンテンツブロック単位のブレークポイントでキャッシュ位置を細かく制御します- すべてのアクティブな Claude モデルが対応し、キャッシュ書き込みは 5 分で 1.25x・1 時間で 2x、読み取りは 0.1x で、価格比率は全シリーズ統一です
- Anthropic Claude モデルに適用されます
Claude はモデルごとに最小キャッシュ可能トークンのしきい値を設定しており(512 / 1,024 / 2,048 / 4,096 のいずれかで、バージョンの新旧とは比例しません)、例えば Claude Opus 4.8 は 1,024、Claude Opus 4.7 は 2,048、Claude Opus 4.6 / 4.5 と Claude Haiku 4.5 は 4,096、Claude Fable 5 は 512 です。しきい値を下回るプレフィックスは
cache_control を付けてもキャッシュに書き込まれず、エラーにもなりません。応答内の cache_creation_input_tokens と cache_read_input_tokens が同時に 0 になっている場合がこれに該当します。完全な区分とトラブルシューティングは Claudeプロンプトキャッシュ を参照してください。OpenAI 互換インターフェース
system、user(画像を含む)、tools で cache_control フィールドを使ってキャッシュブレークポイントを設定できます。以下の例は主要な構造のみを示しています:
System メッセージのキャッシュ(デフォルト 5 分 TTL):
cache_control はツールオブジェクトの最上位レベル(type と function と同じレベル)に配置します:
Anthropic 互換インターフェース
キャッシュ期間
- デフォルト:5 分
- オプション:1 時間(“ttl”: “1h”)
詳細については以下を参照してください:Claude Prompt Caching
使用上の推奨事項
- 安定したプレフィックスの維持
- 大きなテキストをキャッシュ
- RAG データ
- 長文テキスト
- CSV / JSON データ
- ロール設定
- TTL の制御
- 短いセッション → 5 分
- 長いセッション → 1 時間(よりコスト効率的)
- キャッシュ書き込みの削減