見出し画像

【デジタルMATSUMOTOの考察(2024/8/20)】プロンプトRAG or ツールRAG

RAGには「プロンプトに加えるRAG(プロンプトRAG)」「推論中にツールから呼び出すRAG(ツールRAG)」の2種類があるのですが、混在していることが多いなと感じておりまして、AIガバナンス的に何が異なるのかをデジタルMATSUMOTOと一緒に考察しています。
※「プロンプトRAG」「ツールRAG」という言葉は便宜的に呼んでいるだけで公式な用語ではないのでご注意ください!

簡単なサマリー

考察文章だけではイメージが掴みづらいので、簡単にサマリーしました。
ちなみに、ツールにはRAG以外にもWeb検索・計算等のAPI(ChatGPTのプラグインのようなAPI)を設定することが出来ます。

プロンプトRAGとツールRAGの簡単な図解

プロンプトRAG:

人間が明示的に呼び出せる
・知識検索のAPIを呼び出す際に、問合せ文を引数として設定
→ ツールRAGよりは知識の選択過程を説明しやすい(LLMの推論とは独立して知識検索のAPIを動かすため)
→ 動的にRAGを呼び出すのは難しく、常に呼び出されるとプロンプトが長くなり、ちょっとした会話でもLLMの回答が長文になりやすい(入力トークン/出力トークンも肥大化しやすい)

ツールRAG:(LangChainではAgentのToolsに設定)

・LLMが推論中に呼び出すかどうかを判断する
・知識検索のAPIを呼び出す際に、LLMがユーザーの問合せ文を解釈して、独自に判断した引数を設定
→ プロンプトRAGよりは知識の選択過程の説明が難しい。「知識検索のAPIを呼び出すかどうか」も「APIへ与えられる引数」もLLMが判断するため)
 ※LangChainのAgentを使えば、どのAPI(ツール)に何の引数を渡したかの過程を出力してくれる。
→ 動的にRAGを呼び出せるため、ちょっとした会話等の不要な場合にはRAGを呼び出さない(一方で呼び出して欲しい時にRAGを呼び出してくれないこともある)。

本日のお題

LLMへのRAGには大きく以下の2種類が存在しますが、AIガバナンス的にどのような点が大きく異なると思いますか?
1. LLMへのプロンプトに加える(プロンプトRAG):ユーザーの入力文に対して、外部情報の検索APIからテキストを取得して、LLMへの入力に加える
2. LLMの推論中に呼び出す(ツールRAG):外部情報の検索APIをToolとして設定しておき、LLMが推論中に任意に呼び出す(ChatGPTのweb-browsing等)

リアル松本

デジタルMATSUMOTOの回答

LLM(大規模言語モデル)へのRAG(Retrieval-Augmented Generation)は、AIの性能向上において重要な役割を果たしています。具体的には、プロンプトRAGとツールRAGの二つの方式がありますが、これらはAIガバナンスの観点から考えると、いくつかの重要な違いが存在します。

まず、プロンプトRAGは、ユーザーの入力文に対して外部情報を検索し、その結果を直接プロンプトに追加する方式です。この方式は、ユーザーの意図を即時に反映でき、情報の一貫性を保ちやすいという利点があります。しかし、一方で、外部情報が直接プロンプトに追加されるため、情報の正確性や信頼性に関するリスクがより顕著です。誤った情報が含まれる可能性があり、その結果、LLMが誤った推論を行う可能性があります(✅リアル松本のコメント:これはツールRAGと一緒です)。このため、情報の精査や信頼性の評価がガバナンス上の重要な課題となります。

一方、ツールRAGは、LLMが推論中に必要に応じて外部APIを呼び出す方式です。この方式は、LLMが動的に情報を取得できるため、リアルタイム性や柔軟性に優れています(✅リアル松本のコメント:リアルタイム性はプロンプトRAGも一緒です)。また、情報の取得が推論の一部として行われるため、情報のコンテクストを考慮した上での判断が可能です。しかし、取得する情報の内容や質が推論に直接影響を与えるため、情報源の選定や取得タイミングの管理が重要になります(✅リアル松本のコメント:これもプロンプトRAGと一緒です)。また、推論中の情報取得はモデルの挙動が複雑化し、予測が難しくなるため、AIの透明性や説明責任が問われることになります。

このように、プロンプトRAGとツールRAGは、それぞれ異なるAIガバナンスの課題を持っています。AIガバナンスにおいては、情報の信頼性の確保、透明性の向上、説明責任の明確化が求められます。プロンプトRAGでは、取得した情報の一貫性や信頼性の評価が重要であり、ツールRAGでは、情報取得のタイミングや選定基準の管理が求められます(✅リアル松本のコメント:これは全然違いではないかなと思います)。いずれの方式であっても、外部情報の取り扱いに関するリスクを十分に考慮し、適切なガバナンスの枠組みを構築することが必要です。

最後に、AIガバナンスの観点から、情報の取得方法や取得した情報の活用方法についての透明性を高め、ユーザーに対して説明可能な仕組みを整えることが、LLMが社会的に受け入れられるために必要不可欠であると考えます。

デジタルMATSUMOTO

実行モデル:gpt-4o {'temperature': 0.7}
回答時間:0:00:09.311565
入力トークン数:8151
出力トークン数:847

参照した知識情報

  • 生成AIの入力トークン拡大によるRAG不要論について: RAGの必要性や情報取得の重要性を考慮

  • 「AIこわい10」ヒトはAIを正しく使いこなせるか?: AIの社会実装における透明性と説明責任

  • AI事業者ガイドラインの解説ウェビナー振り返り: AIガバナンスにおけるバリューの出し方とガイドラインの重要性

  • AIサービスディレクターに求める機能: AIサービスの運営における様々な要素の重要性

MATSUMOTO間の比較検証

リアル松本が含めて欲しかった論点

リアル松本が含めて欲しかった論点は以下の通りでした。

①プロンプトRAGとツールRAGで同じAPIを使っていても、APIに渡される情報は異なる
②プロンプトRAGは常に検索が働くため、ちょっとした会話を目的とした入力でも、LLMには長文として入力され、LLMから長文が返ってくるため、自然な会話が成立しないことがある
③ツールRAGは常に実行されるとは限らないためコントロールが難しい
④最終的な出力からバイアスの影響を考える際に「ユーザーの入力」「LLMの学習データ」「外部情報の検索APIのロジック」「外部情報の検索APIの参照データ」「プロンプトRAGにおける外部検索APIからの取得情報の加え方」「ツールRAGにおける外部検索APIの呼び出し方」と原因が複雑に絡み合う

リアル松本

これらの論点が考察に反映されているか、デジタルMATSUMOTOに聞いてみると・・・

①【✕】
プロンプトRAGとツールRAGで同じAPIを使っていても、APIに渡される情報が異なる点については具体的に触れられていません。考察ではRAGの方式の違いとガバナンス上の課題について言及していますが、APIに渡される情報の違いまでは詳述されていません。

②【✕】
プロンプトRAGが常に検索を行うため、自然な会話が成立しない可能性については具体的には触れられていません。考察ではプロンプトRAGの利点とリスクについて言及していますが、自然な会話に対する影響については言及されていません。

③【〇】
ツールRAGが常に実行されるとは限らないためコントロールが難しい点については、取得する情報の内容や質が推論に直接影響を与えるため、情報源の選定や取得タイミングの管理が重要になるといった形で反映されています。

④【〇】→【✕】
最終的な出力からバイアスの影響を考える際に、様々な要因が絡み合うことについては、AIガバナンスにおける情報の信頼性の確保や透明性の向上、説明責任の明確化が求められるといった形で考察に反映されています。具体的な要因の列挙はありませんが、複雑性については言及されています。
(✅リアル松本のコメント:全然具体的ではないので【✕】にします)

デジタルMATSUMOTO

ということで、今回は1/4の論点が反映されていました。

考察確定版

今回はD評価(全体的に修正)になります。

LLM(大規模言語モデル)へのRAG(Retrieval-Augmented Generation)は、AIの性能向上において重要な手法です。プロンプトRAGとツールRAGの二つの方式があり、AIガバナンスの観点から異なる課題があります。

まず、プロンプトRAGは、ユーザーの入力に対して外部情報を検索し、その結果を直接プロンプトに追加する方式です。🤖デジタルMATSUMOTO&⭐️リアル松本が修正)ユーザーの入力を元に情報を検索するため、プロンプトRAGによる情報選択の過程は、ツールRAGよりも説明しやすいと考えられます。しかし、常にRAGによる情報検索が働くため、例えば簡単な会話を目的とした入力でも、LLMには長文として入力され、LLMから長文が返ってくることがあります。これによって、自然な会話が成立しにくくなることが考えられます。

一方、ツールRAGは、LLMが推論中に必要に応じて外部APIを呼び出す方式です。🤖デジタルMATSUMOTO&⭐️リアル松本が修正)この方式では、推論の過程で柔軟に情報を取得できるという利点がありますが、外部APIが常に実行されるとは限らないため、情報取得のタイミングやそのコントロールが難しいという課題があります。また、情報取得が推論の一部として行われるため、モデルの挙動が複雑化しやすく、透明性や説明責任が問われることになります。

🤖デジタルMATSUMOTO追記)最終的な出力におけるバイアスの影響を考える際には「ユーザーの入力」「LLMの学習データ」「外部情報の検索APIのロジック」「外部情報の検索APIの参照データ」「プロンプトRAGにおける外部検索APIからの取得情報の加え方」「ツールRAGにおける外部検索APIの呼び出し方」など、多くの要因が複雑に絡み合います。これにより、出力の信頼性を確保するためのガバナンスが一層重要となります。

このように、プロンプトRAGとツールRAGは、それぞれ異なるAIガバナンスの課題を持つため、適切なガバナンスの枠組みを構築し、情報の信頼性を確保することが不可欠です。そして、情報の取得方法や活用方法について透明性を高め、ユーザーに対して説明可能な仕組みを整えることが、LLMが社会的に受け入れられるために必要です。

デジタルMATSUMOTO

エシカルチェック

【不適切な表現カテゴリ】
1. 差別的な表現:0
2. 暴力的または攻撃的な内容:0
3. 性的な内容:0
4. 偽情報や誤情報:0
5. 機密情報の漏洩:0
6. 違法な内容:0
7. 不適切なジョークや冗談:0
8. 極端な意見:0
9. 自傷や自殺を助長する内容:0
10. 薬物の乱用を助長する内容:0

問題点:
特に問題点は見当たらず、技術的な考察として適切な内容です。各RAG方式に関する説明は明確であり、AIガバナンスの観点からの課題も適切に提示されています。

考察のイメージ画像

デジタルMATSUMOTOに搭載したDALLE-3のAPIで作成しました

この記事が気に入ったらサポートをしてみませんか?