Claude APIAnthropic の機能

FEATURE

Prompt caching (プロンプトキャッシュ)

Prompt caching (プロンプトキャッシュ) は、プロンプトの特定の先頭部分 (prefix) から API が処理を再開できるようにして、Claude API の利用を最適化する機能です。

提供中公式発表と照合済み
初出未調査
ページ更新
提供状態提供中
公式の記載で確認できた環境公式に記載なし
提供を確認できたプラン公式に記載なし
目次 CONTENTS
  1. できること
  2. 機能解説
  3. 使い方
  4. 利用シーン
  5. ChatGPT・OpenAI の対応する機能
  6. これまでの変更
  7. 関連する機能
  8. 出典
CAN DO

できること

POINT 01

プロンプトの先頭を再利用

リクエストを送ると、指定したキャッシュのブレークポイントまでのプロンプトの先頭部分が、直近のリクエストですでにキャッシュされているかを確認します。対象は tools、system、messages の順に、cache_control を付けたブロックまでのプロンプト全体です。

POINT 02

自動と明示の2つの方式

自動キャッシュでは、最後のキャッシュ可能なブロックにブレークポイントが置かれ、会話が伸びるにつれて前へ移動します。個々のコンテンツブロックに cache_control を置けば、何をキャッシュするかを細かく指定でき、ブレークポイントは最大 4 個まで定義できます。

POINT 03

キャッシュの事前ウォーム

ユーザーが実際のリクエストを送る前に、システムプロンプトやツール定義をプロンプトキャッシュに読み込んでおけます。

GUIDE

機能解説

概要

繰り返し行う作業や、共通の要素を含むプロンプトについて、処理時間とコストを大幅に減らします。ツール定義やシステムの指示など、毎回同じ内容を送るアプリケーションに関わる機能です。

仕組みとキャッシュの扱い

キャッシュの有効期間は、既定で 5 分です。キャッシュの照合では、ブレークポイントごとに 20 ブロックをさかのぼって確認します (lookback window)。

キャッシュがヒットするには、cache_control を付けたブロックまでのテキストと画像を含め、プロンプトの該当部分が 100% 同一である必要があります。

Prompt caching は出力トークンの生成には影響しません。受け取る応答は、Prompt caching を使わない場合と同じです。また、異なる組織同士がキャッシュを共有することはありません。同一のプロンプトを使っていても同じです。

キャッシュの効果は、応答の usage 内 (ストリーミングの場合は message_start イベント) にある cache_creation_input_tokens、cache_read_input_tokens、input_tokens の各フィールドで確認できます。

キャッシュできるもの・できないもの

次の要素は、自動で、または cache_control を付けることでキャッシュできます。

  • ツール (tools)
  • システムメッセージ
  • テキストメッセージ
  • 画像と文書
  • ツールの使用 (tool use) とツールの結果 (tool results)

Thinking ブロックは、cache_control で直接キャッシュすることはできません。ただし、過去のアシスタントのターンに含まれる場合は、他のコンテンツと一緒にキャッシュされます。

自動キャッシュと明示的ブレークポイントの使い分け

自動キャッシュを使う場合は、個々のコンテンツブロックに cache_control を置く代わりに、リクエスト本文の最上位に cache_control フィールドを 1 つ追加します。システムが最後のキャッシュ可能なブロックにブレークポイントを置き、会話が伸びるにつれて前へ移動させます。

明示的なブレークポイントでは、個々のコンテンツブロックに cache_control を直接置き、キャッシュする範囲を細かく指定します。ブレークポイントは最大 4 個まで定義できます。

自動キャッシュは明示的なブレークポイントと併用できます。併用した場合、自動のブレークポイントは利用できる 4 個の枠のうち 1 個を使います。

既定の 5 分より長い 1 時間のキャッシュを使う場合は、cache_control の定義に ttl を含めます。

キャッシュの事前ウォーム

事前ウォームは、実際のリクエストの前にシステムプロンプトやツール定義をキャッシュに読み込んでおく使い方です。流れは次のとおりです。

  1. リクエストで max_tokens: 0 を指定します。API はプロンプトを読み込み、cache_control のブレークポイントでキャッシュを書き込み、出力を生成せずにすぐ応答を返します。
  2. cache_control のブレークポイントは、仮置きのユーザーメッセージではなく、後続のリクエストと共通する最後のブロック (通常はシステムプロンプトやツール定義) に置きます。
  3. アプリケーションの起動時 (または定期的な間隔) に事前ウォームのリクエストを送り、それが完了した後に実際のユーザーのリクエストを送ります。
HOW TO USE

使い方

  1. プロンプトの先頭に、変わらない内容 (ツール定義、システムの指示、コンテキスト、例) を置きます。
  2. 再利用する内容の終わりを、cache_control パラメータで示します。
公式ヘルプを開く ↗
USE CASES

利用シーン

CASE 01

長いシステムの指示やツール定義を毎回同じ形で送るアプリケーションに向いています。変わらない部分をプロンプトの先頭に置き、その終わりにブレークポイントを置く使い方です。

CASE 02

会話が続くチャット型のアプリケーションに使えます。自動キャッシュでは、会話が伸びるにつれてブレークポイントが前へ移動します。

CASE 03

同じ文書や画像を前提に、質問を変えて何度も問い合わせる場面に使えます。画像と文書はキャッシュの対象です。

CASE 04

最初のユーザーのリクエストが届く前に準備しておきたい場面に向いています。アプリケーションの起動時に事前ウォームのリクエストを送れます。

COMPARISON

ChatGPT・OpenAI の対応する機能

比較の単位となる業務: 繰り返し使うプロンプトのキャッシュによる API 入力コストの削減

キャッシュの保持期間の既定値に違いがあります。Claude API の Prompt caching では、キャッシュの有効期間は既定で 5 分です。OpenAI の側では、ZDR が有効でない組織について、prompt_cache_retention の既定値が in_memory から 24h に変わり、extended prompt caching が既定で有効になっています。

Claude API では、個々のコンテンツブロックに cache_control を置いて、キャッシュする範囲を細かく指定できます。OpenAI では、GPT-5.6 で明示的なプロンプトキャッシュ制御が追加されました。

キャッシュの効果の確認方法も異なります。Claude API では応答の usage 内の cache_creation_input_tokens、cache_read_input_tokens、input_tokens で確認します。OpenAI API プラットフォームには Prompt Caching ダッシュボードがあり、キャッシュヒット率の推移、書き込みあたりの読み取り数、キャッシュ読み取り・書き込み・非キャッシュのトークン内訳を確認できます。

TIMELINE

これまでの変更

  1. Claude Sonnet 5.5 のプロンプトキャッシュ読み取り価格を、100 万トークンあたり 0.20 米ドルから 0.10 米ドルに引き下げました。基本入力価格の 0.1 倍から 0.05 倍への変更です。

  2. Claude Fable 5.1 と Claude Mythos 5.1 のプロンプトキャッシュ読み取りは 100 万トークンあたり 0.25 米ドルで、基本入力価格の 0.025 倍です (他のモデルは 0.1 倍)。

  3. Claude Opus 4.8 で、キャッシュ可能なプロンプトの最小長が 1,024 トークンになりました。Claude Opus 4.7 より低い値です。

SOURCES

出典

出典 5 件を表示