AIのプロンプトキャッシュ図解|OpenAIが12時間キャッシュ開始、同じ資料100回で94%オフ

AIは会話を覚えていません。2回目の質問でも、最初の指示文から前回までのやり取りまでを毎回全部送り直し、全部読み直しています。プロンプトキャッシュは「前回読んだところ」を一定時間とっておき、読み直しを安く速くする仕組みです。3往復の会話のどこにキャッシュが効くのか、同じ質問でも有効期限内と期限切れ後で何が変わるのか、OpenAI が2026年10月20日に出した12時間キャッシュ、10万トークンの資料に100回質問したときの料金($20→約$1.24)、キャッシュを壊す例と今日確認する3項目を、前提知識なしで読める図でまとめます。

動画で見る

AIのプロンプトキャッシュ図解

冒頭で言い切る。AIは会話を覚えていない。2回目の質問でも、それまでの会話を全部送り直して、全部読み直している。プロンプトキャッシュは「前回読んだところ」をしばらくとっておいて、読み直しを安く速くする仕組み。10万トークンの資料に100回質問すると、資料の読み込み代は約20ドルが約1.24ドル。そして2026年10月20日、OpenAI がこの「しばらく」を12時間まで延ばせるようにした。

応援お願いします!

共通テンプレート。

前提1:AIの料金は「読んだ量」と「書いた量」

ここから前提知識。API(プログラムからAIを使う方法)では、AIに渡した文章(入力)と、AIが書いた文章(出力)の量で料金が決まる。量の単位がトークン。単語や文字のかたまりで、日本語ならざっくり1文字前後(言語やモデルで変わるので目安)。単価は100万トークンあたりで決まっていて、例えば Claude Sonnet 5.5 は入力 $2、出力 $10。ChatGPT や Claude のアプリを月額で使っているだけなら料金は直接は関係ないが、裏では同じことが起きていて、返事の速さに効いている。

前提2:AIは会話を覚えていない

いちばん大事な前提。AIは前回の会話を覚えていない。だから2回目の質問のときは、最初の指示文、1回目の質問、1回目の答え、2回目の質問を全部まとめて送り直す。3回目はさらに増える。会話が長くなるほど、毎回読む量(入力)が雪だるま式に増える。チャットのアプリが会話を続けられているのは、アプリがこの送り直しをやってくれているから。

3往復の会話で、キャッシュが効くのはここ

前の図に色を付けたもの。1回目は全部はじめて読むので、読んだものを保存する(少し割増し)。2回目は、1回目に送ったところ(指示文と質問1)までがキャッシュから読める。答え1と質問2は今回はじめて読む部分。3回目は、2回目に送ったところまで全部がキャッシュ。つまり「前回送った入力」が丸ごとキャッシュになり、毎回はじめて読むのは「前回の答え+今回の質問」だけ。出力(答え)はキャッシュとは関係なく、毎回ふつうに書いて、ふつうに出力料金がかかる。前提として、キャッシュには最小の長さがある(OpenAI は1,024トークン以上など)。短い会話では効かない。

保存しているのは「答え」ではない

要本人確認:「私も最初は答えを使い回す仕組みだと思っていた」を本人の体験として言えるか。言えなければ「よくある誤解」として話す。保存しているのは、入力を読んだときの途中の計算結果(専門用語では KV キャッシュ。Key と Value という数字の表)。人で言えば「本を読んだときのメモ」。答えは毎回新しく書くので、同じ質問をしても答えの中身はキャッシュの有無で変わらない(Anthropic 公式ドキュメント)。

同じ質問でも、期限内と期限切れでこう違う

キャッシュには有効期限がある。Claude は既定で5分。最後に使ってから5分で、使うたびに5分延びる(延長は無料)。例は前回までの会話が5万トークン、Claude Sonnet 5.5。3分後に次の質問をすると、5万トークンはキャッシュから読めて $0.005。10分後だと期限切れで、5万トークンを全部読み直し、しかも次のために保存し直すので $0.125。読み直し部分だけで25倍。返事が出始めるまでの時間も、長い入力では大きく変わる(Anthropic の測定例では10万トークンで11.5秒が2.4秒)。答えの中身はどちらも同じ。計算は公式単価から私がしたもの。

有効期限は会社ごとに違う

いずれも各社の公式ドキュメント(2026年10月時点)。OpenAI は既定30分、GPT-5.6 以降は12時間も選べる(Responses API)。Claude は既定5分、1時間も選べる。Gemini は自動のキャッシュ(割引の保証なし)と、自分で作るキャッシュ(既定1時間、置いておく時間に料金)。長い期限ほど最初の保存料が高い。OpenAI は30分が1.25倍、12時間が2.5倍。Claude は5分が1.25倍、1時間が2倍。

先頭から同じでないと効かない

キャッシュは「先頭から見て、前回とまったく同じ部分」にしか効かない。途中が1文字違うと、そこから後ろは全部読み直し。理由は、AIがある文字を読んだ結果は、それより前の全部の文字に影響されるから。だから先頭に日時を入れると、毎回先頭が変わって全部外れる。

同じ資料に100回質問すると

前提は、10万トークン(文庫本1冊くらい)の資料を先頭に置き、100回質問する。資料を読む料金だけを比べる。100回とも期限内、1回目で保存、残り99回はキャッシュから読む。単価は公式、計算は私。Claude Sonnet 5.5 と GPT-6.1 Sol はどちらも入力 $2、保存 $2.50、キャッシュ読み $0.10(100万トークンあたり)で同じ数字になる。キャッシュなし 100×0.1M×$2=$20。キャッシュあり $0.25+99×$0.01=$1.24。約94%減。

結局、自分はどうすればいい?

ここからが本題。APIで開発していなくても、Web やアプリやサブスクで使っている人にも関係がある。使い方ひとつで、利用上限の減り方と返事の速さが変わる。

アプリで使う人にも関係ある?

Claude はヘルプ記事で「キャッシュに当たった部分は上限を少なく消費する」「長く空けて戻ると最初のメッセージは全部数える」と書いている(support.claude.com の Usage limit best practices)。claude.ai・Claude Code・Desktop は同じ上限を共有。換算率は非公開なので「少なく」まで。Codex は料金ページで「キャッシュが利用量に効く」と書き、クレジット換算でキャッシュ入力は通常の1/10〜1/20。ChatGPT と Gemini アプリは、上限や速さとの関係について公式の説明が見つからなかった。裏で使っているはずだが、それは推測。速さは Claude Code の公式ドキュメントが「休憩明けの最初のターンは目に見えて遅いことがある」と書いている。

こうすると良い① 続きは間を空けずに同じ会話で

キャッシュは使うたびに期限が延びる(Anthropic・OpenAI とも公式)。Claude Code をサブスクで使うと、会話の本体の期限は1時間(上限を超えて従量課金に入ると5分)。API キーなら既定5分。だから続きは間を空けずにやるのが得。逆に、複数の会話を開いて少しずつ行き来すると、戻るたびに期限が切れていて、毎回その会話を全部読み直すことになる。Claude Code は75分以上空けて戻ると /clear を勧める表示を出し、20万トークン以上の会話は約54分放置すると期限切れ前に要約しておく機能もある(changelog)。

こうすると良い② 関係ない話は新しい会話で

キャッシュに当たっても0にはならない。Claude Code のコスト文書は「1日開きっぱなしのセッションでの1行の質問でも、会話全体ぶんの利用量を消費する」と書いている。関係ない話は新しい会話(Claude Code なら /clear。コストゼロ)で。Claude ヘルプも「長い会話は上限を多く消費する。上限に近いなら新しい会話を」と書く。何度も使う資料の置き場所は使うものによって違う。プロジェクトは Web・デスクトップ・スマホの Claude のチャットの機能で、入れた資料はキャッシュされ、使い回すと上限を少なく消費する(Claude ヘルプ)。Claude Code にプロジェクト機能はない。同じ役割をするのは作業フォルダの CLAUDE.md で、会話を始めるときに読まれて先頭近くに入るのでキャッシュが効く(公式ドキュメントでは project context の層)。会話の途中で CLAUDE.md を書き換えても、その会話には反映されない。

こうすると良い③ モデルは最初に決めて途中で変えない

キャッシュはモデルごと。Claude Code の公式ドキュメントは /model で切り替えると「次のリクエストは会話全体をキャッシュなしで読む」と書いていて、キャッシュが温かいうちは確認を出す。effort(考える強さ)は意外な結果で、Claude Code では Opus 5.5・Sonnet 5.5・Haiku 5.5・Fable 5.1 を API キーかサブスクで使うときはキャッシュが保たれる。それ以外のモデルでは切れる。OpenAI も GPT-6 では effort の変更を会話の末尾に足す仕組み(configuration_update)でキャッシュを保てる。Codex・Work は途中で reasoning を変えても切れなくなったと言われている(二次情報)。ultrathink は effort の値を変えずに指示を足すだけ(公式)なので、切れないはず(推測)。公式の助言は「モデルと effort はセッションの最初に決める」。

こうすると得、こうすると損(早見表)

ここまでのまとめ。ほかに、Claude Code ではファイルを編集してもキャッシュは切れない。CLAUDE.md を途中で書き換えても切れないが、反映もされない(次の /clear か再起動で反映)。やり直したいときは /compact より /rewind(すでにキャッシュされた位置に戻るだけ)。/compact(要約)は会話部分を必ず作り直す。

OpenAI の最新動向

ここから OpenAI の話(第3章)。DevDay 2026(9月29日)の前後に、キャッシュの改善が続けて出ている。

2026年、OpenAI のキャッシュはこう変わった

すべて OpenAI 公式 changelog で確認。7月9日 GPT-5.6 で、キャッシュにする区切りを自分で指定できるように。8月20日 キャッシュがどれだけ効いたかのグラフ画面。9月8日 効かなかった理由を教える診断機能が一般提供。9月29日 DevDay 2026、GPT-6.1 Sol はキャッシュ読みが入力の0.05倍(95%引き)。10月20日 12時間キャッシュ。「28日間、毎日改善を出す」企画の16日目という扱いはコミュニティのまとめ(二次情報)なので、言うなら「〜と言われている」程度に。

12時間キャッシュは「間隔が空く」人の味方

出典は OpenAI changelog(2026年10月20日)と公式ガイド。Responses API のみ、GPT-5.6 以降。保存料は入力単価の2.5倍(既定の30分は1.25倍)、キャッシュから読む料金は同じ。例は私の計算:GPT-6.1 Sol で10万トークンを1時間おきに12回呼ぶ。キャッシュなし 12×$0.20=$2.40。30分だと毎回期限切れで毎回保存し直し 12×$0.25=$3.00 でむしろ高い。12時間なら保存1回 $0.50+キャッシュ読み11回 $0.11=$0.61。数分おきに呼ぶなら30分で十分で、12時間の高い保存料は要らない。

「キャッシュを永久に保持」の正体

2026年10月20日、OpenAI Codex の責任者 Tibo 氏が X で「API は12時間、Codex と Work にログインしているユーザーはキャッシュを永久に保持する。古い会話に戻っても、数時間後に再開してもペナルティはなく、必ずキャッシュに当たる」と投稿(28日間企画の Day 16)。ただし OpenAI の公式文書にはまだ書かれておらず、API のガイドは「キャッシュは無期限には保存しない」のまま。GitHub の Codex リポジトリには、約11時間44分空けて戻った最初のリクエストがキャッシュ0%だったという報告もある(未回答)。仕組みや条件は公表されていないので「責任者がこう宣言した」と紹介するのが正確。他社の API に無期限はない。Gemini の自分で作るキャッシュは期限の上限がないが、保存時間に応じた料金がかかる。DeepSeek のディスクキャッシュは「ふつうは数時間〜数日で消える」と公式に書かれている。

OpenAI・Claude・Gemini の違い

いずれも各社の公式ドキュメント(2026年10月21日時点)。OpenAI は何もしなくても自動で効く。Claude は「ここまでキャッシュして」という印(cache_control)を付ける。リクエストに1つ付けるだけの自動モードもある。Gemini は自動で効くが割引の保証は無く、確実にしたいなら自分でキャッシュを作る(Gemini 4 Argon 以降は不可)。最小の長さは OpenAI 1,024トークン、Claude はモデルで512〜4,096、Gemini は2,048〜4,096。

キャッシュを壊す5つの例

出典は Anthropic の Claude Code チームのブログ「Prompt caching is everything」(2026年4月30日)。実際に踏んだもの。1 最初の指示文に細かい日時を入れた。2 ツール(AIが使える道具)の説明の並び順が毎回違った。3 会話の途中で道具を足した・消した。4 会話の途中でモデルを変えた。キャッシュはモデルごとなので、作り直しで逆に高くつく。5 間隔が期限より長い、または最小の長さに届かない。これは3社共通。

変わらないものを前に、変わるものを後ろに

Claude Code の並び順。変わらない指示文と道具の説明 → CLAUDE.md(プロジェクトのルール)→ その作業の情報 → 会話。情報が古くなったら先頭を書き換えず、次のメッセージで足す。Claude Code チームはキャッシュの効き具合を監視していて、下がったら障害として扱っている。

今日確認する3項目

調査をもとにした私の提案。API でAIを使っている人向け。1 レスポンスに付いてくる使用量(usage)を見る。OpenAI は cached_tokens、Claude は cache_read_input_tokens がキャッシュから読んだ量。0のままなら効いていない。2 先頭に日時・ユーザー名・毎回変わるIDがないか。3 呼ぶ間隔と期限を合わせる。1時間おきなら長い期限、数分おきなら既定で十分。アプリを使うだけの人は、各社が裏でやってくれている。

用語まとめ

動画を見終わったあとに読み返す用。

出典

料金は2026年10月21日時点の公式料金表。料金の計算例は私が公式単価から計算したもの。

応援お願いします!

共通テンプレート。

Ebisuda Presentations のトップへ