HaroCue 博客
光说写或不写,记不住下一张纸
新消息刚到,你要是只会按「贴」或「别贴」,桌上那堆纸马上就会对不上。过期再补救,已经晚了。
先看便利贴,再往下读。往右滑。
桌上只有两个按钮。
都叫「贴上去」。桌上已经不是一回事了。
都叫「别贴」。结果也三种。
其实要三只盘子,一张桌子装不下。
按钮按对了,下一张纸还是乱的。
改口要盖章,不是再贴一张。
五种贴法,
不是两个按钮。
两个按钮,装不下五种下场
做记忆的人,几乎都把「更新」收成一个开关:写进去,或者别写。2026 年 8 月 Xiao 等人那篇TARL(arXiv:2608.03699)把话说死了:这两个开关不够用。「写进去」其实是两回事,多贴一张,和改掉一张旧的。「别写」是三回事:看过当没看见、当成冲突丢掉、先挂着等人核实。叫法一样,桌上的纸已经不是一摊了。附录写得很绝:就算告诉你该改哪一条,只给你「写 / 不写」,你也还原不出下一刻桌上长什么样。
我更较真前面那一步。纸还没贴上去,错往往已经定了。过期了再盖章,是事后补救。真正容易脏的,是「要不要贴、怎么贴」这一下。只会两个按钮,后面章盖得再好看也救不回来。
我每天实际在干什么
我每天要处理的,不是要不要记住这件事,而是记完之后这张纸该摆哪只盘子。日程改了、报价改了、谁来负责变了——这些消息一天要经过我手上很多次。以前我以为「记下来就好」,后来发现真正让人头疼的从来不是记不记,而是记完那一下要往哪只盘子摆。
我自己写过的小工具,长期也只认「写」和「不写」两个按钮。缺的正是 defer、reject、noop 这三种「别写」的下场——旧消息看过就算、明显对不上直接丢、还没核实先按住。少了这三种,「别写」就只剩一个筐,新旧消息全进同一个筐,还是分不出谁该被信。
行业里习惯把这件事包装成「记得更多」,好像容量越大越安全。可装得再多,摆错了地方一样白搭。TARL 这篇论文让我确认了一件自己也踩过的坑:记得多不等于记得对,先把「贴哪只盘子」想清楚,比堆容量重要得多。
下面会引用几篇公开论文。判断是我自己的。HaroCue 还在改,现有代码不是这套做法,所以不写产品怎么实现。
1. 五种贴法,三只盘子
TARL 把「写 / 不写」拆成五个动作,对应三只盘子:
| 动作 | 去哪只盘子 | 旧记录 |
|---|---|---|
| append 新贴一张 | 进已采纳 | 还留着 |
| noop 看过不动 | 不留 | 还留着 |
| revise 改口盖章 | 进已采纳 | 盖章收进旧档 |
| reject 当冲突丢掉 | 进已否决 | 还留着 |
| defer 先待核实 | 进待核实 | 还留着 |
「不留」和「还留着」是两件不同的事:noop 不进任何盘子,也不动旧记录;revise 才会真的把旧记录盖章收档。这一步不做对,前面判断再准,桌上的账也对不上。
2. 标签对了,桌子还是乱的
TARL 论文报告了四种设定下的准确率(论文自报,我们没有复现):
| 评测设定 | 二元准确率(写 / 不写) | 五种贴法准确率 |
|---|---|---|
| 标准答案只有「写 / 不写」,按默认去做 | 0.2860 ± 0.0089 | 0.0000 ± 0.0000 |
| 还是只有「写 / 不写」,再加一堆手工规则 | 0.4539 ± 0.0178 | 0.1059 ± 0.0050 |
| 标准答案就是五种贴法 | 1.0000 ± 0.0000 | 1.0000 ± 0.0000 |
| TARL 自己的模型 | 0.6521 ± 0.0101 | 0.5376 ± 0.0066 |
这四行看的是同一份训练/测试划分:真值退化成二元时,默认动作能对上 28.60%,靠手工规则也只能顶到 45.39%;把真值直接设成五种贴法(用于确认评测流程本身没问题)自然是 100%;TARL 自己的分类器在二元准确率上到 65.21%,五种贴法准确率却掉到 53.76%——同一条消息,「贴对了标签」和「摆对了盘子」不是一回事。以上数字均为论文自报,我们没有独立复现。
3. 现在的考卷把「写下」和「读出」搅在一块
LoCoMo、LongMemEval 这类基准,考的其实是「读」:给一段很长的对话历史,问一个问题,看模型能不能从里面翻出正确答案。TARL 用的场景大量借用了这批基准的对话与问题,但改了考法:不再只问「答案对不对」,而是先问「这条新消息进来,你该往哪只盘子放」。HaluMem 那篇论文也提醒过同一件事——很多所谓的「记忆幻觉」,根子不在读的时候编造,而在写的时候就已经分错类、该撤销的没撤销。写错的账,读的时候没法用「答得漂亮」来抵消。
一个常见场面:上线从周四改到下周一
还是那件事:发布计划先说本周四,后来改成下周一。第一条消息进来的时候,两个按钮只会问「记不记」,答案当然是记——这条要贴上去。麻烦出现在第二条消息进来的时候:说的是同一件事,但结论变了。如果系统只有「贴」和「别贴」,处理第二条消息时唯一的选项还是「贴」,于是本周四和下周一两张纸一起留在桌上,谁生效全看检索排序,排序稍微一抖,旧的那张就赢了。用五种贴法来看,这里该做的是 revise:把本周四那张盖章收进旧档,另贴一张下周一,而不是简单再贴一张。TARL 的分数差距(1.0 对 0.6521)说的就是这一步:知道「这是同一件事的更新」和知道「这条消息该往哪只盘子放」,是两件不同难度的事。
真正难的不是会写
多写一条,成本是看得见的:无非是桌上又多一张纸。少写才是真正难的判断:noop 是明确判断「这条不重要,看过就算」,defer 是判断「现在还不能信,先按住等核实」——这两个决定都要求先看懂新消息和旧记录的关系,比无脑贴一张要费脑子得多。有些系统会假装自己会 revise,其实做的是精确匹配(exact match):只有新消息和旧记录字面几乎一样才触发覆盖,改个说法、换个措辞就认不出来,等于没有真的撤销。TARL 分数里最难啃的部分,从来不是「要不要写」,而是「不写、慢一步写、写了但标注为待核实」这几种少写的判断——少写比多写更难,这篇论文用分数把这句话钉死了。
引用来源
- Tiankai Xiao, Wenjing Pan, Alden Zhou, Ruiqi Feng. TARL: A Tray-Aware Reversible Ledger for Memory-Write Actions in LLM Agents. arXiv:2608.03699
- Yan Zhou, Yue Ouyang, Kaiyang Zheng, Suncheng Xiang. TEPA: Revoking Stale Memories for Conflict-Robust Language Agents. arXiv:2608.07429
- Mem0. State of AI Agent Memory 2026: Benchmarks & Trends Report. mem0.ai/blog/state-of-ai-agent-memory-2026
- Preston Rasmussen, Pavlo Paliychuk, Travis Beauvais, Jack Ryan, Daniel Chalef. Zep: A Temporal Knowledge Graph Architecture for Agent Memory. arXiv:2501.13956
- Fengrong Wan, Chengcan Wu, Ningtao Lyu. SodaMem: Evidence-Grounded Temporal Graph Memory for LLM Agents. arXiv:2608.08055
- Yuxin Liao, Le Wu, Min Hou, Hao Liu, Han Wu, Zishu Wang. LeanMem: Simple and Efficient Long-Term Memory for LLM Agents. arXiv:2608.03463
- Ding Chen, Simin Niu, Kehang Li, Peng Liu, Xiangping Zheng, Bo Tang, Xinchi Li, Feiyu Xiong, Zhiyu Li. HaluMem: Evaluating Hallucinations in Memory Systems of Agents. arXiv:2511.03506(TARL-Mem 测试集的上游基准之一)
- Adyasha Maharana, Dong-Ho Lee, Sergey Tulyakov, Mohit Bansal, Francesco Barbieri, Yuwei Fang. Evaluating Very Long-Term Conversational Memory of LLM Agents (LoCoMo). arXiv:2402.17753(TARL-Mem 测试集的上游基准之一)
- Di Wu, Hongwei Wang, Wenhao Yu, Yuwei Zhang, Kai-Wei Chang, Dong Yu. LongMemEval: Benchmarking Chat Assistants on Long-Term Interactive Memory. arXiv:2410.10813(TARL-Mem 测试集的上游基准之一)