AI エージェントの料金の話では、よく「プロンプトキャッシュで入力が 9 割安くなる」と言われます。上の図のとおり、キャッシュから読む料金は、Claude Sonnet 5.5 で通常の入力の 0.05 倍(95% 引き)、OpenAI の GPT-5.6 以降と Gemini 3.8 Flash で 0.1 倍(90% 引き)です。では、プロンプトキャッシュはどう働き、実際の会話では、どの部分が安くなり、どの部分で費用がかかっているのでしょうか。作業を中断して時間があくと、どうなるのでしょうか。
IT連携マップ編集部は、各社の公式文書を読み、Claude Code(サブスクリプション)と Antigravity で会話を続けて、1 回の問い合わせの入力を「キャッシュから読む」「キャッシュへの書き込み」「キャッシュの外(キャッシュを使わない入力)」の 3 つに分けて測りました。費用は公式の料金で換算し、AI の返事(出力)は比べる対象から外しています。
先に結論
- 9 割引きになるのは「キャッシュから読む」部分だけ: Claude Code の 2 ターン目は、トークンの 93% がキャッシュから読まれましたが、費用の 75% は、新しく足した部分のキャッシュへの書き込みでした。Claude と OpenAI は、キャッシュへの書き込みに入力の 1.25〜2 倍の料金がかかります。
- 仕組み: LLM は入力のトークンごとに key と value の値を計算し、その値はそれより前のトークンで決まります。プロンプトキャッシュは、前の問い合わせと先頭から一字一句同じ部分のこの値(KV キャッシュ)を保存して、計算を省きます。1 文字でも違うと、そこから後ろは作り直しです。
- 各社の条件: キャッシュが使える最小量は、Claude Sonnet 5.5 が 512 トークン、OpenAI の GPT-5.6 以降が 1,024 トークン、Gemini 3.8 Flash が 4,096 トークンです。
- 保持時間が過ぎると 11 倍: キャッシュは、最後に使ってから保持時間を過ぎると消えます。保持時間(Claude Code のサブスクリプションは約 1 時間)を過ぎてから再開した 1 ターンは、キャッシュから読めた場合の 11 倍の費用でした。
-
利用者が制御できること: 先頭を変えないこと、保持時間の選択、キャッシュする範囲、作業が一段落して長く中断する前の
/compactです。
1. プロンプトキャッシュは、どう働くのか?
プロンプトキャッシュは、前の問い合わせと先頭から一字一句同じ部分の計算結果(KV キャッシュ)を LLM のサーバーに保存しておき、次の問い合わせでその部分を安く読む仕組みです。ローカルのエージェント(Claude Code・Antigravity など)は、話しかけるたびに、システムプロンプト・ツール定義・指示ファイル(AGENTS.md など)・それまでの会話を全部まとめて(コンテキスト)、LLM のサーバーへ送ります。サーバーは、先頭から前の問い合わせと一字一句同じ部分を探し、入力を次の 3 つに分けて料金を数えます。
| 入力の区分 | 中身 | 料金(Claude Sonnet 5.5) |
|---|---|---|
| キャッシュから読む | 前の問い合わせと一字一句同じ先頭の部分 | 通常の入力の 0.05 倍 |
| キャッシュへの書き込み | 新しく足した部分(次のターンで読めるように保存する) | 5 分保持は 1.25 倍、1 時間保持は 2 倍 |
| キャッシュの外(キャッシュを使わない入力) | キャッシュから読まず、キャッシュにも保存しないで送った部分 | 通常の入力の料金 |
先頭が一字一句同じでないと使えないのは、LLM が入力のトークンごとに作る key と value の値(KV・テンソル)が、それより前のすべてのトークンで決まるからです(vLLM の設計文書)。プロンプトキャッシュは、この値(KV キャッシュ)をサーバーに保存しておく仕組みです(OpenAI の公式)。
冒頭の図の 2 ターン目では、送った 53,801 トークンのうち 49,997 トークンをキャッシュから読み($0.0050)、3,802 トークンをキャッシュへ書き込みました($0.0152)。トークンの数ではキャッシュから読む部分が大半でも、費用を決めるのは、毎ターン新しく足す量です。では、キャッシュはいつ書き込まれ、いつ消えるのでしょうか。
2. キャッシュは、いつ書き込まれ、いつ読まれ、いつ消えるのか?
キャッシュは、新しく足した部分を送ったときに書き込まれ、次のターンで先頭が同じなら読まれ、最後に使ってから保持時間(TTL)を過ぎると消えます。上の図の会話では、1 ターン目は、資料と指示を初めてキャッシュへ書き込みました。2 ターン目からは、前と同じ先頭をキャッシュから読み、足した分だけをキャッシュへ書き込みました。使うたびに保持時間が延びるので、作業を続けている間は消えません。
上の図の会話を 65 分あけて再開すると、4 ターン目は共通の前置き(システムプロンプトとツール定義)しかキャッシュから読めず、履歴を全部キャッシュへ書き直しました($0.175)。作業が一段落したときに /compact しておくと、再開した 4 ターン目は $0.032 で済みました。では、各社のモデルで、キャッシュが効く条件と割引率はどう違うのでしょうか。
3. 各社のモデルで、キャッシュが効く条件と割引率はどう違うのか?
| 提供元・モデル | 効き方 | 最小量 | キャッシュから読む料金 | キャッシュへの書き込みの料金 | 保持時間 |
|---|---|---|---|---|---|
| Claude Sonnet 5.5・Opus 5.5 | 自動か、区切りを最大 4 か所 | 512 トークン | 入力の 0.05 倍 | 5 分保持 1.25 倍・1 時間保持 2 倍 | 5 分(既定)か 1 時間 |
| Claude Haiku 5.5 | 同上 | 512 トークン | 入力の 0.1 倍 | 同上 | 同上 |
| OpenAI GPT-5.6 以降 | 既定で自動 | 1,024 トークン | 入力の 0.1 倍(GPT-6.1 Sol は 0.05 倍) | 1.25 倍 | 最後に使ってから 30 分 |
| Gemini 3.8 Flash(暗黙のキャッシュ) | 既定で自動・キャッシュヒットの保証は無い | 4,096 トークン | 入力の 0.1 倍($0.75 → $0.075) | 料金なし | 公開されていない |
| Gemini(明示的なキャッシュ) | 利用者がキャッシュを作る | — | 同上 | 保存料(1M トークン・1 時間あたり $0.50) | 既定 1 時間・変えられる |
キャッシュから読む料金(割引率)は、Claude Sonnet 5.5・Opus 5.5 が入力の 0.05 倍、Claude Haiku 5.5・OpenAI の GPT-5.6 以降・Gemini 3.8 Flash が 0.1 倍です。各社で大きく違うのは、キャッシュへの書き込みの料金(Claude と OpenAI は 1.25〜2 倍、Gemini の暗黙のキャッシュは料金なし)、キャッシュが使える最小量、保持時間です。出典は Anthropic の公式・OpenAI の公式・Gemini API の公式(キャッシュ)・同(料金) です。料金は 1M トークンあたりの米ドルで、Gemini 3.8 Flash は 2026 年 12 月 31 日までの料金です(2027 年 1 月 1 日からキャッシュから読む料金は $0.15)。
公式の最小量と、実際にキャッシュヒットした量は違うことがあります。Antigravity の Gemini 3.8 Flash では、1 回の入力が 17,459 トークン以下の回は 1 度もキャッシュヒットしませんでした。では、利用者は何を制御できるのでしょうか。
4. 利用者は、何をどうやって制御できるのか?
利用者が制御できるのは、下の表の 5 つです。先頭を変えないこと、保持時間を選ぶこと、キャッシュする範囲を決めること、保持時間を超える前に /compact で小さくすること、効いているかを確かめることです。キャッシュヒットするかどうかはサーバーが決めますが、キャッシュヒットしやすくする手と、保持時間を選ぶ手は利用者にあります。上の図のとおり、Claude Code で指示ファイルに現在時刻を 1 行足すと、時刻が変わるたびに、そこから後ろの 10,774 トークンをキャッシュへ書き直しました。MCP(Model Context Protocol)サーバーを足したときや、モデルを切り替えたときも、キャッシュへの書き直しが起きました。
| 制御できること | 方法 |
|---|---|
| 先頭を変えない | 毎回変わる日時・乱数を、指示ファイルやプロンプトの先頭に書かない。変わらない物を先頭に置く。作業の途中でモデルやツール(MCP サーバー)を変えない |
| 保持時間を選ぶ | Claude Code は promptCacheTtl(5m・1h)、Claude の API(Application Programming Interface)は cache_control の ttl、OpenAI は prompt_cache_options.ttl(GPT-5.6 以降は 30m だけ)、Gemini は明示的なキャッシュの ttl
|
| キャッシュする範囲を決める | Claude の API は cache_control の区切り、OpenAI は区切りを明示するか任せる、Gemini は明示的なキャッシュを作る |
| 保持時間を超える前に小さくする | 作業が一段落して、保持時間を超えて中断する前に /compact する(費用は 57% 減った) |
| 効いているかを確かめる | Claude Code は /usage の「Prompt cache (main)」、API は返事の usage(キャッシュから読んだ数・書き込んだ数) |
制御できないのは、キャッシュヒットの保証と料金の倍率です。OpenAI の prompt_cache_key も、キャッシュヒットを保証しません。そして、製品が決める保持時間は、製品によって違います。
| 製品・モデル | キャッシュから読めた間 | キャッシュが切れた間 | 保持時間(見立て) | 切れた後の 1 ターン |
|---|---|---|---|---|
| Claude Code(サブスクリプション)・Claude Sonnet 5.5 | 30・50・55・58 分 | 61・64・70・90・120 分 | 約 1 時間 | 11 倍 |
| Antigravity・Claude Sonnet 5.5 | 4 分 | 6・15・30・55・65 分 | 約 5 分 | 9.4 倍 |
| Antigravity・Gemini 3.8 Flash | 4・6・8・10 分 | 12・15・30・55・65 分 | 10〜12 分 | 6.1 倍 |
同じ Claude Sonnet 5.5 でも、Claude Code のサブスクリプションは 1 時間保持、Antigravity は 5 分前後でした。Claude Code の倍率が大きいのは、1 時間保持のキャッシュへの書き込みが入力の 2 倍の料金だからです。保持時間より長く作業を中断するなら、作業が一段落したときに /compact しておくのが安く済みます(compact とは)。
最後に
プロンプトキャッシュの「9 割引き」は、キャッシュから読む部分の話です。実際の費用は、毎ターン新しく足す量(キャッシュへの書き込み)と、保持時間が切れたときの払い直しで決まります。先頭を変えず、資料を貼り直さず、作業が一段落して長く中断する前に /compact しておくのが、いちばん効く使い方でした。
全データと測り方、設定の一覧は、次のガイドで公開しています。
仕組みの前提になる言葉と、費用の確かめ方は、次のガイドにまとめています。
- トークン(AI)とは — AI が文を数える単位
- AI のコンテキストとは — 毎回送られる中身と量
- コンテキストウィンドウとは — AI が参照できる量
- AGENTS.md とは — AI が最初に読む指示ファイル
- 資料と指示の 6 つの渡し方 — 使い分けと費用の差
- AI エージェントのトークンが早く減るときに確かめる 4 つ
- MCP とは何か — AI に「何ができるか」を伝える書き方と、API との違い
今回取り上げた製品とモデルのページ: Claude Code・Antigravity・Claude・Gemini・OpenAI API
関連記事・参考
-
Prompt caching(Anthropic 公式)
― Claude のキャッシュが使える最小量・区切り・保持時間・料金の倍率の出典です。 -
How Claude Code uses prompt caching(Claude Code 公式)
― Claude Code の保持時間(サブスクリプション 1 時間・API キー 5 分)と、キャッシュを作り直す操作の出典です。 -
Prompt caching(OpenAI 公式)
― OpenAI のキャッシュが使える最小量・料金・保持時間と、キャッシュが key と value の値(KV キャッシュ)を保存することの出典です。 -
Context caching(Gemini API 公式)
― Gemini の暗黙のキャッシュと明示的なキャッシュの出典です。 -
Automatic Prefix Caching(vLLM の設計文書)
― キャッシュした値が、そのブロックとそれより前のトークンで決まることの出典です。
読者アンケート実施中
このテーマをもっと深掘りしてほしい方は、記事に「いいね」をお願いします。「いいね」の多いテーマから順に追加調査し、結果は新着記事でお知らせします(フォローしていただくと通知が届きます)。
【転載OK】本記事の転載について
本記事の文章・図表は、すべて転載 OK です。図は加工しないままお使いください。転載の際は、出典として、この記事の完全版 『キャッシュの保持時間』(renkeimap.jp)へのリンクをお願いします。事前の連絡は不要です。