AI Chatbot

RAGとは何か?ビジネスリーダーのためのわかりやすい解説

ChatGPTを社内業務に試したことのある企業は、例外なく同じ壁にぶつかります。モデルは自社製品、社内規程、契約書、業務手順書を知らないのです。そして知らないにもかかわらず、自信を持って誤った回答を返します。

RAGはこの問題を解決するアーキテクチャです。本稿では、RAGの仕組み、ビジネス上のユースケース、そして自社への適合性の判断方法を、技術的な専門知識を前提とせずに解説します。


RAGとは何か

RAGRetrieval-Augmented Generationの略です。AIシステムにおいて、回答生成(generation)と知識保存(retrieval)を分離した設計パターンです。

プロプライエタリなデータに対して不確かな「記憶」から回答させるのではなく、RAGシステムはまず関連ドキュメントを検索し、その内容を質問とともにモデルへ渡します。

モデルの役割は「すべてを知ること」から「この文章を読んで質問に答えること」に縮小されます。後者は言語モデルが本来得意とするタスクです。


なぜRAGが必要なのか:汎用ChatGPTの限界

GPT-4やClaudeのような標準的な言語モデルは、学習カットオフ日以前の公開データで訓練されています。モデルは以下を知りません:

  • 社内規程・業務マニュアル
  • 製品仕様書・カタログ
  • 顧客契約書・SLA
  • 法定書類・コンプライアンス記録(J-SOX対応資料等)
  • 学習カットオフ後に作成されたあらゆるドキュメント

ファインチューニング(自社データでモデルを再訓練)は一つの選択肢ですが、コスト・時間・更新の煩雑さの点で多くの業務ニーズに対してオーバースペックです。RAGはコスト10分の1で効果の90%を実現し、ナレッジベースは数分で更新できます。


RAGの動作:ステップバイステップ解説

flowchart TD
  A["ユーザーが質問を入力"] --> B["Embeddingモデルが質問をベクトルに変換"]
  B --> C["ベクトルDBが類似ドキュメントを検索"]
  C --> D["上位Nチャンクを取得・ランク付け"]
  D --> E["チャンクをLLMのプロンプトにコンテキストとして挿入"]
  E --> F["LLMが取得テキストに基づいて回答を生成"]
  F --> G["出典参照付きで回答をユーザーへ返却"]

ステップ1 — ドキュメントのインデックス作成

クエリを受け付ける前に、ドキュメント(PDF、Word、Wiki、データベースエクスポート)を300〜800トークン程度のチャンクに分割し、ベクトルembeddingに変換してpgvectorなどのベクトルDBに格納します。

インデックス作成はドキュメントごとに一度行うだけです。ドキュメントが更新された場合、該当チャンクのみ再インデックスします。

ステップ2 — クエリ時の検索

ユーザーが質問を入力すると、同じembedding形式に変換され、ベクトルDBが類似度検索を実行して上位5〜10件のチャンクを返します。

これはキーワード検索ではありません。「設備停止の根本原因」と「なぜ機械が頻繁に止まるのか」は、文書中に全く同じ語句がなくても同じチャンクを返します。

ステップ3 — 根拠ある回答の生成

取得したチャンクはモデルのプロンプトにコンテキストとして挿入されます。モデルはそれを読んで、出典を明示した回答を生成します。

J-SOX対応や内部監査では、この出典明示機能が特に重要です。「どのドキュメントの何ページに根拠があるか」を常に追跡できます。


RAG vs ファインチューニング vs 通常のプロンプト

アプローチ 知識ソース 更新速度 コスト 適合ユースケース
通常のプロンプト モデルの学習データ N/A 一般的な質問
ファインチューニング 再学習済みweights 数週間〜数ヶ月 文体・語調・業界専門語
RAG 外部ドキュメントストア 数分 社内プロプライエタリ知識の検索

社内ドキュメントのQA、契約レビュー、規程検索など、企業の典型的なドキュメント業務に対してはRAGが最適なアーキテクチャです。


実際のビジネスでのRAG活用例

社内ナレッジベースアシスタント
従業員が自然言語で質問し、就業規則、ITマニュアル、経理規程、製品ドキュメントから回答を取得します。SharePointの文書を手動検索する手間が不要になります。

顧客向け製品アシスタント
顧客が仕様、互換性、トラブルシューティングを質問し、製品マニュアルやFAQから回答を取得します。サポートチケット件数が削減されます。

契約・コンプライアンス検索
法務・調達チームが全契約書を読まずに検索できます。「不可抗力条項が含まれる仕入先契約はどれか」という質問に、該当箇所と出典が返ってきます。J-SOX準拠の証跡管理にも活用できます。


RAGにできないこと

制約事項 説明
Garbage in, garbage out 品質の低いドキュメントは品質の低い回答を生成します
コンテキストウィンドウの上限 非常に長いドキュメントや大量の検索結果はモデルの入力上限を超える場合があります
コーパス全体にまたがる推論 モデルが参照できるのは取得されたチャンクのみです
リアルタイムデータは別途連携が必要 RAGはインデックス済みのスナップショットから回答します
言語ミスマッチ 日本語クエリと英語ドキュメントには多言語embeddingモデルが必要です

simpliDocのアプローチ

simpliDocはこのアーキテクチャを基盤としたSimplicoのプロダクトです。既存のドキュメントリポジトリ(SharePoint、Google Drive、ERPドキュメントストア、ローカルファイルサーバー)に接続し、多言語embeddingモデルでインデックスを構築します。

対応言語: 日本語、英語、タイ語、中国語

データ主権への対応: 経済安全保障推進法や個人情報保護法(APPI)の要件を考慮し、パイプライン全体をお客様のインフラ内にdeploy可能です。ドキュメントコンテンツは外部ネットワークへ送信されません。J-SOX対応の監査ログもオプションで提供しています。

RAGの導入についてご相談はこちら
simpliDocチームに問い合わせる → hello@simplico.net


よくある質問

RAGとはどういう意味ですか?

RAGはRetrieval-Augmented Generationの略です。AI言語モデルを外部ドキュメントソースと接続し、学習データだけに頼らず自社のコンテンツに基づいて回答させる技術です。

RAGとファインチューニングは同じですか?

異なります。ファインチューニングはお客様のデータでモデルのweightsを変更します。時間とコストがかかり、更新も容易ではありません。RAGはモデルを変更せず、クエリ時に関連ドキュメントを検索します。企業のナレッジベース用途では、RAGの方が高速・低コストで管理しやすいです。

日本語のドキュメントでもRAGは機能しますか?

はい。多言語embeddingモデルを使用することで機能します。simpliDocはEN・TH・JA・ZHに対応した多言語embeddingモデルを使用しており、日本語でのクエリと英語ドキュメントのクロス言語検索も対応しています。

RAGの利用にはドキュメントをクラウドへ送る必要がありますか?

必要ありません。オープンソースの言語モデル(Llama、Mistralなど)とセルフホスト型のベクトルDB(pgvectorなど)を使用してオンプレミスでRAG全体をdeployできます。個人情報保護法やデータ主権の要件をお持ちのお客様には、このアーキテクチャをsimpliDocでご提供しています。

RAGの導入にはどのくらいの期間がかかりますか?

基本的なProof-of-Conceptは2〜4週間で稼働可能です。セキュリティ強化、認証、既存ドキュメントリポジトリとの統合を含む本番環境deployは、インフラの複雑さによって通常6〜12週間かかります。

ベクトルデータベースとは何ですか?

ベクトルDBはドキュメントのコンテンツをembeddingと呼ばれる高次元の数値表現として保存します。キーワード検索と異なり、異なる表現でも意味的に類似したコンテンツを検索できます。主要な選択肢としてpgvector(PostgreSQL拡張)、Pinecone、Weaviate、Chromaがあります。