⚡️

Meta-RAG Framework MCP Phase 2: 回復力と一貫性を備えたRAGシステム

に公開

Meta-RAG Framework MCP Phase 2: 回復力と一貫性を備えたRAGシステム

はじめに

こんにちは! satto 開発チームでR&Dをしている野澤です。
(@ryo_nozawa)


Phase 1では、LeanRAGやHiRAG Bridgeを含む複数エンジンを共通I/Fで統合しました。
研究レベルの技術を実際に動作するRAG基盤として実装しました。
「単なる検索応答」ではなく、オーケストレーションと品質保証を備えた基盤です。
Phase 2では、その基盤の上に Resilience(回復力)Coherence(一貫性) を中核機能として追加しました。
Rex-RAG、Como-RAGをはじめとする8つの新機能を完全実装しました。
従来のRAGでは不可能だった「自動回復」「矛盾検出」「時間軸検索」「マルチモーダル統合」などを実現しました。


🧩 Phase 2で解決する課題

  1. デッドエンド検索の回復
    • 低スコア・低被覆・タイムアウト時の回復戦略が不足
  2. 一貫性と説明可能性の欠如
    • 複数ソース間の矛盾を検出・修正できない
  3. 時間軸情報の活用不足
    • 「過去時点」や「進化パターン」を分析できない
  4. マルチモーダル検索の限界
    • 画像+テキストの反復的な精度改善ができない
  5. ツール統合の複雑性
    • API呼び出しの順序や関係を最適化できない

🧭 Phase 2の解決アプローチ

課題 解決アプローチ 効果(設計値)
デッドエンド回復 Rex-RAG: 自動失敗検知と再探索 検索成功率 +40%
一貫性と説明可能性 Como-RAG: 矛盾検出・修正、推論ログ 矛盾検出率 +60%
時間軸情報 TKG: Episode/Entity/Community 3層構造 時間軸分析の精度 +50%
マルチモーダル検索 MiRAG: 反復的マルチモーダル検索 マルチモーダル精度 +35%
ツール統合 API Graph: ツール依存関係をグラフ化 統合効率 +45%
合成パイプライン MSRS: Retrieval/Synthesis失敗分離 合成品質 +30%
探索効率 Anchor-RAG: 並列探索とアンカー選択 探索効率 +25%
速度最適化 REFRAG: 圧縮デコード 最大30x高速化

🎯 Phase 2の主要機能

  1. Rex-RAG(Resilience Engine)[1]
    目的: 検索失敗やデッドエンドからの自動回復
    実装内容:
  • デッドエンド検知: 低スコア・低被覆・タイムアウト・反復ゼロ進捗の自動検出
  • 回復戦略: 混合サンプリング再探索・分布シフト補正・代替エンジン選択
  • Orchestrator統合: 自動的にRexPolicyが実行され、透明な回復を実現
// Rex-RAGの自動回復例
const deadendSignal = rexPolicy.shouldRecover(context);
if (deadendSignal) {
  const recovered = await this.executeRecovery(rexPolicy, context, deadendSignal);
  recoveryLog.push(`Rex recovery triggered (${deadendSignal}) using engine ${recovered.result.engine}.`);
}
  1. Como-RAG(Coherence Engine)[2]
    目的: 一貫した推論と世界モデルの管理
    実装内容:
  • Memory Workspace: Evidence・Claim・Link・Conflictの統合管理
  • 一貫性チェック: 矛盾検出・修復提案・整合性検証
  • 推論ログ: 決定トレース・エビデンスチェーン・説明可能性
// Como-RAGの一貫性チェック例
const consistencyConflicts = this.consistencyChecker.detectConflicts(workspace);
consistencyConflicts.forEach(conflict => workspace.registerConflict(conflict));
const repairs = this.consistencyChecker.proposeRepairs(workspace, consistencyConflicts);
  1. TKG(Temporal Knowledge Graph)[3]
    目的: Episode/Entity/Community 3層構造による時間軸の知識管理
    実装内容:
  • 3層構造: Episode(イベント)・Entity(実体)・Community(コミュニティ)
  • 時間軸検索: 「最新のみ」「過去時点」「時間範囲」の3モード
  • 進化パターン分析: 安定・成長・衰退・変動・出現・溶解の6パターン
// TKG時間軸検索例
const query: TemporalQuery = {
  temporalMode: 'historical_point',
  timePoint: new Date('2023-01-01')
};
const result = await tkgIntegration.searchTemporal(query);
  1. MiRAG(Multimodal Iterative RAG)[4]
    目的: 反復的マルチモーダル検索とRKS-POM・MDIA統合
    実装内容:
  • 画像処理エンジン: オブジェクト検出・OCR・メタデータ抽出
  • 反復的改善: 最大3回の反復ループによる検索精度向上
  • クロスモーダル洞察: テキストと画像の相関・矛盾・強化分析
// MiRAG反復検索例
const result = await miragEngine.performMiRAGSearch({
  text: "この画像の内容を分析して",
  image: base64ImageData,
  context: "詳細分析が必要"
});
  1. API Graph(Tool-Graph Planner)
    目的: ツール呼び出しのセマンティック関係と実行計画
    実装内容:
  • ツールノード管理: 入力・出力スキーマ・コスト・レイテンシ情報
  • セマンティック関係: ツール間の依存関係・実行順序の最適化
  • 実行パス計画: 目標達成のための最適なツール順序決定
// API Graph実行計画例
const path = toolGraphPlanner.plan({ targetTool: 'gdrive.search' });
workspace.appendTrace({
  step: 'tool_graph',
  detail: { tool: targetTool, pathLength: path?.nodes.length ?? 0 }
});
  1. MSRS(Multi-Source Reporting System)
    目的: Retrieval失敗とSynthesis失敗の分離・マルチソース統合
    実装内容:
  • エビデンスマトリックス: Claim・Evidence・Linkの関係性構築
  • 失敗分離: Retrieval失敗とSynthesis失敗の明確な区別
  • マルチソース合成: 複数ソースからの情報統合・ギャップ検出
// MSRS合成例
const matrix = this.synthesizer.buildMatrix(claims, evidences, links);
const synthesis = this.synthesizer.synthesize(matrix, options.explain ? 'report' : 'answer');
  1. Anchor-RAG(Starting Point Selection)[5]
    目的: 知識グラフ探索における開始点選択と並列探索
    実装内容:
  • アンカー記録: 各検索ステップの最初のエビデンスをアンカーとして記録
  • 並列探索: 複数アンカーからの同時探索によるリカバリ強化
  • BrowserExecutor統合: 計画実行時に自動的にアンカーが記録される
// Anchor-RAG並列探索例
if (stepEvidences.length > 0) {
  anchors.push(stepEvidences[0].id); // Anchor-RAG: 最初のエビデンスをアンカーとして記録
}
  1. REFRAG(Compression/Decompression)[6]
    目的: 圧縮デコードによる長文コンテキストの効率化
    実装内容:
  • 重要度ベースゲート: 重要度0.8以上は生データ、以下は400文字要約
  • 選択的展開: 必要な部分のみを展開するポインタベースアクセス
  • 高速化: 最大30倍のスピードアップと16倍のコンテキスト拡張
// REFRAG圧縮例
const refragInfo = this.applyRefragLayerIfNeeded(mergedDocs);
if (refragInfo.applied) {
  context.metrics.speedLayerApplied = true;
}

🏗️ システム構成図

┌─────────────────────────────────────────────────────────────┐
│                    Meta-RAG Framework Phase 2               │
├─────────────────────────────────────────────────────────────┤
│  MCP Protocol Layer                                         │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐            │
│  │   Tools     │ │   Server    │ │   Client    │            │
│  └─────────────┘ └─────────────┘ └─────────────┘            │
├─────────────────────────────────────────────────────────────┤
│  Orchestrator (Phase 2 Enhanced)                            │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐            │
│  │   Planner   │ │   Browser   │ │ Synthesizer │            │
│  └─────────────┘ └─────────────┘ └─────────────┘            │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐            │
│  │   Rex-RAG   │ │   Como-RAG  │ │   TKG       │            │
│  └─────────────┘ └─────────────┘ └─────────────┘            │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐            │
│  │   MiRAG     │ │   API Graph │ │   REFRAG    │            │
│  └─────────────┘ └─────────────┘ └─────────────┘            │
├─────────────────────────────────────────────────────────────┤
│  Phase 1 Base Engines                                       │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐            │
│  │  LightRAG   │ │   PathRAG   │ │ FastGraph   │            │
│  │ (LeanRAG    │ │ (+ HiRAG)   │ │   RAG       │            │
│  │ features)   │ │ features)   │ │             │            │
│  └─────────────┘ └─────────────┘ └─────────────┘            │
├─────────────────────────────────────────────────────────────┤
│  Guardrails & Metrics                                       │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐            │
│  │  Security   │ │  Validation │ │   Audit     │            │
│  └─────────────┘ └─────────────┘ └─────────────┘            │
└─────────────────────────────────────────────────────────────┘

🔄 Phase 2システムシーケンス図

🔄 シーケンス図の読み方補足

  • RexPolicy: 検索失敗を検知すると即座に介入し、自動回復する
  • ConsistencyChecker: 合成後に呼ばれ、ソース間の矛盾を検出
  • ToolGraphPlanner: 他ツールを呼び出す際に「最適順序」を自動計画
  • RefragLayer: 出力前に圧縮層が適用され、高速化とコンテキスト拡張を実現

これにより、失敗回復→矛盾修正→統合→高速化 の一連の流れが Orchestrator 内で自動的に完結します。


🛠️ Phase 2 MCPツール一覧(8個追加)

🔍 MiRAG関連ツール(1個)

ツール名 説明 主要パラメータ
mirag_search 反復・マルチモーダル検索の実行 query, image_data, context, max_iterations, enable_cross_modal

TKG関連ツール(5個)

ツール名 説明 主要パラメータ
tkg_search 時間軸知識グラフ検索の実行 temporal_mode, time_point, time_range_start, time_range_end, entity_types
tkg_add_episode TKGにEpisodeを追加 id, title, description, start_time, end_time, entities
tkg_add_entity TKGにEntityを追加 id, name, type, properties, episodes, communities
tkg_add_community TKGにCommunityを追加 id, name, description, entities, episodes, cohesion
tkg_statistics TKG統計情報の取得 index_name, time_range

🔧 統合ツール(6個)

ツール名 説明 主要パラメータ
research_plan 研究計画の生成(Planner/Browser分離) query, context, max_steps, planning_mode
execute_plan 計画の実行(Anchor-RAG統合) plan_id, execution_options, parallel_execution
synthesize_evidence エビデンス合成(MSRS統合) evidence_list, synthesis_mode, explain_mode
workspace Workspace管理(Como-RAG統合) workspace_id, operation, memory_config
tool_graph ツールグラフ計画(API Graph統合) target_tool, execution_context, optimization_level
speed_layer 速度最適化(REFRAG統合) content, compression_level, performance_mode

💡 実際の使用例

例1: デッドエンド検索の自動回復。

// 2005年に存在したが現在は消滅した日本の企業一覧
const query = "2005年に存在したが現在は消滅した日本の企業一覧を最新の資料ベースで教えて";

// Rex-RAGが自動的にデッドエンドを検知し、回復戦略を実行
const result = await orchestrator.answer(query);
// → 低スコア検知 → 代替エンジン選択 → クエリ多様化 → 成功

例2: 矛盾検出と修正。

// 東京タワーの高さの矛盾検出
const query = "東京タワーの高さを2つのソースから引用して回答して。数値が食い違う場合は説明して";

// Como-RAGが自動的に矛盾を検知し、説明を生成
const result = await orchestrator.answer(query);
// → 333m vs 332.6mの矛盾検出 → 測定方法の違いを説明

例3: マルチモーダル反復検索。

// 画像+テキストの反復検索
const query = {
  text: "この登山地図を参照しながら、最適な3日間の縦走プランを提案して",
  image: base64ImageData,
  context: "詳細なルート分析が必要"
};

// MiRAGが反復的に検索精度を向上
const result = await miragEngine.performMiRAGSearch(query);
// → 1回目: 基本分析 → 2回目: 詳細分析 → 3回目: 最適化

例4: 時間軸知識グラフ検索。

// 過去時点の情報取得
const query = {
  temporalMode: 'historical_point',
  timePoint: new Date('2020-01-01'),
  entityTypes: ['organization', 'event']
};

// TKGが2020年1月1日時点の情報を取得
const result = await tkgIntegration.searchTemporal(query);
// → Episode/Entity/Communityの時間軸関係を分析

🚀 従来のRAGシステムとの比較

機能 従来RAG Meta-RAG Phase 2
失敗回復 手動再実行 Rex-RAG自動回復
一貫性 矛盾未処理 Como-RAG矛盾検出・修正
時間軸 静的検索のみ TKG時間軸検索
マルチモーダル テキストのみ MiRAG統合検索
ツール統合 順序手動管理 API Graph計画
合成 単純結合 MSRSマルチソース統合
探索 単一パス Anchor-RAG並列探索
速度 線形処理 REFRAG 30x高速化

研究技術の実装

Phase 2では、以下の研究技術を実際に動作する形で実装:

  • Rex-RAG: デッドエンド検知・自動回復の実装
  • Como-RAG: Workspace Memory・一貫性チェックの実装
  • TKG: Episode/Entity/Community 3層構造の実装
  • MiRAG: 反復的マルチモーダル検索の実装
  • MSRS: Yale MSRS(Multi-Source Reporting System)の実装
  • Anchor-RAG: 開始点選択・並列探索の実装
  • API Graph: ツールグラフプランニングの実装
  • REFRAG: 圧縮デコード最適化の実装

⚡️Phase 2パフォーマンス特性(設計値)

機能 改善指標 Phase 1 Phase 2 改善率
検索成功率 デッドエンド回復 70% 95% +35%
矛盾検出率 一貫性チェック 20% 85% +325%
時間軸分析 TKG検索精度 N/A 90% 新機能
マルチモーダル 画像+テキスト精度 N/A 88% 新機能
ツール統合 実行計画の成功率 60% 92% +53%
合成品質 MSRS統合精度 75% 95% +27%
探索効率 Anchor並列探索 N/A 85% 新機能
処理速度 REFRAG圧縮 100% 30x 新機能

🔒 Phase 2セキュリティとガードレール

1. Rex-RAG回復時のセキュリティ

  • 回復戦略の実行時の監査ログ記録
  • 代替エンジン選択時の権限チェック
  • クエリ多様化時のPII検出

2. Como-RAG一貫性チェック

  • 矛盾検出時の機密情報マスキング
  • 修復提案の承認フロー
  • 推論ログの暗号化保存

3. TKG時間軸データ保護

  • Episode/Entity/Communityのアクセス制御
  • 時間軸検索時のデータフィルタリング
  • 進化パターン分析の匿名化

4. MiRAGマルチモーダルセキュリティ

  • 画像データのPII検出・マスキング
  • クロスモーダル洞察の機密性チェック
  • 反復ループの実行制限

Phase 2まとめ

Meta-RAG Framework MCP Phase 2では、Phase 1の基盤の上に回復力と一貫性を備えた高度RAGシステムを構築しました。
主要成果。

  1. 8つの新機能の完全実装
  • Rex-RAG(自動失敗回復)
  • Como-RAG(一貫性チェック)
  • TKG(時間軸知識グラフ)
  • MiRAG(マルチモーダル反復検索)
  • MSRS(マルチソース統合)
  • Anchor-RAG(並列探索)
  • API Graph(ツール計画)
  • REFRAG(圧縮最適化)
  1. 研究技術の実装
  • 論文レベルの技術を実際に動作する形で実装
  • MCP統合による開発者フレンドリーな利用環境
  • Orchestrator統合による透明な実行
  1. 従来RAGとの明確な差別化
  • 自動失敗回復による高信頼性
  • 矛盾検出・修正による高品質
  • 時間軸分析による高精度
  • マルチモーダル統合による高機能性

Phase 2の実装により、RAGシステムは「知的処理」へと進化しました:
知的処理: 回復・一貫性・時間軸・マルチモーダル・統合・探索・最適化
これにより、従来のRAGシステムでは困難だった複雑な分析タスクを自動化しました。
高品質な結果を提供できるように実装しました。


今後の展開(予告)

Phase 3(HyperGraphRAG+RAS)

  • インデクシング:エンティティ抽出 → ハイパーエッジ(n≥2) 生成
  • リトリーバル:entity-path × hyperedge-path のDual-path+Rank Fusion
  • RAS(Retrieval & Structuring) を組み込み、取り出す+構造化するまでを一気通貫化。

Phase 4(RL Policy / RAG3.0)

  • UR2:カリキュラム学習+二段階報酬(Format → Answer)
  • Serving:RL方策 or Heuristics をゲーティング選択(フェイルセーフでHeuristicsへ)

RAG3.0 に進化しても、Phase 1・2 の各エンジンは 基盤技術として継続的に重要 です。


脚注
  1. Rex-RAG: arXiv ↩︎

  2. Como-RAG: arXiv ↩︎

  3. TKG(Temporal Knowledge Graph): arXiv ↩︎

  4. MiRAG(Multimodal Iterative RAG): arXiv ↩︎

  5. Anchor-RAG: arXiv ↩︎

  6. REFRAG: arXiv ↩︎

ソフトバンク株式会社_satto開発チーム

Discussion