GoogleはVertex AI RAG EngineのRAG Cross Corpus Retrievalを公開プレビューとして提供した。AsyncRetrieveContextsは複数コーパスから関連文脈を取得する長時間処理、AskContextsは複数コーパスを検索して回答を同期生成するAPIである。

単一コーパスの検索から、ルーターと計画エージェントがコーパスを選ぶ構成へ変わる。検索対象が広がる一方、誤ったコーパス選択、権限境界の混在、検索ループによる遅延を管理する必要がある。

何が変わったか

質問ごとに複数のRAG-managed corpusを指定し、横断検索できるようになった。バックエンドではコーパスのdescriptionを使って候補を選び、取得文脈が不十分なら追加検索を行うAgentic Retrievalが使われる。

変更前後の差

項目単一コーパス検索Cross Corpus Retrieval
検索範囲1コーパス複数コーパス
選択アプリが固定descriptionを使う計画
API通常の取得AsyncRetrieveContexts / AskContexts
処理比較的単純追加検索ループあり
権限単一境界境界横断を検討
地域構成依存現時点でus-central1

誰に影響するか

部門ごとに規程を分ける企業、製品別マニュアル、国別法令、顧客テナント別文書、買収後の複数ナレッジ基盤を横断したい組織に影響する。強いテナント分離が必要な用途では、横断対象を無条件にまとめるべきではない。

期限

公開プレビュー機能であり強制期限はない。現時点で利用地域はus-central1に限定されるため、地域要件を満たさない環境では導入を保留する。

必要な対応

コーパスのdescriptionを検索用メタデータとして設計する。公式文書ではdescriptionは作成後に編集できず、コーパス選択へ重要だとされる。機密区分、対象ユーザー、有効期間をdescriptionだけに頼らず、IAMとアプリ側の許可リストでも制御する。

実装・移行手順

  1. 横断してよいコーパスと禁止する組み合わせを整理する。
  2. 各コーパスへ具体的で重複の少ないdescriptionを設定する。
  3. RAG Engineサービスアカウントへ必要なVertex AI Userロールを付与する。
  4. 非同期取得はoperation IDを保存し、ポーリングとタイムアウトを実装する。
  5. 回答用途はAskContexts、証拠取得用途はAsyncRetrieveContextsを使い分ける。
  6. attributionを無効化せず、文書・コーパス単位で記録する。
  7. 問題時に単一コーパス検索へ戻せるルートを残す。

失敗しやすい点

曖昧なdescriptionを付ける、作成後に編集できると誤認する、サービスアカウント権限を広く付ける、同期APIへ長い調査を集中させる、回答だけ保存して選択されたコーパスと文脈を残さないことが問題になる。

リスク

別テナント文書の混入、古いコーパス選択、検索ループによる遅延・費用増加、公開プレビューの仕様変更、us-central1へのデータ配置がある。コーパス選択の精度が低い場合、生成モデルが正しくても回答は誤る。

評価方法

  • 正しいコーパスが選ばれた率
  • 権限外コーパス選択件数
  • 正答根拠のRecall@K
  • attributionが主張を支持する率
  • 追加検索ループ数
  • Async操作の完了時間と失敗率
  • AskContextsのP95レイテンシー
  • 単一コーパス方式との差分

ロールバック

新規の横断ルートを停止し、質問分類に基づく単一コーパス検索へ戻す。IAM権限を必要最小限へ縮小し、進行中のoperationを確認する。誤選択した質問を評価セットへ追加し、descriptionを変更できない場合は新コーパス作成を検討する。

編集部分析

Cross Corpus Retrievalの価値は、検索先を増やすことではなく、質問に応じて適切な知識境界を選べることにある。最重要の設計対象はモデルではなく、コーパスの意味、権限、更新責任、評価可能性である。

実務チェックリスト

  • [ ] 横断可能なコーパス組み合わせを定義した
  • [ ] descriptionを作成前にレビューした
  • [ ] us-central1の地域要件を確認した
  • [ ] サービスアカウント権限を最小化した
  • [ ] operation IDと取得文脈を保存した
  • [ ] attributionを評価している
  • [ ] 単一コーパスへのフォールバックがある

一次情報