# 文脈付き検索
## 定義
文脈付き検索(Contextual Retrieval)は、Anthropic が提案した RAG の検索精度改善手法である。通常の RAG では文書をパッセージ(チャンク)単位に分割して検索するため、チャンク単体では文書全体の文脈情報が失われる。文脈付き検索では LLM を使ってチャンクごとに文書全体の文脈情報を付与した拡張テキストを生成し、検索インデックスにはオリジナルチャンクと拡張部分を連結したものを使う。生成段階ではオリジナルチャンクのみを利用する。(Source: [[joisino-否定文理解-2024]])
## 効果
Anthropic の報告では、この手法により文書取得ミスが 5.0% から 2.9% に削減された。(Source: [[joisino-否定文理解-2024]])
## プロンプト構成
```
<document>
{{文書全体}}
</document>
以下は、文書全体に配置したいチャンクです。
<chunk>
{{チャンクテキスト}}
</chunk>
このチャンクの検索結果の改善を目的として、ドキュメント全体にこのチャンクを配置するための
簡潔なコンテクストを提示してください。簡潔なコンテクストのみを回答し、それ以外は回答しないでください。
```
文書全体のプレフィックス部分は全チャンクで共通なため、Claude のプロンプトキャッシングを利用すると低コストで大量のチャンクを処理できる。
## 否定文理解との関係
文脈付き検索は否定文を直接扱うのではなく、チャンクをより長い肯定的な文脈情報で拡張することで否定文の識別問題を緩和する。[[テキスト埋め込み]] の構造的制約を回避する「文書の側を工夫するアプローチ」の一例である。(Source: [[joisino-否定文理解-2024]])
## 横断的知見
- 本ページは現時点で単一ソース([[joisino-否定文理解-2024]])のみに基づく。横断的比較は今後の ingest で追加する。
## 未解決の問い
- 文脈付与のプロンプトを変えると効果はどう変わるか?
- 否定文を含むチャンクでの取得ミス削減率は全体の 5.0%→2.9% と同程度か、それ以上か?
- 文脈付与によるインデックスサイズ増加とコストのトレードオフをどう評価するか?
## 関連
- [[テキスト埋め込み]] — 文脈付き検索が補完する埋め込みの限界
- [[否定文理解]] — 文脈付き検索で緩和できる問題の一つ
- [[LLM向け情報検索]] — より広い情報検索の文脈
- [[RAGノイズ除去]] — RAG の別の改善方向
- [[Anthropic]] — 提案元の組織
## 出典
- [[joisino-否定文理解-2024]]