智能体记忆不是越多越好:ALTK-Evolve 八模型评测,记忆要按模型能力“配药“

热点来源:Hugging Face Blog - 《智能体记忆并非越多越好:八款模型评测显示剂量需按能力校准》(https://huggingface.co/blog/ibm-research/altk-evolve-hmm)

研究原文:IBM Research - ALTK-Evolve 技术报告(https://arxiv.org/abs/2603.10600)

Agent 跑久了,直觉告诉我们"多喂点历史经验,表现会更好"。IBM Research 在 Hugging Face 发布的评测却给出了反直觉的结论:智能体记忆不是一个开关,而是一剂药------给多给少,取决于模型自身的能力。 8 款模型、585 个多步任务,三种截然不同的表现模式,直接改写了"记忆越多越好"的默认假设。

一、先厘清:智能体记忆到底指什么

很多实现把"记忆"做成把历史对话塞回上下文。论文里明确澄清:记忆不是重放过去的对话记录,而是一套 guideline set(指南集)------从智能体自己过去的成功与失败轨迹中提炼出来的行为准则:哪些策略有效、哪些错误要避免、哪些边界情况要小心。

维度 重放式记忆 指南集记忆
内容 原始对话、原始轨迹 蒸馏压缩后的行为准则
作用方式 让模型"想起"当时发生了什么 让模型"学会"下次该怎么做
存储成本 随轨迹线性膨胀 压缩后规模基本固定

区别在于:重放是"回到过去",指南集是"带着经验往前走"。这决定了它不会拖垮上下文窗口,也决定了它可以被检索、被缓存。

二、机制:四步学习循环,发生在模型之外

这套方法叫 ALTK-Evolve,它的学习循环发生在模型之外------改变的是给智能体的指导内容,而不是模型权重。 这也是它部署成本低、能跨 8 款模型直接移植的根本原因。

四步循环:

  1. 执行:智能体尝试完成任务,产生轨迹;
  2. 提取:从成功和失败的运行中抽取行为指南;
  3. 整合:把零散指南整理成可复用的指南集;
  4. 注入:推理时把完整指南集或按任务检索的子集放回上下文。

整个过程不需要人工标注,指南只从基准 AppWorld 的训练集挖掘一次,测试集完全不参与构建,从机制上杜绝数据泄漏。

注入有两种配置,都基于同一套指南集:

  • full guideline set:每一步 ReAct 都注入全部挖掘出的指南;
  • curated retrieval:固定高置信度核心指南 + 按当前任务检索出的少量相关指南(固定部分 + 可变部分)。

三、八款模型,三种模式

评测基准 AppWorld 有 585 个多步任务(168 个普通 + 417 个挑战),覆盖 9 个模拟应用。两个指标:TGC(任务目标完成率)和 SGC(场景目标完成率,要求场景内全部子任务都对才算过,更严格)。

模型 表现模式 基线 TGC/SGC 最佳配置 TGC/SGC 最佳配置 TGC 增益 SGC 增益
gpt-oss-120b(117B MoE) 弱模型 39.9/21.4 56.0/37.5 精选检索 +16.1 +16.1
DeepSeek-V3.2(671B MoE) 强、有余量 79.8/64.3 89.3/80.4 完整指南集 +9.5 +16.1
Claude Opus 4.6 强、有余量 90.5/87.5 94.6/94.6 完整指南集 +4.1 +7.1
GPT-5.5 强、近天花板 92.3/82.1 95.2/89.3 完整指南集 +2.9 +7.2
GLM-5(745B MoE) 已饱和 87.5/80.4 87.5/80.4 完整指南集 0.0 0.0

三种模式对应三种给药策略:

  1. 有余量的强模型:有能力吸收并应用全部指南(包括罕见的边界案例),给完整指南集收益最大;
  2. 弱模型/小模型:指南集太大反而"淹没"模型,精选检索效果最好;
  3. 已饱和模型:加记忆无可观察增益,别浪费额外上下文。

注意一个反直觉点:决定模型属于哪种模式,不是单纯看参数量,而是基准余量、上下文窗口大小、架构、指南质量和任务分布共同作用的结果。论文也承认,隔离这些因素还在进行中。

四、token 开销:最好的策略恰好是最便宜的

记忆不是免费的,先看三组数字:

模型 配置 基线 token/任务 加记忆后 额外开销
DeepSeek-V3.2 完整指南集 148K 263K +78%
gpt-oss-120b 完整指南集 110K 166K +51%
gpt-oss-120b 精选检索 110K 116K +5%

对比 gpt-oss-120b 的两行最有意思:同样拿到 +16.1 个百分点的 TGC 增益,完整注入多花 51% token,精选检索只多花 5%。对弱模型来说,最省钱的方案恰好是效果最好的方案。

五、给 Agent 开发者的四条实践建议

  1. 按模型能力校准记忆剂量,不要一刀切:弱模型给"紧凑核心 + 少量任务相关指南",有余量的强模型保留完整指南集,已饱和模型先不加。
  2. 重视 prompt caching:指南集的静态部分在每一步之间是相同的,可以被缓存;保持共享指南集前缀稳定,是值得投入的工程优化。
  3. 用 SGC 而不是 TGC 评估记忆效果:更严格的指标往往显示更大的增益(DeepSeek 的 SGC +16.1 对 TGC +9.5),因为好指南特别能帮智能体通过场景的每一个变体。
  4. 记忆不会拖慢推理循环:带记忆与不带记忆的 ReAct 步数相近(约 18-19 步),额外成本来自输入 token 膨胀,而不是更长的轨迹。

六、一个最小实现示意

下面是一个示意实现(非官方库 API,结构参考论文的注入配置),演示 curated retrieval 怎么组装:

python 复制代码
CORE_GUIDELINES = load_core_guidelines()   # 固定高置信度核心指南

def build_prompt(task: str, trajectory: list[dict]) -> str:
    # 1. 从历史轨迹中按相似度检索与当前任务相关的指南
    related = retrieve_by_similarity(task, trajectory)   # 余弦相似度排序
    # 2. 组装记忆块:固定核心取前 5 条 + 检索出的前 3 条
    memory_block = render(CORE_GUIDELINES[:5] + related[:3])
    # 3. 注入系统提示,再拼接当前任务,返回完整 prompt
    return f"{memory_block}\n\n当前任务: {task}"

解释:load_core_guidelines() 返回固定核心,保证每次请求的记忆前缀一致、可被缓存;retrieve_by_similarity(task, trajectory) 返回按相似度排序的候选,只取前 3 条控制体积;render() 把规则列表拼成一段文本;返回值是注入后的完整 prompt。实际生产里,核心部分应该抽成公共前缀以最大化缓存命中。

七、局限与未来方向

当前检索用余弦相似度排序,并不完美预测哪条指南真正有用,训练一个基于结果信号的选择器是论文点名的下一步;对能力低于最低基线的模型,自蒸馏缺乏信号,需要探索教师蒸馏;实验目前只在 AppWorld 上验证过;上下文窗口与原始能力的影响也还没有隔离实验。

小结

智能体记忆的正确用法不是"积累",而是"校准"。这次评测最大的价值,是把"该给智能体喂多少经验"从玄学变成了有数据支撑的决策:先判断模型处在哪种模式,再决定给完整指南集、精选检索,还是干脆不加。动手加记忆之前,先想清楚你的模型属于哪一类。

相关推荐
weixin_471383035 小时前
19 Prompt 进阶——系统讲解
prompt
来让爷抱一个5 小时前
拯救我的“烂尾“项目:我用MonkeyCode把五个AI热点实践了个遍
网络·数据库·人工智能·prompt·ai编程
TizzyGoodhealth6 小时前
从零到一搭建Spring‑AI原生Tool‑Calling AI Agent|架构对比+完整实战源码+踩坑实录
java·ai·知识库·rag·ai agent·spring ai
绵满14 小时前
"LatentMem: Customizing Latent Memory for Multi-Agent Systems" 论文笔记
多智能体·智能体记忆
新知图书17 小时前
7.1 需求分析与规划 《AI Agent智能体开发实践》
人工智能·agent·ai agent·智能体
大模型丫丫20 小时前
RAGFlow:开源、可深度定制的企业级 RAG 应用开发引擎
开源·rag
CSharp精选营1 天前
DeepSeek Harness 爆火但安装劝退?一键启动器来了,不懂编程也能用
本地部署·ai agent·一键启动·deepseekharness·dsh·非技术友好