RAGによる質問応答を生成AIエージェントへ

はじめに

こんにちは!AIソリューショングループの阿田木です。

ChatGPTをはじめとするLLMの登場により、情報検索と生成AIを組み合わせることで、社内文章など生成AIが知らない知識に対しても質問応答が可能となりました(このアルゴリズムをRAGといいます)。 ただし、RAGは作業の支援ツールという側面が強く、各ビジネスタスクごとに検索方法やプロンプトをカスタマイズしなければ、質問内容によっては満足のいく回答が得られないことがあります。

このコラムでは、RAGの質問応答の限界を説明し、解決策として注目を集めるLLMを用いた自律型AIエージェントを紹介します。最後にはRAGと生成AIエージェントの精度に関して社内検証結果も紹介します。

RAGのビジネス活用

RAGとは

RAG(Retrieval-Augmented Generation) は、情報検索とLLMを組み合わせたアルゴリズムで、大量のデータから関連情報を抽出し、それを基にユーザーの質問に対して具体的な回答を生成する技術です。このアプローチは、特に情報が豊富で活用可能な場合に有効であり、たとえば社内文章検索、最新のニュースイベント、ハルシネーション(もっともらしい誤情報)を回避した質問応答に活用されます。
基本的なワークフローは、下図のように、ユーザーの質問に関連する文章を検索し、生成AIモデルに渡して回答させるというものになります。

RAGアルゴリズムのワークフロー図

※ RAGについては以下の記事を参考にしております

aitc.dentsusoken.com

RAGによる質問応答のユースケース

RAG(Retrieval-Augmented Generation)の実用的な事例は、その適用範囲に応じて多岐にわたります。

カスタマーサービス

顧客の過去の請求データやFAQデータを活用したRAGによるチャットボットにより、サポートスタッフの負担が軽減され、より複雑な問題に集中できるようになります。

法的リサーチ

判例データベースや法令文献を参照するRAGを導入したことで、関連する判例や法令文献等の調査にかかる時間が削減され、クライアントへの迅速な対応が可能になります。

ITサポート

過去のサポートケースや技術文書を検索するRAGによるチャットボットを導入したことで、サポート対応時間が短縮可能です。

純粋なRAGアルゴリズムの限界に迫る

RAGによる質問応答の難易度

上記事例のようにRAGは幅広い範囲の問題に適応できます。

しかし、RAGを用いたシステムは全ての質問に回答できるわけではありません。

質問の内容次第では、最初に紹介したRAGアルゴリズムでは回答できないものもあります。

私は質問応答は以下のような難易度に分類できると考えています。

Easy(回答が容易な質問):直接的質問​

  • 質問と答えが文書内で直接的に見つかるケース

    • 例:特定の製品の機能や操作方法に関する具体的な問い

Normal(一般的な質問):コンテキスト質問​

  • 質問の内容と情報源の間の関連が明確でなく、質問の回答には文書全体のコンテキストの理解が必要なケース

    • 例:製品の利点に関する問い。製品の利点等は、使用例、ユーザーレビュー、技術仕様など、複数のセクションにわたって記述されていることがあるため、文書全体のコンテキストの理解が必要です。
  • 対象者の具体的な状況や要件の深い理解が必要なケース

    • 例:特定の顧客の使用状況や環境に基づく製品のパフォーマンス

Hard(回答が難しい質問):推論質問

  • 質問とドキュメントの間に直接的な関連性が見当たらず、文書から直接的な答えを導き出すために、推論や関連情報の結合が必要なケース

    • 例:顧客満足度の低下原因。過去の顧客フィードバック、クレームデータ、商品変更履歴、競合製品情報などを統合し、原因の推論が必要。
  • 関連する情報の調査や、全体の計画を立てるための総合的なアプローチが求められるケース

    • 例:ある技術が将来どのような影響を与えるかについての分析や予測

この中でRAGに使用されている単純な文章検索により回答可能な質問はEasyNomalレベルまでと考えています。

NomalHardレベルの難易度の高い質問に回答するには、RAGには不足する要素があります。

RAGの課題

実行計画の不足

RAGは1回の検索では回答に必要な情報が得られない質問や段階的な状況理解を必要とする応答を生成するのは苦手です。

Normalレベルの質問では文書全体のコンテキストの理解が必要であり、Hardレベルの質問では推論や複数の情報源からの情報結合が必要です。どちらも一度の検索では達成が難しいため、複数ステップの計画が必要といえます。

ツール利用の限界(検索範囲拡張の限界)

必要な外部ツール(データベースなど)が不足している場合、RAGのパフォーマンスが低下します。

Normalレベルの質問では幅広いコンテキストが必要で、Hardレベルの質問では特定の状況に関連する情報が必要です。広範な情報源や専門的なデータベースへのアクセスがないと、必要な情報を正確に検索することが難しくなります。また、参照するデータにノイズや過不足があると精度が低下します。

振り返りの欠如

RAGは生成した内容の自己評価や振り返りを行う機能が限られております。

Normalレベルの質問やHardレベルの質問では、生成した回答が複雑であるため、自己評価や誤りを修正する難易度が高くなります。誤った情報を含むリスクも高まります。

ワークフローの複雑化と保守性の低下

異なるタスクに応じて異なるRAGアルゴリズムを用意する必要があり、これによりコードが複雑化します。

Normalレベルの質問やHardレベルの質問では、異なるタスクに対する異なるアプローチが必要であるため、RAGシステムで対応しようとする場合、ワークフローが複雑化しやすく、説明性や保守性が低下するリスクがあります。

以上のように、RAGシステムにおいては、NomalやHardレベルの難易度の高い質問に正しく回答するには実行計画ツール利用振り返りの不足ワークフローの複雑化が課題となります。

ここまで、RAGの事例と課題を確認してきました。これらの課題に対応する技術として、 生成AIを利用した自律型AIエージェントが注目を集めています。

次に、RAGと比較しながら生成AIエージェントの特徴を確認していきます。

RAGから生成AIエージェントへ

生成AIエージェントとは

生成AIエージェントは目的を達成するためのタスクを考え、自律的に実行するシステムです。

これは、今までにない新しい種類のソフトウェアに該当します。

RAGを含む従来のソフトウェア は、情報の検索、データの分析、レポートの作成など、仕事の遂行を支援するツールにとどまっていました。これらのツールは作業を支援しますが、作業自体は人の手で行う必要がありました。

一方で、生成AIエージェントは、人の助けなしに、自律的に問題を解決するための一連のアクションを計画し、それを実行することができます。

※生成AIエージェントに関しては同グループの太田さんが関連情報をまとめて提供しておりますので、ぜひ参考にしてください。

ICLR2024 LLMエージェントの研究動向

LLMマルチエージェントを俯瞰する

以下で、生成AIエージェントの特徴を詳しく解説します。

  • 問題解決までの計画と実行:

生成AIエージェントは、問題を解決するための一連のアクションを計画し、それを実行することができます。

  • 情報の選定と統合:

生成AIエージェントは、問題解決のために計画した内容に対し、複数の情報源から必要となるものだけを選定し、得られたデータを統合することで、それらの情報を基に複雑な推論を行います。

  • 実行結果の評価とフィードバック:

生成AIエージェントは、実行結果に対して自律的に評価・フィードバックを実施し、調整を行うことも含まれます。
さらに、過去の失敗した対話や評価・フィードバック内容から学習し、問題に対してより効果的な解決策を迅速に提供する能力も持っています。

RAGと生成AIエージェントのアルゴリズムの違い

生成AIエージェントは、RAGが持つ情報検索の能力を基礎としながらも、より高度な質問理解、計画、そして実行と評価機能を備えています。このため、RAGが難しいとされる問題に対しても、より効果的に対応することが可能です。

以下で、RAGと生成AIエージェントとの比較をします。

特徴 RAG 生成AIエージェント
問題解決 基本的な質問に対する直接的な回答 複雑な問題解決のための戦略的な計画と実行
情報源 主に静的なデータベースやドキュメント 複数の動的情報源(データベースやドキュメント、外部API、WEB検索、製品仕様など)
コンテキスト理解 文書検索によるインプットのみ 計画による段階的な理解
回答生成 単純な情報抽出と回答生成 情報統合、評価済みの回答生成
対話能力 単一の質問に対する回答 自律的な複数ターンの対話と、評価結果のフィードバックにより情報を蓄積し、適応する
ワークフロー 検索→生成→回答 計画→実行→評価→改善

RAGと生成AIエージェントの精度比較

RAG生成AIエージェントとの比較のために、弊社が提供している生成AI活用ソリューションであるKnow Narratorのお客様から頂いた、過去の問い合わせ内容の中から50件ピックアップし、各回答難易度(Easy、Normal、Hard)に分けてから、RAGと生成AIエージェントそれぞれで一次回答案を生成できるか検証しました。

その結果の一部を共有したいと思います。
※今回採用した生成AIエージェントのワークフローについては以下の記事の「電通総研の取り組み」としても紹介されています。

aitc.dentsusoken.com

検証条件

  • 使用した生成AIエージェントの概要:ワークフローはPlan and Execute型を採用

  • 評価データセット:過去にKnow Narratorのお客様から頂いた問い合わせ50問

  • 回答難易度:Easy 23件、Normal 22件、Hard 5件(RAGの課題で記載した難易度をもとに人間が分類)

  • 合格の基準:人間の確認は必要だが、一次回答として回答可能

検証結果

難易度 RAG 生成AIエージェント
EASY 65% (15/23) 74% (17/23)
NORMAL 50% (11/22) 82% (18/22)
HARD 0% (0/5) 20% (1/5)
合計 52% (26/50) 72% (36/50)

合格数の結果についての解釈

  • 生成AIエージェントは全ての難易度でRAGよりも高い合格数を示しました。
    特にNormalのタスクでは、RAGと比較して生成AIエージェントは2倍近く合格していました。

  • 一方で、Easyでは生成AIエージェントとRAGの合格数の差は小さいことから、生成AIエージェントはより難易度の高い質問で効果的であると言えます。
    これは、RAGは質問と答えが文書内で直接的に見つかるような簡単な質問は得意な一方で、より複雑な質問(NormalやHardレベルの質問)には回答できないのではないかという仮説からも妥当な結果です。

  • 全体として、生成AIエージェントの合格数はRAGよりも10件 (20%)多く、生成AIエージェントの方がよりよい回答を生成できておりました。

以下で、RAGでは回答に失敗した質問の中で、生成AIエージェントでは回答できた質問内容を示します。

生成AIエージェントが回答できてRAGで失敗する質問内容

  • Easy:

    • 詳細な手順を求められる質問
      →エージェントは、回答の自己評価とフィードバックよって、より正確な手順を回答できていました。

    • 複数質問があるパターン
      →エージェントは、計画によって、それぞれの質問に対するタスクを分割して回答することで、抜け漏れなく回答できていました。

    • 社内資料がないもの
      → エージェントは、ツール選択によって、WEB検索を選択し回答できていました。

  • Normal:

    • 顧客状況を理解し、詳細な手順を求められる質問
      →エージェントは、ツール選択によって、顧客の状況に合致した情報を検索し回答できていました。また、自己評価とフィードバックよって、より顧客の状況に沿った回答ができていました。
  • Hard:

    • 発生している不具合について
      →エージェントは、計画とツール選択によって、適切な粒度で事象を切り分け、それぞれに対し適切な情報を検索し回答できていました。また、自己評価とフィードバックよって、より正確な原因を回答できていました。

まとめ

RAG(Retrieval-Augmented Generation)は、情報検索と大規模言語モデル(LLM)を組み合わせる手法であり、生成AIが知らない知識についても回答することが可能となりました。RAGは、カスタマーサービスや法的リサーチ、ITサポートなどで有効ですが、複雑な質問やコンテキスト理解には限界があります。主な課題は、実行計画の不足、ツール利用の限界、振り返りの欠如、複雑なワークフローによる保守性の低下です。

生成AIエージェントは、計画と実行、情報の選定と統合、実行結果の評価とフィードバックを行うことで、RAGが苦手とする問題にも対応できます。社内での検証結果でも、生成AIエージェントがRAGに比べてより高い精度の回答を生成できることを確認しました。特に、質問の内容と情報源の間の関連が明確でないレベル(Normal)の質問では顕著な差が見られました。

生成AIエージェントは、RAGに比べて広範な問題解決能力を持っているため、今後ビジネス領域での応用が期待されます。


筆者
AIソリューショングループ
阿田木 勇八