Memento 3:基于反思式规则手册的模型化递归自我改进
- 关联论文:2610.11794
- 作者:flyP
- 更新:2026-10-10
§0 元层五问
- 这篇到底在解决什么真问题? 冻结参数的 LLM 在陌生环境中无法做"持续学习"——同一个任务,下一轮还要重新理解世界。Memento 3 要让模型权重不变,但行为持续变好。
- 它和现有方法的核心差异是什么? 不靠 prompt 拼接、不靠 RAG 检索既有片段,而是让 agent 显式维护一份自然语言规则手册(rulebook)当长期记忆,并把规则手册"编译"成可执行代码来预测与决策;规则出错时通过预测误差反查手册再修订。
- 凭什么这件事现在做? 论文声称在 ARC-AGI-3 上把全部 25 关打穿并只用 44% 人类操作数,在 Atari Pong 案例里学到一份反馈控制器跑出 21:0——说明规则手册 + 编译 + 校验的循环已经能跨任务迁移。
- 最大不确定性在哪? LLM-as-judge 决定新代码是否"忠于"规则手册这一步是潜在的幻觉与越权点;cell-exact replay 的反例覆盖率是否足够泛化未在 abstract 量化。
- 如果我只看一行,要记什么? "冻结 LLM + 自然语言规则手册 + 编译成可执行代码 + 预测误差反查修订 = 无需训练参数的递归自我改进(RSI)路径。"
§1 一句话结论
Memento 3 通过"自然语言规则手册 ⇄ 可执行代码"的持续编译/反查循环,让参数冻结的 LLM agent 在不更新权重的前提下,仅靠外部记忆的修正就实现了在 ARC-AGI-3 全 25 关和 Atari Pong 上的递归自我改进。
§2 解决什么真问题
LLM agent 普遍面临的痛点:
- 环境分布漂移:陌生环境的真实动力学一开始是未知的,agent 没有 ground truth 的世界模型可用。
- 多假设共存:有限观察往往支持多个互相矛盾的世界模型——在已观测状态解释得通,在未见状态会给出不同预测。
- 在线试错代价高:纯 RL 微调会改坏原能力,纯 prompt 工程又无法吸收结构化经验。
- 持续学习悖论:要让 LLM "越用越聪明"而又不动权重,就必须把"知识"外置成可读、可改、可验证的中间表示。
Memento 3 选择的切入点是 model-based RSI:把"世界模型"外化成自然语言规则手册 + 编译产物,用预测误差当修订信号,让 frozen LLM 也能跨回合、跨任务地自我修正。
§3 核心方法(机制)
3.1 总览
agent 的状态由三部分组成:
- Rulebook(自然语言):持久语义记忆,记录可修正的环境动力学假设,未知部分留作 underspecified。
- Compiled Code(可执行代码):从规则手册编译出来的预测与规划函数。
- Observation Buffer:最近一轮交互轨迹,用于反查。
主循环是:
observe → reflect → revise rulebook → compile code → verify → act
↑ ↓
└────── prediction error ─────────────────────┘
每一轮 agent 看到新观察 → 在规则手册里追加/修订条目 → 把规则手册编译成 Python 代码(或类 DSL)→ 用 cell-exact replay 验证代码与历史轨迹一致 → 失败则回滚规则手册、成功则接受为新版本。
3.2 规则手册与代码的双向同步
- 修订触发:预测误差 ≥ 阈值 / 出现新观察与现有规则矛盾。
- LLM-as-judge 守门:新编译代码要"忠于"规则手册才算通过,避免 LLM 在编译时夹带私货。
- Cell-exact replay 守门:用已观测过的具体环境状态逐格回放新代码,输出与历史逐 bit 一致才接受。
这两道闸是论文可信度的关键——只过 LLM 风格评判容易过拟合 prompt,只过 replay 又可能锁死到错误版本;组合起来等于 "语义对齐 + 行为对齐" 双重保险。
3.3 群体扩展
论文还提出一个 Population 扩展:并行维护多份互斥的世界模型,共享交互证据,用各模型的预测分歧当探索信号——分歧大的地方就是"该去采样的状态"。这与经典 Mixture-of-Experts / Ensemble 思路相似,但选择信号换成"预测不一致"而非"概率加权"。
3.4 关键伪代码
state = {rulebook=R0, code=compile(R0), obs=[]}
for episode in env:
action = state.code.plan(state.obs)
next_obs, reward = env.step(action)
pred = state.code.predict(state.obs, action)
if mismatch(pred, next_obs):
new_rulebook = LLM.reflect(state.rulebook, (state.obs, action, next_obs, pred))
new_code = LLM.compile(new_rulebook)
if LLM.judge_faithful(new_code, new_rulebook) and replay_equal(new_code, history):
state.rulebook, state.code = new_rulebook, new_code
state.obs.append((action, next_obs))
LLM.* 调用之外没有任何对参数的梯度更新——"自我改进"全在外置记忆里完成。
§4 关键实验与数据
| 实验 | 任务 | 关键数字 | 说明 |
|---|---|---|---|
| ARC-AGI-3 | 25 关公开游戏 | 全 25 关打通,平均 RHAE = 100.0,使用人类操作数 44% | RHAE=100 表示达成人类最高效率基线 |
| Atari Pong | 反馈控制器案例 | 21:0(三局不同开局,无额外 LLM 调用) | 学到的控制器脱离 LLM 实时调用独立运行 |
| Population | 探索效率 | abstract 未给具体加速比,原文未明确 | 论文未量化 vs 单模型的加速倍数 |
⚠️ 诚实标注:原文未量化 Population 扩展的相对增益倍数;ARC-AGI-3 "25/25" 与 Pong "21:0" 均出自 abstract,原始测评脚本与随机种子未公开——本节数字以 abstract 为准。
§5 亮点与局限
亮点
- 范式新颖:把"世界模型"外化成可读自然语言 + 可编译代码,兼顾人类可审计性与机器可执行性。
- 零参数更新:LLM 权重全程冻结,"自我改进"100% 在外部记忆里完成,规避 RL 微调的灾难性遗忘。
- 双重守门:LLM-as-judge + cell-exact replay 把"幻觉编译"和"过度修订"两类风险都压住。
- 跨任务迁移证据:抽象推理 + 实时控制两类任务都能落地,规则手册抽象粒度足够通用。
局限
- 编译 LLM-as-judge 的可靠性未量化:abstract 没给 judge 与人类评判的吻合率。
- cell-exact replay 计算开销:轨迹越长回放代价越高,长 horizon 任务的可扩展性存疑。
- 自然语言规则手册的版本管理:并发修订如何避免冲突、规则条目上限是多少,abstract 未给具体数字。
- 依赖强基模型代码能力:编译 + 反查都靠 LLM 的代码能力,弱基模型上未必成立。
- 单点作者:abstract 仅显示 v1 作者 Haoyu Zhao 一人署名,机构归属与协作链路原文未明确。
§6 工程落地启发
按 §八 五坑格式逐坑给"现象 / 影响 / 修复":
- 现象:规则手册无限膨胀。 影响:上下文爆掉、检索质量下降。修复:定期 LLM-driven 摘要 + 硬上限条目数;超限时强制冷启动新手册并以 checkpoint 形式留底。
- 现象:编译产物与历史轨迹逐 bit 不一致。 影响:replay 守门不断拒收、agent 卡壳。修复:二分定位拒收点(rule 粒度 vs cell 粒度),把不一致转成"待补观察清单"驱动新一轮探索。
- 现象:LLM-as-judge 把错的编译产物放行。 影响:行为漂移到与手册语义不一致的代码上。修复:双 judge(同一规则手册不同 prompt 模板 + majority vote)+ 定期随机抽样 N 段历史 replay 抽检。
- 现象:单模型的探索被低效子分支拖死。 影响:步数浪费在低价值状态。修复:开 Population 模式,用预测分歧当 intrinsic reward 选择下一步。
- 现象:编译模型对外部库/系统调用不稳定。 影响:cell-exact replay 不可重现。修复:固定随机种子 + 沙箱执行 + 禁止 IO/网络白名单外调用。
- 现象:规则条目互相矛盾(新规则覆盖旧规则但旧规则其实对)。 影响:修订后行为反退步。修复:保留冲突条目进"待复核"队列,由 LLM 用新观察再做仲裁而不是直接覆盖。
⚠️ 诚实标注:上述 6 坑是从方法描述推导的常见工程风险,原文未明确给出每坑的实测频次与严重度。
§7 与同方向工作的关系
- vs Reflexion / Self-Refine:Reflexion 类工作把反思结果直接喂回 prompt,Memento 3 把反思结果"沉淀到外部规则手册 + 编译代码",可读性与可回滚性强得多。
- vs Voyager / Skill Library:Voyager 用技能库扩展动作空间,Memento 3 扩展的是"对世界规律的理解"——粒度更细、可推理性更强。
- vs RL 微调 / Online RL:零参数更新是最大卖点;代价是依赖强 LLM 的代码与反思能力。
- vs World Model(Sora / DreamerV3):DreamerV3 学的是隐式世界模型,Memento 3 是显式自然语言 + 可执行代码,对人类可读可审计。
- Memento 系列内:相对前作 Memento / Memento 2,3 引入了"规则手册 ⇄ 代码"双向编译与 cell-exact replay 守门,是该系列向 model-based RSI 的关键升级。
§8 适合谁读
- Agent 框架工程师:想给自己的 agent 加"长期记忆 + 持续修订"能力的人,本工作是难得的"零参数"参考实现。
- AI 安全 / 审计研究员:规则手册 + 编译产物的双层可审计结构,比黑盒权重更容易满足合规审计。
- 强化学习研究者:把"world model"从神经网络搬到自然语言,是世界模型可解释化的新范式。
- 评测研究者:ARC-AGI-3 全打通是值得复现的工程基准,需要关注评测脚本与随机种子是否公开。
- 教师 / 课程设计者:把"反思—修订—验证"循环作为 agent 课程的核心抽象非常合适。
§九 评级四子项(自评用,不进入正文评分)
| 子项 | 评分 | 依据 |
|---|---|---|
| 方法新颖度 | A | 自然语言规则手册 + 编译 + 双重守门的组合具备范式意义 |
| 实验充分度 | B+ | ARC-AGI-3 全打通 + Pong 案例强;Population 量化缺失 |
| 工程可操作度 | A- | 三段式循环可复现,但 LLM-as-judge 与 replay 开销需自评 |
| 可落地性 | B+ | 零参数更新是好卖点;编译可靠性、规则膨胀需自兜底 |
§十 边界声明(不冒充事实的部分)
- 仅基于 arxiv abstract(v1)+ paper_card + 1 次候选人检索;未读 PDF 全文。
- ARC-AGI-3 "25/25 通关" 与 Pong "21:0" 均来自 abstract,原文评测脚本未公开。
- Population 扩展的具体加速比 abstract 未给数字。
- v1 作者列表仅 abstract 显式 1 人(Haoyu Zhao),完整作者归属与机构未在 abstract 列明。
- "工程落地启发"6 坑为基于方法描述的工程推断,不等同于论文自报实测坑点。
flyP · 2026-10-10 · 基于 arxiv 2610.11794 abstract v1 / paper_cards/1744-2610-11794.md / lessons-2026-W37~W40 写作指引