RAGとは?「社内の書庫に資料を取りに行かせる」仕組み RAG(Retrieval-Augmented Generation:検索拡張生成)とは、大規模言語モデル(LLM)に回答させる前に、社内の文書データベースから関連情報を検索して取り出し、それをお手本として渡してから答えさせる仕組みです。
イメージとしては、AIを「賢いが自社のことは何も知らない新入社員」、社内文書を「書庫」、RAGを「書庫に資料を取りに行く調べもの係」だと考えるとわかりやすいと思います。質問が来るたびに、まず書庫から関連する棚を検索して該当ページを取り出し、そのコピーとともに「この資料をもとに答えて」とAIに渡す。この一連の流れがRAGです。
社員の質問「うちの育休は最大何日?」
→
埋め込みEmbedding モデル
→
ベクトル検索上位N件の関連チャンク
↓ 取り出したチャンク+質問文
プロンプト組立「以下の資料をもとに答えて」
→
LLMChatGPT / Claude / Gemini
→
回答+出典就業規則 第32条 より
社内文書の書庫(事前処理でインデックス済み)
SharePoint
Confluence
共有フォルダ
→
ベクトルDBpgvector / Pinecone 等
RAGの基本構成。質問→ベクトル検索→社内文書チャンクの取り出し→LLMで回答生成。回答には出典を必ず添える 図のように、RAGは3つのフェーズで動きます。
検索(Retrieval) :質問文を数値ベクトルに変換し、社内文書のベクトルデータベースから意味が近い文書チャンク(数百字ごとに分割された断片)を上位数件取り出す拡張(Augmentation) :取り出したチャンクを、質問文と一緒に「以下の資料をもとに答えてください」というプロンプトに埋め込む生成(Generation) :LLMがそのプロンプトを読んで、渡された社内文書に基づいて回答を生成する決定的なポイントは、LLMは渡された資料の範囲でしか答えられない という制約を、逆手に取っていることです。渡す資料を自社の最新の規程・マニュアル・議事録に絞ることで、AIは「うちの会社では育児休業を最大1年取得できます(就業規則第32条)」のように、根拠つきで答えられるようになります。
この考え方はなぜAI時代にこそデータ基盤が必要か|生成AIが失敗する理由 でも触れていますが、本記事ではさらに一歩踏み込んで、実装の構成要素と落とし穴を扱います。
なぜ社内AIにRAGが必要か 「ChatGPTのプロに聞けばだいたい答えてくれるのに、なぜわざわざRAGを作るのか」という疑問はよく出ます。ここは3つの理由で整理できます。
ChatGPT単体で聞く
質問「うちの育休は?」
→
LLM一般公開情報のみ
→
曖昧・一般論「一般的には〜」
社内の規程・マニュアルを見ていない 最新の情報を反映できない 回答の出典を示せない RAGで聞く
質問「うちの育休は?」
→
検索社内文書DB
→
根拠つき回答「最大1年(第32条)」
社内文書の最新版を毎回参照 出典(どの文書のどこか)を明示 権限フィルタで機密の混入を防止 ChatGPT単体 vs RAG構成の違い。RAGは検索を挟むことで、社内の最新・正確な情報に基づいた回答ができる 理由1: 基盤モデルは自社の情報を知らない ChatGPTやGeminiの学習データには、あなたの会社の就業規則も、商品マスタも、去年の顧客とのやりとりも含まれていません。当然です。公開情報しか学習していないからです。
社内文書を貼り付けて質問する運用で当座はしのげますが、「毎回コピペするのは面倒」「文書量が多いと入りきらない」「社員が古い版を貼ってしまう」という問題が出てきます。RAGは、社内文書の検索と受け渡しを自動化する仕組みだと理解すると、位置づけがはっきりします。
理由2: ファインチューニングでは知識の追加に向かない 「モデルに自社のデータを覚えさせればいい」と考えるのは自然ですが、これがファインチューニング(追加学習)です。実務で使ってみると、次の弱点が見えてきます。
知識の追加には効率が悪い :新しい規程が出るたびに再学習が必要で、コストと時間がかかる回答の根拠が示せない :「この文書の何ページから引いた回答か」を出せない情報が古くなる :学習した時点の情報しか反映されず、鮮度の保証が難しい対してRAGは、社内文書を更新すれば次の質問から即座に反映されます。回答に出典(どの文書から引いたか)を添えられるため、監査や責任の観点でも扱いやすい。知識の追加はRAG、振る舞いや文体の調整はファインチューニング 、という使い分けが2026年時点の実務での定説です。
理由3: ハルシネーションを実務レベルで抑えられる 生成AIには、事実と異なる内容をもっともらしく作る「ハルシネーション(幻覚)」という弱点があります。2026年3月時点の調査でも、生成AIを業務利用しにくい理由として「ハルシネーション」を挙げた企業は35.2%と、根強い懸念になっています。
RAGは、AIの回答を信頼できる自社データに結びつける「グラウンディング」の代表的な手段です。「渡された資料の範囲で答えて」「根拠がなければ答えないで」と指示することで、幻覚の発生率を実務レベルまで下げられます。完全にゼロにはならないため、UIで出典リンクを必ず表示し、人間の目視チェックと組み合わせる運用が現実的です。
ここまでを踏まえて、なぜデータマネジメントそのものがDXやAIの成否を分けるかは、なぜ今データマネジメントが必要なのか?DX成功の本質を解説 で整理しています。
RAGの構成要素と処理の流れ もう少し踏み込んで、RAGを実装するときに何を用意することになるのかを見ていきます。ここは発注前の要件定義でも必ず出てくる話題です。
事前処理(インデクシング)フェーズ RAGは、質問が来る前に「書庫」を作っておく必要があります。この事前処理は次の順番で走ります。
文書収集 :SharePoint、Confluence、Google Drive、ファイルサーバ、社内Wikiなどからドキュメントを吸い上げる前処理・クレンジング :PDFやWordから本文を抽出、ヘッダ・フッタや目次を除去、表を整形チャンク分割 :長い文書を数百字〜1,000字程度のチャンクに分ける。意味のまとまりを保つ「セマンティックチャンキング」が推奨される埋め込み(Embedding) :各チャンクを、OpenAIのtext-embedding-3などの埋め込みモデルに通して数値ベクトルに変換するベクトルDBへの格納 :ベクトルと元テキスト、メタデータ(出典・部署・更新日・アクセス権限)を一緒に保存するこのパイプラインは、社内文書の更新に合わせて日次または週次で回します。裏側は結局、ETL/ELTのデータパイプライン そのものです。データ基盤の議論と地続きになる部分で、データ基盤とは?企業が導入すべき3つの理由と構成要素を解説 でも解説している「収集→蓄積→加工」の考え方がそのまま効いてきます。
質問応答(クエリ)フェーズ 社員が質問を投げた瞬間から、次の順番で処理が走ります。
質問文の埋め込み :質問文を、事前処理と同じ埋め込みモデルでベクトル化するベクトル検索 :ベクトルDBから、質問ベクトルに意味が近い上位N件(通常5〜20件)のチャンクを取り出すリランキング (任意):取り出したチャンクを、より精度の高いモデルで並べ替えるプロンプト組み立て :チャンクを「参考資料」として質問文と一緒にプロンプトに詰め込むLLM生成 :ChatGPT・Claude・Gemini・社内ホスティングのLLMなどが回答を生成する出典の付与 :どのチャンクを参照したかを、回答の下に出典として表示する理想は「質問から回答まで数秒」ですが、リランキングやハイブリッド検索を挟むと10秒前後まで伸びることも珍しくありません。UXとしては、回答を段階的に表示するストリーミング表示と組み合わせるのが定石です。
RAG実装に必要なデータ基盤要件 ここが本題です。RAGは「AIツールを1つ買えば動く」ものではなく、社内のデータ基盤側にいくつかの前提を求めます。ここを軽視すると、PoCは動いても本番運用で崩れます。
要件1: 対象データが1か所に集まっている RAGは、複数のシステムに散らばった文書を横断検索させたいケースが多いはずです。しかしSharePointの一部、Confluenceの一部、共有フォルダの一部……とバラバラのままAPIを叩きに行くと、権限管理・鮮度・重複排除がすべて個別実装になります。
現実的なのは、文書メタデータを1か所に集めて棚卸ししたうえで、埋め込みパイプラインを1本に統一することです。この考え方は「ELTでDWHにデータを集約する」のと同じ発想です。
要件2: メタデータと権限が文書に紐づいている 「営業部の資料を人事の社員から検索できてしまう」という事故は、RAGでは頻発します。ベクトル検索は意味が近いものを引いてくるため、権限をシステム側で切っておかないと、検索結果に他部署の機密が混ざります。
部署タグ :どの部署の文書かアクセス権限 :どの役職以上が閲覧可能か更新日 :古い版を優先的に落とすため文書種別 :規程・議事録・提案書・マニュアルなどこれらをチャンクごとにメタデータとしてベクトルDBに持たせ、検索時にフィルタリングします。「この社員の権限で見える文書だけを検索対象にする」というアクセス制御を、検索の瞬間に効かせる仕組みが要ります。
要件3: 埋め込みモデルとチャンク分割の設計 ここは技術的な話ですが、精度に直結します。
チャンクサイズ :小さすぎると文脈が切れ、大きすぎるとノイズが増える。日本語なら300〜800字が標準的オーバーラップ :チャンク間で50〜100字重ねると、文脈の切れ目を吸収できる埋め込みモデル :日本語ならOpenAIのtext-embedding-3-large、Cohereのembed-multilingual-v3、日本語特化モデルなどが候補小さな失敗は許容できますが、「チャンクサイズを後から変えると全文書の再埋め込みが必要になる」ため、最初の設計は慎重に。
要件4: ハイブリッド検索(ベクトル + キーワード) エンタープライズRAGでは、ベクトル検索だけに頼らず、BM25などのキーワード検索と組み合わせるハイブリッド検索が2026年時点の定石です。ベクトルは意味を捉えるのが得意ですが、製品コード・型番・法令番号のような厳密一致 が必要な検索は苦手です。「就業規則第32条」を「32条」で検索したいときに、ベクトルだけでは弱くなります。
ベクトル検索そのものの仕組みと、pgvector・Pineconeといった選択肢の選び方はベクトルデータベースとは?AI活用に必要な理由と選び方|2026年版 で基礎から解説しています。
RRF(Reciprocal Rank Fusion)などの手法で両方の結果を混ぜるのが標準的な作りです。ここまで作り込むかどうかで、精度と実装コストは大きく変わります。
要件5: 監査ログと出典の記録 誰が何を質問し、AIがどの文書のどのチャンクを引いて、どんな回答を返したか。この履歴を残せる仕組みは、社内利用でも監査・トラブル対応で必ず必要になります。
BigQueryやSnowflakeなどのDWHにログを流し、あとから「先週の質問傾向」「回答されなかった質問」を分析できるようにしておくと、精度改善のサイクルにも回せます。
現場で起きる典型的な落とし穴 ここはPoCから本番に上がる前に、必ずぶつかる論点です。Evastの現場でも繰り返し見てきたパターンを整理します。
落とし穴1: PoCで動いたのに本番で「答えが浅い」 数十件の文書で動かしたRAGを、数千件・数万件に広げると精度がガクッと落ちるパターンです。原因は、ノイズ文書が検索結果に混ざり、LLMが「参考資料が多すぎて混乱する」状態になっていることです。
対処は、リランキングを入れる、チャンク数を絞る、メタデータフィルタで対象範囲を絞る、の順で試します。多くの場合は「質問の対象部署を先に絞ってから検索」を入れるだけで大きく改善します。
落とし穴2: 権限のない情報が回答に混ざる 「A部の役員会議事録が、B部の一般社員に見えてしまった」という事故は、RAGでは実際に起きます。原因はほぼ、メタデータの権限フィルタが検索時に効いていない実装ミスです。
このリスクは技術というより設計の話です。SharePoint・Confluenceなどの元システムの権限を、埋め込み時にメタデータとして持ってこられているか、検索クエリでそれを必ずフィルタに使っているかを、必ずレビューする必要があります。
落とし穴3: 「更新済みの文書」が反映されない 規程が改訂されたのに、AIが古い版で答え続ける。原因は、埋め込みパイプラインが再実行されていない、または古いチャンクが削除されずに残っていることです。
日次または週次で全文書のインデックスを更新する仕組みは、地味ですが必須です。ここを人手のバッチで回している間は、必ずどこかで抜けが起きます。dbtやAirflowでスケジュール実行できる形にしておくのが安全です。
落とし穴4: LLMのトークン課金が想定を超える 社員数百人が業務で使い始めると、OpenAIやAnthropicのAPI課金が月数十万円〜100万円を超えることがあります。原因は、1回の質問で渡すチャンク数が多い、質問1件あたりの平均トークン数が想定より大きい、といったところです。
チャンク数を上位5〜10件に絞る キャッシュを効かせて同じ質問はキャッシュから返す 社内利用ならAzure OpenAIやBedrockでレート制限つきの契約にする このあたりの運用設計はDWHのコスト最適化と発想が同じです。BigQueryの料金体系とコスト削減|課金トラップと対策 の考え方が転用できます。
落とし穴5: 「使われないRAG」になる 一番多い失敗はここかもしれません。せっかく作ったのに、社員が「結局Google検索したほうが早い」と使わなくなるパターンです。
原因は、対象文書の範囲が広すぎて回答がぼやける、質問の書き方が難しい、UIが使いにくい、といった複合要因です。対策は、対象範囲を1〜2部署に絞って狭く始める こと、そして社員へのオンボーディングで「こういう質問には強い/こういう質問は苦手」を明示することです。
RAGの導入ステップ(4〜8週間のスモールスタート) 最後に、実際にどこから手をつければよいかの段取りです。全社一斉ではなく、狭く始めて広げる進め方が現実的です。
週1: ユースケース選定と対象データの棚卸し 「就業規則・人事Q&A」「営業提案書の検索」「システム運用マニュアルの参照」など、対象を1つに絞ります。目安は、対象文書100〜1,000件、想定利用者20〜200人、質問頻度が明確なもの。
同時に、対象文書の権限・更新頻度・重複を洗い出します。ここが雑だと後の設計がすべて崩れるため、地味ですが最重要のステップです。
週2〜3: マネージドRAGでプロトタイプ NotebookLM、Azure OpenAI on Your Data、Dify、AWS Kendra + Bedrock、Google Vertex AI Searchなど、マネージドRAGサービスで最小構成を組みます。ここではベクトルDBもLLMも既製サービスに任せ、動く形を最速で作ります。
この段階の狙いは、技術検証よりもユースケースの妥当性を確かめる ことです。想定していた質問にちゃんと答えられるか、社員が実際に使いたくなるかを、10〜20人のトライアルで見ます。
週4〜6: 本番構成へ移行、権限とログを実装 マネージドRAGで手応えが得られたら、本番向けに次のいずれかで作り込みます。
フルマネージドで拡張 :Azure OpenAI on Your Data、Vertex AI Searchなどをそのまま本番運用セミカスタム :pgvector on PostgreSQL、またはPineconeにベクトルDBを載せて、埋め込みパイプラインだけ内製フルカスタム :ベクトルDB・埋め込み・検索・LLM呼び出しをすべて内製多くの企業はセミカスタムに落ち着きます。ここで権限フィルタ、ハイブリッド検索、監査ログを実装します。
週7〜8: パイロット運用と精度改善のサイクル 50〜200人規模でパイロット運用に入り、質問ログを分析して精度改善を回します。改善の打ち手は、チャンク設計の見直し、リランキングの追加、プロンプトの調整、対象文書の追加・削除、の順で試すのが定石です。
全社展開は、パイロットで運用体制と精度が安定してから。ここまで含めると、対象範囲によりますが3〜6か月見ておくのが安全です。
内製と外注のバランスは、データ基盤は内製と外注どっち?判断基準とハイブリッドの進め方 の考え方がそのまま使えます。エンベディングモデルの選定や監査ログ設計は内製が難しい領域なので、初回は外部の知見を借りて型を作り、以降を内製化する進め方が現実的です。
まとめ|RAGは「AIの土台にデータ基盤が要る」を実感する入口 RAGは、生成AIを社内で本当に役立てるための、いま最も現実的な仕組みです。同時に、実装を進めていくと「AIの土台にデータ基盤が要る 」という原則をいちばん強く実感できる入口でもあります。
対象データを1か所に集約するパイプラインが要る 権限・更新日・部署などのメタデータが文書に紐づいている必要がある ベクトル検索とキーワード検索を組み合わせた検索設計が要る 監査ログをDWHに残し、精度改善のサイクルを回す これらは、Evastが日々のデータ基盤構築の中で扱ってきたテーマそのものです。「社内AIを進めたいが、どこから手をつけていいかわからない」という段階でも、まずは対象データの棚卸しと、既存のSaaSを組み合わせたPoCから小さく始められます。
自社のRAG導入やAI活用に向けたデータ基盤構築についてご相談されたい方は、Evastのデータ基盤構築サービス からお気軽にお問い合わせください。ユースケースの選定、PoC設計、本番構成のアーキテクチャレビューまで、フェーズに応じた形で伴走します。