ReActとは
ReAct(Reasoning and Acting)とは、大規模言語モデルが推論(Reasoning)と行動(Acting)を交互に繰り返すことで、複雑なタスクを段階的に解決するエージェントの設計パターンです。2022年にYaoらによって提案され、LLMベースのエージェント開発における基本的なフレームワークとなっています。
ReActの仕組み
ReActでは、エージェントは「思考(Thought)→ 行動(Action)→ 観察(Observation)」のサイクルを繰り返します。まず現在の状況を分析し次に何をすべきか推論し(Thought)、次にツールの呼び出しなどの具体的な行動を実行し(Action)、その結果を観察して(Observation)次の思考に活かします。
従来手法との違い
推論のみのアプローチ(Chain-of-Thought)では外部情報の取得や実行ができず、行動のみのアプローチでは判断の根拠が不明確でした。ReActはこの両方を統合することで、推論の根拠を持ちながら実際のアクションも実行できるという利点を実現しました。
実装と応用
ReActパターンはLangChain、LlamaIndex、AutoGenなど多くのエージェントフレームワークで標準的に実装されています。質問応答、情報検索、コード生成、Webブラウジングなど、ツールの利用を伴う幅広いタスクに応用されています。