AI API費用削減ガイド
プロンプトキャッシュの費用と節約額の計算方法
プロンプトキャッシュは繰り返す入力の処理費用を下げられますが、新しい質問や出力まで安くなるわけではありません。ヒットした反復入力、ヒットしなかった入力、新規入力、出力、キャッシュの書き込み・保存を分けると、実際の節約額を見積もれます。
キャッシュできるトークンを見分ける
固定したシステム指示、ツール定義、例、長い参考文書など、複数のリクエストで同じ順序のまま使う入力が主な対象です。ユーザーの質問、新しいRAG検索結果、現在時刻など毎回変わる部分は通常の入力として、生成された回答は出力として計算します。
自動的に共通の接頭辞を再利用する仕組みと、コンテンツを明示的に作成・保存する仕組みでは費用項目が異なります。モデルごとの最小トークン数、保持時間、接頭辞の条件も確認し、反復文があるだけで100%ヒットすると仮定しないでください。
見積もりに必要な5つの数値
- 反復入力トークン: 各リクエストで同じ状態を保つ入力部分です。
- 新規入力トークン: 質問、検索結果、会話の追加分など毎回変わる部分です。
- 出力トークン: モデルが1回のリクエストで生成する回答です。
- キャッシュヒット率: 反復入力が実際に再利用されたリクエストの割合です。
- 書き込み・保存料金: キャッシュ作成やTTLに応じた保存に別料金がある場合の費用です。
月額費用の計算式
キャッシュ入力 = 反復入力トークン × 月間リクエスト数 × ヒット率
通常入力 = 新規入力トークン × 月間リクエスト数 + 反復入力トークン × 月間リクエスト数 × (1 − ヒット率)
合計費用 = キャッシュ入力費用 + 通常入力費用 + 出力費用 + 書き込み・保存費用
純節約額 = キャッシュなしの基準費用 − キャッシュ利用時の合計費用
月間カスタマーサポートの例
各リクエストでサポート方針とツール定義20,000トークン、新しい質問と顧客情報2,000トークン、回答1,000トークンを使い、月10,000回呼び出すとします。ヒット率が80%なら、1億6,000万トークンにキャッシュ入力単価、ヒットしない4,000万トークンと新規入力2,000万トークンに通常入力単価、出力1,000万トークンに出力単価を適用します。明示的なキャッシュに書き込み・保存料金があれば追加します。
損益分岐点は、キャッシュ読み取りで減る金額が書き込み・保存料金を上回る時点です。反復回数が少ない、またはプロンプト変更が多くヒット率が低い場合、キャッシュを使わない方が安いこともあります。
ヒット率を上げ、usageで検証する
固定した指示と例は前方に、ユーザーの質問や検索結果は後方に置きます。タイムスタンプ、リクエストID、順序が不定のJSONを反復部分に入れると、共通の接頭辞が崩れやすくなります。プロンプトのバージョン変更による無効化も記録しましょう。
代表的なトラフィックで試し、APIレスポンスのusage情報からキャッシュ済みトークン、通常入力、出力、請求額を一緒に保存します。ヒット率だけでは、長い出力や保存料金によって合計費用が増えたケースを見落とします。
最新の条件を公式資料で確認する
対応モデルと価格は変更されます。導入前にOpenAIのPrompt Cachingガイド、Claudeのプロンプトキャッシュ資料、Geminiのコンテキストキャッシュ資料と各社の価格表で、最小トークン数、保持時間、読み取り・書き込み・保存単価を確認してください。
計算機と組み合わせる手順
まず計算機で、キャッシュを使わない全入力・出力の費用を基準として計算します。次に、実際にヒットした反復入力だけをキャッシュ入力単価に置き換え、書き込み・保存費用を加えて比較します。月間呼び出し数と再試行も含める場合は月間AI API費用ガイドも参照してください。