エンタープライズナレッジアシスタント
社内文書(Wiki、ポリシー、チケット、コードなど)から、各ユーザーのアクセス権限を尊重し、引用元を明示しながら従業員の質問に回答する社内ナレッジアシスタントのリファレンスアーキテクチャです。グラウンディングのためのハイブリッド検索とリランキング、セキュリティのための権限対応フィルタリング、そして回答の品質を推測ではなく測定可能にする評価ハーネスを組み合わせています。難しいのはモデルではなく、検索の品質、アクセス制御、および評価です。
主要な概念
- 権限対応の検索:ユーザーは閲覧を許可されている文書のみを検索・取得します。
- ハイブリッド検索 + リランキング:キーワード検索とベクトル検索を組み合わせ、精度向上のためにリランキングを行います。
- 引用:すべての回答は、検証のためにソースとなった一節へのリンクを明示します。
- 評価:厳選されたデータセットに対して、回答の品質を継続的にスコアリングします。
定義
エンタープライズナレッジアシスタントのアーキテクチャは、社内文書から引用付きで従業員の質問に回答する、権限対応のRAGシステムです。各ユーザーのアクセス権限の範囲内に限定され、品質が継続的に評価されます。
アーキテクチャ
多数 of 社内ソースからのコンテンツが取り込まれ(インジェスト)、チャンク分割されてベクトルストアに埋め込まれます。各チャンクには、ソース文書のアクセス制御メタデータがタグ付けされます。クエリ実行時、アシスタントは質問をルーティングし、ユーザーの権限でフィルタリングされたハイブリッド検索(キーワード + ベクトル)を実行し、候補をリランキングして、上位の一節から引用付きの回答を合成します。
セキュリティは後付けではなく構造的なものです。アクセス制御フィルターは検索時に適用されるため、モデルはユーザーがアクセスできない文書を目にすることさえありません。セマンティックキャッシュにより、繰り返される質問に低コストで対応し、ガードレールによって回答をポリシー内に収め、信頼性の低いケースにフラグを立てます。
品質は測定によって管理されます。評価ハーネスが、厳選されたデータセットに対して回答のグラウンディング(根拠性)、正確性、および引用の精度をスコアリングし、オプションの評価者-最適化者(evaluator-optimizer)ループが、ユーザーに届く前に不十分な回答を修正します。オブザーバビリティによりすべてのクエリがトレースされるため、失敗を診断して評価(eval)にフィードバックできます。
リクエストフロー
- 1. 取り込み(オフライン):文書をチャンク分割して埋め込み、各チャンクにアクセス制御メタデータをタグ付けします。
- 2. ルーティング:質問を分類し、検索戦略を選択します。
- 3. 検索:ユーザーの権限でフィルタリングされたハイブリッド検索を実行します(最初にキャッシュを確認します)。
- 4. リランキング:精度向上のために候補を並べ替え、上位の一節を保持します。
- 5. 合成:引用付きの回答を生成します。オプションで評価者ループを介して修正します。
- 6. 返却とログ記録:引用付きで回答を提供し、評価のためにトレースとスコアリングを行います。
コンポーネント
リファレンスシナリオ
- コンテキスト
- 会社のWiki、人事およびITポリシー、エンジニアリング文書を対象とした、社内アシスタントの図解例。
- シナリオ
- 従業員が自然言語で質問し(例:「出張費の精算方法は?」、「オンコールポリシーは?」)、アシスタントは引用付きで回答します。質問者がアクセス権を持たない文書は決して表示せず、検索結果が不十分な場合は推測で答えず「わかりません」と回答します。
- テクノロジー
- 取り込みパイプライン、ACLメタデータ付きの埋め込み + ベクトルストア、ハイブリッド検索とリランキング、評価ハーネス、およびクエリトレース。
- 負荷
- クエリの重複が多い安定した社内トラフィック(少数のポリシーがほとんどの質問を占める)であるため、キャッシュヒット率が高く、オフラインコストは埋め込みが大部分を占めます。
- 結果
- リファレンス目標:アクセス制御の漏洩がなく、根拠があり引用が明示された回答、および検索のチューニングに伴って向上する測定可能なグラウンディングスコア。すべての数値は、保証ではなく、ご自身のコーパスで測定すべき指標として扱ってください。
メリット
- 散在する社内ナレッジを、即座に得られる引用付きの回答に変換します。
- 権限対応の検索により、構造的にアクセス制御の漏洩を防ぎます。
- 引用により回答の検証が可能になり、ユーザーの信頼を築きます。
- 評価ハーネスにより品質が測定可能になり、改善を実証できるようになります。
リスク
- 検索時に権限が強制されない場合、アクセス制御の漏洩が発生します。
- 再インデックスよりも早く文書コーパスが変更されると、古い回答が返されます。
- 検索結果が不十分な場合に、モデルがそのギャップを埋めることで、もっともらしいハルシネーションが発生します。
- 不適切なチャンク分割により意味が断片化し、検索精度が低下します。
KPI
- グラウンディング(根拠性)
- 引用された一節によって完全に裏付けられている回答の割合。RAGアシスタントのコア品質指標です。
- 検索の再現率(Recall@k)
- 適切な一節が検索結果の上位k件に含まれる頻度。回答エラーのほとんどはこれに起因します。
- アクセス制御の漏洩率
- ユーザーがアクセスできない文書を提示してしまった回答の割合。常にゼロに維持すべき指標です。
- キャッシュヒット率 & クエリあたりのコスト
- 繰り返される質問のカバー率と単価。重複度が高ければ、ほとんどのクエリを低コストに抑えられます。
- 棄権の品質
- 検索結果が不十分な場合に、ハルシネーションを起こさず、アシスタントが正しく『わかりません』と回答する頻度。
コストとスケーリング
- オフラインでの埋め込みとインデックス作成が取り込みコストの大部分を占め、コーパスのサイズと更新頻度に応じて増加します。
- クエリ実行時のコストは主に検索 + 生成です。リランキングは精度とのトレードオフでレイテンシーを増加させます。
- クエリの重複が増えるにつれてキャッシュがコストを平準化するため、導入が進むほどユニットコストは低下します。
- 再インデックスの頻度は、スケーリングにおける真の対立点です。より新しい回答を提供するには、より多くの計算コストがかかります。
観察された障害モード
- 権限のバイパス:チャンクが誤ったACLを継承し、ユーザーの検索結果に表示されてしまう。
- 検索のギャップ:適切な文書が存在するにもかかわらず、チャンク分割や埋め込みの不備により見落とされる。
- 情報の陳腐化:再インデックスの遅れにより、回答が古いポリシーを引用してしまう。
- 引用の乖離:引用された一節が、生成された主張を実際には裏付けていない。
得られた教訓
- アクセス制御は生成後ではなく、検索の内部で強制します。プロンプトのフィルタリングでは遅すぎます。
- 品質向上の大部分は、より大きなモデルからではなく、検索(チャンク分割、ハイブリッド検索、リランキング)から得られます。
- 『わかりません』を第一級の回答とします。自信ありげな誤った回答は、回答を棄権することよりも悪影響を及ぼします。
- スケールアップする前に評価体制を確立します。これがないと、すべての変更が単なる推測になってしまいます。
テクノロジー
例
- 従業員が出張費ポリシーについて質問し、引用付きの最新の回答を得る。
- 権限のないユーザーが制限されたプロジェクトについて質問した際、正しく何も返さない。
- 検索結果が不十分なクエリに対し、推測ではなく『確実な情報源が見つかりませんでした』と回答する。
FAQ
- これは単なるRAGではないのですか?
- RAGがコアですが、このアーキテクチャは、権限対応の検索、引用、評価ハーネス、オブザーバビリティといった、エンタープライズレベルの安全性を確保する要素によって定義されます。これらこそが、信頼できるかどうかを決定する部分です。
- なぜ検索時に権限を強制するのですか?
- モデルが、ユーザーのアクセスできない文書を目にしないようにするためです。生成後にフィルタリングするのでは遅すぎます。コンテンツがすでに回答に漏洩している可能性があります。
- 回答のハルシネーションを防ぐにはどうすればよいですか?
- すべての回答を引用付きの取得済みパッセージに根拠付け(グラウンディング)し、評価セットに対してグラウンディング性を測定します。また、取得結果が不十分な場合は、隙間を埋めるような回答をするのではなく、アシスタントに回答を控えさせます。