2026-06-09
今回は、Claude APIの機能のひとつである「プロンプトキャッシング」についてお伝えします。
筆者は個人的に、SlackにAIニュースボットを作成しました。国内外のAI関連ニュースを自動収集・要約してSlackに投稿するツールです。このボットの構築にあたって、プロンプトキャッシングの仕組みを取り入れたのですが、Claude API(従量課金)のコスト削減という面で非常に効果的でした。
プロンプトキャッシングは、エンジニアだけが知っておけばいい技術だと思われがちです。しかし実際には、AIツールを企画・発注・運用するビジネス側の人がこの概念を知っているかどうかで、ツールの設計品質とランニングコストに大きな差が出ます。
「なんとなく聞いたことはあるけど、よくわからない」という方に向けて、概念からコード例まで、ビジネスの視点でわかりやすく解説します。コードを書けなくても大丈夫です。知っているだけで、AIへの指示の解像度が上がります。
Claude APIを使ったアプリやツールを運用していると、「毎回同じシステムプロンプトや背景情報を送っている」という場面が多くあります。たとえば、社内マニュアルを参照しながら質問に答えるチャットボットや、大量のニュース記事を読み込んで要約するツールなどが該当します。
プロンプトキャッシングとは、そうした「毎回変わらない部分」をAnthropicのサーバー側に一時保存しておき、2回目以降のリクエストでは保存済みのデータを再利用する仕組みです。(参考:Anthropic公式ドキュメント)
キャッシュなしの場合、毎回のリクエストで「システムプロンプト+参照ドキュメント+ユーザーの質問」をすべて送信し、すべてのトークンに課金されます。キャッシュありの場合、初回は通常通り送信してサーバー側に保存し、2回目以降は「保存済みのデータへの参照+ユーザーの質問」だけを送れば済みます。変わらない部分の読み出しコストは通常の10分の1になります。
保存期間(TTL)はデフォルトで5分間です(オプションで1時間の延長TTLも指定可能)。5分以内に次のリクエストが来るとTTLがリセットされ、継続して利用できます。複数のユーザーが同じボットに短い間隔でアクセスするような用途では、キャッシュヒット率が高くなり、より大きなコスト削減効果が得られます。
プロンプトキャッシングが特に効果を発揮するのは、「固定コンテキスト+可変の質問」という構造のツールです。Slackに連携したニュースボット、社内FAQへの自動応答、ドキュメントを参照するコーディングアシスタントなどがその典型例です。
Anthropicの公式ドキュメントによると、キャッシュの読み出しコストは通常の入力トークン料金の0.1倍(90%割引)です。一方、キャッシュへの書き込み(初回)は通常の1.25倍かかりますが、2回目以降の読み出しで十分に回収できます。
| 操作の種類 | 通常との比較 | ポイント |
|---|---|---|
| 通常の入力 | 1倍(基準) | 毎回全トークンに課金 |
| キャッシュ書き込み(初回) | 1.25倍 | 初回のみ割高 |
| キャッシュ読み出し(2回目〜) | 0.1倍(90%割引) | 繰り返すほど節約 |
コスト削減だけでなく、レスポンス速度の改善も見込めます。キャッシュが利用されると、毎回大量のトークンを処理する必要がなくなるため、応答が速くなります。ユーザー体験の向上という観点でも、プロンプトキャッシングは重要な技術です。
プロンプトキャッシングの対象はテキストだけではありません。公式ドキュメントによると、画像・PDFなどのドキュメントデータもキャッシュ対象になります。
画像のトークン数はモデルや解像度によって異なりますが、一般的な画像で数百〜1,500トークン程度、高解像度対応のClaude Opus 4.7では最大4,784トークンに達することもあります。テキストに比べてトークン数が大きくなりやすいため、キャッシュの恩恵も大きくなります。同じ商品画像や資料の図表に対して複数の質問を投げるような用途では、キャッシュを活用することでコスト削減の絶対額も大きくなります。
画像をキャッシュするには、URLではなくbase64形式(バイナリデータ)で送信する必要があります。また、画像を少しでも加工・リサイズすると別のデータとして認識され、キャッシュが無効になります。「同じファイルを繰り返し参照する」という用途に限定して活用するのがポイントです。
また、キャッシュが有効になるには最低トークン数の条件があります。モデルによって異なりますが、たとえばClaude Opus 4.7では4,096トークン以上が必要です(Claude Opus 4.8以降では1,024トークンに緩和)。短すぎるプロンプトはキャッシュ対象外になるため、主に長文コンテキストを扱う場面での活用が適しています。
「キャッシングを使いたいけど、コードは書けない」という方でも心配はいりません。プロンプトキャッシングの実装方法をClaudeに伝えれば、AIが対応したコードを生成してくれます。概念を理解していることで、AIへの指示が格段に具体的になります。
プロンプトキャッシングを有効にするには、system パラメータをコンテンツブロック形式(リスト)に変え、その中に "cache_control": {"type": "ephemeral"} を追加します。キャッシュしたいブロックにこの指定を加えるだけで、条件を満たしたコンテンツが自動的にキャッシュ対象となります。
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
system=[
{
"type": "text",
"text": "あなたは社内ナレッジベースのアシスタントです。\n\n[マニュアル全文...]",
"cache_control": {"type": "ephemeral"} # ← コンテンツブロック内に追加
}
],
messages=[{"role": "user", "content": "有給休暇の申請方法を教えてください"}],
)
既存のコードにキャッシングを組み込みたい場合は、Claudeに次のように依頼するだけで対応したコードを生成してもらえます。
「このコードにプロンプトキャッシングを組み込んでください。システムプロンプトと参照ドキュメントを cache_control でキャッシュ対象にして、ユーザーの質問部分だけ毎回送るようにしてください。」
概念を知っていれば、この一文を指示に加えられます。それだけでエンジニアでなくても、コスト最適化された設計をAIに実装させることができます。
プロンプトキャッシングは、エンジニアだけが知っておくべき技術ではありません。AIツールを発注・企画・運用するビジネス側の人が概念を理解していることで、大きな差が生まれます。
キャッシングを知らずにAIツールの開発を依頼すると、「毎回全データを送り続ける」設計になりがちです。ユーザーが増えれば増えるほどAPIコストが比例して膨らみ、ある時点でコストが問題になって初めて最適化を検討することになります。後から設計を見直すと、コードの書き直しが発生することもあります。最初から知っていれば防げたコストです。
一方、概念を知っていれば、設計の初期段階から「固定コンテキストはキャッシュ対象にする」という方針をAIや開発者に伝えられます。具体的には、次のような指示が自然に出てきます。
「システムプロンプトと参照ドキュメントをプロンプトの先頭にまとめて、cache_controlを使ってキャッシュしてください。ユーザーの質問部分だけ毎回送るようにしてください。」
この一文を最初に伝えられるかどうかで、ツールの運用コストは大きく変わります。
たとえば、社内向けのAIチャットボットをエンジニアに発注する場面を考えてみてください。知識がない場合、要件として伝えられるのは「社内マニュアルを参照して答えてくれるボットを作ってほしい」という機能の話だけです。知識がある場合は、これに加えて「マニュアルデータは毎回送らずキャッシュを使ってコストを抑えてほしい」と伝えられます。エンジニアへの発注精度が上がり、手戻りも減ります。
Claudeに直接ツールを作ってもらう場合も同様です。「社内FAQボットを作って」だけでなく、「固定のシステムプロンプトとFAQデータはプロンプトキャッシングを使って最適化してほしい」と一言添えるだけで、AIが出力するコードの品質が変わります。
概念の理解は、コードを書く力ではありません。「何を頼めばいいか」を知る力です。AIへの指示の解像度を上げるために、「どんな技術を使っているか」を浅くでも知っておくことが重要です。それはビジネスパーソンにとって、価値ある知識への投資です。
プロンプトキャッシングは、Claude APIを使ったツールの「変わらない部分」を再利用することで、コストを最大90%削減し、応答速度も改善できる機能です。テキストだけでなく画像やドキュメントにも対応しており、固定コンテキストを大量に使うニュースボットや社内アシスタントで特に効果を発揮します。
実装自体は system パラメータをコンテンツブロック形式に変え cache_control を追加するだけで、AIに依頼すれば対応したコードを生成してもらえます。エンジニアでなくても、概念を理解してAIへの指示に盛り込めるかどうかが、ツールの品質とコストを左右します。
「知っているだけで指示の解像度が上がる」──プロンプトキャッシングはその典型的な例です。AIツールの企画・運用に関わるすべての方に、ぜひ頭に入れておいてほしい概念です。