cached_content_token_count フィールドはそのまま返されます。コード変更は不要です。
先に結論を言うと、Gemini のキャッシュは存在しますが、当てにしないでください。 暗黙のキャッシュ動作は上流側で制御されており、実運用のヒット率は OpenAI や Claude に明らかに劣ります。これはあれば便利なおまけ程度に考え、コストは常にキャッシュ未使用時の価格で見積もってください。
このページは、公式の Google ドキュメント(ai.google.dev/gemini-api/docs/caching、2026 年 6 月時点)に基づいています。
仕組みを一言で
リクエストの冒頭セグメント(prefix)が最近のリクエストと一致し、かつ最小長を満たすと、上流は自動的にそのキャッシュを再利用します。一致した部分は公式の割引料金で課金され(公式には最大90%オフ)、マーカーは不要です。トリガー条件
Geminiのキャッシュしきい値(4096)はOpenAIのしきい値(1024)よりかなり高く、短いシステムプロンプトはGeminiではほぼ決してヒットしません。これが、Geminiのキャッシュがいまひとつに感じられる理由の1つです。
ヒットの確認方法
usage_metadata.cached_content_token_count を確認してください:
usageMetadata.cachedContentTokenCount です。
ヒット率を高める
手順は OpenAI と同じです(詳細はOpenAI Cache Billing Guideをご覧ください):- 安定した内容を先に置く: 長いシステム指示、ドキュメント、few-shot の例は前方に配置し、ユーザー入力とタイムスタンプは最後にします
- プレフィックスを長くする: 4096 tokens 未満のもの(Gemini 3 series)はヒットしません
- 時間をまとめて再利用する: バッチジョブは間を空けずに連続で送信し、分散させない
- マルチターンのチャットは本質的に追記専用のプレフィックスになり、よりヒットしやすくなります
明示的キャッシュ(cachedContents)
Google では明示的なキャッシュ API(cachedContents — TTL 付きのキャッシュオブジェクトを作成して参照します)も提供しています。これは ステートフルなサーバーサイドリソースであり、現時点ではサポートされていません。APIYI チャネルでは暗黙的キャッシュを使用してください。
他のチャネルとの比較
長く頻繁に繰り返すプレフィックスを持つキャッシュ重視のワークロード(エージェント、RAG、バッチ文書)では、OpenAI または Claude のチャネルを優先してください。 プラットフォーム全体のキャッシュ対応の概要: キャッシュ課金 FAQ。
関連リンク
- このグループ: Native Calls · マルチモーダル & コード実行 · 関数呼び出し
- 他のチャネル: OpenAI キャッシュ課金 · Claude キャッシュ課金
- 公式 Google ドキュメント:
ai.google.dev/gemini-api/docs/caching