「社内のドキュメントやデータをもとに、AIに正確に答えさせたい」——生成AIをプロダクトに組み込むうちに、多くの開発責任者がこのニーズに行き着きます。これを実現するのがRAG(検索拡張生成)、自社データを検索して、その内容に基づいてAIに回答を生成させる仕組みです。

この記事では、自社データを使ったRAGの構築方法を、データの準備から検索・回答生成までの手順で整理します。「どう作るか」の全体の流れと、各段階で何を決めるべきかに軸を置きます。なお、構築後に精度が出ない場合の原因切り分けはRAG構築でつまずくポイントと対処で扱うので、本記事は作り方そのものに絞ります。

筆者(馬込)は、生成AI×Web実装を強みに、自社データを使ったRAGの構築を実際に手がけてきました。その経験から言えるのは、RAGの精度は「作り方の順番」でほぼ決まるということです。

RAGとは何か——なぜ「そのまま質問」ではダメなのか

まず、RAGが必要になる理由を押さえます。生成AIは学習した知識で答えますが、自社固有の情報(社内ドキュメント、最新のデータなど)は知りません。そのまま質問しても、AIは「もっともらしいが自社とは無関係な答え」を返します。

RAGは、この問題を解きます。質問が来たら、まず自社データから関連する情報を検索し、その情報をAIに渡してから回答を生成させる。こうすることで、AIは自社データに基づいた、根拠のある答えを返せます。「AIに直接聞く」のではなく、「関連情報を渡してから聞く」——この一手間が、正確さを生みます。全体像は生成AIを自社プロダクトに組み込む方法も参照してください。

RAGの構築は、大きく3つの段階に分かれます。順番に作っていきます。

段階 やること 精度への影響
① データ準備 ドキュメントを検索しやすい単位に分割・整形 大きい(土台)
② 検索 質問に関連するデータを取り出す仕組み 最も大きい
③ 回答生成 検索結果をAIに渡して答えを作らせる

多くの人は③の「AIに答えさせる」部分に注目しますが、RAGの精度を最も左右するのは②の検索です。関連する情報を正しく取り出せなければ、AIがどれだけ賢くても、間違った材料で答えを作ることになります。ここが後述の設計判断の中心です。

① データ準備——分割の仕方が土台を決める

最初の段階が、自社データを検索しやすい単位に分割・整形することです。長いドキュメントをそのまま扱うのではなく、意味のまとまりで区切ります。

ここでの設計判断は、**「どのくらいの大きさで区切るか」**です。細かく区切りすぎると文脈が失われ、大きく区切りすぎると関係ない情報が混ざります。扱うデータの性質(マニュアルなのか、FAQなのか、契約書なのか)によって、適切な区切り方が変わります。

見落としやすいのが、データの整形です。表や画像、レイアウトが崩れたまま取り込むと、検索も回答も精度が落ちます。「AIに渡す前に、人が読んで意味が通る形になっているか」を確認するのが、地味ですが効きます。土台がぶれると、上の段階をどれだけ作り込んでも精度が出ません。

② 検索——RAGの精度はここでほぼ決まる

RAGの心臓部が、質問に関連するデータを取り出す検索です。ここの設計が精度を最も左右します。

設計判断のポイントは2つです。

  • 何を手がかりに検索するか:意味の近さで探すか、キーワードの一致で探すか、その両方を組み合わせるか。データの性質によって最適が変わります。
  • どれだけの量を取り出すか:少なすぎると必要な情報が漏れ、多すぎると関係ない情報がAIを惑わせます。

ここで重要なのは、検索の良し悪しを測れるようにしておくことです。「この質問には、この情報が取り出せているべき」という基準を持ち、検索がそれを満たしているかを確認する。これがないと、精度が出ないときに「検索が悪いのか、AIが悪いのか」を切り分けられません。精度が出ない原因の切り分けはRAG構築でつまずくポイントに詳しくまとめています。

③ 回答生成——渡し方と、事実性の担保

最後が、検索した情報をAIに渡して回答を生成させる段階です。

ここでの設計判断は、**「検索結果をどう渡し、どう答えさせるか」**です。渡した情報だけに基づいて答えるよう指示し、情報が無ければ「分からない」と答えさせる。これを曖昧にすると、AIが検索結果を無視して創作した答えを返し、RAGの意味が失われます。出力を安定させる指示の設計はプロンプト設計の基本が参考になります。

事実性を担保するには、回答の根拠(どのデータを使ったか)を示せるようにするのが効きます。根拠が見えれば、読者も社内も答えの正しさを確認でき、品質の監視もしやすくなります。

作った後——データを更新し続ける設計

RAGは「作って終わり」ではありません。むしろRAGの利点は、元データを更新すれば答えも変わることにあります。この更新のしやすさを、最初の設計に織り込んでおくのが重要です。

見落とされがちなのが、古いデータをどう入れ替えるかです。社内のマニュアルやFAQは変わります。古い情報が検索対象に残ったままだと、RAGは自信を持って古い答えを返します。「データを追加する」だけでなく、「古いものを更新・削除する」流れまで作っておかないと、時間とともに精度が濁っていきます。

もう一つは、運用しながら精度を測り続けることです。実際に来た質問のうち、うまく答えられなかったものを記録し、データや検索を改善していく。この改善のループが回せるかどうかで、RAGが「作った時が一番良くて、あとは劣化する」のか「使うほど良くなる」のかが分かれます。運用フェーズの品質維持は生成AI機能の評価・監視の始め方の考え方と地続きです。

TechMateのRAG・生成AI実装支援

私たちTechMateは、自社データを使ったRAGの構築を、月単位の準委任で伴走しています。データ準備・検索設計・回答生成から、精度が出ないときの切り分け・評価の仕組みまで、本番で使える形で一緒に手を動かします。RAG構築で迷う段階でも構いません。こちらからご相談ください。

よくある質問

Q. RAGの構築で、最初に決めるべきことは何ですか? A. **「何のデータを、どんな質問に答えるために使うか」**を先に固めることです。対象データと想定質問が曖昧なまま作り始めると、データの分割も検索の設計も定まりません。用途を絞るほど、精度を出しやすくなります。まず狭く始めて、精度を確かめてから広げるのが近道です。

Q. RAGとファインチューニング(AIの追加学習)は、どちらがいいですか? A. 多くの場合、まずRAGをおすすめします。RAGはデータを更新すれば答えも変わり、根拠も示せて、コストも抑えやすい。ファインチューニングはデータが固定的で大量にある場合に効きますが、更新のたびに学習が要り、根拠も示しにくい。「自社データが更新される」なら、RAGが素直な選択です。

Q. RAGを作れば、AIの嘘(ハルシネーション)はなくなりますか? A. ゼロにはなりませんが、大きく減らせます。検索した情報に基づいて答えさせ、情報が無ければ「分からない」と答えさせる設計にすれば、創作した嘘は抑えられます。さらに回答の根拠を示せるようにしておけば、間違いに気づきやすくなります。「渡した情報だけで答える」設計が鍵です。


自社データでRAGを構築するうえで効くのは、AIの賢さに頼ることではなく、データ準備 → 検索 → 回答生成の順番で、各段階の設計を丁寧に決めることでした。とくに精度を最も左右するのは検索です。順番を踏んで土台から作れば、自社データに基づく正確な回答が実現できます。

自社データでRAGをどう構築すべきか整理したい段階でも構いません。RAG構築のご相談から、お気軽にお問い合わせください。