プロンプトキャッシュ
LLM APIにおいて、同一プロンプトの先頭部分(プレフィックス)を再利用することでコストと応答時間を削減する仕組み。Anthropic APIなどで提供されている。
効果
- コスト削減: キャッシュヒット時は入力トークンが約90%割引
- 応答速度向上: キャッシュ部分の処理がスキップされレイテンシ短縮
仕組み
[システムプロンプト] ← キャッシュから読み込み(安い・速い)
[過去の会話履歴] ← キャッシュから読み込み
[新しいユーザーメッセージ] ← 新規処理
プロンプトの先頭から変わらない部分がキャッシュの対象となる。途中で内容が変わると、それ以降はキャッシュから外れる。
キャッシュ無効化のトリガー
- コンテキストの内容が変わった場合(例:コンテキストプルーニングの実行後)
- キャッシュのTTL(生存時間)が切れた場合
コンテキストプルーニングによりコンテキスト内容が変化すると既存キャッシュは無効化されるが、スリムになったコンテキストが新しいキャッシュのベースとなる。
適用戦略
長いシステムプロンプトや大量の参照ドキュメントを先頭に置き、変化する会話内容を末尾に置くことでキャッシュヒット率を高める。