社内ナレッジを 活用する RAG (検索拡張生成) システムの 構築
まず押さえたいことRAG(検索拡張生成)とは、質問に関連する情報を社内の資料などの外部の情報源から検索(Retrieve)し、その内容を回答の根拠としてモデルに渡して回答を生成(Generate)する仕組みです。
この記事の要点
RAGの回答の品質は、使うモデルに加えて、検索対象の資料、権限、更新の仕組みによって変わります。最初は用途(FAQ・手順・規程)と検索対象を絞り、資料ごとに有効な版と管理者を決めます。評価では、必要な資料を取り出せたか(検索)、資料に沿って回答できたか(生成)、根拠の資料が有効か、権限外の情報が表示されず更新・削除が反映されるかを分けて確かめ、結果を記録してから本番へ進みます。
この 記事で わかる こと
- RAGで
解決できる ことと、 できない こと - 検索対象の
資料・ 権限・ 更新の 流れを 設計する 要点 - 検索・
回答・ 根拠・ 権限を 分けて 確かめる 評価質問の 作り方 - PoCから
本番へ 進む ときに 確認する、 更新・ 削除・ 権限変更の 条件
RAGとは (何が 解決できるか / できないか)
LLM(大規模言語モデル)は、インターネット上の一般的な知識は持っていますが、自社の就業規則や先月の売上データは知りません。これらを質問のたびに検索し、回答の根拠としてモデルに渡す仕組みがRAG(Retrieval-Augmented Generation)です。
- できる
こと :社内の 資料に 基づく 回答、 根拠 (参照元)の 提示、 更新した 資料の 反映 (取り込みの 仕組みに よる)。 - できないこと:資料にないことへの正確な回答(推測で補ってしまう場合がある)、整理されていない資料からの正確な抽出。RAGを使っても、回答が正しいことは保証されません。
RAGとファインチューニングの違い
RAGは、回答のたびに参照する情報を検索してモデルに渡す方式です。ファインチューニングは、追加のデータでモデル自体を調整する方式で、文体や出力の形式をそろえたい場合などに使われます。社内規程やマニュアルのように内容が更新され、根拠を示したい情報には、RAGが合う場合が多くあります。費用、更新の手間、どちらが適するかは、データの量と更新の頻度、使うサービス、求める品質によって変わり、一律には決まりません。
なお、RAGという方式を使うことと、入力したデータがサービス側で学習に使われるか・保存されるかは別の問題です。構成に使うサービスごとに、学習への利用、保存、ログ、検索と生成の権限を確認します。
ベクトルDB(Vector DB)とは?
- 語句に
よる 検索 (キーワード検索)は、 本文などに 含まれる 語句が 一致する 文書を 探します。 表記の 揺れや 言い 換えには 弱い 場合が あります。 - 意味の近さによる検索(ベクトル検索)は、「景気が良い」と「売上が伸びている」のように、語句が違っても意味の近い文書を探せます。ただし、意味が近いことは、内容が正しいことや有効な版であることを示しません。
- 両方を組み合わせる検索(ハイブリッド検索)もあり、対象の資料で試して選びます。文章を数値(ベクトル)に変換して保存し、近さで検索できるようにする仕組みがベクトルDBです。
仕組み
- ベクトル化
(Embedding) :文章を AIで 数値の 並び (座標)に 変換する。 - 保存:
その 数値を ベクトルDBに 保存する。 - 検索:質問文も
数値に 変換し、 座標の 近い 文書を 取り出す。
失敗パターン (データ 品質・ 権限設計・ 更新 フローの 不備)
RAGを
- 資料の
品質 :古いマニュアルや 未確定の 議事録などが 検索対象に 含まれていると、 回答の 精度が 下がりやすくなります。 - アクセス権限の
不備 :機密情報が検索対象に 含まれていると、 権限の ない 利用者が AIを 通じて 閲覧できてしまう おそれが あります。 - 情報の
不整合 :元の資料を 更新しても RAG側へ 反映されず、 古い 内容の まま 回答が 続く ことがあります。
このうち気付きにくいのが情報の不整合です。元の資料を改訂しても、RAGが参照する索引(検索用に取り込んだデータ)が更新されていなければ、AIは旧版の内容で回答を続けます。回答に根拠が示されていても、その資料が旧版なら業務上は誤りです。資料ごとに有効な版と管理者を決め、更新や削除が索引へ反映されたことを確認する手順を運用に組み込みます。RAGは、資料の管理者と更新の手順を決めて、構築した後も運用を続けることが前提になります。
設計の 要点 (ソース 選定・ 権限・ メタデータ)
最初に、
| 区分 | 例 | 扱い |
|---|---|---|
| 確定した | 就業規則、 | 有効な |
| 流れで | 日報、 | 文脈が |
| 権限を | 人事評価、 | 利用者の |
| 取り込まない | パスワードや | 検索対象に |
構成要素の選び方
特定の
- ベクトルDB(保存と検索):Pineconeのようなマネージドサービス、Weaviate・Qdrantのように自社の環境でも動かせる製品、PostgreSQLの拡張機能のpgvectorなど。
- 開発用の
ライブラリ :LangChainやLlamaIndexなど、 資料の 取り込み・ 検索・ 生成の 処理を 組み立てる ための ライブラリ。
どの
精度改善の 進め方 (評価→改善→再評価)
RAGの
- 検索の失敗:必要な資料が検索結果に出てこない。
→ キーワードの類義語の登録、チャンク(分割)サイズの調整、ハイブリッド検索(キーワード+ベクトル)の導入を試します。 - 生成の失敗:資料は渡せているが、回答の内容が資料と合わない。
→ プロンプトの改善(「以下の情報を元に答えて」という指示を明確にする)や、新しい世代のモデルへの変更を試します。
このほか、回答が資料に沿っていても、根拠の資料自体が旧版や対象外なら業務上は誤りです。権限・更新・削除の問題は、平均の正答率に混ぜずに個別に確認します。改善の前後で同じ評価質問を使い、どこが変わったかを比べます。
RAGの 精度評価表: 検索・ 回答・ 権限を 確かめる
評価では、
- 検索:必要で
有効な 資料を、 利用者に 許可された 範囲で 取り出せたか。 資料に ない 質問では、 回答できない ことを 検索の 失敗と 決めつけず、 適切に 保留できたかを 確認します。 - 生成:取り出した
資料に 沿って、 期待する 回答を 作れたか。 資料に ない 条件を 付け加えた 場合は、 生成の 誤りとして 記録します。 - 根拠の
有効性 :根拠にした 資料が、 業務の 責任者が 定めた 有効な 版か。 資料に 忠実でも、 旧版や 対象外の 資料なら 業務上は 誤りです。 - 権限・
更新・ :平均の削除 正答率に 混ぜず、 個別の 受入条件として 確認します。 検索結果に 加えて、 引用・ リンク・キャッシュなど、 実際の 構成で 情報が 残る 箇所を 確認します。
次の7件は、評価質問の作り方を示すための説明用の例です。顧客の資料や実際の実行結果ではありません。実際の評価では対象の業務に合わせて件数を増やし、期待する結果を先に決めます。
| ケース | 期待する | 結果の |
|---|---|---|
| R01 答えが | 許可された | 想定した |
| R02 答えが | 想像で | 適切に |
| R03 版の | 業務の | 版・ |
| R04 権限が | 権限外の | 利用者の |
| R05 更新・削除の | 合意した | 変更と |
| R06 権限を | 新しい | 権限の |
| R07 不正な | 文書を | 検索・ |
権限の確認(R04・R06)は、検索の段階で利用者の権限に応じて結果を絞り込む設計になっているかを確かめるものです。生成した後に回答を隠すだけ、または指示文で「見せないで」と書くだけでは、制御したことになりません。MicrosoftのマルチテナントRAGの設計ガイドも、取り出しのたびに権限による絞り込みを適用することを挙げています。更新・削除(R05)も、元の資料を削除しただけで索引から消えるとは限りません。たとえばAzure AI Searchでは、削除を検知する設定によっては索引に文書が残り、手動での削除が必要になると説明されています。使う構成で、反映の条件と確認の方法を決めます。
評価用の質問は、プロンプトや検索設定の調整に使うものと、最終確認に使うものを分けます。自動の評価(LLMによる採点など)は補助として使えますが、期待する結果、有効な資料、権限外の情報の扱いは人が確認し、同じモデルによる自己採点だけで重要な項目を通さないようにします。Microsoftの評価機能の説明でも、検索の評価と、回答の評価(根拠との整合、関連性、網羅性)を分けています。
評価の結果から、本番へ進むか、範囲を限って運用するか、追加の検証や見送りにするかの判断は、PoCから本番へ進む条件と、止める条件で扱っています。7件すべてに合格しても、本番全体の安全性や性能を保証するものではありません。
参考情報
- Retrieval-Augmented Generation (RAG) Evaluators for Generative AI
(Microsoft Learn、 確認日:2026年10月17日) - Test and Evaluate AI Workloads on Azure
(Microsoft Learn、 確認日:2026年10月17日) - Design a Secure Multitenant RAG Inferencing Solution
(Microsoft Learn、 確認日:2026年10月17日) - Delete Documents - Azure AI Search
(Microsoft Learn、 確認日:2026年10月17日)
運用設計 (更新、 廃止、 監査ログ、 責任分界)
資料は
更新の反映には、資料の更新をきっかけに検索用の索引を更新するフローを組む方法と、担当者が定期的に資料を入れ替える方法があります。どちらの場合も、取り込み、索引、キャッシュ、引用・リンクのどこまでに反映されたかを確認します。
- 更新の
手順 :資料の更新・削除を 索引へ 反映する 方法と、 反映を 確認する 担当・ 時期を 決めます。 索引の 更新は モデルの 再学習ではありません。 - 記録:回答に参照元のリンクを表示することは、利用者が根拠を確かめる助けになりますが、それだけで監査のための記録にはなりません。何を(質問・回答・参照した資料・操作)、どの期間残し、誰が閲覧できるかを別に決めます。
- 責任分
界 :画面に「AIの 回答は 参考情報です」と 表示するだけでは、 責任の 分担は 決まりません。 資料の 管理者、 回答の 確認者、 更新と 停止の 担当を 決めます。
導入 ロードマップ(PoC→本番の 要件)
全社へ
- PoC
(概念実証) :IT部門や 特定の プロジェクトチーム (10名程度)に 利用者を 限り、 特定の 資料 (例:社内PCの セットアップ 手順)だけで 試す。 - 資料の整備:PoCで答えにくかった資料(画像の多いPDF、スキャンしたPDF、複雑な表など)を確認し、テキストの抽出や形式の変換などの処理が必要かを、実際に試して判断する。
- 本番展開:評価質問の
結果と、 更新・ 削除・ 権限変更の 確認を 終えてから、 部署単位で 権限を 設定しながら 対象範囲を 広げる。
チェックリスト (最小構成で 始める)
RAGを
押さえておきたい点
自社の状況を確認する
- □ 検索対象に
する 資料の 範囲を 決めたか (すべての 資料を 入れない) - □ 認証情報など
取り込まない 情報を 除き、 権限を 限定して 扱う 資料を 区別したか - □ 資料の
ファイル 形式から、 文字を 正しく 取り出せるか - □ 資料の
更新・削除を 索引へ 反映する 方法と、 反映を 確認する 担当が 決まっているか - □ 利用者の
権限に 応じて、 検索の 段階で 結果を 絞り込めるか - □ 回答とともに、
参照元の 資料が 画面に 表示されるか - □ 評価質問
(答えられる・ 答えられない・ 見せてはいけない 質問)と 期待する 結果を、 調整用と 最終確認用に 分けて 用意したか - □ 資料の
中の 不正な 指示を、 権限の 拡大や 承認の ない 操作に つなげない 設計か (アプリ側の 権限で 制御する) - □ 残す記録と
保存期間・ 閲覧者を 決め、 定期的に 確認できるか - □ AIの
回答が 誤る 場合が ある ことを、 利用者に 伝えているか
よく ある 質問
Q. RAGの
RAGを使っても、誤った回答を完全に防ぐことはできません。検索の改善、資料の整備、資料にないことは回答しないという指示などで減らせる場合がありますが、どの程度改善できるかは対象の資料と評価の結果によります。重要な回答には人の確認を残し、評価質問で継続的に確かめます。
Q. 社内規程PDFや
そのままで足りる場合もありますが、画像の多いPDFや表、スキャンした資料は文字を正しく取り出せないことがあります。対象の資料で試し、見出しごとの分割や表の変換などの処理が必要かを判断します。
RAGの 誤りを、 検索・ 回答・ 資料に 分けて 確かめます。
評価質問の設計や、権限・更新・削除の確認を社内で進めきれない場合は、AI・RAGの評価と本番移行の支援内容をご確認ください。初回相談では課題と範囲を確認し、有料の支援は対象と実際に試すかどうか、成果物を決めてお見積もりします。
この分野の全体像
生成AIを 業務へ 組み込む 方法: 対象業務の 選定から 運用まで
この