Claude のプロンプトキャッシュ
このページでは、Claude でプロンプトキャッシュを有効にし、ヒットを確認する方法を説明します。モデル ID とエンドポイントの URL は Claude シリーズの概要を参照してください。
ポイントClaude のキャッシュには cache_control の明示的な指定が必要です。どちらの API も自動ではキャッシュしません。
長く固定された内容(システムプロンプト、ドキュメント、ツール定義)をリクエストの先頭に置き、最後の固定コンテンツブロックに cache_control を付けます。以降のリクエストでプレフィックスが完全に一致すると、キャッシュにヒットします。
Anthropic ネイティブ API
claude_cache.py
import os
import anthropic
client = anthropic.Anthropic(base_url="https://api.ofox.io/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)キャッシュの共通説明はプロンプトキャッシュを参照してください。
その他のエラーはよくあるエラーを参照してください。
最終更新日