Rosarium

実践事例 / 公開物 / case

04. RAG / Knowledgeをどう設計したか

検索で見つかった文書でも、顧客への回答根拠として使えるとは限りません。製品・機種・版数・公開可否を確認し、RAGが参照してよいKnowledgeの範囲を設計します。

公開:最終更新:

更新履歴

  1. 公開

RAG / Knowledge Architecture / Context / Grounding

読む目的: 自然言語サービス・RAG・ナレッジ / 事例・実務

このBookの目次(全9章)
  1. 全体構成
  2. 00. このケーススタディについて
  3. 01. なぜAIを導入したのか
  4. 02. 何をAIに任せ、何を人間に残したか
  5. 03. PoCで「使えるか」をどう判断したか
  6. 04. RAG / Knowledgeをどう設計したか
  7. 05. AIをどこで止めるか
  8. 06. 顧客体験をどう変えたか
  9. 07. AIから人間へどう引き継ぐか
  10. 08. 導入後にどう育てるか
  11. 09. この事例から得た設計原則
目次
  1. Semantic Similarityは回答資格ではない
  2. 横断検索の前に揃えるもの
  3. Knowledge Sourceを回答資格で分ける
  4. Retrievalを段階化する
  5. ChunkとRankingを文書構造に合わせる
  6. 矛盾と廃止を通常系として扱う
  7. Knowledgeを運用対象にする

現在位置:第4章・全9章

Semantic Similarityは回答資格ではない

RAGで問い合わせに似た文書を検索できても、その文書を回答根拠として使ってよいとは限りません。類似機種の障害情報、古い版の手順、調査中の内部情報は、意味的には近くても顧客への回答には不適切です。

Semantic Similarity ≠ Business Validity

そこで検索を「似ている文書を探す処理」だけで終わらせず、業務上利用できるKnowledgeへ絞り込む処理として設計します。

横断検索の前に揃えるもの

情報は、文書管理、問題管理、問い合わせ管理など複数の既存システムへ分散しています。各システムが異なる機種名や分類を使っていると、検索対象を安全に限定できません。

このケースでは、次の属性を共通化する考え方を採ります。

属性制御する理由
対象機種類似する別機種の情報を回答へ混ぜない
版数・有効期間現在の画面や設定手順と異なる旧版を除外する
公開可否開発中・調査中・社内限定の情報を顧客へ出さない
問い合わせ分類操作、設定、障害など、検索対象と判断基準を切り替える
Provenance情報源と確認状態を追跡できるようにする

Knowledge Sourceを回答資格で分ける

同じ文書基盤へ格納できても、用途は同じではありません。

例えば顧客向けマニュアルと確認済みFAQは回答根拠になり得ますが、調査中の障害メモは担当者の調査候補には使えても、顧客向け回答の確定根拠にはできません。

情報源検索対象顧客回答の根拠必要な制御
公開マニュアル・仕様可対象機種と版が適合すれば可版数、有効期間、公開状態
確認済みFAQ可適用条件が一致すれば可対象条件、確認者、更新日
確定した障害情報可公開承認された範囲のみ可影響範囲、回避策、公開可否
調査中メモ・社内記録担当者支援に限定不可アクセス権、用途、状態
過去の会話改善分析に利用そのまま根拠にしない個人情報、正誤、再利用目的

この区別により、「検索できる文書」と「顧客への回答根拠として使用してよい文書」を同一視しません。

Retrievalを段階化する

回答に使える根拠を絞る

+の付いた項目を選ぶと、詳しい説明が下に表示されます。

回答に使える根拠を絞る本文の工程・分岐・役割を示します。ノードを選ぶと前後の関係を確認できます。問い合わせと対話で得たContext既存システム・工程対象機種で絞る既存システム・工程有効な版で絞る既存システム・工程顧客へ公開可能な情報へ絞る既存システム・工程意味検索 / キーワード検索知識・根拠回答根拠として十分か判断・確認生成AIへGrounding Contextを渡すAI支援人間へ引き継ぐ人間回答に使える根拠を絞る本文の工程・分岐・役割を示します。ノードを選ぶと前後の関係を確認できます。問い合わせと対話で得たContext既存システム・工程対象機種で絞る既存システム・工程有効な版で絞る既存システム・工程顧客へ公開可能な情報へ絞る既存システム・工程意味検索 / キーワード検索知識・根拠回答根拠として十分か判断・確認生成AIへGrounding Contextを渡すAI支援人間へ引き継ぐ人間

詳しい説明

気になる項目を選ぶと、その役割や判断理由を確認できます。

問い合わせと対話で得たContext

問い合わせと対話で得たContext。次の工程:対象機種で絞る。

対象機種で絞る

対象機種で絞る。次の工程:有効な版で絞る。

有効な版で絞る

有効な版で絞る。次の工程:顧客へ公開可能な情報へ絞る。

顧客へ公開可能な情報へ絞る

顧客へ公開可能な情報へ絞る。次の工程:意味検索 / キーワード検索。

意味検索 / キーワード検索

意味検索 / キーワード検索。次の工程:回答根拠として十分か。

回答根拠として十分か

回答根拠として十分か。次の工程:Yes:生成AIへGrounding Contextを渡す/No:人間へ引き継ぐ。

生成AIへGrounding Contextを渡す

生成AIへGrounding Contextを渡す。この工程の位置と前後のつながりを確認します。

人間へ引き継ぐ

人間へ引き継ぐ。この工程の位置と前後のつながりを確認します。

メタデータによる絞込みは、Vector Searchの結果を補う後処理ではありません。検索してよい母集団を先に決めるGuardrailです。

その上で意味検索やキーワード検索を使います。

ChunkとRankingを文書構造に合わせる

一定文字数だけで分割すると、手順の前提と操作、警告と対象条件が別Chunkへ分かれることがあります。このケースでは、見出し、手順単位、注意事項、対象機種の境界を優先し、前提条件を失わない単位でChunkを作る設計とします。表や箇条書きも、行だけを切り出して意味が変わらないかを確認します。

Rankingでは意味的類似度だけでなく、対象機種・版の完全一致、文書種別、公開状態、更新状態を組み合わせます。上位に来たという理由だけで採用せず、回答に必要な条件が一つの根拠内で満たされるか、複数根拠を併用するときに矛盾がないかを判定します。

回答には、利用した文書ID、版、該当箇所をEvidenceとして結び付けます。引用表示は装飾ではなく、顧客または担当者が回答の根拠を確認し、後から同じ判断を再現するための参照です。

矛盾と廃止を通常系として扱う

新旧文書が同時に検索対象へ残る、FAQと仕様書で説明が異なる、といった状態を例外的なデータ不備だけとして扱いません。矛盾を検知した場合は生成AIに統合させず、回答を停止してKnowledge Ownerへ返します。

廃止文書は削除だけでなく、後から回答時点を追跡できるよう状態と有効期間を保持します。

Knowledgeを運用対象にする

文書を登録して終わりにはしません。新機種、版更新、公開状態の変更、FAQの追加、障害情報の確定に合わせて、属性と検索条件を更新する必要があります。

また、検索に失敗した問い合わせを記録すれば、文書が存在しないのか、分類が誤っているのか、機種の対応付けが不足しているのかを切り分けられます。RAGの品質はモデルだけでなく、Knowledgeの状態と運用で決まります。

この責務分離は、Instruction・Knowledge・EvidenceとKnowledge / Context設計で詳しく扱っています。