Memento:持续学习AI代理框架

Memento使LLM代理能够从记忆和过去的经验中学习,而无需触及模型权重。

Memento:持续学习AI代理框架

如果我们的AI代理能随着每次任务变得更强大,而不需要重新训练基础模型,会怎样?

这正是Memento所带来:一个基于记忆的持续学习框架,其中LLM代理从自己的经验中不断改进,同时底层LLM权重保持冻结。

Memento将代理学习重新定义为一个记忆和推理问题,而不是昂贵的梯度更新或完整的微调。

在本文中,我们将分解Memento是什么,为什么它重要以及如何利用它让您的代理随着时间变得更聪明。

1、为什么我们需要Memento?

目前大多数LLM代理都面临同样的问题:它们不会从自己的过去错误或成功中学习。每个查询都是一个新的开始,没有对之前成功或失败的回忆。

传统的解决方案包括:

  • 微调:需要昂贵的GPU、大量数据集和重新训练周期。
  • RAG(检索增强生成):注入外部知识,但并没有真正代理从其轨迹中学习。

Memento通过让代理从经验中学习,而不是梯度来解决这个问题。

代理将其成功的和失败的事件记录到一个案例库中,在面对类似查询时检索相关的历史案例,并相应地调整执行。这是轻量级、低成本且实时在线运行的。

2、核心概念:记忆胜过梯度

Memento将代理学习视为基于记忆的在线强化学习

规划者–执行者循环

  • 规划者(基于案例推理):将高层次任务分解为子任务,检索过去的案例。
  • 执行者:使用可用工具(通过MCP接口)运行子任务,并将结果记录到内存中。

案例库(经验回放)

  • 存储来自先前运行的*(状态, 动作, 奖励)*元组。
  • 指导未来相似任务的案例选择。

不更新LLM权重

  • 基础LLM保持冻结(例如,GPT-4.1,o3)。
  • 改进纯粹来自于更智能的内存使用。

这意味着你的代理在部署中继续学习,而无需承担微调的工程负担。

3、Memento的架构

Memento由四个主要组件组成:

  1. 元规划器(默认GPT-4.1):分解用户查询。
  2. 执行者(默认o3模型):运行子任务并协调工具。
  3. 案例记忆(案例库):存储和检索过去的经历。
  4. MCP工具层:一个丰富的生态系统用于网络研究、爬取、代码执行和媒体/文档处理。
规划者 → 执行者 → 工具 → 案例库 → 更好的代理

4、工具生态系统(通过MCP内置)

  • 网络研究:SearxNG或SerpAPI,带有查询感知压缩。
  • 文档处理:PDF、Office、图像、音频、视频。
  • 代码执行:Python在沙盒Docker或子进程解释器中。
  • 数据分析:Excel表格、数学求解器。
  • 媒体分析:图像描述、视频叙述、音频转录。

这种模块化设计使Memento高度可扩展,您只需编写一个FastMCP服务器即可添加新工具。

5、基准性能

Memento在多个竞争性基准测试中表现出色:

  • GAIA:87.9%(验证) / 79.4%(测试,Pass@3 Top-1)
  • DeepResearcher:66.6% F1 / 80.4% PM(在分布外数据上提高4.7–9.6)
  • SimpleQA:95.0% 准确率
  • HLE(人类最后的考试):24.4% PM(接近GPT-5的25.3%)

实验中的见解:

  • 小型高质量的内存(例如,检索K=4)效果最好。
  • 结构化的计划优于冗长的思考。
  • 计划+CBR始终优于仅反思的基线。

这证实了Memento随着经验的增长,并能很好地适应未见过的任务。

6、开始使用Memento

先决条件

  • Python 3.11+
  • OpenAI兼容的API密钥
  • SearxNG或SerpAPI用于搜索
  • FFmpeg(用于视频处理)

安装

# 克隆仓库  
git clone https://github.com/Agent-on-the-Fly/Memento  
cd Memento  

# 安装uv并同步依赖项  
curl -LsSf https://astral.sh/uv/install.sh | sh  
uv sync  
source .venv/bin/activate

系统依赖项

# macOS  
brew install ffmpeg  

# Linux  
sudo apt-get update && sudo apt-get install ffmpeg  

# Windows(通过Conda)  
conda install -c conda-forge ffmpeg

环境变量(.env

OPENAI_API_KEY=your_openai_key  
OPENAI_BASE_URL=https://api.openai.com/v1  
CHUNKR_API_KEY=...  
JINA_API_KEY=...  
ASSEMBLYAI_API_KEY=...

运行交互式代理

python client/agent.py

7、示例:带有Memento的研究代理

from deepagents import create_deep_agent  

instructions = """你是一个专家研究员。  
仔细计划,使用工具,并从过去的案例中学习。"""  

# 运行代理  
agent = create_deep_agent(  
    tools=[internet_search],  
    instructions=instructions  
)  

result = agent.invoke({  
  "messages": [{"role": "user", "content": "总结印度储备银行的最新公告"}]  
})  

print(result["messages"][-1]["content"])

下次遇到相同的问题(或类似的问题),规划器会从案例库中检索相关案例——产生更快、更准确的答案。

8、开发者的实用技巧

  • 从小处着手:使用紧凑的案例内存(K=4)。清理低质量的案例。
  • 沙盒代码工具:优先使用Docker解释器以确保安全。
  • 控制令牌成本:使用查询感知爬虫进行网络内容压缩。
  • 混合模型:保持强大的规划器(GPT-4.1)和经济高效的执行器(o-mini)。
  • 使用中断:通过人工批准来限制敏感工具如文件写入的使用。

9、局限性与路线图

长期任务:GAIA Level-3仍然具有挑战性。

前沿知识:工具限制了在最先进推理上的表现(例如,HLE)。

路线图包括:

  • 更丰富的案例库推理
  • 个性化的用户记忆
  • 扩展的工具生态系统
  • 更广泛的基准测试

10、结束语

Memento代表了一种关于如何改进代理的新思路。它允许代理从经验中持续学习,而无需重新训练或微调LLM,从而实现低成本、高效且实际生产中的改进。

对于构建研究、政策分析或客户服务助手的开发人员和研究人员来说,Memento是一个值得今天尝试的实用框架。它结合了基于案例的推理、规划者-执行者结构和丰富的工具层,以提供不仅响应,而且成长的代理。


原文链接:Memento: Fine-tuning LLM Agents without Fine-tuning LLM Weights

汇智网翻译整理,转载请标明出处