UStackUStack
ReasoningBank icon

ReasoningBank

ReasoningBank は、成功と失敗の両方の経験から再利用可能な推論戦略を抽出するエージェント用メモリフレームワークです。Webブラウジングやソフトウェア開発で、実行済みエージェントの学習を支援します。

ReasoningBank

ReasoningBank とは?

ReasoningBank は、成功と失敗の両方の経験から実行済みエージェントが学習できる、新しいエージェント用メモリフレームワークです。各タスクを独立した試行として扱うのではなく、長期的に改善していく必要があるエージェント向けに設計されています。

このフレームワークは、フルな行動履歴を記録するだけでなく、汎用化可能な推論戦略を捉えた構造化メモリを保存します。これらのメモリは行動前に取得され、エージェントがタスクを終えた後に更新され、エージェントワークフローにおける test-time の自己進化を支えます。

主な機能

  • 構造化されたメモリアイテム: 各メモリにはタイトル、短い説明、要約された内容が含まれ、生の軌跡よりも再利用しやすくなっています。
  • 行動前の取得: エージェントは行動する前に ReasoningBank を参照し、関連する過去の戦略を次の試行に活かします。
  • 成功と失敗の両方からの抽出: 成功した実行は再利用可能な手法に、失敗した実行は注意喚起となる教訓や反実仮想のシグナルに変換します。
  • 取得・抽出・統合のクローズドループ: ReasoningBank は、各インタラクションの後に更新される継続的なメモリワークフローとして構築されています。
  • LLM-as-a-judge による自己判断: システムは、判断が完全に正確でなくても、軌跡を評価して知見を抽出できます。
  • メモリを意識した test-time scaling: ReasoningBank は、複数の探索軌跡を用いて、推論時の探索と self-contrast からより強いメモリを抽出できます。

ReasoningBank の使い方

一般的なワークフローは、ReasoningBank を Web ブラウジングやソフトウェア開発などのタスクを実行するエージェントに接続するところから始まります。各アクションの前に、エージェントはバンクから関連メモリを取得し、それをコンテキストとして利用します。

タスク後、エージェントは軌跡を評価し、有用な戦略や失敗の振り返りを抽出して、新しい構造化メモリとして追加します。これにより時間とともに、エージェントが後続タスクで再利用できる一般的な教訓のリポジトリが作られます。

ユースケース

  • Webブラウジングエージェント: 過去のブラウジング経験を使って、繰り返し起こるナビゲーションのミスを避け、効果的な検索やページ操作の戦略を再利用します。
  • ソフトウェア開発エージェント: コードベース探索、デバッグ、タスク完了から得た教訓を蓄積し、繰り返しの割り当てでより効果的に動けるようにします。
  • 継続的なタスク自動化: 連続稼働し、新しいワークフローやエッジケースに遭遇するたびに改善が必要なエージェントを支援します。
  • 推論時の探索: test-time scaling 手法を使う際に、複数の候補軌跡をメモリへと要約します。
  • エージェントの失敗分析: 失敗した試行を、ループを招いたトラップや見逃したステップを避けるためのガードレールに変えます。

FAQ

ReasoningBank はどのようなメモリを保存しますか? フルな行動ログだけでなく、推論戦略、意思決定の根拠、運用上の知見を要約した構造化メモリを保存します。

成功した実行からのみ学習しますか? いいえ。ReasoningBank の中心的な点は、失敗した経験も分析して予防的な教訓に変えることです。

システムには完璧な自己評価が必要ですか? いいえ。ソースでは、LLM ベースの判断が完全に正確でなくても、このフレームワークは堅牢だと述べられています。

どのようなタスクで評価されましたか? ソースでは、Webブラウジングとソフトウェア開発のベンチマークで評価されたとされています。

ReasoningBank は単体のモデルですか? いいえ。test time にエージェントと連携して動作するエージェント用メモリフレームワークとして説明されています。

代替手段

  • 軌跡メモリシステム: 詳細な行動履歴を保存するため、より多くの生のコンテキストを保持できますが、高レベルの戦略をそのまま要約するとは限りません。
  • 成功実行に焦点を当てたワークフローメモリシステム: 成功したワークフローのみを要約するためシンプルですが、失敗からの学習シグナルを取りこぼす可能性があります。
  • 汎用エージェントメモリ層: エージェント向けの広義のメモリシステムは過去のインタラクションの取得を重視しますが、成功と失敗の両方から構造化された推論抽出を行うとは限りません。
  • メモリなしのエージェント構成: 永続メモリを持たないエージェントは実装がシンプルですが、タスクをまたいで再利用可能な教訓は蓄積されません。
ReasoningBank | UStack