テーマ
言語

プロンプトキャッシング

対応モデルでのプロンプトキャッシング:繰り返されるプレフィックスは、通常の入力よりはるかに安くキャッシュから読み込まれます。Claudeではcache_controlブレークポイントを使用します。/v1/messagesでは、ゲートウェイが自動的に追加します。curlの例。

プロンプトキャッシングは、繰り返されるリクエストプレフィックス(システム指示、履歴、ツール説明)を節約します。対応モデルでは、繰り返されるプレフィックスは通常の入力よりはるかに安くキャッシュから読み込まれます — 通常価格の数十パーセント程度です。各バリアントのキャッシュ対応状況はModelsページに表示されます。

OpenAI 互換パス

OpenAI ファミリーの/v1/chat/completionsモデルではキャッシュが自動的に有効になります。同じリクエストを繰り返すと、同一の安定したプレフィックスがキャッシュから読み込まれます。特別なフィールドは不要で、重要なのはリクエストの先頭を変更しないことです。そのため、ボディはフィールドを並べ替えずにそのままバイト単位でエンドポイントに渡されます。

Claude: cache_control

Claude は動作が異なり、本文中に明示的な cache_control ブレークポイントがある場合にのみキャッシュします — プレフィックスを繰り返してもキャッシュは有効になりません。変更されていない部分 (system または最後のブロック) の末尾にそのようなブレークポイントを配置してください:

curl https://getvibeapi.com/v1/messages \
  -H "x-api-key: $GETVIBE_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-5.5",
    "max_tokens": 256,
    "system": [
      {
        "type": "text",
        "text": "A large fixed instruction worth caching…",
        "cache_control": { "type": "ephemeral" }
      }
    ],
    "messages": [{"role": "user", "content": "Question about the instruction"}]
  }'
独自のブレークポイントを渡さない場合、ゲートウェイが代わりに 1つ挿入します — /v1/messages でも /v1/chat/completions でも同様です。ご自身でキャッシュを管理する場合、マークアップはそのまま維持されます。

Claude エージェント: ネイティブエンドポイントがあります

Claude ではネイティブの Anthropic フォーマットをサポートしています — /v1/messages と x-api-key ヘッダーです。これは Claude Code と Anthropic SDK が使用するもので、ボディは OpenAI 形式からの変換なしでそのまま上流へ送られるため、キャッシュブレークポイントとレスポンス内の cache_creation / cache_read フィールドの両方がそのまま保持されます。

これは約束ではなく実測値です。2026-08-21 の claude-opus-5 上の /v1/messages 経由のエージェントセッション(119 リクエスト、15M 入力トークン)では、入力の 91.6% をキャッシュから読み取りました。実際に得られるキャッシュ量は常にレスポンスの usage とダッシュボードのリクエスト統計で確認できます。

GetVibe API プロンプトキャッシュ — cache_control、安価なキャッシュ読み取り | GetVibe API