Automatic Prompt Caching
Anthropic モデルへのマルチターン呼び出しに cache_control を自動注入し、設定なしでキャッシュ割引を受けられるようにします。
Anthropic のプロンプトキャッシュはオプトイン方式で、cache_control マーカーを自分で付けないと機能せず、知らなければ割引を逃します。PleumRouter は Anthropic モデルへルーティングされるマルチターン呼び出しにキャッシュ分岐点を自動注入します — リクエストの変更は不要で、デフォルトで有効です(運用設定 routing.auto_cache_enabled)。
curl https://apirouter.pleum.ai/v1/chat/completions \
-H "Authorization: Bearer plm_..." \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"messages": [
{"role": "system", "content": "<long system prompt, 4000+ chars>"},
{"role": "user", "content": "First question about the document."},
{"role": "assistant", "content": "..."},
{"role": "user", "content": "Follow-up question."}
]
}'注入ルール#
明示指定が常に優先 — リクエストのどこかに自分で cache_control を付けていれば、自動注入は完全に退きます。すでに明示的 キャッシュを使っているリクエストはそのまま動作します。
最初のターンは無介入 — 会話に assistant メッセージが 1 つもない(最初の リクエスト)場合は注入しません。再利用が確定しているマルチターンでのみ介入します。
注入ポイントは最大 2 箇所 — システムプロンプトの最後のブロックと、最後から 2 番目の user メッセージの最後のブロックです(マルチターンでプレフィックス再利用が最大化される 位置)。各ポイントは、その内容が合計 4,000 文字以上のときのみ注入されます(Anthropic の最小 キャッシュサイズに対応、運用側で調整可能)。
注入は Anthropic API 形式に変換されたリクエストの内部でのみ行われるため、フォールバックで別の (OpenAI 互換)プロバイダーがサービングすることになっても、 cache_control がそちらへ漏れることはありません。
課金とレスポンス#
キャッシュがヒットすると、レスポンスの usage に prompt_tokens_details.cached_tokens(ヒットトークン)と cache_creation_input_tokens(書き込みトークン)が表示され、割引・割増は 課金に自動反映されます。キャッシュ料金の詳細は Chat Completions ドキュメントを参照してください。
"usage": {
"prompt_tokens": 12480,
"completion_tokens": 210,
"prompt_tokens_details": {"cached_tokens": 11900},
"cache_creation_input_tokens": 0
}cache_control を明示してください — 自動注入は退き、指定した とおりにのみ動作します。