プロンプトキャッシュ
Prompt Caching は、くりかえしつかう prompt プレフィックスをキャッシュし、token しょうひとレスポンスのレイテンシをへらします。
しくみ#
リクエストに ながい system prompt や、くりかえすコンテキストがあるとき:
- はじめのリクエスト — すべての token をしょりし、prompt プレフィックスをキャッシュ
- あとのリクエスト — キャッシュヒットなら、キャッシュぶんの token はさいかきんされません
- キャッシュ TTL — ふつう 5〜10 ふん。きげんぎれのあとは、もういちどキャッシュがひつようです
キャッシュたいおう#
诺玛AI のモデルリソースは AWS Bedrock、Azure OpenAI、Google Cloud、Alibaba Cloud、Volcano Engine などのこうしきクラウドプロバイダーからていきょうされます。それらのクラウドで Prompt Caching にたいおうするモデルは、诺玛AI でもたいおうします。
クラウドプロバイダー
だいひょうモデル
キャッシュほうしき
AWS Bedrock
Claude シリーズ
ネイティブ Prompt Caching
Azure OpenAI
GPT-4o シリーズ
じどうキャッシュ
Google Cloud
Gemini シリーズ
Context Caching
Alibaba Cloud
Qwen シリーズ
プラットフォームがわキャッシュ
Volcano Engine
Doubao シリーズ
プラットフォームがわキャッシュ
モデルごとのキャッシュたいおうは、かくクラウドのこうしきドキュメントをみてください。诺玛AI はキャッシュかんれんパラメータをそのままとうかするため、ついかせっていはひつようありません。
つかいかた#
OpenAI プロトコル
OpenAI モデルの Prompt Caching はじどうでうごきます — くりかえしの prompt プレフィックスをみつけるとじどうでゆうこうになります:
# 長い system prompt は自動的にキャッシュされる
SYSTEM_PROMPT = """あなたは 诺玛AI のテクニカルサポートアシスタントです。
以下はあなたが把握しておくべき製品情報です:
- 诺玛AI は LLM Gateway であり、複数の主要な大規模モデルをサポートしています
- OpenAI / Anthropic / Gemini の三大プロトコルをサポート
- ...
(その他の製品知識は省略)
"""
# 1回目のリクエスト:system prompt をキャッシュ
response1 = client.chat.completions.create(
model="openai/gpt-4o",
messages=[
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": "诺玛AI はどのモデルをサポートしていますか?"}
]
)
# 2回目のリクエスト:キャッシュにヒットし、より速く・より安く
response2 = client.chat.completions.create(
model="openai/gpt-4o",
messages=[
{"role": "system", "content": SYSTEM_PROMPT}, # キャッシュヒット
{"role": "user", "content": "開発ツールはどう設定しますか?"}
]
)Anthropic プロトコル
Anthropic モデルはめいじてきな cache control にたいおうしています:
コストさくげん#
キャッシュヒットのあとは、キャッシュぶんの token がよりひくいりょうきんでかきんされます。さくげんりつはモデルでかわります:
- Anthropic Claude シリーズ — キャッシュヒットでインプットコストをやく 90% さくげんできます
- OpenAI GPT シリーズ — キャッシュヒットでインプットコストをやく 50% さくげんできます
- Google Gemini シリーズ — キャッシュヒットでインプットコストをやく 50〜75% さくげんできます
じっさいのさくげんりつは、キャッシュヒットりつとクラウドプロバイダーごとのかきんポリシーによりかわります。くわしくは 诺玛AI コンソールのりようりょうをみてください。
ベストプラクティス#
- ながいテキストをまえにおく — system prompt やナレッジベースなど、かわらないぶぶんを messages のさいしょにおく
- プレフィックスをそろえる — かんぜんにおなじプレフィックスだけがキャッシュヒットします
- prompt こうぞうをよくせっけいする — こていぶぶんとへんかぶぶんをわける
# ✅ 良い設計:固定内容を前に、変化する内容を後に
messages = [
{"role": "system", "content": LONG_STATIC_PROMPT}, # キャッシュ可能
{"role": "user", "content": dynamic_question} # 変化する部分
]
# ❌ 悪い設計:変化する内容が固定内容の中に混ざっている
messages = [
{"role": "system", "content": f"Today is {date}. {LONG_PROMPT}"} # 毎日異なるためキャッシュ不可
]キャッシュヒットは API レスポンスの `usage` フィールドと、诺玛AI コンソールのりようりょうでかくにんできます。
さいしゅうこうしん: 2026 ねん 6 がつ 23 にち