UStackUStack
ReasoningBank icon

ReasoningBank

ReasoningBank 是一款智能体记忆框架,可从成功与失败经验中提炼可复用的推理策略。帮助已部署智能体在测试时从过往任务中学习,适用于网页浏览和软件工程。

ReasoningBank

什么是 ReasoningBank?

ReasoningBank 是一种新颖的智能体记忆框架,可帮助已部署智能体从成功与失败经验中学习。它专为需要持续改进、而非将每个任务都视为独立尝试的长运行智能体而设计。

该框架存储的是结构化记忆,记录可泛化的推理策略,而不只是完整的动作轨迹。这些记忆会在行动前被检索,任务完成后被更新,并用于支持智能体工作流中的测试时自我演化。

主要特性

  • 结构化记忆项:每条记忆包含标题、简短描述和提炼后的内容,使存储的经验比原始轨迹更易复用。
  • 行动前检索:智能体在执行前查询 ReasoningBank,让相关的过往策略影响下一次尝试。
  • 从成功与失败中提取:该框架会将成功运行转化为可复用战术,并将失败运行转化为警示性经验和反事实信号。
  • 检索、提取与整合的闭环:ReasoningBank 被构建为一个持续更新的记忆工作流,在每次交互后都会进行更新。
  • 基于 LLM-as-a-judge 的自我判断:即使判断并不完全准确,系统也能评估轨迹并提取洞见。
  • 具备记忆感知的测试时扩展:ReasoningBank 可以利用多条探索轨迹,从推理时搜索和自我对比中提炼更强的记忆。

如何使用 ReasoningBank

典型工作流是先将 ReasoningBank 挂接到执行网页浏览或软件工程等任务的智能体上。每次行动前,智能体都会从记忆库中检索相关记忆,并将其作为上下文使用。

任务结束后,智能体会评估轨迹,提取有用策略或失败反思,并将其作为新的结构化记忆追加进去。随着时间推移,这会形成一个可复用的一般经验库,供智能体在后续任务中调用。

使用场景

  • 网页浏览智能体:利用过往浏览经验避免重复的导航错误,并复用有效的搜索或页面交互策略。
  • 软件工程智能体:记录代码库探索、调试和任务完成中的经验,让智能体在重复分配的任务中更高效地工作。
  • 持久任务自动化:支持持续运行的智能体,使其在遇到新工作流和边缘情况时不断改进。
  • 推理时探索:在使用测试时扩展方法时,将多个候选轨迹提炼为记忆。
  • 智能体失败分析:把不成功的尝试转化为防护规则,例如避免导致循环或遗漏步骤的陷阱。

常见问题

ReasoningBank 存储什么类型的记忆? 它存储的是结构化记忆,用于总结推理策略、决策依据和操作洞见,而不只是保留完整的动作日志。

它只从成功运行中学习吗? 不是。ReasoningBank 的核心之一就是分析失败经验,并将其转化为预防性经验。

系统是否需要完美的自我评估? 不需要。原文指出,即使基于 LLM 的判断并不完全准确,该框架也具有鲁棒性。

它在哪些任务上进行了评估? 原文称,它在网页浏览和软件工程基准上进行了评估。

ReasoningBank 是独立模型吗? 不是。它被描述为一种在测试时与智能体协同工作的智能体记忆框架。

替代方案

  • 轨迹记忆系统:这类系统存储详细的动作历史,能保留更多原始上下文,但可能不如前者直接提炼高层策略。
  • 只关注成功运行的工作流记忆系统:这类系统仅总结成功工作流,可能更简单,但会错过失败中的学习信号。
  • 通用智能体记忆层:更广泛的智能体记忆系统可能强调检索过往交互,但不一定会同时从成功与失败中提取结构化推理。
  • 无记忆智能体方案:没有持久记忆的智能体实现更简单,但无法在任务间积累可复用经验。
ReasoningBank | UStack