Gemini で Vertex AI コンテキスト キャッシュを使用すると、費用を節約し、レイテンシを短縮できます
Anders Brekke
Product Manager, Vertex AI
Sampath Kumar
Developer Relations, Cloud AI
※この投稿は米国時間 2025 年 10 月 16 日に、Google Cloud blog に投稿されたものの抄訳です。
開発者がより高度な AI アプリケーションを構築する中で、長いドキュメント、詳細なシステム指示、コードベースなどの大量のコンテキスト情報をモデルに繰り返し送信する必要がある、といった状況にしばしば直面します。こうしたデータは、モデルが適切な応答を行うために欠かせないコンテキストを提供しますが、同じトークンを何度も処理する必要があるため、コストや応答の遅延が増大するという問題も引き起こします。
そこで、Google Cloud が 2024 年に初めてリリースしたのが、まさにこの課題を解決するための Vertex AI コンテキスト キャッシュです。それ以来、Google はお客様のレイテンシとコストの改善を目指して、Gemini の提供環境を継続的に強化してきました。キャッシュ保存は、事前に計算された入力トークンを保存し、再利用できるようにする仕組みです。主なメリットは次のとおりです。
-
大幅な費用削減: サポートされているすべての Gemini 2.5 以降のモデルで、キャッシュに保存されたトークンの料金は標準の入力トークン料金の 10% のみです。暗黙的なキャッシュ保存の場合、キャッシュ ヒットが発生すると、この費用削減が自動的に適用されます。明示的なキャッシュ保存では、この割引が保証されるため、費用削減が予測しやすくなります。
-
レイテンシ: キャッシュを使用すると、再計算する代わりに、以前に計算されたコンテンツを検索するため、レイテンシが短縮されます。
コンテキスト キャッシュについて、またその利用方法について詳しく見ていきましょう。
Vertex AI のコンテキスト キャッシュとは何でしょうか。
名前が示すように、Vertex AI コンテキスト キャッシュは、繰り返されるコンテンツのトークンをキャッシュすることを目的としており、2 種類が用意されています。
-
暗黙的なキャッシュ保存: デフォルトで有効になっている自動キャッシュ保存。キャッシュ ヒットが発生した場合に費用を削減できます。API 呼び出しに変更を加える必要はありません。Vertex AI のサービング インフラストラクチャは、トークンを自動的にキャッシュに保存し、以前のリクエストの状態(KV ペア)を利用して、後続のターンを高速化し、費用を削減します。このプロセスは、後続のプロンプトでも継続されます。保持は、全体的な負荷と再利用頻度に基づいて行われ、キャッシュは常に 24 時間以内に削除されます。
-
明示的なキャッシュ保存: ユーザーは、キャッシュするコンテンツを明示的に指定することで、キャッシュ動作をより細かく制御できます。その後、必要に応じてプロンプトでキャッシュされたコンテンツを参照できます。明示的なキャッシュ保存には割引が保証されており、費用削減が予測しやすくなります。
さまざまなサイズのプロンプトとユースケースをサポートするために、最小 2,048 トークンからモデルのコンテキスト ウィンドウのサイズまでキャッシュを有効にしました。Gemini 2.5 Pro の場合、100 万トークンを超えます。キャッシュには、Gemini マルチモーダル モデルでサポートされている任意のモダリティ(テキスト、PDF、画像、音声、動画)のコンテンツを保存できます。たとえば、大量のテキスト、音声、動画をキャッシュに保存できます。サポートされているモデルのリストはこちらでご確認ください。
ユーザーが Gemini を使用する場所や方法にかかわらず、キャッシュのメリットを確実に享受できるように、両方の形式のキャッシュでグローバル エンドポイントとリージョン エンドポイントがサポートされています。さらに、暗黙的キャッシュ保存はプロビジョンド スループットと統合されているため、本番環境グレードのトラフィックでもキャッシュのメリットを享受できます。セキュリティとコンプライアンスをさらに強化するために、明示的なキャッシュ保存を顧客管理の暗号鍵(CMEK)を使用して暗号化できます。
コンテキスト キャッシュ保存の理想的なユースケース:
-
大規模なドキュメント処理: 長い契約書、事件ファイル、または(学術/ 規制 / 財務 / 研究開発)ドキュメントをキャッシュに保存し、特定の条項、判例、またはコンプライアンス チェックについて繰り返しクエリを実行します。
-
たとえば、金融アナリストが Gemini を使う場合、年次報告書などの多数のドキュメントをアップロードし、それらをもとにクエリを投げたり、分析・抽出・要約などを行うことがあります。新しい質問があるたび、または新しい分析を開始するたびにこれらのドキュメントを再アップロードする代わりに、コンテキスト キャッシュはすでに処理済みの情報を保存します。アナリストが作業を終えたら、明示的なキャッシュ保存を手動でクリアするか、暗黙的なキャッシュ保存が自動的にクリアされます。
-
カスタマー サポート chatbot/会話エージェントの構築: chatbot は、詳細なペルソナや多数のルールに一貫して従うために、これらの指示をキャッシュしておくことができます。同様に、商品情報をキャッシュすることで、chatbot は関連性の高いコンテンツを提供できます。
-
たとえば、カスタマー サポート chatbot の場合、ユーザーの質問にどのように回答するか、ユーザーをサポートする際にどのような情報を参照できるかなど、非常に詳細なシステム指示が与えられていることがあります。新しいお客様との会話が始まるたびに再計算するのではなく、一度計算して、チャットボットがこのコンテンツを参照できるようにします。これにより、チャットボットの応答時間が大幅に短縮され、全体的なコストが削減されます。
-
コーディング: コードベースのキャッシュ バージョンを保持することで、コードベースの Q&A、自動補完、バグ修正、機能開発を改善します。
-
企業ナレッジベース(Q&A)のキャッシュ: 大企業の場合、複雑な技術ドキュメント、社内 Wiki、コンプライアンス マニュアルをキャッシュします。これにより、従業員は社内プロセス、技術仕様、規制要件に関する質問に対する回答を迅速に得ることができます。
暗黙的キャッシュ保存と明示的キャッシュ保存の費用への影響
暗黙的なキャッシュ保存: すべての Google Cloud プロジェクトでデフォルトで有効になっています。コンテンツが繰り返し送信されるとキャッシュ ヒットが発生し、自動的に割引が適用されます。キャッシュに書き込むトークンは、標準の入力トークンとして課金されます(キャッシュへの書き込みに追加料金はかかりません)。
明示的なキャッシュ保存
-
キャッシュ トークン数: CachedContent オブジェクトを作成すると、それらのトークンの初期キャッシュに対して 1 回限りの料金が支払われます。これは、標準の入力トークン費用です。その後、generate_content リクエストでこのキャッシュされたコンテンツを使用するたびに、キャッシュされたトークンに対して、通常の入力トークンとして送信する場合と比較して 90% の割引が適用された料金が請求されます。
-
保存期間(TTL): キャッシュに保存されたコンテンツの保存期間(有効期間(TTL)に基づく)に対しても課金されます。これは、保存された 100 万トークンあたりの時間単価で、分単位に比例配分されます。
ベスト プラクティスとキャッシュ ヒット率の最適化方法:
-
制限事項を確認する: まず、最小キャッシュサイズやサポートされているモデルなど、キャッシュの制限事項を満たしていることを確認します。
-
粒度: プロンプトの先頭に、コンテキストのキャッシュされた部分または繰り返される部分を追加します。頻繁に変更される小さな部分をキャッシュに保存しない。
-
使用量と費用のモニタリング: Google Cloud の請求レポートを定期的に確認して、キャッシュ保存が費用に与える影響を把握します。キャッシュに保存されているトークンの数を確認するには、UsageMetadata の cachedContentTokenCount を参照してください。
-
頻度: 暗黙的なキャッシュ保存は 24 時間以内にクリアされます。リクエストが繰り返される時間枠が短いほど、キャッシュは利用可能な状態に保たれます。
特に明示的なキャッシュ保存の場合:
-
TTL の管理: TTL(有効期間)を慎重に設定します。TTL が長いほどストレージ費用は高くなりますが、再作成のオーバーヘッドは減少します。コンテキストの関連性が維持される期間とアクセス頻度に基づいて、このバランスを調整します。
使ってみる:
コンテキスト キャッシュは、AI アプリケーションのパフォーマンスと費用対効果を最適化するうえで画期的な機能です。この機能をインテリジェントに活用することで、冗長なトークン処理を大幅に削減し、応答時間を短縮して、最終的にはよりスケーラブルで費用対効果の高い生成 AI ソリューションを構築できます。
暗黙的キャッシュ保存は、すべての GCP プロジェクトでデフォルトで有効になっているため、今すぐご利用いただけます。
明示的なキャッシュ保存の使用を開始するには、ドキュメント(最初のキャッシュを作成するためのサンプルコードはこちら)と、一般的な例とコードを含む Colab ノートブックをご覧ください。
-Anders Brekke、Vertex AI、プロダクト マネージャー
-Sampath Kumar、 Cloud AI、デベロッパー リレーションズ


