Untitled
R2D2: Remembering, Replaying and Dynamic Decision Making with a Reflective Agentic Memory
title: R2D2: Remembering, Replaying and Dynamic Decision Making with a Reflective Agentic Memory
source_url: https://aclanthology.org/2025.acl-long.1464/
doi: 10.18653/v1/2025.acl-long.1464
generated_at: 2026-05-11T01:45:00Z
- ウェブ操作エージェントが、過去に見たページと失敗した操作を記憶し、後の操作に使うための枠組み R2D2 を提案する論文である。
- R2D2 は、ページ状態を有向グラフとして保存する Remember と、失敗した行動を分析して記憶に残す Reflect から成る。
- WebArena で全体成功率 27.3% を示し、ReACT、Tree-Search、LATS、Anticipatory Reflection などの比較手法を上回った。
論文の面白いところ
この論文は、ウェブエージェントの失敗を、単なる推論の誤りではなく、道に迷う誤りとして扱う。ウェブ画面の操作では、正しい判断をする前に、そもそも必要なページへ到達しなければならない。著者らの分析では、通常の ReACT エージェントの失敗の約 60% がナビゲーション段階で起きていた。R2D2 はこの部分を、過去の観測から作った地図で補う。ページを節点、クリックなどの操作を辺とするグラフを作り、そこから A* 探索でよさそうな経路を選ぶ。さらに、目的のページに着いた後の失敗は、どの操作から誤ったかを反省として保存する。成功例だけでなく失敗例も資源として扱う点が、この研究の要である。ウェブエージェントを、毎回まっさらな状態で考える対話モデルではなく、探索経験を持つ作業者に近づけようとしている。派手な新モデルではなく、記憶の構造と使い方で改善する研究として読める。
問題設定
対象は、自然言語で与えられた依頼を、ウェブサイト上の一連の操作に変換して実行するウェブエージェントである。たとえば、管理画面で注文を探す、商品をカートに入れる、掲示板で条件に合う投稿を調べる、といった作業が含まれる。この種のタスクでは、エージェントは現在見えているページから次のクリックや入力を選ぶ。従来の多くの手法では、次の操作の結果が十分に分からないまま進むため、問題は Unknown Markov Decision Process(Unknown MDP)に近い形になる。いったん関係のないページへ入ると、必要な情報に戻れず、そこで探索が止まることがある。また、検索木や反省を使う手法でも、試行の軌跡をその場限りで捨てる場合がある。すると、以前に見たページや誤った操作から学べない。著者らは、ナビゲーション失敗と実行失敗を分けて扱うことで、この問題を整理する。ナビゲーション失敗は必要なページへ届かない失敗であり、実行失敗はページへ届いた後にボタン、入力欄、並べ替えなどを誤る失敗である。
提案手法
R2D2 は Remembering, Replaying, and Dynamic Decision Making の略称である。第一の構成要素である Remember は、過去の観測を再生用バッファとして保存する。バッファは有向グラフであり、節点は観測されたページ状態、辺はある状態から別の状態へ移る操作である。動的なウェブページを扱うため、論文ではページ全体ではなく、連続する観測の差分を保存すると説明している。新しい依頼が来ると、R2D2 はこのグラフ上で A* 探索を行う。大規模言語モデル(Large Language Model; LLM)は、ある節点の先に依頼に関係する情報がありそうかを見積もるヒューリスティックとして使われる。候補の経路が得られた後、LLM がそれらを順位付けし、使う軌跡を選ぶ。第二の構成要素である Reflect は、実行失敗に対して、最初に誤った行動を見つけ、その直前までの正しい軌跡と失敗理由を保存する。この保存先は反省記憶と呼ばれ、問い合わせ文をベクトル化したキーと、修正済み軌跡や反省文を値とする。推論時には、似た依頼に対応する過去の軌跡を取り出し、インコンテキスト例としてエージェントに与える。
結果
実験には WebArena が用いられた。WebArena は、ウェブショッピング、Reddit 風サイト、地図、GitLab、顧客管理または商取引管理系の CMS などを含む、812 件のウェブ操作タスクから成る。主な LLM には GPT-4o が使われ、反省記憶の検索には all-MiniLM-L6-v2 による密な埋め込みが使われた。全体の成功率は、ReACT が 13.1%、Tree-Search が 19%、AutoEval が 20.2%、LATS が 22.5%、Anticipatory Reflection が 23.4%、BrowserGym が 23.5% であった。R2D2 は 27.3% で、比較された手法の中で最も高かった。領域別には、CMS で 30%、Reddit で 21%、Shopping で 36%、Map で 28%、GitLab で 28% の成功率を示した。Tree-Search との比較では、CMS と GitLab のように操作が複雑な領域で差が大きい。効率面でも、成功までに必要な平均操作数は R2D2 が 13.1 ステップで、Tree-Search の 33.8 ステップ、AutoEval の 29.2 ステップより少なかった。アブレーションでは、失敗軌跡を使わず成功例だけを使う設定の成功率が 20.5% に落ち、失敗を記憶することの有用性が示された。ただし、実験は英語の WebArena と GPT-4o に限られており、他言語のサイトや別の環境で同じ程度に働くかは、今後の検証を要する。
具体例
ある管理画面で、「完了済み注文のうち最も古いものの請求先名を答えよ」という依頼が与えられたとする。単純なエージェントは、Sales のアイコンを押した後、目についた注文番号を開き、画面を少し下へ送り、そこに表示された名前を答えてしまうかもしれない。しかし、この依頼では、まず注文一覧に入り、購入日の列で古い順に並べ、さらにステータスを Complete に絞り込む必要がある。R2D2 の Remember は、過去に Sales から Orders へ進んだ操作や、フィルタ画面へ入る経路をグラフとして持っているため、最初から一覧ページへ向かう道を選びやすい。次に、Reflect は過去の失敗から、単に注文を一つ開くだけでは条件を満たさない、という注意を軌跡とともに取り出す。期待される処理は、Orders を開き、Purchase Date を古い順にし、Status に Complete を入力して適用し、該当する注文の View を開くことである。期待される出力は、その注文の請求先名であり、論文中の例では John Lee が正答として示されている。間違えやすい点は、最初に見えた注文を選ぶこと、または完了済みという条件をかけずに古い注文を選ぶことである。この例では、ページへ到達する力と、到達後に条件を正しく反映する力の両方が必要になる。