7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

トークン代 9 割減?プロンプトキャッシュの仕組みと効果の実測 — 保持時間が過ぎるとコスト 11 倍に

7
Last updated at Posted at 2026-10-25

各社のモデルで、キャッシュから読む料金が通常の入力の何倍かを比べた横棒グラフ(公式の料金表・2026-10-25確認)。Claude Fable 5.1は0.025倍(97.5% 引き・キャッシュへの書き込みは1.25 倍(5 分保持)・2 倍(1 時間保持)・キャッシュが使える最小量512トークン)、Claude Opus 5.5は0.05倍(95% 引き・キャッシュへの書き込みは1.25 倍(5 分保持)・2 倍(1 時間保持)・キャッシュが使える最小量512トークン)、Claude Sonnet 5.5は0.05倍(95% 引き・キャッシュへの書き込みは1.25 倍(5 分保持)・2 倍(1 時間保持)・キャッシュが使える最小量512トークン)、Claude Haiku 5.5は0.1倍(90% 引き・キャッシュへの書き込みは1.25 倍(5 分保持)・2 倍(1 時間保持)・キャッシュが使える最小量512トークン)、GPT-6.1 Solは0.05倍(95% 引き・キャッシュへの書き込みは1.25 倍・キャッシュが使える最小量1,024トークン)、GPT-5.6 以降(ほかのモデル)は0.1倍(90% 引き・キャッシュへの書き込みは1.25 倍・キャッシュが使える最小量1,024トークン)、Gemini 3.8 Flashは0.1倍(90% 引き・キャッシュへの書き込みは料金なし(暗黙のキャッシュ)・キャッシュが使える最小量4,096トークン)。安くなるのはキャッシュから読む部分だけで、新しく足した部分はClaudeとOpenAIではキャッシュへの書き込みの料金になる。

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 の返事(出力)は比べる対象から外しています。

先に結論

  1. 9 割引きになるのは「キャッシュから読む」部分だけ: Claude Code の 2 ターン目は、トークンの 93% がキャッシュから読まれましたが、費用の 75% は、新しく足した部分のキャッシュへの書き込みでした。Claude と OpenAI は、キャッシュへの書き込みに入力の 1.25〜2 倍の料金がかかります。
  2. 仕組み: LLM は入力のトークンごとに key と value の値を計算し、その値はそれより前のトークンで決まります。プロンプトキャッシュは、前の問い合わせと先頭から一字一句同じ部分のこの値(KV キャッシュ)を保存して、計算を省きます。1 文字でも違うと、そこから後ろは作り直しです。
  3. 各社の条件: キャッシュが使える最小量は、Claude Sonnet 5.5 が 512 トークン、OpenAI の GPT-5.6 以降が 1,024 トークン、Gemini 3.8 Flash が 4,096 トークンです。
  4. 保持時間が過ぎると 11 倍: キャッシュは、最後に使ってから保持時間を過ぎると消えます。保持時間(Claude Code のサブスクリプションは約 1 時間)を過ぎてから再開した 1 ターンは、キャッシュから読めた場合の 11 倍の費用でした。
  5. 利用者が制御できること: 先頭を変えないこと、保持時間の選択、キャッシュする範囲、作業が一段落して長く中断する前の /compact です。

1. プロンプトキャッシュは、どう働くのか?

プロンプトキャッシュの構成図(IT連携マップ編集部の測定・Claude Code・Claude Sonnet 5.5 の2ターン目)。利用者の1行の依頼に、ローカルのエージェントがシステムプロンプトとツール定義11,228、1ターン目の指示と資料42,225、これまでの返事と依頼を足し、毎回全部の53,801トークンをLLMのサーバーに送る。サーバーは先頭から前と同じ部分を探し、49,997をキャッシュから読み($0.0050)、新しく足した3,802をキャッシュへ書き込み($0.0152)、キャッシュの外は2。費用の75%はキャッシュへの書き込み。保持時間はサブスクリプション1時間、APIキー5分。

プロンプトキャッシュは、前の問い合わせと先頭から一字一句同じ部分の計算結果(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. キャッシュは、いつ書き込まれ、いつ読まれ、いつ消えるのか?

プロンプトキャッシュのシーケンス図(IT連携マップ編集部の測定・Claude Code)。約5.4万トークンの会話で、1ターン目は42,221をキャッシュへ書き込み、2ターン目は49,995をキャッシュから読んで3,833をキャッシュへ書き込み、3ターン目は53,828をキャッシュから読んで640をキャッシュへ書き込んだ。65分あけると1時間の保持時間を過ぎて、4ターン目は共通の前置き11,228だけをキャッシュから読み、43,445をキャッシュへ書き直した($0.175)。5ターン目はまた54,673をキャッシュから読めた。作業が一段落したときに/compactすると、要約の呼び出しは53,799をキャッシュから読むだけで$0.030、65分後の4ターン目は$0.032だった。

キャッシュは、新しく足した部分を送ったときに書き込まれ、次のターンで先頭が同じなら読まれ、最後に使ってから保持時間(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. 利用者は、何をどうやって制御できるのか?

何をするとキャッシュミスになるかを示す書き直したトークン数の棒グラフ(各3回)。何も変えないと0トークン、指示ファイルに日時を1行書くと先頭で10,774トークン・末尾で10,776トークン、MCPサーバーを1つ足すと3,786トークン、順番を入れ替えると0トークン、モデルをClaude Sonnet 5.5に変えると12,764トークン。日時は先頭でも末尾でも同じで、指示ファイルが変わるとそこから後ろが書き直しになる

利用者が制御できるのは、下の表の 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 も、キャッシュヒットを保証しません。そして、製品が決める保持時間は、製品によって違います。

3ターン続けたあと間をあけて送った4ターン目の入力のトークン量と費用を、キャッシュから読んだ分・キャッシュへの書き込み・キャッシュの外に分けた図(測定)。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分は切れて9.4倍。AntigravityのGemini 3.8 Flash(長文)は4・6・8・10分まで読め、12・15・30・55・65分はキャッシュヒットせず6.1倍。

製品・モデル キャッシュから読めた間 キャッシュが切れた間 保持時間(見立て) 切れた後の 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 しておくのが、いちばん効く使い方でした。

全データと測り方、設定の一覧は、次のガイドで公開しています。

仕組みの前提になる言葉と、費用の確かめ方は、次のガイドにまとめています。

今回取り上げた製品とモデルのページ: Claude Code・Antigravity・Claude・Gemini・OpenAI API

関連記事・参考

読者アンケート実施中
このテーマをもっと深掘りしてほしい方は、記事に「いいね」をお願いします。「いいね」の多いテーマから順に追加調査し、結果は新着記事でお知らせします(フォローしていただくと通知が届きます)。

【転載OK】本記事の転載について

本記事の文章・図表は、すべて転載 OK です。図は加工しないままお使いください。転載の際は、出典として、この記事の完全版 『キャッシュの保持時間』(renkeimap.jp)へのリンクをお願いします。事前の連絡は不要です。

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?