メインコンテンツへスキップ
応用編 API・開発 2026.06.25 / Gemini入門ラボ編集部

Gemini APIのコンテキストキャッシュでコストを下げる|context caching入門【2026】

Gemini context cache(コンテキストキャッシュ)の仕組みをやさしく解説。同じ長い資料やコードを繰り返し送るとき、再送ぶんの課金とレイテンシをどう下げるか。明示的・暗黙的キャッシュの違い、向くケース・向かないケース、使う流れの概略とコスト感の注意点までまとめます。

非公式 当サイトは Google 非公式の独立メディアです。現在、記事に広告・アフィリエイトリンクは掲載していません(今後掲載する場合は記事の冒頭で明示します)。 仕様・料金は変わることがあるため、重要な点は公式情報で最新をご確認ください。

⚠️ この記事は開発者向けです。 Gemini API をプログラムから使う話で、コードを書く前提の内容です。 チャットとして使いたい方は、Geminiとは何かGeminiの始め方 をご覧ください。そちらはコードを書きません。

長いマニュアルやコードベースに対して、Gemini API で何度も質問する。このとき毎回同じ資料を送り直していると、入力トークンのぶんだけ料金と待ち時間がかさみます。Gemini context cache(コンテキストキャッシュ)は、その「繰り返し送るぶん」を節約する仕組みです。この記事では、考え方・向くケース・使う流れの概略をやさしく整理します。

結論:同じ長い資料を使い回すなら効く

先に要点だけ言うと、コンテキストキャッシュがうれしいのは次の2点です。

  • コストが下がる: 同じ長いコンテキストを繰り返し送るとき、キャッシュ済みのぶんは通常より安い料金で扱える
  • レイテンシ(待ち時間)が下がる: 毎回フルで送り直さない設計にできるので、応答が返るまでの体感が軽くなりやすい

逆に言うと、「同じ長いコンテキストを何度も使う」場面でこそ効く機能です。1回きりの短いやりとりでは、ほとんどメリットがありません。まずはこの「向き不向き」を押さえるのが大事です。

前提として、トークンとコンテキスト長の基礎を知っているとスムーズです。まだの方はトークンとコンテキスト長を理解するを先に読むのがおすすめです。

仕組み:再送ぶんの「使い回し」だと考える

なぜ普通は割高になるのか

Gemini API では、料金もコンテキストウィンドウの消費も、送ったトークン数で効いてきます。チャット形式や反復Q&Aでは、毎回のリクエストに「長い資料+今回の質問」がまるごと入ります。

たとえば、社内マニュアル全文(とても長い)に対して質問を10回繰り返すとします。何の工夫もなければ、マニュアル全文を10回送り直すことになり、そのたびに入力トークンの料金がかかります。

キャッシュは「一度置いておく棚」

コンテキストキャッシュは、この「毎回送り直している重たい部分」を一度サーバー側に置いておき、次回以降はそれを参照するイメージです。

図書館のたとえが分かりやすいかもしれません。分厚い参考書を毎回家から持ち込む(=全文を再送する)かわりに、いったん図書館の棚に預けておき、来館するたびにその棚を指して使う。持ち運ぶ手間(再送のコストとレイテンシ)が減る、という発想です。

キャッシュなし(毎回フル送信):
  リクエスト1: [長い資料ぜんぶ] + [質問1]
  リクエスト2: [長い資料ぜんぶ] + [質問2]
  リクエスト3: [長い資料ぜんぶ] + [質問3]
              ^^^^^^^^^^^^^^^^^ 毎回フル課金・毎回フル送信

キャッシュあり(重い部分は使い回す):
  キャッシュ作成: [長い資料ぜんぶ] を一度だけ登録
  リクエスト1: (キャッシュ参照) + [質問1]
  リクエスト2: (キャッシュ参照) + [質問2]   ← 再送ぶんが割引料金
  リクエスト3: (キャッシュ参照) + [質問3]

明示的キャッシュと暗黙的キャッシュ

Gemini のキャッシュには、大きく2つのタイプがあります。

  • 暗黙的キャッシュ(implicit): 対応モデルで自動的に働くもの。プロンプトの共通する前置き部分が繰り返されたときに、割引が自動で適用されることがある。開発者側の特別な操作は基本不要
  • 明示的キャッシュ(explicit): 開発者がキャッシュを自分で作成し、保持期間(TTL)を指定して使い回すもの。割引の扱いがより明確になる一方、作成・管理は自分で行う

どのモデルでどちらが使えるか、最小トークン要件、保存料金、TTL の既定値、呼び出すメソッド名などの細かい仕様は更新が速いです。判断が必要な場面では、必ず公式のコンテキストキャッシュのドキュメントで最新をご確認ください。

向くケース・向かないケース

機能の性質上、得意な場面とそうでない場面がはっきり分かれます。

向くケース向かないケース
長いマニュアル・規程に対する反復Q&A毎回まったく違う短い入力を扱う
大きなコードベースへの繰り返し質問1回きりで終わるやりとり
長いシステムインストラクションを毎回付けるコンテキストが毎回大きく変わる
同じ書類の束を何度も参照する同じ資料を使う回数がごく少ない

ポイントは「同じ・長い・繰り返す」の3条件です。この3つがそろうほど、コンテキストキャッシュの効果が出やすくなります。

使う流れの概略

明示的キャッシュを使う場合、ざっくりとした流れは次のようになります(細部は SDK・モデルで変わるため、概念として捉えてください)。

  1. 使い回したい長いコンテキストを用意する: マニュアル全文や、対象のコードベースなど
  2. キャッシュを作成する: そのコンテキストと保持期間(TTL)を指定して、キャッシュを登録する
  3. キャッシュを参照してリクエストする: 以降の質問では、作成したキャッシュを指定しつつ、今回の質問だけを渡す
  4. 不要になったら破棄する/期限切れにまかせる: TTL が切れれば自動で消える。保持している間は保存料金がかかる場合があるので、使い終わったら整理する

暗黙的キャッシュの場合は、対応モデルであれば特別な操作なしに自動で効くことがあります。まずはそれに任せ、より確実に効かせたいときに明示的キャッシュを検討する、という順番が現実的です。

実際の API メソッド名・引数・対応モデルは公式ドキュメントが一次情報です。具体的な実装手順はコンテキストキャッシュの公式ガイドを参照してください。

コスト感の注意点

「キャッシュ=とにかく安くなる」と思い込むと、かえって損をすることがあります。設計前に次の点を意識しておきましょう。

  • 保存料金がかかる場合がある: キャッシュを保持している間、その容量・期間に応じた料金が発生することがあります。使い回す回数が少ないと、保存料金のほうが上回ることも
  • 「割引」は再送ぶんに効く: 毎回の質問文そのものは通常どおり課金されます。安くなるのは「使い回している重い部分」です
  • 最小トークン要件があることがある: ある程度の大きさのコンテキストでないとキャッシュ対象にならない場合があります
  • 単価・要件は更新が速い: 具体的な料金・最小トークン・TTL の既定値などは断定せず、必ず公式で最新を確認する

実務での目安としては、「同じ長いコンテキストを、これから何回くらい使うか」を先に見積もることです。数回しか使わないなら無理にキャッシュせず、何十回・何百回と使い回すなら積極的に検討する、という判断が分かりやすいです。

料金の全体像についてはGemini API の料金と無料枠の考え方もあわせてご覧ください。

一次体験:効くのは「長文を何度も使う」場面

実際に長いコンテキストを反復利用する処理を組んでみると、コンテキストキャッシュが効くのは限られた条件だと体感します。社内の長い資料に対してQ&Aを何度も回すような用途では、毎回フル送信していたぶんが減り、コストと体感速度の両方が軽くなりました。

一方で、入力が毎回バラバラな処理に無理にキャッシュを挟むと、管理が増えるだけでメリットがほとんど出ません。「同じ長いものを繰り返し使うか」を先に見極めてから導入する。これが失敗しないコツだと感じています。

まとめ

  • コンテキストキャッシュは、同じ長いコンテキストを繰り返し送るときの「再送ぶん」を節約する仕組み
  • うれしいのはコスト削減レイテンシ低減。ただし効くのは「同じ・長い・繰り返す」がそろう場面
  • 暗黙的キャッシュ(対応モデルで自動)と明示的キャッシュ(自分で作成・TTL指定)の2タイプがある
  • 流れは「長いコンテキストを用意 → キャッシュ作成 → 参照して質問 → 不要なら破棄」
  • 保存料金がかかる場合があり、使い回す回数が少ないと逆に割高になることもある
  • 対応モデル・最小トークン・料金・TTL・メソッド名などの細部は更新が速いため、必ず公式のキャッシュドキュメントで最新を確認する

トークンの数え方やコンテキスト長の基礎はトークンとコンテキスト長を理解するで、料金体系の全体像はGemini API の料金と無料枠の考え方で詳しく解説しています。これから API を触る方はGemini API 入門からどうぞ。

よくある質問

Q. コンテキストキャッシュを使うと、必ず安くなりますか?
A. 「必ず」ではありません。同じ長いコンテキストを何度も使い回す場面でこそ効きます。1回しか使わないコンテキストや、毎回内容が大きく変わるリクエストでは、キャッシュの管理コストのほうが上回ることもあります。さらにキャッシュには保存料金(保持している間の課金)が発生する場合があるため、使い回す回数とのバランスで判断します。料金体系は更新が速いので、最新は公式の料金・キャッシュページでご確認ください。
Q. 明示的キャッシュと暗黙的キャッシュは何が違いますか?
A. ざっくり言うと、暗黙的キャッシュは対応モデルで自動的に働くもので、同じような前置き(プロンプトの共通部分)が続いたときに割引が自動で適用されることがあります。一方、明示的キャッシュは開発者がキャッシュを自分で作成し、保持期間(TTL)を指定して使い回すものです。どのモデルでどちらが使えるか、最小トークン要件や保存料金などの細部は更新されやすいため、公式ドキュメントで最新をご確認ください。
Q. どんなときにコンテキストキャッシュを検討すべきですか?
A. 長いマニュアル・規程・コードベース・書類の束など、大きくて変わらないコンテキストに対して質問を繰り返すアプリが代表例です。長いシステムインストラクション(指示文)を毎回付ける場合にも向きます。逆に、毎回まったく違う短い入力を扱う用途では効果が薄いです。
Q. トークンとコンテキスト長の話とは何が違いますか?
A. トークンとコンテキスト長は「どう数えるか・どこまで一度に渡せるか」という基礎の話です。コンテキストキャッシュは、その基礎を踏まえたうえで「同じ長いコンテキストを繰り返し送るときに、再送ぶんの費用と待ち時間を下げる仕組み」です。先にトークンとコンテキスト長を押さえると理解がスムーズです。

応用編 18 / 22 本目

次のレッスン

Gemini APIの安全性設定(safety settings)の基本|応答ブロックの考え方【2026】

Gemini safety settings(安全性設定)の基本をやさしく解説。アプリの用途に応じて、有害カテゴリごとに応答をどの程度ブロックするか開発者が調整する仕組みとは何か。なぜ必要か、用途別の設定方針、入力検証や最終責任など運用の注意点、最新仕様の確認先まで、API開発者向けにまとめます。

続けて読む →