ACL 2026 · Agent Memory · 每日文献追踪
What Deserves Memory: Adaptive Memory Distillation for LLM Agents — 核心工作深度解析 + 五篇前驱回溯
记忆的价值不再由设计者的启发式(重要性打分、情绪标签、事实模板)来裁定,而由交互序列自身的预测误差来裁定——「存什么」第一次成为一个可从数据中读出的内生信号,而不是一个需要被人工编码的先验。
tabzhangjx.github.io/year-archive/ 本次返回抓取权限错误,未能程序化核对历史选题清单,去重仅依据任务提示中的排除名单。| 工作 | 官方出版页 | arXiv | 代码 | 数据集 |
|---|---|---|---|---|
| NEMORI (核心工作) |
ACL 2026 acl-long.1607 · PDF | arXiv:2508.03341 v1 2025-08-05 → v4 2026-04-16 |
nemori-ai/nemori 经站内检索确认存在;直接抓取被权限拦截,未逐文件核实 |
LoCoMo / LongMemEval-S |
| Generative Agents | UIST 2023(DOI 待核) | arXiv:2304.03442 | joonspk-research/generative_agents(待核) | 无公开 benchmark |
| MemoryBank | AAAI 2024(官方 proceedings 页未找到) | arXiv:2305.10250 | 未核实到可达仓库 | SiliconFriend 场景(未公开托管) |
| A-MEM | 未见主会出版记录 | arXiv:2502.12110(v9) | agiresearch/A-mem | LoCoMo |
| MemoryOS | EMNLP 2025 Main, Oral | arXiv:2506.06326 | BAI-LAB/MemoryOS | LoCoMo |
| Zep / Graphiti | 无会议出版记录 | arXiv:2501.13956(2025-01-20) | Graphiti 开源(链接未核实) | DMR / LongMemEval |
| LoCoMo(基准) | ACL 2024 acl-long.747 | arXiv:2402.17753 | snap-research/locomo | 项目页 |
| LongMemEval(基准) | ICLR 2025 | — | xiaowu0162/LongMemEval | 同左 |
NEMORI 处理的问题只有一句话:记忆系统如何判定「什么信息值得被留下」。作者的诊断是,现有系统给出的答案全部是设计者直觉的编码——Generative Agents 用 importance score,情绪型记忆用 emotion tag,Mem0 用事实模板,MemoryOS 用 heat score。论文原文的措辞是这些方法 “encoding designer intuition rather than learning from the data itself”,其后果被拆成两条:subjective bias 导致不可逆的信息扭曲,systemic bloat 导致过度存储并放大检索噪声。
NEMORI 的答案来自预测编码理论(Rao & Ballard 1999;Friston 2010 自由能原理):可被现有知识预测的信息即冗余,不可预测的部分才是记忆的候选。系统先用已有语义知识对即将到来的一段交互生成「预期图式」(anticipatory schema),再把实际内容与预期之间的差蒸馏成语义知识。
论文的痛点论证是三层递进的。
第一层:容量约束是硬的。无状态 LLM 依赖不断膨胀的交互轨迹,而上下文窗口有限,且存在 Lost in the Middle 现象。这一层是全领域共识,NEMORI 不在此处争胜。
第二层:启发式蒸馏引入不可逆损失。这是论文真正的攻击面。作者在 Table 1 中把整个记忆系统谱系按 Distillation / Management / Retrieval 三个时机重排(见表 A),一个结构性事实随之浮现:13 条基线中只有 5 条在 Distillation 列有内容,且判据全部是人工先验;另外 7 条干脆留空——它们把原始交互整体塞进存储,把问题推给管理与检索阶段补救。
第三层:这一痛点被量化了。
论文的推进逻辑不是「提出模块 A/B/C」,而是一条由三个先验(prior)串起来的演绎链。这三个先验是论文的真正骨架,也是它区别于同期「又一个记忆框架」论文的地方。
| 类别 | 方法 | Distillation | Management | Retrieval |
|---|---|---|---|---|
| Retrieval-time | Lewis et al. (2020) RAG | — | — | Similarity search |
| Management-time | Packer et al. (2023) MemGPT | — | Tiered storage | Function calls |
| Management-time | Zhong et al. (2024) MemoryBank | — | Summary + forgetting | — |
| Management-time | Kang et al. (2025) MemoryOS | — | Heat scoring | Two-step search |
| Management-time | Li et al. (2025b) | — | Hierarchical summary | Multi-step search |
| Management-time | Anokhin et al. (2025) | — | Graph update | Graph spreading |
| Management-time | Xu et al. (2025) A-MEM | — | Adaptive note linking | — |
| Management-time | Rasmussen et al. (2025) Zep | — | Validity management | Reranking |
| Distillation-time | Park et al. (2023) Generative Agents | Importance scoring | Reflection trees | Weighted scoring |
| Distillation-time | Huang et al. (2024) | Emotion tagging | — | Emotion matching |
| Distillation-time | Chhikara et al. (2025) Mem0 | Facts extraction | — | — |
| Distillation-time | Li et al. (2025a) | Summary + persona | — | Noun overlap |
| Distillation-time | Pan et al. (2025) | Topic | Token compression | — |
| Distillation-time | NEMORI(本文) | Prediction error | Agnostic | — |
Agnostic(不可知/中立),即主动放弃管理层的竞争,只主张蒸馏层。这个自我限定既是诚实,也在 §2.8 中成为一个可被追问的软肋。
| 超参 | 值 | 作用 | 是否做了敏感性分析 |
|---|---|---|---|
τ 相似度阈值 | 0.70 | 预期图式的上下文唤起门槛 | 否 — 关键缺口 |
K_e episodic 候选 | 5 | 整合阶段检索数 | 否 |
K_m 语义候选 | 5 | 巩固阶段检索数 | 否 |
K_s 唤起条目 | 10 | 预期图式上下文规模 | 否 |
w 观察窗口 | 20 | 触发切分(条消息) | 是 — Fig.2 / Table 11,w ∈ {5,10,20,30,40} |
k episodic 检索 | 10 | 响应生成 | 是 — Fig.3 / Table 12,k ∈ {2…30} |
m 语义检索 | 20 | 响应生成(= 2k) | 随 k 联动 |
r 原文 episode | 2 | 响应中带全文 | 否 |
图 1 · LoCoMo 平均 LLM-judge 分数:8 种方法 × 2 个生成模型
数据来源:NEMORI 论文 Table 2 的 Average 列。虚线为对应模型的 Full Context(全上下文 oracle)水平。悬停查看具体数值。
| 项 | LoCoMo | LongMemEval-S |
|---|---|---|
| 规模 | 10 段对话,平均 24K tokens,1,540 题 | 500 段对话,平均 105K tokens |
| 题型 | Temporal / Open Domain / Multi-Hop / Single-Hop | 6 类(偏好、助手、时间、跨会话、知识更新、用户) |
| 指标 | LLM-judge (0–100) / F1 / BLEU-1 | LLM-judge |
| 生成模型 | gpt-4.1-mini, gpt-4o-mini;嵌入 text-embedding-3-small;judge = gpt-4o-mini | |
| 重复次数 | 单次运行(single-run),无方差报告 | |
gpt-4.1-mini
| 方法 | Temporal | Open Domain | Multi-Hop | Single-Hop | Average |
|---|---|---|---|---|---|
| Full Context(oracle) | 74.2 / 47.5 / 40.0 | 56.6 / 28.4 / 22.2 | 77.2 / 44.2 / 33.7 | 86.9 / 61.4 / 53.4 | 80.6 / 53.3 / 45.0 |
| RAG-4096 | 27.4 / 22.3 / 19.1 | 28.8 / 17.9 / 13.9 | 31.7 / 20.1 / 12.8 | 35.9 / 25.8 / 22.0 | 32.9 / 23.5 / 19.2 |
| LangMem | 50.8 / 48.5 / 40.9 | 59.0 / 32.8 / 26.4 | 71.0 / 41.5 / 32.5 | 84.5 / 51.0 / 43.6 | 73.4 / 47.6 / 40.0 |
| Zep | 60.2 / 23.9 / 20.0 | 43.8 / 24.2 / 19.3 | 53.7 / 30.5 / 20.4 | 66.9 / 45.5 / 40.0 | 61.6 / 36.9 / 30.9 |
| Mem0 | 56.9 / 39.2 / 33.2 | 47.9 / 23.7 / 17.7 | 68.2 / 40.1 / 30.3 | 71.4 / 48.6 / 42.0 | 66.3 / 43.5 / 36.5 |
| A-MEM | 66.7 / 40.3 / 33.7 | 37.5 / 13.4 / 12.7 | 55.7 / 30.4 / 20.0 | 64.0 / 45.0 / 39.8 | 61.4 / 39.4 / 33.2 |
| MemoryOS | 37.7 / 36.5 / 27.4 | 60.4 / 30.2 / 25.6 | 62.4 / 34.0 / 25.8 | 68.9 / 44.2 / 37.5 | 60.6 / 39.9 / 32.5 |
| NEMORI | 77.3 / 58.7 / 50.7 | 56.3 / 31.7 / 25.1 | 74.8 / 40.8 / 31.7 | 87.0 / 55.7 / 49.5 | 80.8 / 52.1 / 45.0 |
| 论文报告的相对提升 | +15.9 / +21.0 / +24.0% | — | +5.4% / — / — | +3.0 / +9.2 / +13.5% | +10.1 / +9.5 / +12.5% |
gpt-4o-mini
| 方法 | Temporal | Open Domain | Multi-Hop | Single-Hop | Average |
|---|---|---|---|---|---|
| Full Context(oracle) | 56.2 / 44.1 / 36.1 | 48.6 / 24.5 / 17.2 | 66.8 / 35.4 / 26.1 | 83.0 / 53.1 / 44.7 | 72.3 / 46.2 / 37.8 |
| RAG-4096 | 23.7 / 19.5 / 15.7 | 32.6 / 19.0 / 13.5 | 31.3 / 18.6 / 11.7 | 32.0 / 22.2 / 18.6 | 30.2 / 20.8 / 16.4 |
| LangMem | 24.9 / 31.9 / 26.2 | 47.6 / 29.4 / 23.5 | 52.4 / 33.5 / 23.9 | 61.4 / 38.8 / 33.1 | 51.3 / 35.8 / 29.4 |
| Zep | 58.9 / 44.8 / 38.1 | 39.6 / 22.9 / 15.7 | 50.5 / 27.5 / 19.3 | 63.2 / 39.7 / 33.7 | 58.5 / 37.5 / 30.9 |
| Mem0 | 50.4 / 44.4 / 37.6 | 40.6 / 27.1 / 19.4 | 60.3 / 34.3 / 25.2 | 68.1 / 44.4 / 37.7 | 61.3 / 41.5 / 34.2 |
| A-MEM | 54.2 / 38.1 / 33.8 | 22.9 / 9.0 / 8.6 | 43.6 / 24.0 / 18.8 | 58.2 / 35.6 / 29.2 | 52.5 / 32.4 / 27.0 |
| MemoryOS | 38.0 / 38.5 / 27.5 | 45.8 / 26.0 / 19.2 | 52.5 / 35.2 / 24.1 | 62.5 / 43.7 / 37.7 | 54.5 / 39.9 / 31.9 |
| NEMORI | 67.6 / 57.3 / 47.6 | 45.8 / 23.9 / 18.5 | 61.7 / 38.1 / 26.0 | 81.9 / 54.8 / 43.8 | 73.0 / 50.3 / 39.7 |
| 论文报告的相对提升 | +14.8 / +27.9 / +24.9% | — | +2.3 / +8.2 / +3.2% | +20.3 / +23.4 / +16.2% | +19.1 / +21.2 / +16.1% |
| 类目 | gpt-4.1-mini Δ | 相对 | gpt-4o-mini Δ | 相对 |
|---|---|---|---|---|
| Temporal Reasoning | +3.1 pp | +4.18% | +11.4 pp | +20.28% |
| Open Domain | −0.3 pp | −0.53% | −2.8 pp | −5.76% |
| Multi-Hop | −2.4 pp | −3.11% | −5.1 pp | −7.63% |
| Single-Hop | +0.1 pp | +0.12% | −1.1 pp | −1.33% |
| Average(论文口径) | +0.2 pp | +0.25% | +0.7 pp | +0.97% |
| Average(F1) | −1.2 pp | −2.25% | +4.1 pp | +8.87% |
| 方法 | LLM-judge | API 调用 | 输入 (k) | 输出 (k) | 总 tokens (k) | 每分成本* |
|---|---|---|---|---|---|---|
| LangMem | 51.3 | 920.6 | 898.3 | 112.0 | 1010.2 | 19.7 |
| Mem0 | 61.3 | 1602.2 | 1483.4 | 210.0 | 1693.4 | 27.6 |
| A-MEM | 52.5 | 1175.5 | 912.6 | 236.8 | 1149.4 | 21.9 |
| MemoryOS | 54.5 | 1016.1 | 404.5 | 122.0 | 526.5 | 9.7 |
| NEMORI | 73.0 | 373.2 | 277.2 | 45.7 | 322.9 | 4.4 |
| 论文报告的改进 | +19.1% | ↓59.5% | ↓31.5% | ↓59.2% | ↓38.7% | — |
* 「每分成本」为本报告计算(总 tokens ÷ LLM-judge 分数),用于剥离性能差异后比较真实效率。NEMORI 的单位分数成本是 Mem0 的 1/6.3、MemoryOS 的 1/2.2。 论文表中 “↓38.7%” 相对最省的 MemoryOS 计算;相对 Mem0 则是 ↓80.9%。
| 配置 | 原生管理 | gpt-4o-mini | Δ | gpt-4.1-mini | Δ |
|---|---|---|---|---|---|
| w/o NEMORI(无记忆) | – | 0.6 / 0.5 / 0.9 | −99.2% | 1.2 / 1.6 / 1.5 | −98.5% |
| Nemori-s(直接蒸馏,替换预测误差) | ✓ | 51.7 / 36.4 / 28.9 | −29.2% | 66.0 / 41.4 / 34.9 | −18.3% |
| Nemori-s(去掉原生管理) | ✗ | 52.0 / 36.6 / 29.1 | −28.8% | 65.5 / 41.1 / 34.1 | −18.9% |
| w/o e(去掉 episodic 检索) | ✓ | 64.6 / 46.2 / 37.1 | −11.5% | 74.7 / 48.2 / 40.9 | −7.5% |
| w/o e(naive RAG 替代) | ✗ | 65.0 / 46.2 / 36.9 | −11.0% | 74.9 / 48.1 / 40.7 | −7.3% |
| w/o s(去掉语义检索) | ✓ | 54.7 / 39.6 / 31.7 | −25.1% | 76.9 / 50.0 / 42.9 | −4.8% |
| w/o p(定长 20 条切分) | ✓ | 68.0 / 47.4 / 36.8 | −6.8% | 75.7 / 48.1 / 40.9 | −6.3% |
| NEMORI 全量 | ✓ | 73.0 / 50.3 / 39.7 | — | 80.8 / 52.1 / 45.0 | — |
| 组件 | 输入 (k) | 输出 (k) | 合计 (k) | 占比 |
|---|---|---|---|---|
| Partition (§3.2.1) | 44.7 | 4.6 | 49.3 | 15.3% |
| Narration (§3.2.2) | 99.8 | 23.9 | 123.6 | 38.3% |
| Integration (§3.2.3) | 43.8 | 8.4 | 52.2 | 16.2% |
| Distillation (§3.3) | 88.9 | 8.8 | 97.7 | 30.3% |
| 索引用什么 | 检索返回什么 | LLM-judge | F1 | BLEU-1 |
|---|---|---|---|---|
| Narrative | Narrative(默认) | 76.9 | 50.0 | 42.9 |
| Partitioned | Narrative | 76.4 | 50.7 | 43.7 |
| Narrative | Partitioned | 77.0 | 50.2 | 42.6 |
| Partitioned | Partitioned | 75.3 | 50.1 | 42.7 |
四种组合的 LLM-judge 极差仅 1.7 pp(75.3–77.0),F1 极差 0.7 pp。这组消融实际上说明「索引/检索表征的选择几乎不重要」,与 §2.3 中 Representation Prior 的强主张形成张力。论文默认设 N→N,但 N→P 的 LLM-judge 反而略高(77.0)。
| 宿主 | 模型 | 输入 | LLM-judge | Core Score | MemTokens |
|---|---|---|---|---|---|
| A-MEM | gpt-4o-mini | Raw (P) | 52.5 | 52.6 | 397K |
| A-MEM | gpt-4o-mini | NEMORI (K) | 50.9 (↓3.0%) | 55.8 (↑6.1%) | 142K (↓64.3%) |
| A-MEM | gpt-4.1-mini | Raw (P) | 61.4 | 60.4 | 498K |
| A-MEM | gpt-4.1-mini | NEMORI (K) | 59.0 (↓3.9%) | 64.1 (↑6.1%) | 243K (↓51.3%) |
| MemoryOS | gpt-4o-mini | Raw (P) | 54.6 | 59.2 | 405K |
| MemoryOS | gpt-4o-mini | NEMORI (K) | 54.0 (↓1.1%) | 60.3 (↑1.9%) | 190K (↓53.1%) |
| MemoryOS | gpt-4.1-mini | Raw (P) | 60.7 | 66.9 | 354K |
| MemoryOS | gpt-4.1-mini | NEMORI (K) | 61.4 (↑1.2%) | 69.2 (↑3.4%) | 194K (↓45.3%) |
| 题型 | 4o-mini Full Ctx | 4o-mini NEMORI | 相对 | 4.1-mini Full Ctx | 4.1-mini NEMORI | 相对 |
|---|---|---|---|---|---|---|
| Single-session Preference | 6.7 | 46.7 | +597% | 16.7 | 86.7 | +419% |
| Single-session Assistant | 89.3 | 83.9 | −6.0% | 98.2 | 92.9 | −5.4% |
| Temporal Reasoning | 42.1 | 61.7 | +46.6% | 60.2 | 72.2 | +19.9% |
| Multi-session | 38.3 | 51.1 | +33.4% | 51.1 | 55.6 | +8.8% |
| Knowledge Update | 78.2 | 61.5 | −21.4% | 76.9 | 79.5 | +3.4% |
| Single-session User | 78.6 | 88.6 | +12.7% | 85.7 | 90.0 | +5.0% |
| Average | 55.0 | 64.2 | +16.7% | 65.6 | 74.6 | +13.7% |
Full Context 用 101K tokens;NEMORI 用 3.7–4.8K tokens(↓95–96%)。「相对」列为本报告计算。
观察窗口 w(Table 11,gpt-4.1-mini)
| w | Temporal | Open Domain | Multi-Hop | Single-Hop | Overall |
|---|---|---|---|---|---|
| 5 | 77.0 | 59.4 | 73.8 | 86.3 | 80.4 |
| 10 | 77.6 | 57.3 | 77.0 | 85.7 | 80.7 |
| 20(默认) | 77.3 | 56.3 | 74.8 | 87.0 | 80.8 |
| 30 | 76.6 | 60.4 | 79.4 | 86.0 | 81.2 |
| 40 | 76.3 | 54.2 | 77.3 | 86.4 | 80.7 |
检索数 k(Fig.3 / Table 12)
| k | gpt-4o-mini | gpt-4.1-mini |
|---|---|---|
| 2 | 65.0 / 66.6* | 73.4 |
| 5 | 70.0 | 79.3 |
| 10(默认) | 73.0 | 80.8 |
| 15 | 72.5 | 82.7 |
| 20 | 72.5 | 83.4 |
| 30 | 73.0 / 74.4* | 83.3 |
* 抽取到的 Fig.3 与 Table 12 在 k=2 与 k=30 两点上数值略有出入(65.0 vs 66.6;73.0 vs 74.4)。本报告未能确定哪一组是正文口径,如实并列。
这不是「压缩带来的边际增益」,这是一次符号翻转:把上下文缩小到 1/25,性能提升 5–7 倍。它说明在偏好类问题上,原始上下文不是「信息不足」,而是「信息主动有害」——用户偏好散落在长对话各处,被大量无关内容淹没,模型在 101K tokens 里根本定位不到;而预测误差蒸馏恰好把「与既有画像不符的新偏好」单独挑出来存成一条语义知识。
这是全文唯一一处 shape 而非 degree 的证据:其他类目上 NEMORI 与 Full Context 的差距都在 ±20% 之内(表 J),只有 Preference 一项跨越了一个数量级。如果论文要选一条主张来押注,应该是「记忆的价值在于对抗上下文稀释,而不是对抗上下文长度」——但论文并没有把这条相变单独作为核心论据展开。
反向证据同样值得高亮:Knowledge Update 一类上,gpt-4o-mini 从 78.2 掉到 61.5(−21.4%)。而 conflict 正是 NEMORI 语义巩固的三态之一、专为知识更新设计的机制。专门设计的机制在专门对应的题型上失手最狠——这条内部矛盾在论文中未被讨论。
图 2 · LongMemEval-S 六类题型:Full Context vs NEMORI
数据来源:NEMORI 论文 Table 8(gpt-4o-mini)。Full Context 用 101K tokens,NEMORI 用 3.7–4.8K tokens。注意 Preference 一类的相变式跃迁与 Knowledge Update 的回退。悬停查看具体数值。
真正的贡献不是「性能更好」,而是三件事:
importance、heat、emotion 都是外生的:需要一个提示词、一个阈值、一个衰减系数。预测误差是内生的:由系统当前知识状态与输入共同决定,不需要额外的配置界面。这个转换的意义类似于从「手工特征」到「自监督目标」的转换。| 设计 | 可复用形式 | 迁移到哪里 |
|---|---|---|
| Predictability Implies Redundancy | 任何「写入前先让系统预测一次,只存差值」的门控 | KV-cache 压缩、RAG 索引构建、agent trajectory 日志 |
| LLM 驱动的 episode 边界切分 | 表 F 显示贡献 −6.3~6.8%,成本仅占 15.3%,性价比高 | 长文档分块、多轮工具调用轨迹分段 |
三态巩固 new / merge / conflict | 显式区分「新增/合并/冲突」而非统一 upsert | 知识图谱增量更新、用户画像维护 |
| Narrative 重写(allocentric 转换) | 存储表征与原始表征解耦 | 但表 H 显示收益 ≤1.7 pp,性价比存疑 |
① 相对 Full Context 的优势几乎为零,且被报告口径掩盖(论证缺口)。论文全文相对提升均以最强记忆系统基线为分母。改用 Full Context 口径(表 D):gpt-4.1-mini 上 Average 仅 +0.2 pp(+0.25%),F1 反而低 1.2 pp(52.1 vs 53.3,−2.25%),Multi-Hop 低 2.4 pp。这与摘要给人的印象(“improved performance alongside reduced storage”)不一致:在能装得下全上下文的场景里,NEMORI 的性能收益在噪声量级内,真实卖点只有成本。论文若把主张收敛为「等性能、1/5 成本」,反而更稳固。
② 核心机制的贡献随模型能力急剧衰减(指标有效性 + 外推风险)。表 F 中 w/o s(去掉预测误差蒸馏出的语义层):gpt-4o-mini 掉 −25.1%,gpt-4.1-mini 只掉 −4.8%。两个模型仅差一代,核心贡献的边际价值就衰减了 5.2 倍。线性外推到前沿模型,语义层的贡献可能趋近于零——即预测误差蒸馏在补的是弱模型的检索/整合能力,而非提供不可替代的信息。论文没有在任何更强的模型上验证这条趋势是否收敛,这是最需要补的实验。
③ 为知识更新设计的 conflict 机制,恰在知识更新题型上失手最重(内部矛盾)。表 J:Knowledge Update gpt-4o-mini 78.2 → 61.5(−21.4%),是六类中唯一的两位数负增长;同一模型上 Preference 却是 +597%。若 conflict 真能「清除过时条目」,这个类目本该是主场。合理猜测:conflict 的触发依赖 Search(D_s, u_q, K_m=5) 召回到旧条目,而新旧表述若语义相似度低于召回阈,冲突根本不会被检出——这直接指向未做敏感性分析的 τ = 0.70。论文对此无任何讨论。
④ 关键超参 τ = 0.70 完全没有敏感性分析(实验设计缺口)。表 B:论文扫了 w(5→40)和 k(2→30),却没扫 τ。而 τ 是预期图式唤起的门槛,直接决定「系统认为自己知道多少」,从而决定预测误差的规模——它是整个 Distillation Prior 的旋钮。跳过 τ 而扫 w,等于给次要参数做了体检、给主动脉留了空白。附带地 K_e = K_m = 5、K_s = 10、r = 2 也均无消融。
⑤ 自称的「原生管理」模块在两组对照里都是负贡献(论证缺口)。表 F:Nemori-s 带管理 51.7 vs 不带 52.0(−0.3);w/o e 带管理 64.6 vs naive RAG 65.0(−0.4)。两次对照,管理模块都略微拖后腿。论文解读为 “management overhead negligible”,但更严格的读法是:在单次运行、无方差报告的前提下,±0.3–0.4 pp 无法区分「无害」与「有害」,而这两个数的符号是一致的。既然如此,Table 1 里 Management 列写 “Agnostic” 就不只是自我限定,而是一个未经证成的默认值。
⑥ 缺少与「学习型记忆策略」分支的 head-to-head(关键竞品对比空白)。2025–2026 年记忆方向的另一条主线把记忆操作交给 RL 训练的策略(Memory-R1、MemAct、AgeMem),其判据是外生奖励;NEMORI 的判据是内生预测误差。两条路线在概念上直接竞争(「什么信号该驱动记忆写入」),但论文的 7 条基线没有一条来自 RL 分支。「内生信号优于外生奖励」这一隐含主张因此完全未被检验。这是下一步最有价值的实验。
⑦ 表 I 的两个指标符号相反,指标有效性存疑(指标问题)。NEMORI 作为 A-MEM 的前置蒸馏器,LLM-judge 降 3.0%/3.9%,Core Score 却升 6.1%/6.1%。论文用后者支持 “maintaining/improving performance”。同一次实验里两个指标方向相反时,选择对自己有利的那个需要额外论证——论文没有说明 Core Score 的定义、它与 LLM-judge 的差异来源,也没说明为什么主表不使用 Core Score。
⑧ 评测面过窄,标题中的 “LLM Agents” 被过度承诺(实验设计问题)。LoCoMo 与 LongMemEval-S 都是对话式问答基准,没有任何工具调用、网页/具身环境、规划类(ALFWorld / WebArena / PDDL)实验。记忆在 agent 场景中要承载的是行为经验(哪次工具调用失败、哪条路径走不通),其冗余结构与对话事实完全不同。此外 LoCoMo 只有 10 段对话、1,540 题、单次运行、无置信区间,而表 D 中若干关键差异只有 0.1–1.2 pp,在该样本量下不可区分。
⑨ 本报告自身的不完备之处(坦诚声明)。本次分析基于 ACL 正式版 PDF 与 arXiv v4 HTML 的抽取结果,未运行代码;github.com/nemori-ai/nemori 仅经检索确认存在,未核实是否为论文完整实现(该仓库的公开描述自称 “a minimalist MVP”,与论文中 “a production-grade implementation” 的表述存在潜在出入,复现者需特别注意)。Fig.3 与 Table 12 的数值出入亦未能消解。
选择标准:这五项工作都在回答同一个问题——「该记什么/该忘什么」,且每一项都在 NEMORI 的 Table 1 中被点名归类。它们不是平行的同方向论文,而是同一个旋钮被换了五种拧法,NEMORI 是把旋钮拆掉的那一步。
解决了什么问题。首次给出可运行的长期 agent 记忆闭环:memory stream 记录全部观察,检索用 importance × recency × relevance 三项加权,reflection 把低层观察合成高层洞见。它是 NEMORI Table 1 中 Distillation 列第一个有内容的条目。
遗留了什么问题。importance 由 LLM 按提示词打 1–10 分,这个分数与下游任务效用之间没有任何监督信号,它是设计者对「什么重要」的直觉的代理。打分偏高 → systemic bloat;偏低 → 不可逆丢失。更根本的是,importance 是绝对量——不随系统已知内容变化,同一句话第一次说和第十次说得分相同。
核心工作如何回应。NEMORI 把绝对量换成相对量:一条信息的价值 = 它相对系统当前知识的意外程度。第十次重复的内容会被 Evoke 命中、被预期图式覆盖、蒸馏输出为空。表 F 的 Nemori-s 掉 18.3–29.2%,正是这条替换的定量代价。
关键设计的传递。Generative Agents 的 reflection tree 在 NEMORI 中演化为 merge 巩固状态——但只在检索到语义相邻条目时触发,而非按固定 importance 累积阈值触发。触发条件从「计数器」变成了「联想命中」。
解决了什么问题。第一次把「遗忘」当作一等公民:借 Ebbinghaus 遗忘曲线,让记忆强度随时间指数衰减、随重复召回增强。它给出了「该忘什么」的第一个可计算答案。
遗留了什么问题。遗忘曲线是关于时间的先验,不是关于内容的判据。一条一周未被访问的关键事实(用户对某种药物过敏)与一条一周未被访问的闲聊,衰减速率相同。它把「重要性」外包给「被访问频率」这个代理量,而访问频率取决于问了什么问题,在冷启动或低频场景下几乎无信息。
核心工作如何回应。NEMORI 干脆不做时间衰减。它的「遗忘」发生在写入之前:可预测的内容根本不进入语义存储;写入后的清除只发生在 conflict(被新信息证伪)时。从「按时间衰减」变成「按可预测性过滤 + 按矛盾清除」——遗忘从后处理过程变成了写入门控。
解决了什么问题。借 Zettelkasten 卡片盒方法,让记忆条目自主生成关键词/标签、与既有条目建立链接,并在新条目加入时触发邻居的记忆演化。它放弃了预设 schema,是「结构自组织」的代表作。
遗留了什么问题。A-MEM 优化的是已存内容之间的组织,对「该不该存」保持沉默——Table 1 中它的 Distillation 列是空的。结果是链接结构建在未经筛选的语料上:噪声条目同样生成标签、同样参与链接,把冗余从存储层传导到了图结构层。
核心工作如何回应。表 I 给出了最直接的回答:把 NEMORI 的蒸馏输出(K)而非原始 episode(P)喂给 A-MEM,MemTokens 从 397K→142K(↓64.3%),Core Score 从 52.6→55.8(↑6.1%)。A-MEM 的组织能力没有变,只是被组织的东西干净了。
关键设计的传递。A-MEM 的「新条目触发旧条目更新」在 NEMORI 中演化为 Supersede:M_ν 直接取代 U_k,且 P_k ‖ P_j 保留原始溯源。差别在于 A-MEM 是追加式演化(旧条目被改写但仍存在),NEMORI 是替换式演化(旧条目被顶掉)——后者更省,也更不可逆。
解决了什么问题。把操作系统的分页思想搬到记忆:短期 / 中期 / 长期三级存储,用 heat score 决定条目在层级间迁移,配合两步检索。它是「启发式路线的工程化极致」,论文自报在 LoCoMo 上相对基线取得 F1 +48.36%、BLEU-1 +46.18%(gpt-4o-mini)。
遗留了什么问题。heat score 仍是外生的:迁移阈值、衰减系数、层容量都要人工设定。更关键的是它管的是「放在哪一层」,而不是「要不要存」——所有内容都先进短期层。分层只是把 bloat 的成本从检索延迟转移到了存储层级管理上。
关键设计的传递。MemoryOS 的分层在 NEMORI 里被压扁成两个正交存储(D_e episodic / D_s semantic),迁移规则从「热度阈值」换成「预测误差是否非空」。层级从时间维度的分级变成了表征类型的分工——与 McClelland 等人的 Complementary Learning Systems 理论对齐(论文明确引用)。
解决了什么问题。用时间知识图谱处理「记忆会过期」:每条边带有效区间,新事实到来时把旧边标记为 invalid 而非删除,支持时点查询与冲突消解。
遗留了什么问题。有效性管理要求信息先被结构化为三元组,这一步本身就是一次有损蒸馏,且判据(抽什么实体、什么关系)依然是人工 schema。此外图谱抽取昂贵,而 Zep 在统一评测里 LoCoMo 平均仅 58.5 / 61.6,Temporal Reasoning 上 60.2(gpt-4.1-mini)反而低于 NEMORI 的 77.3——一个专门为时间语义设计的系统,在时间推理题上落后 17.1 pp。
核心工作如何回应。NEMORI 用 conflict 处理同样的问题,但代价小得多:不需要维护图结构,只需在语义条目层面判断「新证据是否证伪旧条目」。代价是失去时点查询能力——NEMORI 无法回答「三个月前用户的偏好是什么」,因为旧条目被 purge 了。表 J 中 Knowledge Update 的 −21.4% 可能正是这种「廉价冲突消解」的账单。
关键设计的传递。Zep 的「invalidate 而非 delete」这一保守策略,在 NEMORI 中被简化为 “purge and replace”。这是本链上唯一一次「退化」而非「进化」——NEMORI 在这个维度上更弱,值得后续工作把时间有效性重新接回预测误差框架(见 §5 ⑤)。
| 阶段 | 判据来源 | 代表 | 需要人工设定什么 |
|---|---|---|---|
| Ⅰ. 直觉编码 | 设计者的语义直觉 | Generative Agents | importance 提示词与阈值 |
| Ⅱ. 认知先验 | 借用人类记忆的经验规律 | MemoryBank | 遗忘曲线半衰期 |
| Ⅲ. 结构先验 | 让条目之间自己组织 | A-MEM | 链接策略(不再需要 schema) |
| Ⅳ. 工程先验 | 把多种直觉揉成一个热度函数 | MemoryOS / Zep | 热度系数、层容量、图谱 schema |
| Ⅴ. 外生奖励 | 从下游任务反传 | Memory-R1 / MemAct / AgeMem | 奖励函数设计、RL 训练预算 |
| Ⅵ. 内生信号 | 系统自身的预测失败 | NEMORI | 一个相似度阈值 τ(且未做敏感性分析) |
两个关键转折点:Ⅳ→Ⅴ 是「把判据交给优化」——既然人工设不好,就用奖励学,代价是需要任务奖励与训练;Ⅳ→Ⅵ 是「把判据交给系统状态」——既然人工设不好,就让系统自己度量惊讶,代价是判据的质量完全取决于预期图式的质量。
τ)做任何实验。
① 冷启动—饱和动力学的形式刻画(高价值、低门槛)。预测误差蒸馏的输出量 |K_in| 是系统已有知识量 |D_s| 的函数:|D_s| = 0 时退化为全量蒸馏,|D_s| → ∞ 时趋近于零。这条曲线的形状决定了记忆库的稳态大小,而论文完全没有测量它。具体可操作的实验:在 LoCoMo 的 10 段对话上,按会话序号绘制 |K_in| 与 |D_s| 的联合轨迹,看是否存在饱和点、饱和点是否依赖 τ。只需 log 现有 pipeline,不需要新训练。
② τ 与预测误差质量的 trade-off 定量化。τ 高 ⇒ 唤起少 ⇒ 预期弱 ⇒ 假阳性「意外」多(存了冗余);τ 低 ⇒ 唤起多 ⇒ 预期强 ⇒ 假阴性(漏存新信息)。这是标准的精确率—召回率权衡,但没有人给出它的经验曲线。建议扫 τ ∈ [0.5, 0.9],同时记录(a)语义库规模、(b)LoCoMo 各类目分数、(c)conflict 触发次数。第三项尤其关键——§2.8 批判 ③ 的假设可由此直接证实或证伪。
③ 内生信号与外生奖励的可达上界比较。预测误差是无监督判据,RL reward 是有监督判据;理论上后者上界不低于前者(可以学出任何判据,包括预测误差本身)。问题因此变成:在多大的训练预算下,RL 学到的记忆策略才能超过零训练的预测误差判据?这是一个可以画出交叉点的实验,也是判决 §4 图中两条分支的唯一方式。
④ 补齐 agent 场景的评测(最紧迫)。NEMORI 标题是 “for LLM Agents”,但两个基准都是对话 QA。具体下一步:在 ALFWorld / WebArena / τ-bench 上把 episode 定义为「一次工具调用序列」,把预测误差定义为「预期的工具返回 vs 实际返回之差」。这个迁移几乎是字面的——预测编码框架天然适配「我以为会发生什么 vs 实际发生了什么」,而这正是 agent 轨迹的结构。若成立,它比对话场景更有说服力。
⑤ 把 Zep 的时间有效性接回预测误差框架。NEMORI 的 conflict 用 purge 换效率,代价是丢失时点查询。具体设计:把 conflict 从「清除并替换」改为「标记 invalid_at 并追加」,只在检索时按查询时间过滤。存储成本上升有限(旧条目已蒸馏过,很短),但恢复了时间维度。可直接在 LongMemEval-S 的 Knowledge Update 与 Temporal Reasoning 两类上验证是否能修复那 −21.4%。
⑥ 在线/动态设置下的记忆稳定性。现有评测都是「先离线构建记忆库,再统一提问」,真实 agent 是边用边写。预测误差判据在在线设置下有一个未被讨论的风险:早期的错误蒸馏会污染预期图式,进而系统性地扭曲后续的预测误差(一个正反馈回路)。这与 ACL 2026 How Memory Management Impacts LLM Agents(acl-long.27)报告的 error propagation 现象高度同构——用那篇论文的「未来任务结果作为记忆质量信号」的方法给 NEMORI 的语义库做后验清洗,是一个现成的组合。
⑦ 可逆蒸馏 / 有损度可控。NEMORI 的蒸馏不可逆(虽然 M_j 保留 P_j 原文,但语义层 K_in 无法还原)。能否给预测误差蒸馏加一个可调有损度旋钮,让同一套记忆库在「高保真昂贵」与「低保真廉价」之间切换?这与 rate–distortion 视角的记忆压缩工作(arXiv:2607.08032)形成天然对话:预测误差正是率失真理论中「残差编码」的对应物,NEMORI 实际上实现了一个未加显式码率约束的残差编码器。把码率约束显式化,是合并这两条线的最短路径。
⑧ 多视角预期图式。当前 Evoke 只用一次相似度检索生成单一预期。若并行生成 K 个来自不同视角的预期(事实性 / 偏好性 / 因果性),取各视角误差的交集作为高置信新信息、并集作为候选池,可能显著改善 §2.8 批判 ③ 的漏检问题。这与同期 MAGMA(acl-long.1709)的「四正交图」思想同构,但作用在蒸馏端而非检索端。
⑨ 预测误差作为记忆投毒的攻击面(安全)。一个尚未有人提出的具体风险:攻击者若能推断出系统的语义库内容,就能构造「高预测误差但无价值」的输入,强制系统写入垃圾——因为 NEMORI 的写入门控完全由「意外程度」决定,而意外程度是可被对手操纵的。这比针对启发式系统的投毒更容易(不需要伪装成「重要」,只需伪装成「意外」)。结合 arXiv:2607.06595 的记忆投毒攻击框架,这是一个可以立刻做出来的攻击实验。
| 工作 | 发表 | 会议 / 出版 | 核心贡献 | 主要指标(来源) | 与核心工作的关系 |
|---|---|---|---|---|---|
| NEMORI | 2026-07 (arXiv 2025-08) | ACL 2026 Main, Long | 预测误差作为记忆蒸馏判据 | LoCoMo avg 73.0 / 80.8(Table 2);构建 322.9k tokens(Table 3) | 核心工作 |
| Generative Agents | 2023-04 | UIST 2023 | memory stream + importance×recency×relevance + reflection | 无公开 benchmark 分数 | 问题起源:绝对重要性 → 相对意外度 |
| MemoryBank | 2023-05 | AAAI 2024 | Ebbinghaus 遗忘曲线驱动的记忆衰减 | 自报场景评测,未进入 NEMORI 基线 | 时间先验:遗忘从后处理 → 前置为写入门控 |
| A-MEM | 2025-02 | 未见主会出版(arXiv v9) | Zettelkasten 自组织链接 + 邻居演化 | LoCoMo avg 52.5 / 61.4(NEMORI Table 2) | 正交层:Table 7 证明前置蒸馏可让其 MemTokens ↓64.3%、Core ↑6.1% |
| MemoryOS | 2025-06 | EMNLP 2025 Main, Oral | heat score 三级分页存储 | 自报 LoCoMo F1 +48.36%;第三方 harness 下 avg 54.5 / 60.6 | 启发式极致:分层管理 → 压扁为两个正交存储 |
| Zep / Graphiti | 2025-01 | 无会议出版记录 | 时间知识图谱 + 有效性区间 | 自报 DMR 94.8%、LongMemEval +18.5%;第三方 harness 下 LoCoMo avg 58.5 / 61.6 | 时间维度:invalidate → purge(唯一一次退化) |
| LoCoMo | 2024-02 | ACL 2024 Long | 超长对话记忆评测基准 | 10 对话 / 1,540 题 / 24K tokens | 评测底座:样本量小是表 D 中 0.1–1.2 pp 差异不可区分的根源 |
| LongMemEval | 2024-10 | ICLR 2025 | 六类型长期交互记忆评测 | 500 对话 / 105K tokens | 相变发现的舞台:Preference 类 +597% 出自此 |
How Memory Management Impacts LLM Agents: An Empirical Study of Experience-Following Behavior(2026-07,ACL 2026 Main Long)
EverMemOS: A Self-Organizing Memory Operating System for Structured Long-Horizon Reasoning(2026-07,ACL 2026 Main Long)
MAGMA: A Multi-Graph based Agentic Memory Architecture for AI Agents(2026-07,ACL 2026 Main Long)
Dynamic Long Context Reasoning over Compressed Memory via End-to-End RL (LycheeMemory)(2026-07,ACL 2026 Main Long)
FOREVER: Forgetting Curve-Inspired Memory Replay for Language Model Continual Learning(2026-07,ACL 2026 Main Long)
Scaling Self-Evolving Agents via Parametric Memory (TMEM)(2026-06,arXiv)
Δ_t 承载记忆,agent 在单个 episode 内就能改变行为;从「look up 过去经验」变成「learn from 过去经验」。在 LoCoMo / LongMemEval-S / CL-Bench 上超过摘要式与检索式基线。参数化记忆 vs 外部记忆这条轴上最值得追的工作。When Agents Remember Too Much: Memory Poisoning Attacks on LLM Agents(2026-07,arXiv)
From Recall to Forgetting: Benchmarking Long-Term Memory for Personalized Agents(2026-04,arXiv)
NEMORI 最重要的贡献不是它在 LoCoMo 上的分数(相对 Full Context 只有 +0.25%),而是它证明了记忆系统 80% 的成本花在了系统本来就知道的事情上——以及在 LongMemEval 的偏好类问题上,把 101K tokens 砍到 4K 能让分数从 6.7 涨到 46.7 这一相变式证据:长上下文的敌人不是长度,是稀释。