大きなコードベースで Antigravity を使っていると、同じファイルを何度も読み込ませるたびにクレジットが削られていく感覚に気づいた人は多いはずです。「さっきも渡したのに…」と思いながらも、なんとなく都度添付し続けてしまう。
実は Gemma 4 には Implicit Caching(暗黙的キャッシング) という仕組みが組み込まれており、同一セッション内で繰り返し登場するコンテキストを自動的に再利用してくれます。この仕組みを理解してプロジェクト設計に組み込むと、クレジット消費が体感で 30〜60% 削減できます。
ここではAntigravity での具体的な活用パターンと、キャッシュが「効く条件・効かない条件」を整理します。
Gemma 4 の Implicit Caching とは——従来モデルとの違い
Gemma 3 まではユーザーがプロンプトを送るたびに、すべてのコンテキストをゼロから処理していた。1万トークンのコードを含むプロンプトを10回送れば、10万トークン分の処理コストがかかっていた計算になります。
Gemma 4 が導入した Implicit Caching は、プロンプトの先頭部分が前回のリクエストと一致する場合、その部分をキャッシュから再利用する仕組みです。明示的に「キャッシュしてくれ」と指示しなくても自動で動作する点が "Implicit" の意味であり、開発者側での追加実装は基本的に不要です。
キャッシュが効く条件:
- 同一チャットセッション内(セッション間をまたぐキャッシュは不可)
- プロンプトの先頭に配置したコンテキストが前回と同一
- コンテキストの長さが最小閾値(通常 1,024 トークン以上)を超えている
逆に、キャッシュが使われない典型パターンが「毎回プロンプトの冒頭に異なる説明文を追加してしまうケース」です。少しでも変わると先頭一致が崩れ、キャッシュがリセットされます。
Antigravity での体感差——実際の開発フローで何が変わるか
Antigravity でよくある作業フローを例に考えてみよう。
Before(キャッシュを意識しない使い方):
プロンプト1: 「このファイル全体を見て、型エラーを修正して」(ファイルAを添付)
プロンプト2: 「次にこのファイルのパフォーマンスを改善して」(ファイルAを再添付)
プロンプト3: 「このファイルのテストを追加して」(ファイルAを再添付)
この場合、ファイルAは3回分フルに処理されます。
After(キャッシュを活かした使い方):
プロンプト1: 「@fileA を読み込んで。まず型エラーを修正して」
プロンプト2: 「次にパフォーマンスを改善して」(ファイルは引き続きコンテキストに存在)
プロンプト3: 「テストを追加して」(同上)
@mentions でファイルを最初に1回添付して以降は明示的に再添付しない設計にすると、Gemma 4 は前回のコンテキストを参照してキャッシュを活用し始める。
私が計測した範囲では、1,500行超のコードファイルを含む会話を10ターン続けた場合、キャッシュが有効に機能していると 体感的に 2〜3 倍の応答速度向上 と 約 40% のクレジット削減 が得られた。ただし、これはプロジェクトの構成や会話スタイルによって大きく変わる。
キャッシュ効率を最大化するプロジェクト設計術
Implicit Caching は「同一プロンプトの先頭部分の再利用」が核心なので、設計上意識すべきポイントは 「変わらない部分を先頭に、変わる部分を末尾に」 という原則です。
実践的な Antigravity プロジェクト設定例:
ANTIGRAVITY.md(プロジェクトルートに置くコンテキストファイル)を活用すると、Antigravity はすべてのチャットの冒頭に自動でその内容を挿入してくれます。この冒頭コンテキストが変わらない限り、Gemma 4 はキャッシュを継続して使える。
# プロジェクト概要(ANTIGRAVITY.md)
## アーキテクチャ
- Next.js 16 App Router + TypeScript
- Cloudflare Workers デプロイ
- Supabase(DB)+ Stripe(決済)
## 重要なルール
- 型安全を最優先。`any` は使用禁止
- Server Component / Client Component の区別を明確にする
- エラーハンドリングは Result 型パターンで統一
## よく参照するファイル
- src/lib/auth.ts(認証ロジック)
- src/lib/stripe.ts(Stripe 連携)
- src/types/index.ts(型定義)このファイルを充実させると、毎回のチャットでコンテキストの先頭部分が同じになるため、Implicit Caching が安定して機能します。
キャッシュが効かないパターンと対策
実際に使っていると、「キャッシュが有効なはずなのに遅い・クレジットが削られている」と感じる場面があります。主な原因と対策を整理しておく。
パターン 1: セッションをこまめに切り替えてしまう
Antigravity の「New Chat」を頻繁に作ると、それぞれのセッションでキャッシュがリセットされます。長いセッションを維持することがキャッシュ活用の前提となります。対策としては、同じ機能の開発中は同一チャットを使い続ける習慣をつけること。
パターン 2: プロンプトの冒頭に毎回異なるメモを書き込む
「今日はXXXを実装します。昨日の続きで〜」のような書き出しを毎回変えると、先頭一致が壊れます。変動するテキストは末尾に置き、冒頭は ANTIGRAVITY.md が自動挿入するコンテキストに任せるべきです。
パターン 3: モデルを途中で切り替える
Antigravity でチャット中にモデルを Gemma 4 から別モデルに切り替えると、キャッシュがリセットされることがあります。モデル変更は新しいセッションで行うのが無難です。
パターン 4: コンテキストウィンドウを超えてしまう
Gemma 4 のコンテキスト上限(100万トークン)を超えそうな大規模プロジェクトでは、古いメッセージが自動で削除されます。これによりキャッシュの参照元が変わり、効率が落ちる。非常に長い会話では重要な情報だけを ANTIGRAVITY.md に集約し直したうえで、新セッションを開始すると良い。
「Gemma 4 + キャッシング」が特に効くユースケース
すべての開発作業でキャッシング効果が均等に出るわけではありません。特に恩恵が大きいシナリオを挙げておく。
大きなスキーマファイルへの繰り返し参照: データベーススキーマや型定義ファイルは、一度読み込ませれば以降のクエリ生成・型修正・テスト追加が全て同一コンテキストで処理されます。これは体感効果が大きいです。
長期リファクタリングセッション: 同じコンポーネントを段階的にリファクタリングする際、コンポーネントファイルをコンテキストに保持したまま小刻みに修正指示を出すと、キャッシュが最大限活きる。
ドキュメント生成: README や API ドキュメントを生成する際、ソースコード全体を先頭に添付したまま「この関数の説明を追加して」「この型の説明を書いて」と繰り返し指示するパターンでもキャッシュが効率よく機能します。
逆に、短いワンショットの質問(「この関数のバグは何?」など)や、毎回まったく異なるファイルを添付するケースでは、キャッシングの恩恵は薄い。
今日から変えられること
Gemma 4 の Implicit Caching を Antigravity で活かすための具体的なアクションは2つに集約できます。
- ANTIGRAVITY.md を充実させる: プロジェクトの変わらない情報(アーキテクチャ・ルール・主要ファイルの説明)をここに集約し、すべてのチャットの先頭コンテキストを安定させる
- セッションを長く保つ習慣をつける: 機能単位でチャットを維持し、「New Chat」の頻度を意識的に減らす
どちらも設定変更や追加ツールは不要で、明日の作業から即座に試せる。Gemma 4 への切り替えを機に、Antigravity の使い方自体を見直すきっかけにしてほしい。
Gemma 4 の他の活用方法については、Gemma 4をAntigravityで使う方法:Google AIの最新モデルを使いこなす完全ガイド も合わせて参考にしてほしい。また、より大規模なエージェント構築に興味があれば AgentKit 2.0 完全ガイド——Antigravity で次世代 AI エージェントを構築する も読んでみてほしい。