Skip to Content
モデルの使い方Claudeプロンプトキャッシュ

Claude のプロンプトキャッシュ

このページでは、Claude でプロンプトキャッシュを有効にし、ヒットを確認する方法を説明します。モデル ID とエンドポイントの URL は Claude シリーズの概要を参照してください。

ポイントClaude のキャッシュには cache_control の明示的な指定が必要です。どちらの API も自動ではキャッシュしません。

長く固定された内容(システムプロンプト、ドキュメント、ツール定義)をリクエストの先頭に置き、最後の固定コンテンツブロックに cache_control を付けます。以降のリクエストでプレフィックスが完全に一致すると、キャッシュにヒットします。

claude_cache.py
import os import anthropic client = anthropic.Anthropic(base_url="https://api.ofox.ai/anthropic", api_key=os.environ["OFOX_API_KEY"]) LONG_DOC = open("manual.txt", encoding="utf-8").read() # 長めの固定ドキュメント for question in ["第 3 章には何が書かれていますか?", "全体の要点をまとめてください。"]: message = client.messages.create( model="anthropic/claude-sonnet-4.6", max_tokens=1024, system=[ {"type": "text", "text": "以下のドキュメントに基づいて質問に答えてください。"}, {"type": "text", "text": LONG_DOC, "cache_control": {"type": "ephemeral"}}, ], messages=[{"role": "user", "content": question}], ) u = message.usage print("書き込み:", u.cache_creation_input_tokens, "読み取り:", u.cache_read_input_tokens)
項目説明
有効期間デフォルトは 5 分で、ヒットするとリセットされます。"cache_control": {"type": "ephemeral", "ttl": "1h"} で 1 時間になります
ヒットの確認(ネイティブ API)初回リクエストで usage.cache_creation_input_tokens が 0 より大きくなり、ヒット時は usage.cache_read_input_tokens が 0 より大きくなります
ヒットの確認(OpenAI 互換 API)ヒット時は usage.prompt_tokens_details.cached_tokens が 0 より大きくなります
最小長内容が短すぎるとキャッシュされず、両フィールドとも 0 になります。モデルごとのキャッシュ可能な最小長は Anthropic 公式ドキュメント を参照してください
課金書き込みと読み取りは、それぞれキャッシュ書き込み単価とキャッシュ読み取り単価で課金されます。モデルページ を参照してください

キャッシュの共通説明はプロンプトキャッシュを参照してください。

その他のエラーはよくあるエラーを参照してください。

最終更新日