RAGのアクセス制御設計|社内文書の閲覧権限をベクトル検索にどう持ち込むか
社内文書RAGで「権限のない人が要約経由で機密を読めてしまう」事故を防ぐ設計。チャンクが元ファイルのACLを失う理由、事前フィルタ・事後フィルタ・インデックス分割・ACL同期の4パターン比較、権限フィルタとANNインデックスの再現率トレードオフを実装例とともに整理します。
社内文書RAGで「権限のない人が要約経由で機密を読めてしまう」事故を防ぐ設計。チャンクが元ファイルのACLを失う理由、事前フィルタ・事後フィルタ・インデックス分割・ACL同期の4パターン比較、権限フィルタとANNインデックスの再現率トレードオフを実装例とともに整理します。
RAGの前段にあるドキュメントパース(文書からのテキスト抽出・構造化)の実務を整理します。多段組み・表・スキャンPDFという難所、テキストレイヤ抽出/レイアウト解析/VLM/クラウドサービスという4類型の選び方、Markdownへの正規化、メタデータ設計、評価の回し方までを扱います。
RAGの精度が上がらない原因の多くは、生成ではなく検索側にあります。キーワード検索・トークナイズ・ランキング・評価指標・クエリ解析といった情報検索の基礎を、実在の日本語書籍4冊で段階順に学ぶためのガイドです。各書が扱う範囲と、扱っていない範囲も併せて整理します。
RAGを作るときのベクトルDB選定を、製品比較ではなく判断軸から整理します。そもそもベクトルDBが要るのかの見極め、データ規模・更新頻度・メタデータフィルタ・ハイブリッド検索・運用体制・移行のしやすさという6つの軸、HNSW/IVF/全件走査の性格の違い、pgvectorが第一候補になりやすい理由と限界、そして小さく始めて必要になったら移行する現実的な進め方までをまとめます。
retrieve->generateを1回で終える従来RAGの限界(多段質問・曖昧クエリ・取りこぼし)を出発点に、Agentic RAGを定義します。クエリ理解と計画、ルーティング、多段推論・分解、検索のオーケストレーション、自己反省という中核パターンを整理し、精度と引き換えに増えるレイテンシ・コスト・評価の難しさまで、向く場面と向かない場面を切り分けて実務目線でまとめます。
ベクトル検索は言い換えや意味に強い一方で型番・固有名詞・略語の完全一致に弱く、BM25などのキーワード検索はその逆です。両方で候補を集めてRRF(Reciprocal Rank Fusion)などで統合するハイブリッド検索の仕組み、スコア統合の難しさとRRFがスケール非依存な理由、retrieve->fuse->rerankの三段構成、向く場面と運用コストを実務目線で整理します。
ベクトル検索で粗く多めに拾い、Cross-Encoder型リランカーで関連度を再スコアリングして上位を絞る二段構成(retrieve->rerank)を実務目線で整理します。bi-encoderとの違い、使いどころ、コストとレイテンシのトレードオフ、Hit Rate/MRR/nDCGでの評価、向かない場面までまとめます。
RAGで文書をどう分割してベクトル化・検索するかは、回答品質を大きく左右します。固定長・再帰的・構造認識・意味的といった分割戦略、オーバーラップの役割、チャンクサイズのトレードオフ、そして発展的な文脈付与までを実務目線で整理します。
テキストを数値ベクトルへ変換するエンベディング(埋め込み)と、それを使った意味検索(ベクトル検索)の仕組みを実務目線で解説します。RAGの内部でどう働くか、キーワード検索との違い、モデル選びやチャンク設計の勘所、そして向かない場面までを整理します。
LLMを自社用途に寄せる方法には、プロンプト、RAG、ファインチューニングの階層があります。RAGとファインチューニングはそれぞれ何を得意とし、どこで選ぶべきか。知識の更新性、出力の安定性、コストとトラフィックの観点から使い分けの原則を整理し、実務で有効なハイブリッド構成と落とし穴まで、公式ドキュメントを確認しながら冷静にまとめます。
LLMアプリの品質を測る評価(eval)の作り方を、実務目線で整理します。実運用に似せた評価データの用意、タスク型に応じた指標設計、自動評価と人手レビューの併用、LLM-as-a-judgeの使いどころと落とし穴、失敗トレースをテストへ戻す継続的な評価まで、小さく始める手順にまとめました。
生成AI・LLMを開発者として学ぶための書籍を、学ぶ順序に沿って4冊紹介します。プロンプト設計の原則、LLMの仕組みと開発入門、RAG・AIエージェントの実装、コーディングエージェントの自作まで、目的別に選べるよう整理しました。
社内文書をAIに答えさせる代表的な手法であるRAG(検索拡張生成)を解説します。検索と生成を組み合わせる仕組み、向いている用途と向かない用途、導入前に確認したい判断ポイントをまとめます。