企業におけるデータ活用の重要性はますます高まっている。市場における競争力を維持するには、膨大なデータを迅速に処理してビジネスを加速させたり、社内業務を効率化したりすることが不可欠だからだ。非エンジニアの一般社員にもデータ活用を浸透させるにあたって、鍵を握るのが生成AIの導入だ。しかし、企業における生成AI活用にはまだ課題も多い。そうした課題の一つを解決するものとして注目を集めている技術が、RAG(Retrieval-Augmented Generation、検索拡張生成)である。

実は、RAGは企業における今後の生成AI活用にもはや欠かせない技術となっている。RAGを用いることで生成AIの大きな課題とされるハルシネーションを防ぎ、より的確な結果を得られるようになるからだ。本稿では、RAGの基礎知識と活用によるメリット、具体的な活用事例などについて解説する。

RAG(検索拡張生成)とは?

RAG(Retrieval-Augmented Generation、検索拡張生成)とは、生成AIモデルにプロンプトを入力した際、外部ソースから取得した情報を加えることで、より正確な回答を生成する技術である。

ChatGPTを例に挙げよう。登場初期のChatGPTは学習データを基に回答を生成していたが、外部ソースを参照する機能がなかったため、ハルシネーションが頻発していた。

一方で現在のChatGPTは学習データだけでなくインターネットを検索し、その情報をユーザーが入力したプロンプトに加えた上で回答を生成することができる。そのため、以前と比べて生成の精度が飛躍的に高まっているのだ。つまり、「“インターネット上の情報”という外部ソースを組み込んだRAGがあらかじめ実装された状態」なのである。今ではChatGPTだけでなく、Geminiなど多くの生成AIサービスがインターネットを外部ソースとするRAGをデフォルト機能として組み込んでいる。もはやRAGは生成AIサービスでは当たり前の機能として用いられているのだ。

ChatGPTやGeminiといった生成AIサービスの場合、RAGで参照する情報はインターネット上の情報だが、これを仮に「自社のデータベース」に置き換えたらどうなるだろうか。例えば「有給申請のやり方」を問う入力をしたとしよう。自社の申請方法はインターネット上に情報があるわけではないので、そのままでは生成AIも“もっともらしい回答”しかできない。しかし、自社の社内FAQやマニュアルなどの情報をRAG経由で内部的にプロンプトに加えることにより、生成AIは自社内の情報を参照して回答できるようになる。結果、ハルシネーションを防ぎ、より正確な申請方法を回答として生成できるというわけだ。

RAGの基本構造と技術的背景

RAGの基本構造と技術的背景についてより詳しく解説しよう。

RAGの基本構造は主に「検索フェーズ」と「生成フェーズ」の二段階から成り立っている。まず、検索フェーズではユーザーが入力したプロンプトを基に外部データベースから関連情報を収集する。このとき多くの場合で使用されるのが、「エンベッディングサーチ」という技術だ。これは「セマンティック検索」と呼ばれる検索技術の一つで、データベース内を単純にキーワードだけで検索するのではなく、文章の意味や意図を考慮した上で適切な情報を探し出す手法であり、「意味検索」とも呼ばれる。

もっとも、このエンベッディングサーチそのものは生成AIやRAGのために生み出された技術ではない。エンベッディングサーチは昔から存在する技術であり、RAGが誕生した際にたまたま相性の良い検索手法だったため採用されたのだ。したがって、エンベッディングサーチ以外にもRAGに採用される検索手法は存在するし、今後はRAG専用の新たな検索技術が生まれる可能性もあるだろう。

さて、RAGはユーザーの入力したプロンプトに沿って外部データベース内を検索し、その結果をプロンプトに組み込む。つまり、外部データベースの情報を加えた新たなプロンプトが作り出されるわけだ。暫定的にこれを「プロンプト改」と呼ぼう。

このプロンプト改を基に生成AIは回答を生成する。これが「生成フェーズ」である。生成AIが回答を生成する際、もっとも影響を受けるのはプロンプトに入力された内容だ。例えば「卵焼きの作り方を解説して」というプロンプトであれば、生成AIは一般的な卵焼きのレシピを生成して回答するが、RAGの場合はあらかじめ用意された外部データベースを検索し、結果をプロンプトに加える。もし外部データベースに特殊な卵焼きのレシピが登録されており検索フェーズでそれが抽出された場合は、プロンプトとしては「卵焼きの作り方を解説して。参考レシピ: XXXX」といったプロンプト改が生成AIに送られる(外部データベースから抽出した情報を「参考レシピ: 」以降に付与する設定をしていると仮定)。XXXXには外部データベースから抽出された情報が入る。この時、出力される回答は「外部データベースから抽出した一般的ではないレシピの情報」も参照したものになる。追加される内容は検索先のデータベース次第となるため、用途に応じたデータベースを用意しておくことでより期待する回答生成ができるようになるわけだ。

RAGの導入メリット

RAGを導入することで、企業はどのようなメリットを享受できるのか。ここでは大きく2つのメリットについて紹介する。

ハルシネーションのリスク低減

1つはハルシネーションのリスクを低減できることだ。ハルシネーションとは、生成AIが「もっともらしく嘘をつく」こと。例えば現実に存在しない取引先企業について生成AIに尋ねたとしよう。正しい答えは「そのような企業は存在しません」だが、生成AIがそう回答するとは限らない。場合によってはあたかもその企業が本当に存在するかのように、詳細な情報をでっち上げることがあるのだ。これがハルシネーションである。ユーザー側で回答が正しいかどうかを判断できればよいが、そうでない場合は生成された嘘の回答を業務で使用してしまう危険性もある。

RAGを使うことで、このハルシネーションの可能性は大きく下げられる。なぜなら回答に必要な情報はあらかじめ外部データベースに用意できるからだ。先ほどの例でいえば「取引先企業の一覧」というデータベースを用意しておくことで、RAGが正しい情報をデータベースで検索し、プロンプトに加えてくれる。生成AIはプロンプト本文の影響を強く受けて回答を生成するため、嘘をつく可能性が下がるわけだ。

自社にしか存在しないデータの活用

生成AIは通常、一般的に公開されている情報しか回答できない。これは生成AIの学習データが主にインターネット上の情報で構成されているからだ。例えばChatGPTに自社の有給申請の方法を質問しても、「まず就業規則や社員ハンドブックを確認しましょう。多くの会社では書面やオンラインシステム、口頭やメールで有給申請を行います」のように、どの企業にも一部当てはまるような無難な回答しか返してこない。これは、特定の企業の有給申請に関する情報がインターネット上に公開されておらず、ChatGPTが学習できていないからだ。

逆にいえば、生成AIに「限定的な情報」を与えられさえすれば正しい回答を生成できるということである。そこで活用できるのがRAGである。自社にしか存在しないデータ、例えば就業規則などをまとめた社員用のFAQデータをRAGで与えてやればよい。その上で有給申請の方法を聞けば、「社内のポータルから申請カテゴリを開き、有給申請の項目にアクセスしましょう。申請フォームの書き方は〜」など、自社のマニュアルに特化した正確な回答が得られるはずだ。

ここで疑問が生まれるかもしれない。「それなら生成AIに聞かずとも、社内のFAQを自分で見に行けばいいのでは?」と。確かに社内のシステムに熟知した社員ならそれでもいいかもしれない。しかし、新入社員はどうだろうか。あるいは社内のシステムを改修したばかりで、社員の多くがまだシステムに慣れていない場合はどうだろうか。生成AIのメリットは、自然言語で曖昧な質問ができることにある。誰に対しても、どんな状況であっても、生成AIが社内の問い合わせ対応をこなしてくれるのは大きなメリットといえるだろう。

RAGのデメリット

多くのメリットがあるRAGだが、デメリットも存在する。「RAGという技術そのものが抱えるデメリット」と、「RAGを実装する上で自社が負うことになるデメリット」だ。

プロンプトが長文になる - API使用料のコスト増

外部ソースを検索し、収集した情報を事前のプロンプトに加えてプロンプト改を作るというRAGの性質上、どうしても最終的に生成AIに入力するプロンプトは長文になりがちだ。ユーザー側からは見えていなくても、実際には長文になっているのである。そのため、例えばRAGで利用する生成AIのAPIが文字長に応じた従量課金制だった場合は料金が跳ね上がってしまうというデメリットがある。その場合は、後述するファインチューニングのほうがコストを抑えられる可能性もあるだろう。

データベースの準備や開発にコストがかかる

RAGを運用するためには外部データベースが必要だ。それも、ただ社内のデータをかき集めただけでは機能しない。RAGで検索をかけた際、正確に情報を検索できるようデータが整っている必要がある。最初から整ったデータがあるならよいが、そうでない場合はデータを整備する必要があり、それには相応のリソースやコストがかかる。

また、RAGを導入するための人材も必要だ。社内で開発する場合は専門的な知識を持つエンジニアが必要であり、そうでない場合は外注することになるため、やはりコストがかかってしまう。

セキュリティ上の懸念

RAGの性質上、社内データベースの情報を外に出すことになる点は注意が必要だ。オンプレミスで動作するローカルLLMのように自社内に閉じた生成AIシステムであれば問題はないが、サービスとして提供されている生成AI向けに自社のデータベースを用いたRAGを構築するような場合は、プロンプトを通じて自社データが生成AIに流れていき、自社の情報が生成AIに学習される可能性がある。結果として情報流出につながる恐れもあるため、RAGを活用する場合は万が一漏れても問題のないデータに留めるのが良いだろう。個人情報や機密情報などセンシティブなデータを扱う場合は、RAGに加えてローカルLLMの活用を検討すべきだ。

ファインチューニングとの違い

生成AIの精度を向上させる技術には、RAGのほかに「ファインチューニング」と呼ばれる手法がある。両者はよく比較されるが、完全に異なる技術である点には注意が必要だ。

ファインチューニングは生成AIのモデル自体を再トレーニングすることで回答精度を向上させる手法である。モデル自体に手を加えるため、RAGよりもさらに高度な知見が必要であり、対応できるエンジニアや開発会社は多くない。一方でRAGと異なり、運用においてプロンプトが長文にならないため、従量課金制で利用する場合のコストを下げられる可能性がある。

ただし、生成AIの中はブラックボックスになっているため、ファインチューニングを行っても思うような精度が出ないことも少なくない。むしろ、それまで正しく生成できていた内容までおかしくなってしまう可能性もある。総じて難度の高い手法といえる。

RAGがもたらす企業の変革

RAGの大きなメリットとして「ハルシネーションのリスク低減」と「自社にしか存在しないデータの活用」を挙げた。つまり、RAGのメリットとは「回答精度の向上」といえる。では、RAGによる回答精度の向上は、企業にどんな変革をもたらすだろうか。

コスト削減

わかりやすいメリットとして挙げられるのがコスト削減だ。以前であれば情シスがヘルプデスクで対応していた業務を生成AIに一任できるため、ヘルプデスクのコストを削減できる。また、外部向けのチャットボットなどにRAGを組み込むことで、人力による問い合わせ対応コストを削減できるだろう。

業務の効率化と競争力の向上

生成AIの回答精度が向上することで、業務の効率化や競争力の向上にも期待ができる。例えば自社のサービスや事業に関する情報やノウハウをデータベース化しRAGに組み込むことで、生成AIが社員の壁打ち相手になれる可能性がある。特に自社に参画して間もない社員は、これまでよりもスムーズかつ迅速に独り立ちすることができるだろう。

また、ベテランの社員であっても、生成AIを活用することで業務の効率は大きく上がるはずだ。結果として、自社の競争力の向上が期待できるのである。

RAGの具体的な導入事例

企業はどのようにRAGを活用し、成果を上げているのか。ここでは具体的な事例について紹介する。

飲食店検索サービスの導入事例

2024年2月にChatGPTのプラグイン機能(ベータ版)が終了したことに伴い、同年4月に提供終了となったが、飲食店検索・予約サービス「食べログ」を提供するカカクコムでは、自社サービスのデータベースを検索するChatGPTプラグインを提供していた。同プラグインは、ユーザーがChatGPTで飲食店について尋ねた際、より正確な店舗情報や予約状況まで回答するというもの。例えば「1月20日19時に新宿で4名で予約可能なイタリアン」といった入力に対する回答を生成できるわけだ。つまり、RAGによって、カカクコムが自社で持つ飲食店検索サービスのデータベースから各店の予約状況などを検索できるようにしたことで、このプラグインを実現していたのである。

製薬企業の資料検索への導入事例

研究や臨床開発など、さまざまな分野で生成AIを活用する中外製薬では、プロジェクト・課題の過去類似事例や知見の検索にRAGを活用している。いずれの企業にも「過去担当者の不在・退職などにより、関連資料の特定が困難」といったケースはあるだろう。従来ならば、人間が過去のファイルを見て調べていたところだが、資料の探索には相応の工数もかかり、該当資料の特定も難しい。そこでRAGを活用することで類似度の高い過去資料・関連情報を集約し、根拠を含めて提示できるようになり、大きな効果を得られているという。

コンタクトセンターでの導入事例

三井住友カードは2024年7月、同社が運営するコンタクトセンターにおいて、生成AIスタートアップのELYZAが提供する生成AIの本番利用を開始すると発表した。導入した生成AIは、大規模言語モデル(LLM)によるテキスト生成に、RAGを活用したもの。三井住友カードのコンタクトセンターに寄せられる問い合わせに対して社内データを検索し、回答の草案を自動で生成する。同社によれば、2024年6月末よりコンタクトセンターのメール回答業務で利用を開始しており、チャットでの問い合わせにも展開するとしている。

カスタマーサポートでの導入事例

ソニーネットワークコミュニケーションズでは、ユーザー向けマイページに用意したチャット型カスタマーサポート「NURO 光 メッセージサポート」に、2024年3月から生成AIによる顧客応対を導入した。LLMを用いた生成AIでは、どのような入力プロンプトであっても学習データを基に何らかの回答を生成するが、ハルシネーションが発生する可能性があり、そのままではカスタマーサポートには使い難い。これを回避する方法として、LLMのファインチューニングが考えられたが、それでは学習に時間がかかる上、通信障害などの最新情報には対応できない点が課題だった。そこで、RAGによって自社が持つ独自のデータベースを検索した上で回答を生成する仕組みを構築したわけだ。同社はこれにプロンプトエンジニアリングを組み合わせることで生成内容をコントロールし、ハルシネーションの発生を大幅に減らした精度の高いサポートを実現しているという。

RAGの将来展望と技術進化

すでにChatGPTをはじめとする生成AIサービス群がインターネット上の情報をデータベースとするRAGをデフォルトで実装していることからもわかるように、RAGは今後の生成AIの発展に欠かせない技術となっている。

RAGの鍵を握るデータベースの検索技術については、現時点ではセマンティック検索のエンベッディングサーチが主流だが、今後はRAGに特化した新たな技術が生まれる可能性もあるだろう。そうなれば検索精度や速度がさらに高まることも期待できる。

また、現在の生成AIはテキストだけでなく、画像や音声、動画といった多様な形式に対応するマルチモーダル化が進んでいる。これらとRAGが組み合わさることで、例えば音声データベースをRAGで接続し、そのデータを基に動画を生成するといった技術が生まれるかもしれない。

いずれにせよRAGは、企業が持つデータを最大限に活用し、競争力を高めるための重要な技術としてもはや必須であり、今後もその価値を示していくはずだ。

AI関連の注目ホワイトペーパー

自動車とその業界を取り巻く環境の変化に、製造ラインはどのようにキャッチアップすべきか?
冊子「生成AI最前線 ついに始まるLLMのビジネス活用」を無料提供! AI研究家カナコさんが解説
エッジAIはマイコンで。エッジAI処理、セキュリティ、低消費電力―すべてを高いレベルで実現するマイコンの実力
自己学習型AIによるセキュリティ対策がもたらす強みとは? 脅威の予兆を自動識別、攻撃をピンポイントで自動遮断

AI関連のオススメ記事

LLMとは? 生成AIとの違いや企業の活用事例を解説
機械学習とディープラーニングの違いを徹底解説
AIと機械学習の違いを理解して、業務効率化や新規事業創出に役立てよう
ローカルLLMのメリット/デメリット、“使いどころ”を分かりやすく解説
AI活用でビジネス変革を実現するには? 押さえておきたい基本と活用事例
AIエージェントの基本を知る - ビジネス活用の可能性と課題とは?