A&A INSIGHTS
AI SaaSの利用増で原価が読めないとき:キャッシュと実行制限を別々に決める
キャッシュは同一リクエストの再利用で重複を減らし、レート制限は期間内総数で上限を決める。Cloudflare AI Gatewayでは、二つの原価要因を別々の機能で管理できます。
Read in English
この記事の要点
キャッシュによる重複削減と利用制限による上限管理は、違う原価要因に対する別の判断である。Cloudflare AI Gatewayでは、キャッシュが同一リクエストの再利用を、レート制限が一定期間のリクエスト数を制御する。両者は独立して設定可能なため、再利用可能な質問にキャッシングを、利用者全体の総量にレートリミットをそれぞれ適用できる。
原価が増える理由は二種類ある
A&Aの考え方
AI SaaSの月額が読めない時、増えている要因は大抄二つです。一つは同じ質問が何度も送られて重複料金が発生すること。もう一つは利用者が増えてリクエスト総数が増えることです。これはA&Aが提案する判断の分離です。Cloudflare AI Gatewayではこの二つを別々の機能で管理できます。判断を分けることで、原侪を読めるようにできます。
出典に基づく事実
キャッシュ機能は、同一リクエストに対してCloudflareのキャッシュからレスポンスを返します。これによりAIプロバイダへの重複リクエストを減らし、料金を削減できます。キャッシングはテキストと画像レスポンスのみをサポートし、完全一致するリクエストのみキャッシュ対象です。
出典に基づく事実
レートリミットは、アプリケーションに到達するトラフィックを制御し、高額請求や不審アクティビティを防ぐ機能です。レートリミットは一定期間内に送信されるリクエスト数で定義できます。
キャッシュは「同じ処理」をどう扱うか
A&Aの考え方
キャッシングはリクエストを再利用するかどうかの判断です。Cloudflare AI Gatewayでは、デフォルトでProvider・Endpoint・Model・認証ヘッダー・リクエストボディをSHA-256でハッシュし、完全一致するリクエストのみをキャッシュ対象とします。これは自動的な原価削減ではありません。意図的に共有キーを設定することで、再利用可能な質問を減らすことができます。
出典に基づく事実
デフォルトでは、キャッシングは無効です。ダッシュボードまたはAPIで有効にし、TTLやキーやスキップ設定を指定できます。cf-aig-cache-status ヘッダーで HIT または MISS が返され、キャッシュヒッフルかどうか確認できます。
仮想例
たとえばFAQボットの「注文を取消したい」という質問に対してキャッシングを設定すれば、同じ質問は一度だけプロバイダへ支払われます。個別の顧客名や注文番号が含まれる場合はキャッシュ対象外とする必要があります。これにより、顧客ごとの情報を無視した共有キャッシングを避けることができます。
レート制限は「総量」をどう抑えるか
A&Aの考え方
レートリミットはリクエストの再利用ではなく、総数を抑えるための制御です。AI Gatewayでは一定時間枠内のリクエスト数を指定できます。固定ウィンドウとスライディングウィンドウの方法を選択できます。これにより予期せぬ請求を防ぐことができます。
出典に基づく事実
レートリミットを超えると、サーバーは429 Too Many Requestsステータスコードを返します。このステータスコードにより、クライアントはリクエストが拒否されたことを確認できます。
仮想例
無料ユーザー向けのAPIで、1時間あたり1000リクエストまで許容するレートリミットを設定すれば、利用者増による請求超過を防ぐことができます。ただし、各リクエストの料金が高ければ請求額は予測できません。
二つは独立して調整すべき判断です
A&Aの考え方
キャッシングとレートリミットは同じ問題を解く二つの方法ではありません。キャッシングは同じリクエストの再利用を決定し、レートリミットは総リクエスト数を制御します。これらは独立して設定可能です。判断を分けることで、原侪を読めるようにできます。
出典に基づく事実
AI Gatewayのキャッシングは揮発性であり、同時に送信された同一リクエストはキャッシュ未達成の可能性があります。これにより、同時アクセス時のキャッシング効果が保証されません。
仮想例
たとえばサポートチャットでは、頻繁に送られる質問にキャッシングを設定し、利用者全体の総リクエスト数にレートリミットを設定する。これで原価を読みやすくできます。
二つの設定で原価を読めるようにする
A&Aの考え方
キャッシングにより再利用可能なリクエストを減らし、レートリミットで総量を抑えることで、AI SaaSの原侪を予測可能にできます。どちらか一方だけでは不十分です。これらは設計上の仮説に過ぎません。
出典に基づく事実
キャッシングはテキストと画像レスポンスのみをサポートし、完全一致するリクエストのみキャッシュ対象です。このため、プロンプトの微差がキャッシングヒット率に大きく影響します。
仮想例
月額を固定したい場合は、キャッシングでFAQ回答を再利用し、レートリミットで利用者ごとの最大リクエスト数を定める方法が有効です。これにより、原侪の増加を抑えることができます。
この仕組みが保証しないこと
A&Aの考え方
キャッシングは顧客ごとの情報や更新頻度を無視した共有キャッシングでは不適切です。レートリミットだけでは支出上限を保証しません。これらは構築・運用の仮説に過ぎません。
仮想例
たとえばレートリミットを10000リクエスト/時間に設定しても、各リクエストの料金が高ければ請求額は予測できません。キャッシングもキー設計によって効果が変わります。
キャッシュとレートリミットは異なる原侪要因に対する判断であり、同じ問題を解決するのではない。キャッシングは再利用可能な同一リクエストを減らし、レートリミットは期間内のリクエスト総数を抑える。どちらか一方だけでは予測可能な原価にはならず、顧客情報を無視した共有キャッシングや高単価リクエストへの依存は支払上限を保証しない。
出典・編集情報
記事の調査で確認した一次資料です。資料の公開・更新時期と、調査時の確認日を分けて記載しています。
- Caching
Cloudflare · 2026-08-27
確認日 2026-09-27 - Rate limiting
Cloudflare · 2026-06-05
確認日 2026-09-27
AIを活用した記事制作
調査・執筆・翻訳・編集上の確認にAIを活用しています。資料に基づく事実、A&Aの考え方、仮想例は、それぞれ本文に明記しています。
編集上の確認日: 2026-09-27