ストーリー
Graph RAG
基本概念
Graph RAGは、ドキュメント間やエンティティ間の関係性をナレッジグラフとして構築し、グラフの構造を活用して検索・推論を行う手法です。
Graph RAGの構造:
ナレッジグラフ:
[Qdrant] ──uses──→ [HNSW]
│ │
│ is_a │ is_a
↓ ↓
[ベクトルDB] [ANNアルゴリズム]
│
│ stores
↓
[Embedding] ──generated_by──→ [OpenAI]
検索時:
Q: "Qdrantが使っているインデックスアルゴリズムは?"
→ グラフを辿る: Qdrant → uses → HNSW
→ HNSWに関連するドキュメントチャンクを取得
→ LLMで回答生成
Graph RAGの構築ステップ
| ステップ | 処理 | ツール |
|---|---|---|
| 1. エンティティ抽出 | ドキュメントから固有名詞、概念を抽出 | LLM / NER |
| 2. 関係抽出 | エンティティ間の関係を抽出 | LLM / 関係抽出モデル |
| 3. グラフ構築 | ナレッジグラフを構築 | Neo4j / NetworkX |
| 4. コミュニティ検出 | 関連するエンティティをクラスタリング | Louvain / Leiden |
| 5. 要約生成 | コミュニティ単位で要約を生成 | LLM |
Graph RAGの検索フロー
Graph RAGの検索:
[ローカル検索] 特定のエンティティに焦点
Q: "Qdrantの特徴は?"
→ Qdrantノードから関連エッジを辿り、近傍の情報を収集
[グローバル検索] 全体の概要を把握
Q: "うちのインフラの全体像は?"
→ コミュニティ要約を活用して全体的な回答を生成
Agentic RAG
基本概念
Agentic RAGは、AIエージェントがRAGパイプラインの各ステップを動的に制御する手法です。
Agentic RAGの処理フロー:
[Agent(LLM)]
├── 「このクエリにはどのツールが必要か?」を判断
│
├── Tool 1: ベクトル検索(社内ナレッジ)
├── Tool 2: SQL検索(構造化データ)
├── Tool 3: Web検索(最新情報)
├── Tool 4: コード実行(計算)
└── Tool 5: API呼び出し(外部サービス)
│
├── 検索結果の評価 → 不十分なら別のツールで再検索
│
└── 最終回答の生成
RAGとAgentの違い
| 観点 | 通常のRAG | Agentic RAG |
|---|---|---|
| 検索戦略 | 固定パイプライン | 動的に選択 |
| ツール | ベクトル検索のみ | 複数ツール(検索、計算、API等) |
| ループ | 1回の検索→生成 | 必要に応じて複数回の検索→評価→再検索 |
| 自律性 | 低(事前定義されたフロー) | 高(LLMが判断) |
| 複雑度 | 低 | 高 |
| レイテンシ | 予測可能 | 不定(ツール呼び出し回数に依存) |
Multi-hop RAG
基本概念
Multi-hop RAGは、1回の検索では回答できない複雑な質問を、複数ステップの検索・推論で回答する手法です。
Multi-hop RAGの例:
Q: "Aチームがデプロイしたサービスで先月障害が発生し、
その原因となった変更のプルリクエストを書いたのは誰?"
[Hop 1] "Aチームがデプロイしたサービスの先月の障害"
→ 結果: サービスXで11月15日に障害発生。原因はメモリリーク。
[Hop 2] "サービスXのメモリリークの原因となった変更"
→ 結果: PR #1234(キャッシュの設定変更)が原因。
[Hop 3] "PR #1234を作成したのは誰か"
→ 結果: 佐藤さんが作成。
最終回答: 「佐藤さんがPR #1234で行ったキャッシュの設定変更が
メモリリークを引き起こし、サービスXの障害につながりました」
パターンの比較と選定
| パターン | 実装難易度 | 精度 | 適するケース |
|---|---|---|---|
| 標準RAG | 低 | 中 | 単一ドキュメントで回答できる質問 |
| Graph RAG | 高 | 高(関係性) | エンティティ間の関係を問う質問 |
| Agentic RAG | 高 | 高(柔軟性) | 複数ツールの使い分けが必要な質問 |
| Multi-hop RAG | 中〜高 | 高(複合推論) | 複数ステップの推論が必要な質問 |
NetShop社への適用
| パターン | 適用可能性 | Phase |
|---|---|---|
| 標準RAG + Advanced手法 | 最優先 | Phase 1-2 |
| Multi-hop RAG | 中優先(技術調査の複合質問) | Phase 2-3 |
| Agentic RAG | 中優先(DB検索 + ドキュメント検索の統合) | Phase 3 |
| Graph RAG | 低優先(構築コストが高い) | Phase 3以降 |
「高度なパターンを知ることは重要だが、まず標準RAGを十分に最適化すること。80%の質問は標準RAGで十分に回答できる。残りの20%のために段階的に高度な手法を導入していく」 — 田中VPoE
まとめ
| ポイント | 内容 |
|---|---|
| Graph RAG | ナレッジグラフでエンティティ間の関係性を活用 |
| Agentic RAG | AIエージェントが動的にツールを選択・実行 |
| Multi-hop RAG | 複数ステップの検索・推論で複雑な質問に回答 |
| 選定基準 | まず標準RAGを最適化し、段階的に高度なパターンを導入 |
チェックリスト
- Graph RAGの構築ステップと検索方法を理解した
- Agentic RAGの特徴と通常のRAGとの違いを理解した
- Multi-hop RAGの複数ステップ推論の仕組みを理解した
- 各パターンの適用判断基準を理解した
次のステップへ
次は「演習:検索精度を最適化しよう」です。ここまで学んだ最適化手法を実際の検索パイプラインに適用して、精度を向上させましょう。
推定読了時間: 30分