Reflexion — AIは「反省」を覚えると何が変わるのか?
AIを賢くする方法といえば、より大きなモデル、より多くのデータ——そう思われてきた。しかし2023年、ある研究は全く別の方向から問いを立てた。もしAIが失敗を振り返り、その経験を次に活かせるなら?与えたのはたった一つ、「反省する仕組み」だった。
DeepMindの論文 "Reflexion: Language Agents with Verbal Reinforcement Learning" を取り上げる。
AIを賢くする方法と聞くと、多くの人はこう考える。
- より大きなモデルを作る
- より多くのデータで学習させる
- より高性能なGPUを使う
- より優れたアーキテクチャを発明する
実際、過去10年のAIの進歩は、そのほとんどがこの方向で実現されてきた。
Transformerの登場。
GPTシリーズの巨大化。
RLHFによる対話能力の向上。
マルチモーダル化。
AI研究は長らく、
「より良いモデルを作る競争」
だった。
しかし2023年、ある研究が少し違う方向から問題を見つめた。
もしAIが失敗を振り返り、その経験を次に活かせるならどうなるだろうか。
もし学習ではなく「反省」によって改善できるならどうだろうか。
その答えを探ろうとしたのが、
Reflexion: Language Agents with Verbal Reinforcement Learning
である。
この論文は新しいTransformerを発明したわけではない。
巨大モデルを学習したわけでもない。
重みを更新したわけですらない。
与えたのはたった一つ。
「反省する仕組み」
だった。
そして驚くべきことに、それだけでAIエージェントの性能は大きく向上した。
Reflexionは単なるテクニックではない。
後に続くGenerative Agents、Voyager、MemGPTなどの研究へ繋がる、AIエージェント史における重要な転換点の一つである。
AIはなぜ同じ失敗を繰り返すのか
私たちは日常的に失敗から学んでいる。
料理で塩を入れすぎれば次回は減らす。
迷路で行き止まりにぶつかれば別の道を選ぶ。
試験で間違えた問題は復習する。
人間は経験を蓄積し、そこから教訓を抽出し、次回の行動へ反映する。
当たり前のことに見える。
しかし従来のLLMはそうではなかった。
例えばコード生成。あるバグを含むプログラムを書いたとする。再度生成させても、似たようなバグを繰り返すことがある。ゲーム環境でも同様である。扉を開ける方法を間違えた。次回も同じ行動を繰り返す。推論問題でも、条件の読み落としを何度も繰り返す。
もちろんこれはモデルが完全に何も学べないという意味ではない。会話コンテキストの中では改善することもある。しかし本質的には、モデルは過去の失敗を体系的な経験として保持していない。
人間で言えば、毎朝記憶を失った状態で問題に挑んでいるようなものである。
研究者たちはここに大きな限界を見ていた。
AIは賢くなった。
推論もできる。
会話もできる。
行動もできる。
しかし経験から学ばない。
これはエージェントとして考えたとき、極めて大きな欠点だった。
ReActが切り開いたAIエージェント時代
Reflexionを理解するには、その直前に登場したReActを知る必要がある。
2022年以前、多くのLLMは基本的に一問一答のシステムだった。
ユーザーが質問する。
モデルが回答する。
終了。
それだけだった。
しかし研究者たちは考えた。もしLLMが外部環境と相互作用できたらどうなるだろうか。検索エンジンを使えるようにしたら。ツールを操作できるようにしたら。ゲーム世界で行動できるようにしたら。
その結果生まれたのがReActである。
ReActは Reasoning + Acting の略である。
従来のLLMは、入力から出力へ直進した。
ReActは、思考と行動を何度も繰り返すループを導入した。考えて、行動して、観察して、また考えて、行動する。
例えば質問に答える際、まず考える。必要なら検索する。検索結果を読む。再び考える。さらに検索する。最終回答を生成する。
つまりLLMは単なる文章生成器から、環境の中で目的を達成するエージェントへ変化し始めたのである。
これは後のAgent研究ブームの出発点の一つとなった。
Agent研究が直面した新たな壁
しかしReActには大きな問題があった。
AIは考えられる。
AIは行動できる。
だが、AIは経験から学ばない。
例えば探索タスクを考えてみよう。部屋の中に鍵がある。AIは部屋を探す。失敗する。もう一度探す。また失敗する。
人間ならこう考える。
前回は机の上だけ見た。今回は棚の中を探してみよう。
しかしAIはそうとは限らない。再び同じ場所を探してしまう。
コード生成も同様である。あるテストケースに失敗した。その原因が分かっているにもかかわらず、次回も同じ問題を繰り返すことがある。
これは奇妙な状況だった。
モデルは失敗の原因を説明できる。
しかしその説明が次回へ活かされない。
つまり、知識はあるが経験にならない。
ここがAgent研究の大きな壁だった。
Reflexionの発想
研究者たちは極めてシンプルな仮説を立てた。
人間は失敗したとき何をしているだろうか。
学習理論や神経科学はひとまず置いておこう。
私たちはまず振り返る。失敗の理由を考える。改善方法を考える。そして次回へ活かす。
ならばAIにも同じことをさせれば良いのではないか。
これがReflexionの出発点だった。
失敗した後、AIへ質問する。
なぜ失敗したのか? 次は何を変えるべきか?
するとAIは自然言語で答える。
条件分岐を見落としていた。次回は境界条件を確認する。
あるいは、
部屋を十分探索していなかった。次は探索範囲を広げるべきだ。
この反省を保存する。そして次回の試行時に読み返させる。
驚くほど単純なアイデアである。しかし実験結果は非常に良かった。
Verbal Reinforcement Learningとは何か
Reflexion最大の発明は、研究者たちが Verbal Reinforcement Learning と呼んだ概念である。
従来の強化学習では、行動から報酬へ、報酬から重み更新へ進む。囲碁AIなら勝利でプラス報酬、敗北でマイナス報酬。ロボットなら目的地への到達で報酬、転倒でペナルティ。学習信号は数値である。
しかし人間は必ずしも数値で学んでいるわけではない。
例えば料理。失敗したとき、私たちはこう考える。
火力が強すぎた。次は弱火で調理しよう。
数値報酬ではない。言葉による理解である。
Reflexionはこの考え方をAIへ持ち込んだ。
行動から評価へ、評価から反省へ、反省を記憶に、記憶から改善へ。
数値ではなく、自然言語そのものを学習信号として利用する。だから論文タイトルには Verbal Reinforcement Learning という言葉が含まれている。
これは強化学習の概念を、言語空間へ移植しようとした試みだった。
Reflexionのアーキテクチャ
Reflexionは大きく4つの要素で構成される。
Actor — 実際に行動するLLMである。問題を解き、コードを書き、環境の中で行動する。GPT系モデルでも良いし、他のLLMでも良い。Actor自体は特別ではない。
Evaluator — 結果を評価する。テストが通ったか、正解したか、ゴールへ到達したかを判定する。別のLLMでも良いし、ルールベースでも良い。重要なのは、成功と失敗を区別できることである。
Self-Reflection — ここがReflexionの核心である。失敗した理由を言語化する。「前回は入力条件を十分確認しなかった。次回は制約条件を最初に整理する。」といった形で改善点を生成する。
Memory — 生成された反省を保存する。そして次回の試行時にActorへ提示する。AIは過去の失敗経験を参照しながら行動できるようになる。
これによって、単発の推論システムだったLLMは、経験を蓄積するエージェントへ近づいていく。
HumanEval — コード生成は改善できるのか
Reflexionの代表的な実験の一つがHumanEvalである。HumanEvalはOpenAIが作成したコード生成ベンチマークで、正しく動作するプログラムを書けるかを評価する。
LLMはしばしば「ほぼ正しいが微妙に間違ったコード」を書く。例えば、
def factorial(n):
return n * factorial(n - 1)
一見正しく見える。しかし終了条件が存在しない。無限再帰になる。テストは失敗する。
従来であれば、ここで再生成を行うだけだった。しかしReflexionでは違う。
失敗した後、AI自身へ問いかける。なぜ失敗したのか?
するとモデルは次のように答える。
再帰関数のベースケースを忘れていた。n=0の場合を処理する必要がある。
この反省を参照しながら次回のコードを書く。
def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)
今度は成功する。
重要なのは、モデルの重みは一切変化していないことだ。変わったのは、失敗経験を言語化し、次回へ持ち越したことだけである。
ALFWorld — 仮想環境で学ぶAI
Reflexionが特に興味深い結果を示したのがALFWorldである。ALFWorldは仮想環境内でタスクを達成するベンチマークで、キッチンへ行く、冷蔵庫を開ける、リンゴを探す、テーブルへ置く——といった課題が与えられる。
従来のエージェントはしばしば同じ失敗を繰り返した。
引き出しを開ける
↓
何もない
↓
再び引き出しを開ける
といった非効率な行動である。
Reflexionは失敗後に反省を行う。
引き出しは既に確認済みだった。次は棚を探すべきである。
すると次回は探索戦略そのものが変わる。
これは重要な意味を持つ。なぜなら、単なる知識問題ではなく、行動計画そのものが改善されたからである。
HotPotQA — 推論は改善できるのか
Reflexionは推論タスクでも効果を示した。HotPotQAは複数の情報源を組み合わせて答えを導く問題である。
AIはしばしば途中の情報を見落としたり、誤った推論経路を選んだりする。Reflexionは失敗後に、どの推論が間違っていたのかを分析する。
出生地ではなく居住地を参照していた。次回は人物情報を時系列で確認する。
こうした反省が次回の推論へ利用される。
つまりReflexionは、コード生成だけでなく、行動計画だけでもなく、推論そのものにも効果があることを示した。
なぜ反省だけで性能が向上するのか
ここがReflexion最大の謎であり、最も面白い部分である。
なぜ反省文を追加しただけで性能が向上するのだろうか。
研究者たちの考えは興味深い。LLMは能力不足なのではなく、能力を十分発揮できていない場合があると考えた。
つまり、能力が存在しないのではなく、能力はあるが使えていないのである。
例えば人間も、知っていることを忘れる。焦ってミスをする。注意不足で見落とす。能力がないわけではない。発揮できなかっただけである。
Reflexionは、失敗を明示的に言語化することで、モデル自身へ注意喚起を行っている。ある意味で、反省は 外部化されたメタ認知 と言える。
Reflexionは本当の学習なのか
ここで重要な議論がある。Reflexionは本当に学習なのだろうか。
答えは少し複雑である。
伝統的な機械学習の観点から見ると、答えはNoに近い。なぜなら、モデルのパラメータは変化していない。重み更新も行われていない。つまりニューラルネットワーク自体は変わっていない。
しかし別の見方もできる。
人間も常に脳を書き換えているわけではない。メモを取る。日記を書く。失敗を振り返る。そして行動を改善する。もしそれを学習と呼ぶなら、Reflexionもまた一種の学習と言える。
実際、論文タイトルに含まれる Verbal Reinforcement Learning という言葉は、まさにその立場を示している。
Reflexionの限界
もちろんReflexionは万能ではない。
第一に、反省の質に依存する。 もし間違った原因分析をすれば、改善どころか悪化する可能性がある。本当の原因が「境界条件の見落とし」なのに「アルゴリズムが悪い」と反省すれば、次回も失敗する。
第二に、メモリ管理の問題がある。 反省が10件なら問題ない。しかし100件、1000件、10000件になったらどうだろうか。どれを参照するのか。どれが重要なのか。どれを忘れるべきなのか。Reflexionはそこまで解決していない。
第三に、長期的な一貫性や人格形成を扱う仕組みを持たない。 Reflexionは局所的な改善には強いが、この課題は後の研究テーマとなる。
Reflexionが生んだもの
Reflexionの本当の価値は、実験結果だけではない。後続研究への影響にある。
Generative Agents — 2023年、StanfordのGenerative Agentsが登場する。記憶を蓄積し、内省し、計画を立てるAIが実現された。Reflexionが示した「経験を保存する」という考え方は、ここでさらに発展する。
Voyager — NVIDIAのVoyagerは、Minecraftの中で自律的に成長するエージェントだった。失敗経験を活かし、新しいスキルを獲得し続ける。反省は単なるメモではなく、スキル獲得の出発点となった。
AutoGPT系 — AutoGPTブームもまた、自己改善ループを重視した。目標を設定する。行動する。評価する。改善する。このサイクルの原型は、Reflexionの中にも見られる。
MemGPT — Reflexionは反省を保存した。しかし保存量が増えると管理できなくなる。MemGPTはこの問題に真正面から取り組んだ。短期記憶、長期記憶、外部ストレージ、検索、階層管理。現在の長期記憶エージェント研究は、ある意味でReflexionの課題を解決する試みとも言える。
2026年から見たReflexion
2026年現在から見ると、Reflexionは正しく、そして不十分だった。
正しかったこと——記憶は重要、経験は重要、反省は重要、学習なし改善は可能。これらは現在のAgent研究でも広く支持されている。
一方で不足していたこと——長期記憶管理、Retrieval、メモリ圧縮、人格維持、長期計画。これらの課題は現在も研究が続いている。
つまりReflexionは完成形ではなかった。むしろ始まりだった。Agent研究が「推論するAI」から「経験を蓄積するAI」へ向かう転換点だったのである。
終わりに
Reflexionは派手な論文ではない。
Transformerのように世界を変えたわけではない。
ChatGPTのように一般社会へ衝撃を与えたわけでもない。
しかしAI研究の歴史の中で見ると、非常に重要な意味を持っている。
それは、AIへ初めて本格的な「反省」を与えようとした研究だったからである。
AIは考えられるようになった。
AIは行動できるようになった。
そしてReflexionによって、AIは自らの失敗を振り返るようになった。
その小さな一歩は、後のGenerative Agents、Voyager、MemGPT、そして現在のAIエージェント研究へと繋がっていく。
もしReActが「行動するAI」の始まりだったとすれば、Reflexionは「経験から学ぶAI」の始まりだった。
そして現在のAgent研究は、今もなおその延長線上にあるのである。
論文情報
Shinn, N., Cassano, F., Gopinath, A., Narasimhan, K., & Yao, S. (2023). Reflexion: Language Agents with Verbal Reinforcement Learning. https://arxiv.org/abs/2303.11366
次回予告
ReflexionがAIへ「反省」を与えた論文だとすれば、
その少し前に登場した ReAct は、AIへ「行動する能力」を与えた論文だった。
それまでのLLMは質問に答えるだけだった。
しかしReActは、考え、行動し、観察し、再び考えるという新しいループを導入した。
なぜこの論文は、現在のAI Agentブームの出発点と呼ばれるのだろうか。
次回は、LLMを「チャットボット」から「エージェント」へ変えた重要論文、ReActを取り上げる。