当被 LLM 持续更新时,有用的记忆会变得有缺陷(30 分钟阅读)
摘要
这项研究表明,即使基于真实解进行训练,通过蒸馏和巩固循环持续更新 LLM 智能体记忆也会导致性能倒退。研究发现,仅保留情景记忆优于基于文本的巩固,突显了当前自我改进范式的重大缺陷。
智能体更新并不总能让记忆更有用。它们实际上可能导致智能体的表现比完全没有记忆的同模型更差。问题出在重写步骤。在智能体能够决定何时以及如何巩固之前,最安全的默认做法是保留情景记忆,并谨慎进行抽象,或者完全不抽象。
查看缓存全文
缓存时间: 2026/05/11 18:33
# 有用的记忆在由 LLM 持续更新时会变得不可靠 来源:https://dylanzsz.github.io/faulty-memory/
TL;DR
- 目前流行的**提炼经验 → 存储为文本 → 后续重写**配方,*并非*可靠的自我提升引擎。
- 将真实解决方案通过整合循环流式输入后,GPT-5.4 在 54% 的 ARC-AGI 问题上失败,而这些问题在零记忆状态下它此前曾完美解决。
- 相同的轨迹在不同调度下会产生不同的记忆——故障出在*重写步骤*,而非数据本身。
- 一个**仅凭情节(episodic-only)**的智能体——即*选择性*保留和删除原始轨迹、禁用抽象提取——其表现能匹敌或超越我们测试过的所有整合器。
关键在于精心筛选的原始证据,而非未经过滤的洪水般的数据流。
## 范式
近期的一系列研究为 LLM 智能体配备了一个笔记本。在解决问题后,智能体会将轨迹*提炼*成文本课程,存入持久化记忆;下次遇到类似问题时,再检索并复用\[refs\]。
这个概念极具诱惑力:*无需*参数更新即可实现持续的自我提升。智能体的“权重”不过是它能读写编辑的文本。记忆不断扩充,经验不断累积,准确率随之上升。
我们在五个智能体基准测试(ALFWorld, ScienceWorld, WebShop, AppWorld, Mind2Web)以及我们在 ARC-AGI 之上构建的控制流上进行了端到端的循环测试。结果却未能印证这一设想。
## 智能体在已解决的任务上出现性能回退
选取 19 个 ARC-AGI 问题,GPT-5.4 在无记忆状态下能以 **100%** 的准确率解决。将这些完全相同的问题通过整合循环流式输入,并在每一步都提供**真实解决方案(ground-truth solutions)**。
ARC-AGI 流式输入:随着从真实解进行记忆整合,GPT-5.4 的准确率从 100% 暴跌至 54%。**同一道题解了两次,第二次反而更差。**无记忆状态:100%。在从*这些题目本身的真实解决方案*进行整合后,GPT-5.4 的准确率降至 **54%**。
轨迹是完美的;出问题的恰恰是重写步骤。“记忆故障”并不是“数据噪声”的委婉说法。数据本身是干净的。智能体确实看到了正确答案。正是将这些正确答案压缩为可复用课程的行为,让它忘记了如何解题。
## 衰退的形态
## 记忆效用随更新呈非单调变化。
而且,它们的起点并不差。我们使用测试过的最强模型(GPT-5.4)在最干净的“静态分组(Static-Group)”调度下,为一个 ALFWorld 记忆库做了种子初始化。随后在相同的轨迹池上,使用更小的模型继续更新它。涉及三种不同的求解器(Qwen3.5-{27B, 9B, 4B})。
形态一致:在持续整合下,ALFWorld 的效用 across solvers 衰减。**强大的记忆并非不动点(fixed point)。**在同一轨迹池上持续整合,会拖垮所有三种求解器的效用,有时甚至在连续步骤间出现灾难性下跌。
## 故障在于重写,而非数据
## 相同的轨迹会根据输入方式的不同,产生不同的记忆。
固定轨迹池。*仅*改变整合调度(consolidation schedule)。输出的记忆在质上发生变化,下游得分也随之改变。
**三者中表现最佳的。**当整合器每次只能看到某个任务族的干净批次时,它实际上有机会提取潜在的规律结构。这是最干净的离线设置。
尽管使用完全相同的轨迹池,Static-Group、Static-All 和 Stream 调度却产生了截然不同的结果。**相同的轨迹,三种调度,三种不同的记忆。**流式输入(Streaming)——即持续部署的智能体实际面临的调度——表现最差。为何这很重要?
在这三次运行中,轨迹池是*完全相同*的。由此产生的记忆无论出了什么问题,都不能归咎于智能体收集的数据。问题必然出在整合步骤本身。
## 三种故障模式
## 为什么重写会出错?我们隔离了三种机制。每一种都会将整合循环从“积累”变成“有损重写”。
01 ### 错误分组(Misgrouping)
在进行抽象之前,整合器需要决定*哪些情节属于同一组*。当被迫在每一步都进行整合时,它会将底层结构关联甚微的情节混合在一起。在 ARC-AGI 流式输入上强制整合时,模型频繁地跨不同问题类别合并记忆条目。如果赋予其自主权,它最终会收敛到一个干净的情节存储器,涵盖全部 6 种问题类型——但前提是已经历了 568 个样本。*分段能力是存在的。强制重写覆盖了它。*
逐字记忆条目 GPT-5.4 · 强制整合 · ARC-AGI Stream
**使用条件:**一个大型空心矩形框将某些物体圈在其中,而其他物体则位于框外……在被保留的内部物体中,单个特殊单元格会根据其与框外匹配物体的关系发生改变,通常当外部物体与内部物体形状相同时会发生这种情况。
**策略:**… (5) 对于每个内部物体,寻找具有相同形状特征的外部物体… (6) 如果内部物体存在这样的外部匹配对象,则用外部物体的颜色标记该内部物体边界框的中心单元格。
高亮部分为*外来家族注入(foreign-family injections)*:形状特征查找属于*按形状分组(group-by-shape)*家族,标记颜色写入属于*键标记(key-marker)*家族。两者均不属于内部框源任务。整合器拼凑出了一个现实中没有任何家族规定过的复合规则。
在强制整合下,误分类数量急剧上升。强制整合下的误分类计数:来自不同家族的情节被合并为单一条目。
02 ### 干扰(Interference)
每次抽象过程都会平滑现有条目。当切分边界不精确时,重写会**剥离适用条件**:原本仅适用于 Pick&Place 的经验,会被解读为广泛适用,从而误导 Pick-Clean-Place。
在包含 15 个任务的 ScienceWorld 切换序列中,*仅*针对当前任务提炼记忆(“Fresh”),比跨所有历史任务联合整合(“Cumulative”)高出 **203 分**。LLM 评审员对每个条目进行标注:Cumulative 积累过度泛化记忆的速度是 Fresh 的 **~5 倍**,积累纯垃圾记忆的速度则是 **~20 倍**。
逐字记忆条目 ScienceWorld · 过度泛化
在状态变化任务中,使用打火机、火源或烤箱 MAY BE NECESSARY 以改变食物或物质的状态。
读起来似乎广泛适用。但许多状态变化任务需要的是冷却、冷冻或融化。适用条件已被剥离:这条经验现在会诱导智能体在热量无关甚至有害的任务中倾向于使用热源。
在 ScienceWorld 15 任务序列上,Cumulative 整合比 Fresh 落后 203 分。Fresh vs Cumulative:轨迹相同,整合范围不同,203 分差距。
03 ### 过拟合(Overfit)
当输入分布*收窄*而非拓宽时,抽象过程会过拟合于所见实例的表面规律,而非底层策略。记忆能识别完全重复的情况,但在同一家族的近似变体上就会失败。
我们在整合循环中,向智能体输入来自单一 ARC-AGI 策略家族的任务。在完全重复的任务上,性能保持稳定;但在同一家族的微小变化上,性能便会崩溃。
“经验”变成了对具体例子的描述。
同源,相差 50 次重写 GPT-5-mini · “重新着色最大的物体”
Round 1 从输入中识别并提取结构化元素 → 计算全局指标(如最大尺寸) → 遍历元素并选择性地应用针对性编辑
Round 50 找到每个物体衍生数值属性的最大值,并对属性等于该最大值的每个物体应用统一的变换。
Round 1 明确了实际的筛选器“最大尺寸”——这是求解器可以计算的属性。Round 50,在对同一任务的同一谱系进行 49 次重写后,擦除了它:该条目不再记录*应该最大化哪个*属性。
ARC 过拟合:完全重复的准确率保持稳定,而近似变体的准确率崩溃。狭窄的数据流产生的记忆只能识别见过的案例,遇到邻居变体就失败。
## 题外话(面向认知科学爱好者)
## 这正是双系统记忆(dual-system memory)旨在防止的现象。互补学习系统理论\[refs\]指出,大脑保持快速的情节存储和缓慢的图式(schema)形成存储,*架构上相互独立*,整合过程由图式匹配度*门控(gated)*,而非在每个事件发生时都触发。将两者合并为一个强制重写循环,你就会得到双系统原本设计用来避免的那种干扰灾难。
如今的智能体记忆设计将这两者混为一谈。解决任务的那个 LLM,在每一步都会毫无门控地重写自己对该任务的记忆。我们的发现正是这一预测在实践中的具象化。
## 案例
## 现实中的故障记忆。来自真实整合运行的三个真实产物。逐字记录,无编辑,仅选择性高亮。
案例 1 ### 19 个 ARC 任务坍缩为单一操作手册
GPT-5.4 · 涵盖 6 个家族的 19 个任务 · 10 轮(190 步) · 每步均含真实代码
经过十轮后,整个记忆库仅包含*一个*条目。不是知识库。甚至不是五个条目。只有一个。
190 次整合步骤后记忆中仅剩的唯一条目
提取连通物体,选择最大的作为边框,根据其他物体的边界框是否严格位于该边框内部对其进行分类,擦除边框及所有外部物体,然后将内部每个物体就地空心化,将其内部转为颜色 0 同时保留其边界。
内部逻辑自洽。读起来像一条合理的经验。问题在于:源数据池跨越了*六个*家族,而该条目仅描述了*其中一个*。其余五个家族对智能体而言变得不可见。
现在交给智能体一个保留任务(held-out task),其真实规则是“擦除所有颜色为 6 的物体”。这与内部边框逻辑毫无关系。在无记忆状态下,同一模型能以 10/10 解决它:
Without memory 10 / 10
```
def solve(grid):
# The transformation removes every connected
# component of color 6.
out = [row[:] for row in grid]
for obj in extract_objects(grid):
if obj["color"] == 6:
for r, c, in obj["cells"]:
out[r][c] = 0
return out
```
With memory 0 / 10
```
def solve(grid):
# Keep only non-frame objects; frames are the
# largest connected components.
h = len(grid); w = len(grid[0]) if h else 0
objs = extract_objects(grid)
if not objs:
return [row[:] for row in grid]
frame = max(objs, key=lambda o: o["size"])
fb = frame["bbox"]
out = [[0] * w for _ in range(h)]
for obj in objs:
if obj is frame:
continue
bb = obj["bbox"]
inside = (bb["top"] > fb["top"] and bb["bottom"] < fb["bottom"] and bb["left"] > fb["left"] and bb["right"] < fb["right"])
if inside:
for r, c, in obj["cells"]:
out[r][c] = obj["color"]
for obj in extract_objects(out):
apply_hollow(out, obj, fill_color=0)
return out
```
带记忆求解器的第一条评论逐字复现了该条目。代码遵循了条目的“边框-空心化”配方:按尺寸选择边框,复制内部物体,将其空心化。在此输入上,没有标记通过严格内部检查,画布保持为空。**这段记忆将 10/10 的求解器变成了 0/10 的求解器。**
案例 2 ### 累加式坍缩:8 个工作流变成 16 个冗余项
WebShop 上的 AWM · 128 条专家轨迹 · gpt-5.4-mini · 3 个 epoch
第 1 个 epoch 结束后,记忆文件包含 8 个抽象工作流模板。到第 3 个 epoch 时,它包含了 16 个。新增的 8 个(高亮部分)并非新模式。它们只是相同的模板,仅钉入了一个特定产品类别:
AWM 工作流标题,epoch 3 ~8.2k 字符 · 逐字记录
1. W1. 通过富含属性的查询进行搜索。 2. W2. 打开候选商品检查选项。 3. W3. 购买前选择所需属性。 4. W4. 购买前选择所需尺寸、颜色及其他变体选项。 5. W5. 搜索并选择具有特定版型(fit type)的服装变体。 6. W6. 搜索并选择家居装饰变体。 7. W7. 搜索并选择多部件服装尺码变体。 8. W8. 当初步结果不匹配时跨页搜索。 9. W9. 购买前选择服装颜色、尺寸及合身度/订单特定变体。 10. W10. 购买前选择非服装口味和尺寸变体。 11. W11. 购买前选择包装数量和颜色变体。 12. W12. 搜索并选择家居用品的颜色、尺寸和形状变体。 13. W13. 搜索并选择具有特定颜色和尺寸的鞋子。 14. W14. 搜索并选择服装颜色、尺寸并进行购买。 15. W15. 搜索并选择电子产品内存/存储变体。 16. W16. 搜索并选择运动服或高性能上衣变体。
W9 只是 W3 + W4 + W5 的缝合体。W10–W16 是相同的“先搜索后选择变体”模板(W1–W4),仅钉入一个产品类别(食品、包装数、家居用品、鞋子、服装、电子产品、运动服)。没有新的控制流,没有新的守卫条件,没有新的停止标准。*八个新条目争夺检索带宽,却未增加任何通用性。*
而且这并非无害。仅移除**一个**工作流(W8,“当初步结果不匹配时跨页搜索”),gpt-5.4-mini 的胜率就从 7/50 升至 14/50,gpt-5-mini 从 18/50 升至 23/50——因为 W8 会使智能体偏向于死循环 `click[Next >]` 序列,从而牺牲了 `click[Buy Now]`。
案例 3 ### ScienceWorld:记忆腐烂的三种风味
LLM 评审员将记忆库中的每个条目标注为*过度泛化*、*过度特化*或*无用垃圾*。点击标签页查看各自的逐字记录。
按顺序观察所有生命周期阶段MAY BE NECESSARY才能完成海龟阶段任务。按顺序观察所有生命周期阶段MAY BE NECESSARY才能完成飞蛾阶段任务。在状态变化任务中,使用打火机、火源或烤箱MAY BE NECESSARY以改变食物或物质的状态。聚焦于目标物质SHOULD BE NECESSARY以改变其状态。
前两个条目彼此是同义改写(paraphrases)——整合器写了两次相同的经验,仅粘上了不同的任务标签。这些条目中没有一个明确指出求解器可用于选择动作的实际属性。
LLM 评审员运行总计:Cumulative 积累过度泛化和垃圾记忆的速度远快于 Fresh。在**Cumulative**整合下,过度泛化和垃圾记忆的累计计数几乎立即与**Fresh**产生偏离且永不恢复。
案例 4 ### 仅一次整合步骤,50 项记忆坍缩为 1 项
ALFWorld · gpt-5-nano 整合器 · stage 168 → 169 · 上限 50 项
在 stage 168 时,记忆包含 50 个结构化条目,约 48k 字符,每个涵盖一个独特的见解(任务分类、状态变化捷径、看光协议、多物体配方)。
仅经过一次整合步骤后,在 stage 169 时,记忆仅包含**一个条目**:
Stage 169 记忆 · 1 项 · 1,960 字符 · 逐字记录(一次合并步骤后)
使用单一、可重复的循环来处理清洁、冷却、加热和看光任务中的单物体与多物体任务。1) 系统性地搜索房间常见来源... 2) 拾取每个目标;如果需要状态变化(用冰箱冷却 X,用微波炉加热 X,或用水槽清洁 X),在手持状态下执行... 3) 导航至目的地... 4) 放置物体... 5) 如果两个相同物体必须去同一目的地... 6) 如果物体初始位置就在目的地... 7) 管理干扰项... 8) 完成一批后... 9) 看光特定扩展:锚定中央台灯位置,将目标与台灯并置... 10) 需避免的陷阱...
在 stage 168 中作为独立条目存在的冷却与加热不对称性(冷却无需插入;加热需要)已消失。双物体穿梭默认规则已消失。看光协议现在变成了第 9 步中的一个半句子子句。
下一次评估的代价,对比同一记忆的 stage-168 快照:
| Rollout | No memory | Stage 168 (50 items) | Stage 169 (1 item) | Δ |
|---|---|---|---|---|
| Qwen3.5-4B | 15/48 | 35/48 | 29/48 | −6 |
| Qwen3.5-9B | 15/48 | 36/48 | 26/ | |
相似文章
@dylan_works_: 写了一些我最近一直在研究的有趣发现:当 LLM agent 反复将自身经历改写成文本形式的“经验……
这篇研究博客文章表明,反复将 LLM agent 的经历改写成文本形式的“教训”往往会降低性能,而非提升性能。作者发现,在 ARC-AGI 和 ALFWorld 等基准测试中,情景记忆保留的效果优于抽象巩固。
从回想到遗忘:为个性化智能体评估长期记忆
研究者推出 Memora 基准,衡量大模型在持续数周至数月的对话中保留、更新与遗忘用户长期记忆的能力,发现模型常复用已失效记忆。
@omarsar0: // LLM 智能体中的记忆诅咒 //(建议收藏)过长的历史记录显然会导致智能体性能下降,因为它们变得越来越…
本研究论文揭示了 LLM 智能体中的“记忆诅咒”现象,证明扩大的上下文窗口会通过削弱前瞻性意图,系统性地破坏多智能体社会困境中的合作行为。作者表明,通过定向微调、合成记忆净化以及减少显式思维链(Chain-of-Thought)推理,可有效缓解此类行为衰退。
当存储证据不再可用时:Agent 记忆的条件规模评估
本文提出了一种针对 Agent 记忆的条件规模评估协议,分析随着无关会话的累积,可靠性如何下降。该研究识别了不同记忆接口和大型语言模型(LLM)下的特定失效区域和可用规模边界。
从存储到经验:大语言模型智能体记忆机制演进综述
本综述论文提出了一种大语言模型(LLM)智能体记忆机制的演进框架,将其发展划分为三个阶段:存储、反思和经验。文章分析了长程一致性和持续学习等核心驱动力,旨在为下一代智能体的设计提供指导原则。