テック技報最新号へ →
AIコーディング

OpenAI API: 1日中使う指示は12時間キャッシュ、会話は30分キャッシュに分ける ※モデル・料金

GPT-5.6 以降の Responses API では、キャッシュの最低保持時間を "30m"(既定)と "12h" から選べる。1日を通して使う共通の指示・ツール定義・参考資料だけを "12h" にし、変わりやすい会話部分は "30m" のままにすると、数時間おきに動くエージェントでも安いキャッシュ読み取り料金が効く。

@OpenAIDevs · 2026-10-21
#openai#api#prompt-caching#料金#モデル・料金

どんな場面で使う?

  • 常駐型のエージェント(定期実行・数時間おきの問い合わせ)で、毎回同じ長いシステムプロンプトやツール定義を送っているとき
  • 30分以上間が空くと毎回キャッシュが切れて、書き込み料金を払い直しているとき

料金の考え方(公式ガイド 2026-10 時点)

設定最低保持書き込み読み取り
"30m"(既定)30分通常入力の1.25倍0.1倍(GPT-6.1 Sol は0.05倍)
"12h"12時間通常入力の2.5倍同上
  • 倍率は「通常料金への上乗せ」ではなく書き込み時の合計料金
  • 30分キャッシュで書き込み1回+読み取り9回なら、キャッシュなしの10倍に対して2.15倍で済む(公式の例)
  • 12時間キャッシュは書き込みが倍高いので、「30分以上空けて何度も同じ前半を使う」ときだけ得になる

手順

  1. 1日中変わらない部分(指示・ツール・参考資料)をプロンプトの先頭に集める
  2. prompt_cache_options でモードとリクエスト全体の既定を決め、先頭ブロックの区切りだけ "12h" で上書きする
json
{
  "model": "gpt-6.1-sol",
  "prompt_cache_options": { "mode": "explicit", "ttl": "30m" },
  "input": [
    { "role": "developer", "content": [
      { "type": "input_text", "text": "共通の指示・参考資料…",
        "prompt_cache_breakpoint": { "mode": "explicit", "ttl": "12h" } } ] },
    { "role": "user", "content": [
      { "type": "input_text", "text": "このセッションの文脈…",
        "prompt_cache_breakpoint": { "mode": "explicit" } },
      { "type": "input_text", "text": "今回の質問(キャッシュしない)" } ] }
  ]
}
  1. explicit モードでは最後の区切りより後ろは書き込み料金がかからない。毎回変わる質問は区切りの後ろに置く

注意点

出典

X の元の投稿を開く