📑 本文目录
AutoMem论文解读:把记忆管理变成可训练技能,32B模型击败Claude Opus 4.5
记忆不是模块,而是技能
LLM Agent领域有一个被忽视的问题:记忆管理是手动设计的,而且设计得很差。
当前主流方案——滑动窗口、向量检索、摘要压缩——本质上都是”固定管道”。Agent无法自主决定什么值得记、什么时候该查、记错了怎么改。这就像给人一个笔记本但不教他怎么做笔记:可能记了一堆废话,关键信息反而漏掉。
Stanford 2026年7月的论文 AutoMem: Automated Learning of Memory as a Cognitive Skill(arXiv 2607.01224)提出了一个根本性的视角转换:
记忆管理是一种可学习的认知技能(cognitive skill),而不是一个固定的架构模块。
这个观点来自认知科学的”元记忆”(metamemory)概念——人类知道什么值得记住、什么时候去检索、如何组织知识,这是一种后天习得的能力。AutoMem把这个能力赋予LLM。
核心设计:文件系统即记忆,操作即动作
AutoMem的底层设计异常简洁:
将文件系统操作提升为一等公民的动作(first-class actions),和任务动作处于同一动作空间。
Agent 的每次 forward pass 可以选择:
├── 任务动作(gameplay actions):移动、攻击、使用道具...
└── 记忆动作(memory operations):
├── READ — 读取记忆文件
├── WRITE — 覆盖写入
├── APPEND — 追加内容
├── SEARCH — 搜索已有记忆
├── CREATE — 创建新记忆文件
└── UPSERT_MAP — 坐标去重更新(论文中由优化器自动发明的操作)
关键在于同一个模型、同一次前向传播同时决定”做什么”和”记什么”。这不是外挂的检索模块,而是内化的记忆决策。
这和Hermes Agent的skills/memory/session_search三层架构形成有趣对照:
| Hermes(工程实现) | AutoMem(学术论文) | 共同点 |
|---|---|---|
memory 工具(MEMORY.md/USER.md) | <|APPEND|> / <|WRITE|> 操作 | Agent自主决定写入什么 |
skill_manage 工具(技能创建/更新) | 脚手架优化(scaffold optimization) | 记忆结构本身可进化 |
session_search 工具(历史检索) | <|SEARCH|> 操作 | 主动检索而非被动注入 |
| Cron定时任务 + 自我进化引擎 | meta-LLM 外循环审查 | 用强模型审查行为轨迹 |
Hermes用工程手段(60个skills + 持久记忆 + cron调度)实现的东西,AutoMem用学术框架(可训练的记忆操作 + meta-LLM优化)给出了理论基础和自动化路径。
双外循环:自动优化两个维度
记忆技能有两个可提升的维度,AutoMem用两个自动化的外循环分别处理:
外循环 1:脚手架优化(Structure Loop)
目标: 优化记忆的结构支撑——prompt、文件schema、操作词表。
做法: 用一个强LLM(meta-LLM,如Claude Opus)审查Agent的完整episode轨迹(可能长达10000步),诊断记忆使用中的失败模式,然后自动修改Agent的脚手架代码。
论文给出了一个精彩的例子(NetHack游戏):
v0(初始脚手架):
dungeon_map.txt — append-only, 无界增长
问题: Agent反复经过同一坐标,每次都APPEND一条记录
→ 文件膨胀,重复条目堆积,SEARCH效率暴跌
v1(优化器自动发明):
新增 <|UPSERT_MAP|> 操作 — 坐标去重更新
同一坐标(x,y)的新观察覆盖旧记录,不再追加
→ 文件大小稳定,信息密度提升
这个UPSERT_MAP操作不是人工设计的,而是meta-LLM审查轨迹后自动提出的。优化器还自动添加了strategy.txt、inventory.txt、encounters.txt等专用记忆文件——这些都是Agent在实际任务中需要的但人类未必想得到的结构。
外循环 2:能力训练(Proficiency Loop)
目标: 提升模型使用记忆操作的熟练度。
做法: 从大量episode中筛选出Agent”做对了”的记忆决策(由meta-LLM判断),作为监督训练数据,LoRA微调一个专用的记忆模型。
关键设计:任务模型(gameplay model)权重冻结,只训练记忆模型。
┌─────────────────────────────────────────┐
│ Shared Action Space │
│ │
│ Task Model (FROZEN) Memory Specialist (TRAINABLE)
│ ├── 决定游戏动作 ├── 决定记忆操作
│ ├── 权重不变 ├── LoRA 微调
│ └── 保护已有能力 └── 专攻记忆决策
│ │
│ 同一个 forward pass 输出两类动作 │
└─────────────────────────────────────────┘
这个分离设计确保记忆训练不会破坏Agent已有的任务能力——记忆增益干净地叠加在脚手架增益之上。
实验结果:32B模型击败前沿大模型
在BALROG benchmark的三个长程游戏环境上,AutoMem的效果惊人:
| Agent | Crafter(%) | MiniHack(%) | NetHack(%) |
|---|---|---|---|
| 前沿闭源模型 | |||
| Gemini-3-Pro | 57.3 | 40.0 | 6.8 |
| Gemini-3.1-Pro-Thinking | 55.0 | 27.5 | 2.6 |
| Claude-Opus-4.5 | 49.5 | 27.5 | 2.0 |
| Gemini-2.5-Pro | 55.0 | 17.5 | 1.7 |
| 开源基线 | |||
| DeepSeek-R1 | 36.4 | 25.0 | 1.4 |
| Qwen2.5-72B-Instruct | 27.3 | 5.0 | 0.3 |
| Qwen2.5-32B + 滑动窗口 | 19.6 | 2.5 | 0.0 |
| Qwen2.5-32B + CoT | 17.3 | 10.0 | 0.0 |
| AutoMem (Qwen2.5-32B) | |||
| v0(文件系统记忆,无优化) | 25.0 | 7.5 | 0.4 |
| + 脚手架优化(Loop 1) | 47.3 | 27.5 | 1.6 |
| + 记忆训练(Loop 2) | 51.4 | 30.0 | 1.9 |
三个关键发现:
1. 记忆优化比模型缩放更高效。 Qwen2.5-32B + AutoMem(51.4%)全面碾压 Qwen2.5-72B(27.3%)——参数翻倍只涨8个百分点,记忆优化涨了32个百分点。
2. 32B开源模型追平前沿闭源。 AutoMem的32B在Crafter上达到51.4%,接近Claude Opus 4.5(49.5%)和Gemini-3-Pro(57.3%)。开源与闭源的差距可以通过记忆优化大幅缩小。
3. 两个循环各有贡献。 脚手架优化贡献了主要增益(v0→v5: 25→47),记忆训练再叠加9-18%相对增益(47→51)。两者是互补关系。
从游戏到交易:对量化Agent的启示
AutoMem的实验环境是游戏(Crafter/MiniHack/NetHack),论文明确指出局限:记忆是episodic的(每局开始清空),未验证跨episode的持久记忆。
但这篇论文对交易Agent的启示是直接的——交易是典型的长程、信息密集任务,和游戏环境高度相似:
| 游戏环境 | 交易环境 | 记忆需求共性 |
|---|---|---|
| 地图探索(10000步) | 市场数据流(数千根K线) | 必须记住关键位置/价格 |
| 怪物遭遇记录 | 交易日志(盈亏、错误) | 从历史决策中学习 |
| 道具组合策略 | 因子组合策略 | 组织和检索策略知识 |
| 每局随机种子 | 每段行情不同 | 预训练知识不能直接迁移 |
| 生存目标 | 风险控制 | 长程规划能力 |
启示1:记忆结构应该自动进化,而非手动设计
Hermes当前的做法是手动维护60个skills + MEMORY.md + USER.md——相当于AutoMem的v0脚手架。这已经比裸LLM强很多,但距离v5(自动优化后的脚手架)还有很大差距。
可落地的方向: 用meta-LLM审查交易Agent的完整session轨迹,自动发现记忆结构的缺陷。例如:
- Agent反复在同一个因子上踩坑 → 说明记忆中没有清晰的”因子陷阱清单”
- Agent每次都要重新推导相同的回测参数 → 说明参数记忆组织不合理
- Agent对同一板块的公司基本面反复查询 → 说明知识库索引低效
启示2:记忆操作应该是Agent自主的决策
当前Hermes的记忆是被动注入的——MEMORY.md每轮自动塞入system prompt,不管这次对话需不需要。AutoMem证明,让Agent主动决定何时检索、何时写入的效果远好于被动注入。
当前模式(被动):
每轮: system_prompt += MEMORY.md 全文(2200字符)
问题: 与当前任务无关的记忆也占用context,浪费token
AutoMem模式(主动):
Agent判断: "这个因子计算上次出过错,让我SEARCH一下"
→ 主动调用 session_search("因子计算错误")
→ 只获取相关信息,精确且节省context
可落地的方向: 将MEMORY.md从”全量注入”改为”按需检索”。Agent在需要时主动查询记忆,而非每轮被动接收全部历史记忆。Hermes的session_search和memory工具已经具备这个能力,关键是改default行为。
启示3:记忆可以独立训练
AutoMem最反直觉的发现是:只训练记忆模型(冻结任务模型),任务表现也会大幅提升。 论文解释:更好的记忆组织减少了冗余探索和无效行动,即使你没有直接优化任务策略。
这意味着,对交易Agent而言,记忆系统的质量是比模型参数量更高杠杆的优化目标。 一个72B的”健忘”Agent可能不如一个32B的”好记性”Agent。
局限性与未解决问题
论文坦率列出了三个局限:
-
Episodic记忆,非持久记忆。 每局开始文件系统清空。而交易Agent需要跨session、跨周期的持久记忆——昨天学到的教训今天必须记得。这正是Hermes的MEMORY.md+skills+wiki架构要解决的,但AutoMem没有覆盖。
-
仅在游戏环境验证。 论文承认”该方法也可应用于真实世界、信息密集型任务”,但没有做实验。从游戏到交易涉及诸多工程挑战——数据格式、API调用、错误处理、合规约束。
-
每个环境单独优化。 Crafter/MiniHack/NetHack各有独立的脚手架和记忆模型。能否训练一个通用记忆技能跨环境迁移?未解决。
此外,从量化交易实践者的角度,还有几个问题论文没回答:
- 记忆冲突如何处理? 当新信息(“这个因子有效”)和旧记忆(“这个因子无效”)矛盾时,UPSERT会直接覆盖。但交易中市场状态会变——因子在牛熊市的有效性不同。需要带时间戳和状态标签的记忆版本管理。
- meta-LLM审查成本。 审查一个10000步的轨迹需要大量token。如果每天审查数百个交易session,成本和延迟如何控制?
- 记忆安全性。 记忆文件可能被污染(prompt injection通过工具结果写入恶意记忆)。AutoMem没有讨论记忆可信度问题。
总结:记忆是下一个优化前沿
AutoMem论文最大的贡献不是某个具体技术,而是一个认知视角的转变:
记忆不是一个组件,而是一种能力。不是设计出来的,而是训练出来的。
当前LLM Agent领域的竞争集中在”谁的模型更大、谁的工具更多”。AutoMem指出了一条被忽视的路径:优化记忆管理本身,可能是比堆参数更高杠杆的投资。
对于正在使用Hermes或类似Agent框架的实践者,这篇论文的启示可以总结为一句话:
与其换一个更大的模型,不如让现有的模型学会更好地记事。
论文信息:
- 标题:AutoMem: Automated Learning of Memory as a Cognitive Skill
- 作者:Shengguang Wu, Hao Zhu, Yuhui Zhang, Xiaohan Wang, Serena Yeung-Levy
- 机构:Stanford University
- arXiv:2607.01224(2026年7月)
- 项目主页:https://autolearnmem.github.io/
相关阅读: