RAGとは何か?まずは仕組みを簡単に理解する
RAG(Retrieval-Augmented Generation)とは、AIが回答を生成する前に、外部のデータベースから関連する情報を検索し、その内容をもとに回答を作成する仕組みです。
一般的なLLM(大規模言語モデル)は、学習時点の情報をもとに回答するため、社内独自の情報や最新の情報には対応できない場合があります。
RAGを活用すると、社内マニュアルや規程、最新のドキュメントなどを検索対象に加えられるため、自社の情報をもとにした回答が可能になります。
ただし、RAGは「情報を検索する工程」と「回答を生成する工程」の2つを組み合わせた仕組みです。検索する情報が適切でなかったり、生成された回答の精度が低かったりすると、期待した結果が得られません。
そのため、RAGを構築する際は、検索精度と回答生成の両方を考慮した設計が重要です。
▼あわせて読みたい
RAGが向いている用途・向いていない用途
RAGは便利な仕組みですが、すべての業務に適しているわけではありません。
導入を検討する際は、自社の課題がRAGによって解決できるものかを事前に確認することが大切です。
RAGが向いている用途
以下のような、蓄積された情報を検索して回答する業務に向いています。
- 社内ドキュメントや規程、マニュアルをもとに回答したい
- 製品仕様や過去の問い合わせ履歴など、自社独自の情報を活用したい
- 情報更新が多く、その都度LLMを再学習するのが難しい
RAGが向いていない用途
一方で、以下のような業務ではRAGだけでは十分な対応が難しい場合があります。
- 回答に高度な判断や交渉が必要な業務
:RAGは情報検索と回答生成を支援する仕組みであり、最終的な意思決定はできません。 - データが整理されていない状態
: 必要な情報を正しく検索できず、回答精度が低下する可能性があります。 - 法律や医療など、回答の正確性が厳密に求められる領域
:RAGを利用しても誤った回答(ハルシネーション)のリスクを完全になくすことはできません。
▼あわせて読みたい
RAG構築に必要な3つの構成要素
RAGシステムは、大きく分けて以下の3つの要素から構成されています。
|
それぞれが異なる役割を担っており、どれか1つでも適切に機能しないと、期待した回答精度を得ることはできません。
RAGを構築する際は、単にLLMを導入するだけではなく、「どの情報を参照させるか」「必要な情報を正しく検索できるか」「検索結果をもとに適切な回答を生成できるか」という流れ全体を設計することが重要です。
RAGを構成する3つの要素
|
構成要素 |
役割 |
具体例 |
|
データソース |
AIが参照する情報の元となるデータ |
社内マニュアル、FAQ、製品仕様書、過去の問い合わせ履歴など |
|
検索エンジン(Vector DB) |
文章の意味をもとに関連情報を検索する仕組み |
Pinecone、Weaviate、pgvectorなど |
|
LLM |
検索した情報をもとに、自然な回答文を生成する仕組み |
GPT-4、Claude、Geminiなど |
例えば、社内FAQのRAGシステムを作る場合、まず「社内規程や問い合わせ履歴」などをデータソースとして登録します。
次に、検索エンジン(Vector DB)がユーザーの質問に近い情報を検索し、最後にLLMが検索結果をもとに回答を生成します。
このように、RAGは「情報を持つ場所」「必要な情報を探す仕組み」「回答を作るAI」の3つが連携することで成り立っています。
一方で、データの整理が不十分だと必要な情報を検索できなかったり、検索精度が低いとLLMが誤った情報をもとに回答したりする可能性があります。
そのため、RAG構築では各要素を個別に改善するだけでなく、システム全体のバランスを考えた設計が重要です。
▼AIが参照する情報を蓄積・整理するならAIナレッジプラットフォーム「Helpfeel」の活用がおすすめ!詳細はこちら
はじめてのRAG構築|5つのステップで進める方法
RAGを構築するには、単にLLMを導入するだけではなく、データの準備や検索方法、回答精度の検証など、複数の工程が必要です。
ここでは、初めてRAGを構築する方に向けて、基本的な5つのステップを紹介します。
Step1|目的と対象データの範囲を決める
RAG構築で最初に行うべきことは、「何のためにRAGを導入するのか」を明確にすることです。
目的が曖昧なまま構築を始めると、必要なデータの判断が難しくなり、後から大幅な修正が発生する可能性があります。
まずは以下の項目を整理しましょう。
|
対象範囲を広げすぎると、データ整備や管理にかかる負担が大きくなります。
初めて導入する場合は、「特定部門の業務マニュアル」や「よくある問い合わせ情報」など、範囲を絞って小さく始めることがおすすめです。
Step2|データを収集・整理・クレンジングする
RAGの回答精度は、参照するデータの品質に大きく左右されます。
高性能な検索エンジンやLLMを利用しても、元となるデータが整理されていなければ、正確な回答を生成することはできません。
データ準備では、以下のような問題がないか確認しましょう。
|
よくある問題 |
対処方法 |
|
情報が古く更新されていない |
最終更新日を確認し、不要な情報は修正・削除する |
|
同じ内容が複数ファイルに存在する |
正式な情報源を1つに決め、重複データを整理する |
|
表や画像だけで情報が含まれている |
テキストで補足し、AIが読み取れる形式にする |
|
PDF・Word・Excelなど形式がバラバラ |
必要に応じてテキスト抽出しやすい形式に統一する |
データ整備は、RAGの精度を左右する重要な作業です。この段階を丁寧に行うことで、後工程での精度改善にかかる手間を減らせます。
Step3|チャンク分割と埋め込みモデルを設定する
整理したデータは、そのままではRAGで利用できません。
まず、文章を「チャンク」と呼ばれる小さな単位に分割し、それぞれをベクトル(数値情報)へ変換する必要があります。
チャンク分割のポイント
チャンクのサイズは、検索精度に大きく影響します。
|
一般的には200〜500トークン程度が目安ですが、文書の種類や用途によって調整が必要です。
埋め込みモデルの選び方
埋め込みモデル(Embedding Model)とは、文章をベクトル化するためのモデルです。
RAGでは、ユーザーの質問と関連性の高い情報を検索するため、この変換精度が重要になります。日本語の文書を扱う場合は、日本語への対応や精度を確認してモデルを選ぶことが大切です。
代表的な選択肢として、以下のようなモデルがあります。
|
Step4|検索方法と生成プロンプトを設計する
データをVector DBへ登録したら、次は「必要な情報をどのように検索し、LLMへ渡すか」を設計します。
検索方式の選択
|
検索方式 |
特徴 |
|
ベクトル検索 |
文章の意味をもとに検索するため、表現が異なっていても関連情報を取得しやすい |
|
キーワード検索(BM25など) |
完全一致や部分一致に強く、専門用語や固有名詞の検索に向いている |
|
ハイブリッド検索 |
ベクトル検索とキーワード検索を組み合わせ、精度向上を狙える |
初めてRAGを構築する場合は、まずベクトル検索から始め、必要に応じてハイブリッド検索へ改善していく進め方が一般的です。
プロンプト設計のポイント
LLMへ渡すプロンプトには、検索した情報(コンテキスト)とユーザーの質問を含めます。
その際、以下のようなルールを設定すると、誤回答を防ぎやすくなります。
|
Step5|評価指標を設定し、小さく検証しながら改善する
RAGを構築した後は、すぐに本番運用するのではなく、まずは小規模な検証を行いましょう。
確認すべきポイントは以下の通りです。
評価するポイント
|
評価する際は、実際に利用者が質問する「定性評価」と、正答率やヒット率などを見る「定量評価」を組み合わせると効果的です。
最初から完璧なRAGを作る必要はありません。
まずは、よく利用される質問に正確に回答できるかを確認し、徐々に対象データや利用範囲を広げていくことで、実用性の高いRAGシステムへ改善できます。
RAG構築でよくある4つの失敗パターン
RAGは、自社データを活用してAIの回答精度を高められる仕組みですが、構築方法を誤ると期待した効果が得られない場合があります。
ここでは、RAG構築で起こりやすい失敗例と、その対策を紹介します。
失敗1|データを大量に入れれば精度が上がると思ってしまう
「AIに参照させる情報は多いほど良い」と考え、手当たり次第にデータを登録してしまうケースがあります。
しかし、不要な情報や関連性の低いデータが多いと、検索時にノイズが増え、必要な情報を正しく取得できなくなる可能性があります。
RAGでは、データ量よりも、必要な情報が整理されているかが重要です。
◾️ 対策
- 利用目的に関係するドキュメントだけを登録する
- 古い情報や重複したデータを整理する
- AIに参照させる情報の範囲を明確にする
失敗2|チャンクサイズを決めずに進めてしまう
RAGでは、ドキュメントを「チャンク」と呼ばれる小さな単位に分割して検索します。
このチャンクサイズが適切でないと、検索精度や回答内容に影響します。
例えば、チャンクが大きすぎると不要な情報まで含まれてしまい、検索結果の精度が低下する可能性があります。
一方で、小さすぎると文章の前後関係が失われ、回答に必要な情報が不足することがあるため注意が必要です。
◾️ 対策
- 文書の種類に合わせてチャンクサイズを調整する
- 複数のサイズで検証し、検索結果を比較する
- 実際の質問パターンをもとに最適化する
失敗3|評価プロセスを省いてしまう
正常に動いているから問題ないと判断し、そのまま本番運用を始めてしまうケースもあります。
しかし、実際に利用が始まると「必要な情報を取得できない」「誤った回答を生成する」といった問題が発生することがあります。
本番前には、想定される質問を用意し、回答精度を確認する工程が必要です。
◾️ 対策
- 実際の利用シーンに近いテスト質問を準備する
- 検索結果が適切か確認する
- 回答内容が元データと一致しているか評価する
失敗4|更新フローを決めないまま運用を始める
RAGは、一度構築すれば終わりではありません。
参照するマニュアルやFAQ、製品情報などが更新された場合、その内容をRAG側にも反映する必要があります。
更新ルールを決めずに運用すると、古い情報をもとに回答してしまい、回答品質の低下につながります。
◾️ 対策
- データ更新の担当者を決める
- 更新頻度や反映タイミングを設定する
- 新しい情報をRAGへ登録する手順を整備する
RAGを成功させるには、高性能なLLMを導入するだけではなく、「正しいデータを準備すること」「検索精度を高めること」「継続的に改善すること」が重要です。
最初から大規模なシステムを作るのではなく、小さな範囲で検証しながら改善を重ねることで、実用性の高いRAGへ成長させることができるでしょう。
▼あわせて読みたい
HelpfeelのAIナレッジ基盤がRAGの精度向上を支える
RAGの回答精度を高めるには、高性能なLLMを利用するだけではなく、AIが参照するナレッジ(情報)の品質を整えることが重要です。
どれだけ優れた検索エンジンや生成AIを導入しても、元となる情報が古かったり、必要な情報を見つけにくい状態だったりすると、期待した回答を得ることは難しくなります。
そこで重要になるのが、AIが正しく参照できるナレッジ基盤の整備です。
Helpfeelは、社内に蓄積されたFAQやマニュアル、問い合わせ履歴などの情報を整理・管理し、必要な情報を検索しやすくするAIナレッジプラットフォームです。
独自の意図予測検索技術により、ユーザーの表現揺れや曖昧な質問にも対応し、目的の情報へスムーズにアクセスできます。例えば、「ログインできない」「パスワードを忘れた」「認証エラーが出る」といった異なる表現でも、同じ課題に関する情報を見つけやすくなります。
RAGでは、検索によって取得した情報が回答品質を左右するため、参照元となるナレッジの整備が重要です。
HelpfeelをRAGのナレッジ基盤として活用することで、必要な情報を取得しやすい環境を整え、より安定したAI回答の実現を支援できます。
まとめ|RAG構築は継続的な改善が重要
RAGを構築する際は、以下の5つのステップで進めることが重要です。
|
RAGは、一度構築すれば終わりというものではありません。
参照するデータの更新や検索精度の改善、利用者からのフィードバックをもとに継続的に調整していくことで、より実用性の高いシステムになります。
安定したRAG運用を実現するためには、初期段階での目的設定やデータ整備を丁寧に行うことが重要です。最初の設計をしっかり行うことが、長期的な精度向上につながるでしょう。
