AI技術大全 第7回
プロンプトキャッシュとは? 仕組みと料金を Claude・GPT・Gemini で測った

この記事でわかること
- Claude・GPT・Gemini のキャッシュの付け方と usage の読み方
- 20 問でキャッシュの有無の料金と秒はどれだけ変わったか
- 効かなくなる並べ方と、1 日 10・100・1,000 問の月の差
確認した環境: YOBITSUGI AI の中継で Claude Haiku 5.5(Messages API)・GPT-6 Luna(Responses API)・Gemini 3.8 Flash(generateContent)を呼んで測定 / 2026年10月15日に確認
プロンプトキャッシュは、毎回同じ長い前置き(指示や資料)を送るとき、2 回目からその部分を安く読ませる仕組みです。約 5 万字の社内資料を前に置いて 20 問を順に聞くと、料金はキャッシュに当たらないときと比べて Claude Haiku 5.5 で 82%、GPT-6 Luna で 87%、Gemini 3.8 Flash で 63〜80% 下がりました。最初の文字が届くまでの秒には、今回の測定でははっきりした差が見えず、並べ方を誤ると Claude と GPT は書き込みの割増で約 25% 高くなりました。
結果の早見

プロンプトキャッシュの仕組み
モデルは、依頼の文を頭から順に読み、その途中の計算の結果を使って答えを書き始めます。プロンプトキャッシュは、この途中の結果を保存しておき、次の依頼の頭が同じなら読み直さずに使う仕組みです。安くなるのは、前の依頼と頭から同じ部分だけです。今回の 3 つのモデルでは、保存した部分を読む値段は入力の 1 割で、Claude と GPT は保存するときに入力の 1.25 倍がかかります。

測り方
前に置いた資料と 20 問
- 資料: 第1回の RAG の精度の記事 の、架空の会社「株式会社ソラマド計測」の社内資料 10 本(合わせて 50,300 字)を、そのまま前に置きました。各社のトークンを数える口(無料)で数えると、問 1 つを含めて Claude 44,853・GPT 38,013・Gemini 28,980 トークンです。
- 問: 第1回の 60 問から、5 種類(言い換えなし・言い換え・数字・複数の箇所・答えが無い)の最初の 4 問ずつ、20 問を選びました。指示と問の全文は記事の最後にあります。
- 順番: 20 問を 1 問ずつ順に送り、前の答えが終わってから次を送りました(間は約 1.5 秒)。
モデルと条件
| 条件 | 中身 | 会社 |
|---|---|---|
| A: あり | [指示 + 資料][問]。Claude は資料の終わりに cache_control(5 分)、GPT と Gemini は何も付けない | 3 社 |
| E: 明示 | 指示 + 資料で Gemini の明示のキャッシュを作り(保存 30 分)、20 問のあとに消す | Gemini |
| B: なし | Claude は cache_control を付けない。GPT と Gemini は、先頭に受付日時(ミリ秒まで)を置いて毎回頭を変える(Gemini の暗黙のキャッシュを止める設定は、公式の説明で見つけられなかった) | 3 社 |
| 並べ方 | 先頭に受付日時・問を資料の前に・資料のまん中を 1 文字変える(5 問か 4 問) | 3 社 |
| 限り | 同時に 4 件・短い前置き・時間を空ける | 3 社 |
モデルは YOBITSUGI AI の速い段の 3 つで、記録に残った名前(claude-haiku-5-5・gpt-6-luna・gemini-3.8-flash)で確かめました。3 社とも stream: true で受けました。条件ごとに、システムの欄の 1 行目に違う「整理番号」を入れ、前の条件のキャッシュに当たらないようにしました。
B の GPT について: 公式の説明では、prompt_cache_options.mode を explicit にして区切りを置かなければ、キャッシュを使わず、書き込みの割増もかかりません。今回はこの設定を使わず、頭を変えて当たらなくしたので、B の GPT は毎回 1.25 倍の書き込みです。
3 社の呼び出し方(要所)
Claude は、保存したい所の終わりに区切り(cache_control)を付けます。付けた所までが、頭から一致するかの対象です。
// Claude(Messages API): POST https://api.anthropic.com/v1/messages
// ヘッダーは x-api-key と anthropic-version: 2023-06-01。システムの欄の最後に区切りを付ける
const body = {
model: "claude-haiku-5-5",
max_tokens: 2048,
stream: true,
system: [{ type: "text", text: systemAndDocs, cache_control: { type: "ephemeral" } }], // 1 時間なら { type: "ephemeral", ttl: "1h" }
messages: [{ role: "user", content: question }],
};
GPT は何も付けません。前の部分(instructions と、問より前の発言)を毎回同じにするだけです。
// GPT(Responses API): POST https://api.openai.com/v1/responses
// ヘッダーは Authorization: Bearer <API キー>。付ける物は無い
const body = { model: "gpt-6-luna", stream: true, instructions: systemAndDocs, input: [{ role: "user", content: question }] };
Gemini の暗黙のキャッシュも、何も付けません。明示のキャッシュは、先に前置きを保存して名前を受け取り、問の依頼ではその名前で指します。
// Gemini 明示(URL は https://generativelanguage.googleapis.com に続ける・ヘッダーは x-goog-api-key)
// ① 作る(POST /v1beta/cachedContents)
const cache = { model: "models/gemini-3.8-flash", systemInstruction: { parts: [{ text: systemAndDocs }] }, ttl: "1800s" };
// → { name: "cachedContents/…", expireTime: "…", usageMetadata: { totalTokenCount: 28963 } }
// ② 使う(POST /v1beta/models/gemini-3.8-flash:streamGenerateContent?alt=sse)。systemInstruction は書かず、① の応答の name で指す
const body = { cachedContent: name, contents: [{ role: "user", parts: [{ text: question }] }] };
// ③ 消す(DELETE /v1beta/cachedContents/…)
数えた物
- 料金: 各社の応答の usage の欄を 1 回ずつそのまま残し、公式の料金で額を計算しました。YOBITSUGI AI のクレジットは、その依頼にかかった額です。
- 秒: 依頼を送ってから、答えの文の最初の差分が届くまで(最初の文字までの秒)と、流れが終わるまで。3 社とも、考える分は答えの前に来るので、この秒に入ります。
- 答え: キャッシュで答えが変わらないかを確かめました。記事の最後の表の「正解の要点」(第1回の採点の要点)が答えに入っていれば正答、答えが無い 4 問は「資料に記載がありません」と答えて値を言い切っていなければ正答です。編集部が Claude Code を使って 1 件ずつ読んで判定しました(答えが無い問の決まりは、答えを読んでから決めました)。A・B・E の 140 の答えは、すべて正答でした。
料金: 1 問ごとに見る

- Claude の 1 問目は、キャッシュなしより約 25% 高くなりました。 44,819 トークンを書き込み(1.25 倍)で数えて 1.0 クレジット、なしは約 0.8 です。2 問目からは 44,819 トークンが読み込みで、1 問 0.08〜0.13 クレジットでした。
- GPT は 2 問目から 37,981 トークンが読み込みでした。 問の部分(18〜44 トークン)は毎回、書き込みとして数えられました。B を割増の無い定価で数えると 0.077 ドルで、A はそこからでも 83% 安い額です。
- Gemini の暗黙のキャッシュは、19 問のうち 16 問で当たりました。 当たった問では、約 2.9 万トークンのうち前から 26,929〜26,941 トークンが読み込みで、残りの約 2,000 トークン(資料の終わりと問)は定価でした。6・13・18 問目は当たらず、B と同じ約 4 クレジットでした。
- Gemini の明示のキャッシュは、20 問とも 28,963 トークンが読み込みでした。 16.3 クレジットには、作るときの分と、消すまでの約 3 分の保存の分も入っています。
usage の欄の読み方

- 入力の欄の意味が違います。 Claude の input_tokens は区切りの後ろだけで、入力の全体は input_tokens・cache_creation_input_tokens・cache_read_input_tokens の和です。GPT の input_tokens と Gemini の promptTokenCount は、読み込みの分を含みます。
- 当たったかは 1 つの欄で見られます。 Claude は cache_read_input_tokens、GPT は cached_tokens、Gemini は cachedContentTokenCount が 0 より大きければ当たりです。
- YOBITSUGI AI の額は、全部の依頼で公式の料金の計算と同じで、キャッシュの割引もそのまま出ていました。
速さ: 最初の文字までの秒

- 3〜4.5 万トークンでは、あり・なしの中央値の差は 0.05〜0.21 秒でした。 同じ条件の 20 回の中でも、いちばん速い回と遅い回は 2.2〜5.6 秒離れています。1 回ずつの測定なので、この差をキャッシュの効果とは言えません。Claude の応答の最初の出来事が届くまでの秒も、2 問目からの中央値で 1.17 秒と 1.10 秒でした。
- 前置きを長くしても、一定の向きの差は出ませんでした(あとから足した試し)。資料を 2 回つないだ Claude(9.0 万トークン)は 1.65 秒と 1.77 秒。4 回つないだ GPT(15.2 万トークン)は、あり・なしを同時に流した回だけありが 4 秒ほど遅く、1 件ずつ交互に送り直すと 2.73 秒と 2.89 秒でした(ありは書き込みの 1 件目を除く。読み方は記事の最後の補足)。
- Gemini は、答えの前に考える分が付きます。 A と B の 40 問で 1 問平均 331 トークン考え、最初の文字まで 2.7〜8.2 秒でした。明示のキャッシュでは、2 回が 14.2 秒と 22.6 秒でした。
編集部の見立てでは、この大きさの前置きでは、待ち時間は混み具合と考える時間に左右されていたように見えます。今回の測定の範囲では、速さより料金のための機能と考えるのが合っています。
効かなくなった条件
並べ方

- 頭に毎回変わる物を置くと、1 問も当たりませんでした。 受付日時は 1 行(約 20 トークン)ですが、その後ろの 4.5 万トークンも一致しなくなります。日時や利用者の名前は、問の側に置きます。
- 問を資料の前に置いても同じです。 問を先に書き、資料を後ろに付ける書き方は、問が変わるたびに頭が変わります。
- 当たらないと、Claude と GPT は高くなります。 区切りを付けたまま当たらないと、毎回 1.25 倍の書き込みになり、区切りを付けないときより約 25% 高くなりました。GPT は何も付けていなくても同じでした。Gemini の暗黙のキャッシュは、当たらないときは定価のままでした。
- 途中からの読み込みはありませんでした。 資料のまん中の 1 文字を変えると、資料の前半が同じでも、3 社とも次の 1 問は読み込みが 0 でした。Claude は区切りまでの全体を書き直し、GPT は次の問から新しい前置きで当たりました。Gemini は、変えたあとの 3 問で 1 度も当たりませんでした(あとから足した試し)。
同時に送る・短い前置き・時間を空ける

- 同時に送ると、Claude は 4 件とも書き込みでした。 公式の説明では、保存した分は最初の応答が始まってから使えます。4 件で 4.0 クレジットかかり、5 件目で読み込みになりました。GPT は 4 件のうち 3 件が読み込みでした。Gemini は 4 件とも当たらず、3 秒後の 5 件目で当たりました(あとから足した試し)。
- 最小の長さは、公式の値の前後で分かれました。 Claude Haiku 5.5 は 452 トークンで保存されず、727 トークンで保存されました(公式は 512)。GPT-6 Luna は 944 トークンで当たらず、1,322 トークンで当たりました(公式は 1,024)。Gemini の暗黙は、305〜5,512 トークンの 7 通りとも、3 回送って 1 度も当たりませんでした(公式は 4,096)。
- 保存の時間: Claude Haiku 5.5 は、5 分の保存が 4 分後に読み込み・6 分後に書き直し、1 時間の保存が 30 分後まで読み込み・65 分後に書き直し(2 倍で 1.59 クレジット)でした。GPT-6 Luna は 11 分後まで読み込み、30 分後(直前の依頼が終わってから 30 分と約 2 秒)は全部を書き直しました。公式の「少なくとも 30 分」の境目です。Gemini の暗黙は 11 分後まで当たり、30 分後は当たりませんでした。明示のキャッシュ(保存 5 分)は 6 分後に 403 で断られ、費用は 0 でした。
公式の説明と比べて

- Claude: 読み込みは入力の 0.1 倍(Claude Opus 5.5・Sonnet 5.5 は 0.05 倍)、書き込みは 5 分が 1.25 倍・1 時間が 2 倍です。保存の時間は、書き込みか読み込みをした依頼の始まりから数え、読むたびに延びます。
- GPT: GPT-5.6 以降は 1,024 トークン以上で自動に効き、書き込みは 1.25 倍、読み込みは 0.1 倍(GPT-6.1 Sol は 0.05 倍)、保存は「最後の書き込みか再利用から少なくとも 30 分」です。GPT-6 Luna のモデルのページの料金も同じです。
- Gemini: 暗黙のキャッシュは Gemini 2.5 以降で既定で有効で、当たる保証はなく、Gemini 3.8 Flash の最小は 4,096 トークンです。明示のキャッシュは Beta で、保存は既定で 1 時間です。読み込み(Context caching price)は 100 万トークン 0.075 ドル、保存は 1 時間 0.50 ドルです。明示のキャッシュを作るときの値は見つけられず、この記事では作る分を入力の値で数えました。
月にいくら変わるか

前提は次のとおりです。月 22 日・9 時間・1 問の量の決め方は、測る前の計画に書いたとおりです。
- 月 22 日・1 日 9 時間に、問は無作為に来るとしました。1 問の入力と出力のトークンは、A の 20 問の平均です。
- 前の問から保存の時間の内に次の問が来れば読み込み、来なければ書き込みです。その日の最初の問は書き込みです。GPT の保存の時間は、公式の「少なくとも 30 分」の 30 分で数えました。GPT の「定価」は、書き込みの割増の無い額です。
- Gemini の明示のキャッシュは、毎朝作って 9 時間保存するとし、作る分を入力の値で、保存の分を 1 時間 0.50 ドルで足しました。暗黙のキャッシュは、A で当たった割合(2 問目からの 19 問中 16 問)で当たり、前の問から 11 分を超えると当たらない(今回、11 分後は当たり、30 分後は当たらなかった)とした仮定の計算です。
- 出力の分は、キャッシュの有無で変わらないので、両方に同じ額が入っています。
1 日 100 問(5.4 分に 1 問)が分かれ目でした。 Claude は 5 分の保存だと 4 割が書き込みになり 43% 減にとどまり、1 時間の保存なら 86% 減です。1 日 10 問では、5 分の保存は 15% 高く、1 時間の保存で 14% 減でした。1 日 1,000 問なら、3 社とも 84〜89% 減です(Gemini は明示のキャッシュ)。上の段のモデルでは差が大きくなり、1 日 1,000 問の入力の分だけで、Claude Sonnet 5.5 は月 1,972 → 101 ドル、GPT-6.1 Sol は 1,671 → 86 ドル、Gemini 3.1 Pro Preview は明示で 1,274 → 155 ドルの計算です(呼んではいません)。
どんな使い方なら効くか
- 効く: 長い前置き(資料・指示・道具の定義・長い会話)を、保存の時間より短い間隔で何度も使うとき。社内の質問窓口、同じ資料への続けての質問、往復の多いエージェントなどです。
- 効かない: 前置きが短いとき(Claude Haiku 5.5 は 512・GPT-6 Luna は 1,024 トークン未満)、1 回きりのとき、間が保存の時間より長いとき、頭に毎回変わる物があるときです。
- Claude: 問の間が 5 分を超えることが多いなら、1 時間の保存が安くなります(1 日 10〜100 問の計算)。
- GPT: 何もしなくても効きますが、並べ方を誤ると割増だけがかかります。
- Gemini: 当たる保証が要るときは明示のキャッシュです。保存の値が時間でかかるので、1 日 10 問では 19% 減にとどまる計算でした。
気をつけること
- 測り方の限り: 条件ごとに 1 回ずつで、速い段のモデルだけです。秒は中継を通した、同じ日の 18 時〜21 時の値です。
- 料金は変わります: 2026年10月15日の値です。Gemini 3.8 Flash は、2027年1月1日から入力 1.50 ドル・出力 7.50 ドル・Context caching price 0.15 ドル・保存 1 時間 1.00 ドルになると、公式の料金のページにあります。
- キャッシュは組織ごとです: Claude と GPT の公式の説明では、ほかの組織とは共有されません。Claude は同じ組織でも workspace ごとに分かれます。
まとめ
- プロンプトキャッシュは、前の依頼と頭から同じ部分を安く読む仕組みです。今回の 20 問では料金が 63〜87% 下がり、速さにははっきりした差が見えませんでした。
- 毎回変わる物は問の側(後ろ)に置き、当たったかは usage の欄で確かめます。当たらないと、Claude と GPT は割増だけがかかります。
- 間の長さで、保存の時間(5 分・1 時間・明示)を選びます。
渡した文(全文)
システムの欄(3 社で同じ)
Claude は system、GPT は instructions、Gemini は systemInstruction(明示のキャッシュでは cachedContents の systemInstruction)に入れました。「整理番号」は条件ごとに違う 1 行です。
整理番号: A-10151843-A
あなたは株式会社ソラマド計測の社内の質問に答える係です。下の「社内資料」だけを根拠に、日本語で答えてください。
- 資料に書いてあることだけで答え、推測で補わない。
- 資料に答えが無いときは「資料に記載がありません」と答える。
- 答えは 2 文以内にする。数字と条件は資料のとおりに書く。
# 社内資料
<資料 D01>
(第1回の社内資料 D01〜D10 の本文をそのまま。1 本ずつ <資料 D01> … </資料 D01> で囲み、空行 1 つでつなぐ。合わせて 50,300 字)
</資料 D10>
条件で変えた所は次のとおりです。
| 条件 | 変えた所 |
|---|---|
| 先頭に受付日時 | 1 行目に「受付日時: 2026-10-15 18:45:12.345」の形(日本時間・ミリ秒まで)の 1 行を足した |
| 問を資料の前に | システムの欄は「整理番号」と指示だけにし、ユーザーの発言を「質問: (問の文)」と「# 社内資料」以下の 2 つに分けた |
| 1 文字変える | 資料 D06 の「スマートフォンを替えたときは」の「替」を「変」にした(50,300 字のうち 25,078 字目) |
| 短い前置き | 資料の先頭から 300・600・1,000・1,500・6,000・7,000・9,000 字だけを入れた |
| 長い前置き | 資料の全体を、改行を挟んで 2 回(Claude)・4 回(GPT)つないだ |
20 問の全文と正解の要点(ユーザーの発言として、そのまま渡した)
| 番号 | 種類 | 問 | 正解の要点 |
|---|---|---|---|
| Q01 | 言い換えなし | 正社員のフレックスタイム制のコアタイムは何時から何時までですか。 | 11 時から 14 時 |
| Q02 | 言い換え | 出勤の打刻をし忘れた日があります。いつまでに直せばいいですか。 | 翌営業日まで |
| Q03 | 数字 | 入社して 3 年 6 か月の正社員の年次有給休暇は何日ですか。 | 14 日 |
| Q04 | 複数の箇所 | 本人が結婚するときの特別休暇は、正社員と契約社員で何日違いますか。 | 正社員 5 日・契約社員 3 日・差は 2 日 |
| Q05 | 答えが無い | 正社員の育児休業は、子どもが何歳になるまで取れますか。 | 資料に記載が無いと答える |
| Q06 | 言い換えなし | 経費は、使った月のいつまでに申請しますか。 | 翌月 5 営業日目まで |
| Q07 | 言い換え | 正社員が有休を取りたいとき、何日前までに届け出ればいいですか。 | 3 営業日前まで |
| Q08 | 数字 | 課長が名古屋市に出張して泊まるとき、宿泊料の上限は 1 泊いくらですか。 | 12,000 円 |
| Q09 | 複数の箇所 | 部長が大阪市へ 1 泊 2 日で出張します。宿泊料の上限と、日当の合計はいくらですか。 | 宿泊 14,000 円・日当 5,000 円(1 日 2,500 円) |
| Q10 | 答えが無い | 契約社員が結婚したとき、慶弔見舞金はいくら出ますか。 | 資料に記載が無いと答える |
| Q11 | 言い換えなし | 社外秘の情報を社外に送るとき、共有リンクの有効期限は何日ですか。 | 7 日 |
| Q12 | 言い換え | 家で仕事をする日に、すぐ連絡がつくようにしておく必要がある時間帯はいつですか。 | コアタイム |
| Q13 | 数字 | 北米へ海外出張するときの日当はいくらですか。 | 1 日 6,000 円 |
| Q14 | 複数の箇所 | 正社員が在宅勤務をするには、いつまでに申請が要りますか。また、月に 8 日以上在宅勤務をすると、手当はいくらですか。 | 前日 17 時まで・月 3,000 円 |
| Q15 | 答えが無い | ソラマド ロガー S2 で記録の間隔を 1 分にすると、電池はどのくらい持ちますか。 | 資料に記載が無いと答える |
| Q16 | 言い換えなし | 許可リストに無いソフトの審査には何営業日かかりますか。 | 3 営業日 |
| Q17 | 言い換え | 妻が出産するとき、正社員は休みを何日もらえますか。 | 3 日 |
| Q18 | 数字 | 計量士の資格手当は月いくらですか。 | 月 10,000 円 |
| Q19 | 複数の箇所 | 税抜 50 万円の測定器を発注します。承認するのは誰で、見積もりは何社から取りますか。 | 部長・2 社以上 |
| Q20 | 答えが無い | 出張先でレンタカーを借りるとき、1 日いくらまで使えますか。 | 資料に記載が無いと答える |
参考にした公式の情報
執筆者
株式会社Game 代表取締役。工学部出身で、21歳で起業してからシステム会社の経営一筋で8期目。アプリの受託開発から始め、いまはAIを使ったシステムソリューションを手がけています。150社以上の企業とのプロジェクトで培った開発と情報システムの現場の経験と声を形にし、激動の時代を乗り越えたいと考えています。
この記事は、Claude Code を使って執筆しました。画面の画像は、検証環境で実際に操作して撮影したものです(引用の画像は出典を記載しています)。内容の誤りはお問い合わせからお知らせください。
連載
AI技術大全全 8 回の目次
- 1RAG の精度を上げるには? チャンク・ハイブリッド検索・リランクを順に足して測った
- 2LoRA の作り方 8GB の GPU で画像の LoRA を学習し、枚数と時間を測った
- 3ファインチューニングと RAG の違い 同じ 60 問で学習・検索・長いプロンプトを比べた
- 4MCP と Function Calling の違い MCP サーバーを自作して測った
- 5日本語の埋め込みモデルを比較 社内資料の検索で 7 つを測った
- 6AI 画像の C2PA とは? 確認方法と、自作の C2PA を AI が見抜けるか試した
- 7プロンプトキャッシュとは? 仕組みと料金を Claude・GPT・Gemini で測った(この記事)
- 8Claude Code はなぜ止める? safeguard の仕組みとモデルの違いを試した