LESSON 02
/ 06
プロンプトキャッシュでコストを最大90%削減
Claude API には「プロンプトキャッシュ」という機能があり、これを正しく使うと運用コストを 50〜90% 削減できることがあります。
プロンプトキャッシュの仕組み
システムプロンプトや長い参照ドキュメントなど、リクエスト間で繰り返し送信する部分を、サーバー側でキャッシュする機能です。キャッシュヒットした入力トークンは、通常料金の 10% 程度で再利用できます。
有効化する方法
from anthropic import Anthropic
client = Anthropic()
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
system=[
{
"type": "text",
"text": "あなたは熟練のテクニカルライターです。" + LARGE_STYLE_GUIDE,
"cache_control": {"type": "ephemeral"} # この部分をキャッシュ
}
],
messages=[
{"role": "user", "content": "今日のテーマは...についてブログを書いて"}
],
)
print(response.usage)
# cache_creation_input_tokens, cache_read_input_tokens が確認できる
キャッシュが効くシーン
- 長いシステムプロンプト:会社のスタイルガイド・FAQ・規程
- 大規模ドキュメント分析:同じPDFに対して複数の質問を投げる
- Few-shot の例示部分:例の集合は変わらない
- マルチターン会話:会話履歴の前半を固定キャッシュ
キャッシュの寿命と注意点
- デフォルトTTLは5分(最後のヒットからカウント)
- キャッシュ作成時は通常料金の 1.25倍 の課金
- 最低1024トークン(モデルにより異なる)必要
- システム → ツール → メッセージの順でキャッシュブレークポイントが効く
コスト試算(実例)
10000トークンのシステムプロンプトを1日100回使うケース:
- キャッシュなし: 100 × 10000 = 1,000,000 トークン × $3 = $3.0/日
- キャッシュあり: 1回作成 + 99回読込 ≒ $0.5/日
約83%のコスト削減。
このレッスンのまとめ
プロンプトキャッシュは本番運用で最初に検討すべき最適化です。次のレッスンでは「ツール使用(Tool Use)」で Claude を外部APIと連携させる方法を学びます。