できること
共通部分の再利用
後続のリクエストが同じプレフィックスを持ち、一致するキャッシュが見つかると、モデルはそのトークンを再処理せず、保存済みの状態を再利用します。
キャッシュを12時間保持
Responses API の prompt_cache_options.ttl で、最低限のキャッシュ寿命を既定の "30m" と "12h" から選べます。"12h" を選ぶと、リクエストが数時間離れていても、共有の指示・ツール・コンテキストに低いキャッシュ入力料金を適用できます。
キャッシュ効率の確認
Prompt Caching Dashboard では、次の指標をモデルとサービスティアで絞り込んで確認できます。対象は、キャッシュヒット率の推移、書き込みあたりの読み取り数、トークンの内訳です。
機能解説
概要
プロンプトキャッシュは、複数のリクエストが同じプロンプトのプレフィックス (先頭部分) を共有するときに、処理済みの結果を再利用する仕組みです。12 時間のキャッシュでは、共有の指示・ツール・コンテキストを長くキャッシュに保ちます。そのため、リクエストの間隔が数時間空いても、低いキャッシュ入力料金を適用できます。
プロンプトキャッシュは、対応する OpenAI のモデルでは既定で有効です。仕組みと前提は次のとおりです。
- キャッシュに保存されるのは key-value (KV) テンソルで、トークンそのものではありません。
- キャッシュを再利用するには、レンダリングされたプレフィックス全体が一致している必要があります。
- プロンプトキャッシュは、モデルが出力トークンを生成する方法を変えません。モデルはキャッシュ済みのプレフィックスを使って新しい応答を生成するため、同一のリクエストでも同一の出力になるとは限りません。
- キャッシュを手動で消去する機能はありません。キャッシュのエントリは、モデルのキャッシュ寿命と保持設定に従って失効します。
モデルごとの設定の違い
GPT-5.6 以降
- implicit (暗黙) と explicit (明示) の両方のキャッシュに対応します。explicit では、どのコンテキストをキャッシュに書き込むかを細かく制御できます。
prompt_cache_options.modeがimplicitのときは、OpenAI が対象となる最新のメッセージの末尾にブレークポイントを置きます。explicitに設定すると、開発者が選んだブレークポイントだけが使われます。ブレークポイントは、入力メッセージ内の対応するコンテンツブロックにprompt_cache_breakpoint: { "mode": "explicit" }を加えて指定します。ブレークポイントを置かない場合、そのリクエストはプロンプトキャッシュを使わず、キャッシュへの書き込みも作りません。- 明示的ブレークポイントを複数置くと、変更の頻度が異なるプレフィックスを別々に保持できます。
- トップレベルの
instructionsには明示的ブレークポイントを置けません。再利用する開発者向けの指示は、developer メッセージ内のinput_textブロックに入れて指定します。 - 既知のコンテキストを前もって準備しておき、後続のリクエストで最初のトークンが返るまでの時間を縮める事前ウォームアップを使えます。まず
prompt_cache_options.prewarmをtrueにしたリクエストを送ると、出力を生成せずにキャッシュだけを準備します。完了後、同じプレフィックスで、prewarmを省略するかfalseにした本来のリクエストを送ります。 - キャッシュのルーティングは OpenAI が自動で行います。
prompt_cache_keyを分けて使うと、アプリケーション内の顧客やユーザーごとにキャッシュの計上を分けられます。
GPT-5.6 より前のモデル
- implicit キャッシュだけに対応します。
- 保持期間は
prompt_cache_retentionで設定します。指定できる値はモデルによって異なります。 - 再利用可能なプレフィックスを共有する関連リクエストに、安定した
prompt_cache_keyを付けると、同じキャッシュへのルーティングを助けます。ただし、キャッシュヒットは保証されません。 - GPT-5.5 のキャッシュは extended prompt caching でのみ機能し、In-memory prompt caching には対応しません。
GPT-6 以降の対応モデル
- 会話の途中で推論努力度 (reasoning effort) を変えるときは、
configuration_update入力項目を追加し、トップレベルのreasoning.effortは元の値のままにします。こうすると、それまでのキャッシュ済みプレフィックスを保てます。
料金と監視
12 時間キャッシュへの書き込みには、入力トークン価格の 2.5 倍の料金がかかります。一方で、キャッシュされた入力には低いキャッシュ入力料金が適用されます。
キャッシュの効果は、次の方法で確認できます。
- Prompt Caching Dashboard では、キャッシュヒット率の推移、書き込みあたりの読み取り数、キャッシュ読み取り・キャッシュ書き込み・非キャッシュのトークンの内訳を確認できます。指標はモデルとサービスティアで絞り込めます。
- Prompt Cache Diagnostics tool を使うと、キャッシュミスの原因を診断できます。
prompt_cache_optionsに対応する Responses API のモデルでは、レスポンスのinput_tokens_details.cache_write_tokens_detailsに書き込み量がttl_30m_tokensとttl_12h_tokensに分けて示されます。
提供状況の注意
12時間プロンプトキャッシュは API で選択できます。対象となるプランや提供地域は、公式のリリースノートには記載がありません。
管理者・導入時に確認したい点
- ZDR が有効でない組織では、
prompt_cache_retentionの既定値がin_memoryから24hに変わり、extended prompt caching が既定で有効です。 - プロンプトキャッシュのすべての機能は Zero Data Retention (ZDR) と両立します。
- キャッシュは組織をまたいで共有されません。また、地域ごとの処理の境界 (regional processing boundaries) を越えて再利用されることもありません。
- キャッシュを手動で消去する機能はなく、エントリは寿命と保持設定に従って失効します。
使い方
Responses API で、キャッシュの最低寿命を 12 時間にする場合の流れです。
- Responses API のリクエストで、
prompt_cache_options.ttlを "12h" に設定します。この値は最低限のキャッシュ寿命を表し、既定値は "30m" です。 - 明示的ブレークポイントを使っている場合は、個々のブレークポイントに
prompt_cache_breakpoint.ttlを設定できます。設定すると、そのブレークポイントだけリクエスト単位の ttl が上書きされます。 - レスポンスの
input_tokens_details.cache_write_tokens_detailsを確認します。キャッシュへの書き込みはttl_30m_tokensとttl_12h_tokensに分けて示されます。
利用シーン
共通の長い指示・ツール定義・コンテキストを、数時間おきのリクエストで繰り返し使う API 連携に向いています。
アプリケーション内の顧客やユーザーごとに、キャッシュの計上を分けて把握したい場面に使えます (GPT-5.6 以降)。
内容が決まっているコンテキストを事前ウォームアップで準備し、後続のリクエストに備える場面に使えます (GPT-5.6 以降)。
キャッシュヒット率やトークン内訳を、モデル別・サービスティア別に追う運用の監視に使えます。
Claude・Anthropic の対応する機能
比較の単位となる業務: 共有プロンプトの長時間キャッシュによる API 入力コスト削減とキャッシュ効率の監視
プロンプトキャッシュのミスを調べる手段は、どちらにもあります。OpenAI API では、Prompt Cache Diagnostics tool でキャッシュミスを診断できます。Claude の API のキャッシュ診断はベータとして提供されており、Messages リクエストに diagnostics.previous_message_id を渡すと cache_miss_reason が返ります。この値は、プレフィックスが前のターンとどこで分岐したかを示します。ベータ期間中は、リクエストに cache-diagnosis-2026-04-07 ベータヘッダーを含める必要があります。
会話の途中で設定を変えても、キャッシュ済みのプレフィックスを保つ仕組みも両方にあります。OpenAI API では、対応する GPT-6 以降のモデルで configuration_update 入力項目を追加し、推論努力度を途中で変更します。Claude Opus 4.8 では、ユーザーターンの後に role: "system" メッセージを送れます (配置ルールあり)。これにより、長時間のセッション中に指示を変えても、プロンプトキャッシュのヒットが保たれます。
これまでの変更
API で 12時間プロンプトキャッシュを選択できる機能が追加されました。12 時間キャッシュへの書き込みは、入力トークン価格の 2.5 倍です。
OpenAI API プラットフォームで Prompt Caching Dashboard がリリースされました。キャッシュヒット率の推移やトークン内訳を、モデルとサービスティアで絞り込んで確認できます。
GPT-5.6 で、明示的なプロンプトキャッシュ制御 (explicit prompt caching controls) が追加されました。
ZDR が有効でない組織で、
prompt_cache_retentionの既定値がin_memoryから24hに変わりました。これにより、extended prompt caching が既定で有効になりました。GPT-5.5 がプロンプトキャッシュに対応しました。GPT-5.5 のキャッシュは extended prompt caching でのみ機能し、In-memory prompt caching には対応しません。