
Reflexion
3.9
Reflexionは、LLM を用いたエージェントをプロンプトの反復的な改善で性能を改善する
学習手法です。ここで言う学習とは、LLMのパラメータ更新を伴うファインチューニングの
ようなTransformerのパラメータ更新を伴う学習ではありません。LLM自身がタスクを試行
した結果を分析し、言語的なフィードバックを生成することで、自己改善することを指しま
す。言語的なフィードバックを次に試行するときのプロンプトにコンテキストとして組み込む
ため、一種の文脈内学習とも言えます。
Reflexionでは、言語的なフィードバックを経験として長期記憶として保存し、次の試行時
に参照することで、エージェントの性能を向上させます。一方、試行ごとに必要な情報は短期
記憶として保存します。
3.9.1
エージェントの構成
Reflexionにおけるエージェントは、図 3.9.1のようにActor、Evaluator、Self-Reflection
の三つの構成要素を用いて与えられたタスクを実行します。これらの構成要素はそれぞれが
LLMを利用して各々の役割を果たします。推論の際、Actorは短期記憶に格納した軌跡
(Trajectory)と 長期記憶から抽出した重要な経験をコンテキストとしてプロンプトに組み込
みLLM に渡します。ここの軌跡とは、エージェントが過去に行った推論や行動(プロンプト
とLLM の出力)と観測のシーケンスを指します。なお、3.8で紹介したReActの一連のプロ
セスは軌跡に相当します。 ...