コンテキストキャッシュとは、大規模言語モデルにおいてプロンプトなどの長文入力を事前計算して保存し再利用する技術です。同じ参照文章や指示を繰り返し送信する際のトークン処理コストを削減し、APIの応答時間を大幅に短縮できます。長大な資料を参照するRAGやマルチターン対話での運用効率化に貢献します。
コンテキストキャッシュとは
コンテキストキャッシュとは、大規模言語モデルにおいて長文のプロンプトをあらかじめ計算・保存しておき、同一の文脈を利用する後続の処理で再利用する技術です。
詳しく解説
大規模言語モデルで大量のテキストやコードを処理する際、モデルは入力されたトークンを毎回エンコードする作業を行います。しかし、同じ参照資料や前提指示を何度も送信すると、重複した計算が発生して応答速度が低下し、APIの利用コストも高くなります。コンテキストキャッシュでは、プロンプトを入力した際の内部計算結果(KVキャッシュなど)をシステム側に一時保存します。これにより、次回以降のリクエストでは保存された計算結果を直接読み込むことで、計算負荷と入力トークン費用を大幅に抑えることができます。大量の文書を検索・参照するRAGシステムの運用や長い会話文脈の保持において非常に重要な役割を果たします。
具体例・使われ方
例えば、数百ページの製品マニュアルや法律文書をコンテキストキャッシュに登録しておくことで、ユーザーからの様々な質問に対して毎回全文を読み直すことなく迅速に回答できます。また、大量のソースコードをベースにしたソフトウェア開発支援ツールや、過去の対話履歴が長くなるサポート用チャットボットなどで効果的に活用されています。
似た用語との違い
一般的なWebキャッシュが最終的な出力結果をそのまま保存して返すのに対し、コンテキストキャッシュはモデルが文脈を理解する過程の計算状態を保存する点が異なります。また、生成中の会話履歴をメモリに保持する従来のKVキャッシュと異なり、コンテキストキャッシュはリクエストを跨いでプロンプトの計算状態を保持・再利用できる機能として提供されます。
注意点
キャッシュの保存には有効期限が設けられていることが多く、一定時間が経過すると自動的に破棄されて再計算が必要になります。また、プロンプトの最小トークン数が設定されている場合があり、短い文章ではキャッシュが適用されません。さらに、キャッシュの保管費用が発生することもあるため、更新頻度や利便性を考慮したコスト管理が必要です。