SAG / ARCHITECTURE NOTE
キャッシュキーとバージョン:高速な結果を古い結果にしないために
キャッシュの定義と必要性、仕組み、SAGアーキテクチャへの適用基準と実務チェックリストを、研究論文や公式文書を根拠に解説します。
一文で定義
キャッシュとは、同じ入力と実行条件の結果を再利用し、条件が変わると自動的に切り分ける保存戦略です。
要点:URLだけをキャッシュキーにすると、質問、言語、ルール、モデルが異なっていても古い結果が返される可能性があります。反対に、キーを細かくしすぎると再利用のメリットが失われます。
なぜこの技術が必要なのか?
URLだけをキャッシュキーにすると、質問、言語、ルール、モデルが異なっていても古い結果が返される可能性があります。反対に、キーを細かくしすぎると再利用のメリットが失われます。
仕組み
tenant、正規化した入力のhash、ルール・schema・モデルのバージョン、収集条件をキーに含め、TTLと明示的な無効化ポリシーを設けます。
設計時に見るべきなのは正確さだけではありません。遅延時間、コスト、データ境界、更新頻度、障害時の動作も併せて定義することで、運用時に再現可能な結果が得られます。自動化で値を確信できない場合は、0や成功に置き換えず、未計測・要確認の状態として残すのが安全です。
SAGの技術との関連
SAGのqueue、cache、runは、同一の入力hash契約を共有します。キーにtenantの範囲を含めることで、顧客間で結果を再利用した際のデータ混在を防ぎます。
実務チェックリスト
- tenantと入力hashをキーに含めます
- ルールの変更時はバージョンによって無効化します
- キャッシュhitもprovenanceに記録します
- 失敗・空の結果・権限エラーの状態を成功と区別します
- 変更の前後を同じ条件で再検証します
研究論文と公式文書
参考文書は原理と推奨事項の根拠です。検索での露出、AIによる言及、順位、売上を保証するものではありません。実際の適用効果は、サービスのデータを用いて同一条件で観測し、確認する必要があります。
テーマ別の技術資料
この技術をさらに読む
テナント権限、ジョブの再試行、キャッシュ、承認履歴について確認します。
SAG / KNOWLEDGE LINKS
