ANTIGRAVITY LABEN
記事一覧/Agents & Manager
Agents & Manager/2026-05-20上級

Antigravity エージェントのプロンプトキャッシュとコンテキスト戦略 — 長期運用で月額APIコストを6〜8割削る実装パターン

長く回し続けるエージェントほど、月末の請求は地味に効いてきます。個人開発で5,000万DL規模のアプリ事業を回しながらAdMob収益と並走させてみたところ、プロンプトキャッシュとコンテキスト戦略の組み合わせで API 費用を 6〜8 割削減できた実装の手応えがありました。本番運用で実際に使っているキャッシュ階層・コンテキスト圧縮・TTL 設計を、コードと数値でまとめました。

Antigravity338プロンプトキャッシュ2コスト最適化6個人開発90エージェント運用10

プレミアム記事

エージェントを動かし始めて半年が経った頃、私は月末のAPI請求を眺めて「これは設計を入れ替える時期だ」と感じました。2014年から個人開発でアプリを出し続けてきて、累計5,000万DLに届いたタイミングで AdMob 収益が伸び、それと並走させる形で Antigravity のエージェントを業務に組み込んでいました。エージェントは仕事を確実に楽にしてくれていましたが、その「楽さ」のコストが、収益から差し引かれる固定費として体感できる規模になってきたのです。

ここで腹をくくって、プロンプトキャッシュとコンテキスト戦略を本格的に組み直しました。結果として、同じ機能を維持したまま月額API費用が 60〜80% 削れました。具体的にはエージェント1回あたりの入力トークンが平均で 12,400 → 4,800 トークンに、月次総コストは $480 → $112 まで落ちています。以下、その設計と落とし穴を順に書きます。

なぜプロンプトキャッシュ単体ではコストが下がりきらないのか

プロンプトキャッシュは公式に推奨される最初の手です。私も最初はこれだけで十分だと思っていました。ところが、実測してみるとキャッシュヒット率は 30〜40% にしか乗らず、期待した費用削減が出ませんでした。

理由はシンプルで、エージェントに渡すコンテキストの構造が「キャッシュしやすい部分」と「毎回変わる部分」を分けずに混ぜていたからです。システムプロンプトと参照ドキュメントは固定なのに、その間に動的なユーザー入力やツール実行結果を挿入していました。プロンプトキャッシュは前方一致でしか効きません。1文字でも前にズレが入った瞬間、それ以降は全部キャッシュミスになります。

そこで、コンテキスト自体を「キャッシュレイヤー」として設計し直す必要がありました。

3層キャッシュアーキテクチャ

私が現在運用している構成は、TTL とヒット率の特性に応じて3層に分かれます。

内容TTL期待ヒット率
Layer 1システムプロンプト24 時間99%
Layer 2参照ドキュメント6 時間85%
Layer 3直近の対話履歴5 分60%

ポイントは、層の順序を厳格に守ることです。Layer 1 を必ず最初に置き、その後に Layer 2、最後に Layer 3 を積みます。動的な部分(ユーザー入力・ツール結果)は Layer 3 の中、それも後半に集めます。

実装は TypeScript で次のように組んでいます。

import { Anthropic } from "@anthropic-ai/sdk";
 
interface CacheLayer {
  type: "system" | "reference" | "history";
  content: string;
  cacheControl: { type: "ephemeral" } | undefined;
}
 
const buildContext = (
  systemPrompt: string,
  references: string[],
  history: Array<{ role: string; content: string }>,
  userInput: string,
): CacheLayer[] => {
  const layers: CacheLayer[] = [];
 
  // Layer 1: システム(24h想定の長期キャッシュ)
  layers.push({
    type: "system",
    content: systemPrompt,
    cacheControl: { type: "ephemeral" },
  });
 
  // Layer 2: 参照ドキュメント(6h想定の中期キャッシュ)
  for (const ref of references) {
    layers.push({
      type: "reference",
      content: ref,
      cacheControl: { type: "ephemeral" },
    });
  }
 
  // Layer 3: 履歴と動的入力(短期キャッシュ + 非キャッシュ)
  for (let i = 0; i < history.length; i++) {
    const isRecent = i >= history.length - 2;
    layers.push({
      type: "history",
      content: `${history[i].role}: ${history[i].content}`,
      // 直近2件はキャッシュしない(変動が激しいため)
      cacheControl: isRecent ? undefined : { type: "ephemeral" },
    });
  }
 
  // 最終ユーザー入力はキャッシュしない
  layers.push({
    type: "history",
    content: `user: ${userInput}`,
    cacheControl: undefined,
  });
 
  return layers;
};

この構造に切り替えた直後、キャッシュヒット率は 38% → 78% に跳ね上がりました。コードの本質は「変わらないものを前に、変わるものを後ろに」というルールだけです。当たり前のことなのに、最初は気付かずにシステムプロンプトの中にタイムスタンプを混ぜていたりして、それだけで全層のキャッシュが死んでいました。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
システム/参照/履歴の3層キャッシュをTTL別に組む実装パターンと、キャッシュヒット率を 75% 以上に維持する具体的なコード
コンテキスト圧縮 + 要約スナップショットで入力トークンを 60% 削った Antigravity 本番設定の数値
AdMob 収益と並走させたときの『1リクエスト=何円』の損益分岐点と、個人開発者が踏みやすい3つの罠
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

Agents & Manager2026-04-28
Antigravity エージェントの月額コストが読めなくなる前に — 個人開発者のための試算と削減プレイブック
気付くと月額が桁違いに膨らんでいる、というのがエージェント運用で最初に踏む大きな罠です。個人開発者として実際に試算と削減を繰り返してきた経験から、コストが暴れ出す前にやっておきたい設計と、月次の見直しサイクルを具体的な数字とコードで共有します。
Agents & Manager2026-07-16
AGENTS.md を厚くするほどルールが守られなくなった — 遵守率を計測して指示を削るまで
AGENTS.md に書いたルールが守られない。衝突でも読み込み失敗でもなく、単に無視されていました。ルールを検証可能な述語に分解し、遵守率を継続計測して指示を削るまでの運用記録です。
Agents & Manager2026-07-12
Antigravity のエージェントに任せる作業と任せない作業を2週間の運用で見直す
個人開発の日々のタスクを2週間ほど Antigravity のエージェントに任せてみて、任せて正解だったものと手元に残すべきだったものの線引きを、運用ログを添えて振り返ります。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →