Reflexion

REFLEXION
読み: リフレクション

読み: リフレクション

ReflexionとはAIの自己反省による自律改善

Reflexionとは、AIエージェントが過去の失敗から「言葉による反省」を生成・記憶し、次の行動を自律的に改善するフレームワーク。Noah Shinnらが2023年に発表。モデルの重みを更新せず、プロンプト内のテキストのやり取りだけで強化学習に近い効果を得る。HumanEvalでGPT-4の正答率を63%から91%に向上させた。

かんたんに言うと

テストで間違えた問題を「なぜ間違えたか」ノートに書き、次のテストでそのノートを見ながら解く。AIにもこの「振り返りノート」を持たせる手法。

4ステップの自己反省ループ

Reflexionは4つのステップを繰り返す。
まずActor。AIがタスク(コード生成や論理的推論)を実行して最初の出力を出す。次にEvaluator。AI自身またはテスト実行の結果で、出力が正解か失敗かを評価する。
失敗した場合にSelf-Reflectionが始まる。「なぜ失敗したのか」「どの思考プロセスが間違っていたか」「次は具体的にどう修正すべきか」をAI自身に言語化させる。この反省文をエピソード記憶として保存し、次の再試行時にプロンプトの前提条件として付加する。同じ間違いを回避して行動を修正する。

HumanEvalで63%から91%への精度向上

Noah Shinnらの論文(2023年)によると、Pythonコード生成ベンチマークHumanEvalで、標準GPT-4の正答率63%に対し、Reflexionの反省ループを組み込むと91%に達した(出典: Shinn et al., 2023, arXiv:2303.11366)。
注目すべきはコスト面。RLHFのようなモデル再学習にはGPUリソースと大量の計算時間が必要だが、ReflexionはAPIのテキストやり取りだけでエージェントの行動を改善する。ファインチューニングなしで、プロンプトレベルの工夫だけでこれだけの効果が出る点が、実務での採用を後押ししている。

当社の見解

AIに「考えさせる」技術は論文では華やかだが、実務で効くのは別の部分だ。当社の運用で分かったのは、推論の精度よりも「失敗したとき何が起きるか」の方が重要だということ。実際にエージェントが暴走してテスト環境を停止させた経験がある。その教訓を活かすためにもAIに記憶を持たせて、その教訓を活かすことで事故や手戻りは減る。記憶があり、その教訓を念頭に置いて仕事ができなければ、また同じミスを犯す。そうならないよう失敗をしないために何が必要なのか複数のAIで推論をし、また人間も一緒に考え、対策を練りルール化する。そのルールに沿って行動するためには、ソフトではなく、できるだけハードで確実に実行されるためのパイプラインが必要となる。

同じ失敗を二度としないAIエージェント

今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。

当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。

古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。

相談する