Loading...
正在加载...
请稍候

什么是推理银行?

QianXun (QianXun) 2025年10月13日 09:14
ReasoningBank - Agent 的"经验库"

ReasoningBank - Agent 的"经验库"

Google 的创新记忆框架,让 AI 智能体从自身经验中学习并不断进化

error_outline 问题背景

当前的 AI 智能体(如自动网页浏览、写代码的 LLM agent)虽然能执行复杂任务,但存在一个关键局限:无法从过去的经验中学习。这导致以下问题:

  • arrow_right 做任务 A 学到的经验不会帮助它做任务 B
  • arrow_right 经常会重复犯同样的错误
  • arrow_right 每次都像"第一次见到问题一样"去解决

这种局限性让智能体无法真正变得"越来越聪明",限制了其在持续任务中的表现。传统记忆系统存储原始轨迹或仅成功的流程,这些系统在不同环境中表现脆弱,且缺乏跨领域的可转移性。

lightbulb ReasoningBank 的基本概念

ReasoningBank 是一个"推理记忆库",它让 AI 像人一样,总结经验、反思失败,从而在后续任务中做得更好。主要思路是:

  1. looks_one 记录经验:每次执行任务时,AI 记录下自己的"思考过程"和"行动轨迹"
  2. looks_two 自我评估:用一个 LLM 自评机制判断这次任务是"成功"还是"失败"
  3. looks_3 提炼记忆:不直接保存冗长的操作过程,而是总结出简洁、可迁移的"推理策略"
  4. looks_4 记忆回收再利用:当遇到新任务时,AI 会从 ReasoningBank 中检索出相关经验,用来指导当前决策

这种循环让 AI 在不断积累中"自我进化"——类似人类的"经验学习"。

architecture ReasoningBank 的架构和核心组件

ReasoningBank 包含以下几个关键组件:

storage 记忆结构

记忆项是从过去的经验中设计和提炼出的结构化知识单元,它们抽象了低级执行细节,同时保留了可转移的推理模式和策略。每个记忆项包含三个部分:

  • title 标题:作为简洁的标识符,总结核心策略或推理模式
  • description 描述:提供记忆项的简短一句话总结
  • article 内容:记录从过去经验中提炼出的推理步骤、决策理由或操作见解
JSON
{
  "title": "验证元素标识符",
  "description": "在执行操作前验证页面元素的存在和状态",
  "content": "当需要点击或交互时,先使用开发者工具检查元素是否存在、可见且可交互。如果元素不存在,可能需要等待页面加载或执行其他操作使元素出现。"
}

integration_instructions 与智能体的集成

配备 ReasoningBank 的智能体可以从一个精心挑选的可转移策略池中汲取经验来指导决策。这使得智能体能够回忆有效的见解,避免以前观察到的陷阱,并更稳健地适应未见过的查询。集成过程分为三个步骤:

  • search 记忆检索:从 ReasoningBank 中检索与当前任务相关的记忆项
  • build 记忆构建:基于当前任务的经验构建新的记忆项
  • merge_type 记忆整合:将新构建的记忆项整合到 ReasoningBank 中
Python
def retrieve_memories(query, memory_bank, k=1):
    # 将查询嵌入为向量
    query_embedding = embed(query)
    
    # 计算与所有记忆项的余弦相似度
    similarities = []
    for memory in memory_bank:
        memory_embedding = memory['embedding']
        similarity = cosine_similarity(query_embedding, memory_embedding)
        similarities.append((similarity, memory))
    
    # 返回相似度最高的k个记忆项
    similarities.sort(reverse=True)
    return [memory for _, memory in similarities[:k]]
ReasoningBank 工作流程
新任务
记忆检索
执行任务
记忆构建
记忆整合

auto_graph MaTTS:记忆感知的测试时扩展

作者进一步提出了 Memory-aware Test-Time Scaling (MaTTS),即"记忆感知的测试时扩展",让 AI 不仅能记,还能更快地学。MaTTS通过为每个任务分配更多计算资源来生成多样化的轨迹,从而产生更好的记忆质量。

view_comfy 并行扩展

在并行设置中,针对同一个任务,AI 同时尝试多种不同方案,然后比较分析,提炼出更稳健的推理模式。通过对不同轨迹进行比较,智能体可以识别一致的推理模式,同时过滤掉虚假的解决方案。这个过程通过单一查询的多次试验促使多样化的探索,从而实现更可靠的记忆策划。

Python
def parallel_scaling(task, k=5):
    # 生成k个不同的轨迹
    trajectories = []
    for i in range(k):
        trajectory = execute_task(task, seed=i)
        trajectories.append(trajectory)
    
    # 使用自对比提示提取最多5个精炼项
    memories = extract_memories_from_trajectories(trajectories)
    return memories

view_list 顺序扩展

在顺序扩展中,AI 在一次任务中不断自我反思、修改和优化,逐步改进思路。在初步完成后,迭代地在单一轨迹内完善推理,遵循自我精炼的原则。在这个过程中,自我精炼中生成的中间笔记也被用作宝贵的记忆信号,因为它们捕捉了推理尝试、修正和见解,这些内容可能不会出现在最终的解决方案中。

Python
def sequential_scaling(task, k=5):
    # 初始轨迹
    trajectory = execute_task(task)
    
    # 迭代精炼k次
    for i in range(k):
        reflection = reflect_on_trajectory(trajectory)
        trajectory = refine_trajectory(trajectory, reflection)
    
    # 从中间笔记中提取记忆
    memories = extract_memories_from_notes(trajectory.intermediate_notes)
    return memories

通过 MaTTS,AI 生成更多对比数据,从成功与失败中提取更深层次的推理规律,形成"经验—反思—记忆—再提升"的正反馈循环。实验表明,MaTTS显著增强了记忆质量,特别是在WebArena-Shopping等任务中,当k=5时,成功率提升了+5.4%。

analytics 实验结果和性能评估

在多个测试环境中(网页操作、软件开发等),ReasoningBank 展现了显著优势:

基准测试 模型 指标 无记忆 ReasoningBank 提升 MaTTS (k=5 并行)
WebArena (总体) Gemini-2.5-Flash 成功率 (%) 41.4 49.7 +8.3 55.1
WebArena (总体) Gemini-2.5-Pro 成功率 (%) 46.7 53.9 +7.2 N/A
WebArena (总体) Claude-3.7-Sonnet 成功率 (%) 50.1 54.7 +4.6 N/A
SWE-Bench-Verified Gemini-2.5-Flash 解决率 (%) 34.2 38.8 +4.6 N/A
Mind2Web (跨领域) Gemini-2.5-Flash 成功率 (%) 1.0 1.6 +0.6 N/A
WebArena (成功步骤) Gemini-2.5-Flash 步骤数 6.8 4.7 -2.1 (26.9%相对减少) N/A
+30%~+34%
相对成功率提升
-16%
操作步骤减少

相比其他记忆机制,ReasoningBank 显著更稳定、更高效,可学会从失败中改进。尤其在跨任务、跨领域测试中,ReasoningBank 的效果最突出,说明它的记忆是可迁移的、通用的。消融实验证实,失败经验对成功率的贡献为+3.2%,最优检索参数为k=1。

trending_up 技术意义和未来展望

ReasoningBank 的提出标志着 AI 智能体发展的一个重要里程碑:

  • stars 建立了记忆与测试时扩展之间的协同效应:高质量的记忆将扩展引导到更有前景的路径,而丰富的经验则进一步锤炼出更强的记忆
  • stars 这种正反馈循环使得基于记忆的经验扩展成为智能体的一个新扩展维度
  • stars 为 AI 智能体的持续学习和自我进化提供了新的可能性

随着时间推移,策略从程序性(如"点击下一页")演变为反思性(如"验证元素标识符")和组合性(如"将任务与视图交叉引用")。这种演变表明了自我进化的发生,效率提升主要发生在成功的路径上。

未来,ReasoningBank 可能会在以下方向继续发展:

  • arrow_forward 更高效的记忆检索和整合算法
  • arrow_forward 更复杂的记忆结构和表示方法
  • arrow_forward 跨智能体的记忆共享和协作机制

warning 局限性

尽管 ReasoningBank 表现出巨大潜力,但仍存在一些局限性:

  • error_outline 依赖 LLM 自我判断,可能放大偏见
  • error_outline 使用简单的检索方法,缺乏高级修剪机制
  • error_outline 对于全新场景的适应能力有限

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!