メインコンテンツへスキップ
Prompt Caching は、モデル推論コストを削減するために使用される重要なメカニズムです。以前に処理されたプロンプトコンテンツをキャッシュすることで、後続のリクエストで再利用でき、冗長な計算を減らし、コストを下げ、応答効率を向上させます。

原理

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_tokenscache_read_input_tokens が同時に 0 になっている場合がこれに該当します。完全な区分とトラブルシューティングは Claudeプロンプトキャッシュ を参照してください。

OpenAI 互換インターフェース

systemuser(画像を含む)、toolscache_control フィールドを使ってキャッシュブレークポイントを設定できます。以下の例は主要な構造のみを示しています: System メッセージのキャッシュ(デフォルト 5 分 TTL):
User メッセージのキャッシュ(1 時間 TTL):
画像メッセージのキャッシュ:
Tool 定義のキャッシュ: cache_control はツールオブジェクトの最上位レベル(typefunction と同じレベル)に配置します:

Anthropic 互換インターフェース

キャッシュ期間

  • デフォルト:5 分
  • オプション:1 時間(“ttl”: “1h”)
詳細については以下を参照してください:Claude Prompt Caching

使用上の推奨事項

  1. 安定したプレフィックスの維持
固定コンテンツをプロンプトの先頭に配置し、推奨される構造:
  1. 大きなテキストをキャッシュ
以下のコンテンツを優先的にキャッシュしてください:
  • RAG データ
  • 長文テキスト
  • CSV / JSON データ
  • ロール設定
  1. TTL の制御
  • 短いセッション → 5 分
  • 長いセッション → 1 時間(よりコスト効率的)
  1. キャッシュ書き込みの削減

頻繁に変化するコンテンツがキャッシュに入らないようにしてください。タイムスタンプ、ユーザー入力変数、高頻度に変化するデータなどをキャッシュしないでください。

最終更新日:2026-07-10