Skip to content
NEWNano Banana 2.1 が登場 — Google の最新画像生成モデル、1 枚 $0.0336 から、ネイティブ 4K、前世代の約半額モデルを見る
HopBase
← ブログに戻る

プロンプトキャッシュで LLM API コストを削減する方法

プロンプトキャッシュで LLM API コストを削減する方法

結論から言うと、同じモデルを使っているユーザー同士のコスト差は、そのほとんどがプロンプトキャッシュ(prompt cache)から生まれます。入力課金には 2 つの区分があり、初回処理のトークンは標準単価、キャッシュされたプレフィックスの読み取りは大幅な割引単価で課金されます(キャッシュ読み取り単価はモデルごとに異なります。たとえば Claude Sonnet 5.5 は 100 万トークンあたり標準入力 $2 に対してキャッシュ読み取り $0.10、Claude Fable 5.1 は $10 に対して $0.25。各モデルの単価は料金ページでご確認ください)。つまり、繰り返されるプレフィックスが安定していて長いほど、実質的な入力コストは下がります。Claude Code や AI Chat のような会話型ツールでは、健全なセッションであれば一般にヒット率 60% 以上になりますが、システムプロンプトにタイムスタンプを入れるだけでキャッシュがゼロになり、コストが数倍に膨らむこともあります。ヒット率を上げるには、変わらない内容(システムプロンプト、ツール定義、few-shot の例)を先頭に、変わる内容を末尾に置き、タイムスタンプやランダム ID などの動的データをプレフィックスに入れず、セッションは作り直さずに継続させることです。そのうえでコンソールの使用明細を確認してください。各リクエストが標準入力・キャッシュ書き込み・キャッシュ読み取りのトークン数に分けて表示されるので、キャッシュ読み取りの比率が上がっていくのが確認できます。

初めて請求額を確認したユーザーの多くが、「同じモデルなのに、なぜ他の人はこんなにコストが低いのか」と疑問を持ちます。その答えは、8 割がたプロンプトキャッシュにあります。本記事では、課金の仕組み、実際のヒット率、そして割引を最大限に受けるためのプロンプトの組み立て方を解説します。

課金の仕組み:キャッシュされたプレフィックスの読み取りは大幅割引

LLM API の入力課金には 2 つの区分があります。初回処理のトークンは標準単価、キャッシュにヒットしたプレフィックス部分は大幅な割引単価です(キャッシュ読み取り単価はモデルごとに異なります。たとえば Claude Sonnet 5.5 は 100 万トークンあたり標準入力 $2 に対してキャッシュ読み取り $0.10、Claude Fable 5.1 は $10 に対して $0.25。各モデルの単価は料金ページでご確認ください)。簡単に言えば、セッションのプレフィックスが安定していて、繰り返し部分が長いほど、実質的な入力コストは低くなります。

実際のヒット率

ゲートウェイ側から見た観測では、Claude Code や AI Chat のような会話型ツールは毎ターンにシステムプロンプトと会話履歴を送るため、健全なセッションでは一般にキャッシュヒット率が 60% を超えます。一方、実装がまずい場合、たとえばシステムプロンプトにタイムスタンプを埋め込んでいると、キャッシュが完全にゼロになり、コストが数倍に膨らむことがあります。

ヒット率を倍にする 3 つのテクニック

  1. 「変わらないもの」を先に、「変わるもの」を後に置く。キャッシュはプレフィックス一致で判定されます。システムプロンプト、ツール定義、few-shot の例は先頭に、ユーザー入力や検索結果は末尾に置きましょう。途中に動的なフィールドが 1 つ入るだけで、それ以降のキャッシュはすべて無効になります。
  2. プロンプトに動的データを入れない。タイムスタンプ、ランダム ID、「今日は何日か」といった内容はキャッシュの天敵です。どうしても時刻が必要なら、末尾のユーザーメッセージに入れてください。
  3. セッションは作り直さず、継続する。複数ターンのやり取りは同じセッション内で続けることで、キャッシュヒットが積み上がります。ターンごとにセッションを作り直すと、そのたびにキャッシュ済みのプレフィックスが無駄になります。

割引が効いているか確認する方法

コンソールの使用明細では、リクエストごとに標準入力・キャッシュ書き込み・キャッシュ読み取りのトークン数が分けて表示されます。プロンプトの構成を見直したら数ターン実行し、キャッシュ読み取りの比率を比較してください。最適化が効いたかどうかは、数字ですぐにわかります。

キャッシュは魔法ではなく、プレフィックス一致です。プロンプトを「不変のプレフィックス + 可変のサフィックス」として組み立てれば、請求額は正直にそれに応えてくれます。