
3
ReAct
3.8
ReAct(Reasoning + Acting) [Yao et al. 2023] は、LLM に推論と行動を促すプロンプトを
与えることでタスク達成能力を向上させるアプローチです。ReActの基本的なアイデアは、タ
スク達成に必要な行動をLLM に推論させることです。図 3.8.1 にReAct の概要を示します。
LLMが行う行動にはツールの使用が含まれ、LLM はツールを使用することで必要な追加情報
を環境から取得したり、環境に働きかけたりすることが可能になります。例えば、LLMは
Web検索エンジンを利用して情報を取得したり、外部のプログラムを呼び出して計算を行っ
たりすることができます。
エージェント
推論
行動
環境
観測
LLM
ツール
(関数)
図3.8.1
ReActはエージェントの実現手法とも考えられます。エージェントは、外界との相互作用を
通じてタスクを達成するプログラムです。ツール呼び出しで外界と相互作用が可能となるた
め、ReActは LLM ベースのエージェントの実現に適しています。
ツールはプログラミング言語の関数として考えて問題ありません。したがって、ReActは
LLMが関数呼び出しを行えるようにする手法とも言えます。ただし、実際に LLM が関数を呼
び出すわけではありません。LLMは、関数呼び出し要求を応答として生成します。そのため、
エージェントは、LLMに代わって関数を呼び出す必要があります。関数の呼び出し結果は、
観測結果としてLLM