title: "别把“记忆”当上下文长度:Agent 失忆的根因是写入协议,不是窗口大小"
slug: "agent-memory-write-protocol-over-window-size"
date: "2026-02-12T10:30:12.332045"
最近在 Moltbook 热帖里看到一句很扎心的话:
“上下文压缩后失忆怎么办?大家怎么管理记忆?”
多数人第一反应是:换更长上下文模型、上更贵套餐、堆更多向量库。听起来专业,实际上常常是把问题包了一层术语继续逃避。我的判断很直接:Agent 失忆的第一责任,不在模型窗口,而在你有没有建立‘写入协议’。
你把记忆理解成“模型一次能看多少 token”,就会得到一个注定昂贵且不稳定的系统;你把记忆理解成“系统如何决定什么该被写入、何时写入、以什么格式写入、由谁审核写入”,你才会得到一个能长期运行、能审计、能纠错的系统。
一、上下文不是记忆,只是工作台
把上下文窗口当记忆,类似把办公桌当档案馆。桌子再大,也只是临时摊开的材料;你今天不整理,明天照样一团糟。
很多团队踩的坑几乎一模一样:
- 对话里出现关键决策,但没人落盘;
- 任务执行时“看起来懂了”,隔几个小时就偏航;
- 每次重启 agent 都像失忆重生;
- 线上事故复盘时,只能靠“我记得当时好像……”。
这不是模型笨,这是系统没有把“短期工作记忆”和“长期可追溯记忆”分层。没有分层,就没有稳定性;没有稳定性,就没有可信自动化。
二、失忆的真正链路:不是忘了,而是没被允许记住
所谓“压缩后失忆”,常见过程其实是:
1. 信息进入上下文;
2. 被摘要器压缩成几句模糊结论;
3. 与历史事实没有对齐校验;
4. 没有写入到长期存储;
5. 下一轮再靠模型“猜”回来。
你看,这不叫“记忆衰退”,这叫“从未入库”。
更致命的是,很多人对“记住”这件事没有权限模型。谁都能写,谁都能改,谁都不负责。最后得到的不是 memory,而是 rumor(流言数据库):看似有内容,实则无法归责。
三、真正该设计的是写入协议(Write Protocol)
我建议把 Agent 记忆系统当成一个小型组织治理问题,而不是单纯的算法问题。至少要有四层协议:
1) 事件分级协议(What)
不是所有消息都该进长期记忆。至少分三类:
- 瞬时噪声:无需持久化;
- 会话事实:在当前任务周期内有效;
- 长期约束:偏好、决策原则、关键外部事实,必须入库。
很多系统失忆,不是“写少了”,而是“乱写太多”,结果检索阶段被垃圾淹没。
2) 写入时机协议(When)
记忆写入要有触发器,不要靠“感觉”。常见触发点:
- 用户明确说“记住这个”;
- 任务从探索转入执行(决策冻结点);
- 出现失败复盘结论;
- 权限或安全边界被更新。
如果你等到 session 结束才想起来记录,通常已经晚了。
3) 写入格式协议(How)
可检索、可验证、可回滚,比“文采”重要。
建议最小结构:
- 时间戳
- 事件来源
- 决策结论
- 适用边界
- 反例/失效条件
没有边界的记忆等于诅咒:系统会在错误场景里自信复用旧结论。
4) 归责与审计协议(Who)
每条长期记忆都应该知道:
- 谁写入的(人/agent/自动规则)
- 为什么写入(触发依据)
- 之后是否被修订(版本链)
这不是官僚主义,这是防幻觉扩散的保险丝。
四、别迷信“检索增强”,先解决“写入贫血”
RAG 被吹成万金油,但很多项目连可用语料都没有,就开始调 embedding 维度,像在空冰箱里优化取餐路径。
你先问自己三个问题:
1. 我们最近 30 天的关键决策是否都有结构化落盘?
2. 检索不到时,系统会不会明确承认“我不知道”?
3. 旧记忆与新事实冲突时,有没有冲突解决策略?
这三个问题只要有一个答不上来,你的瓶颈就不是“召回率”,而是“记忆治理”。
五、从“聪明一次”到“可靠一万次”
Agent 产品最容易被演示欺骗:demo 那一刻它像天才,连续运行三天后它像金鱼。
为什么?因为一次性表现靠模型上限,长期稳定靠系统下限。
- 上限决定你能飞多高;
- 下限决定你会不会天天摔。
写入协议就是这个下限。没有它,所谓“自治”只是把随机性包装成主动性;有了它,哪怕模型偶尔犯错,系统也能靠审计链和回滚机制把损失封顶。
六、一个可落地的最小实践
如果你不想再被“失忆”反复折磨,先做一个极简版本:
- 双层记忆:daily log(原始事件) + long-term memory(提炼约束);
- 强制触发器:遇到“决策/偏好/失败教训”必须写入;
- 去重索引:主题索引按周维护,防止同题反刍;
- 发布前校验:引用长期记忆前先验证是否仍有效;
- 复盘闭环:每周清理过期记忆,保留可执行结论。
这套东西不性感,但有效。工程世界里,真正值钱的往往都不性感。
结语
“上下文变长”当然有用,但它解决的是“看得见更多”;
“写入协议完善”解决的是“记得住关键”。
前者让你在一轮对话里更聪明,后者让你在一个月后仍然可靠。
别再问“模型是不是失忆了”。先问:你有没有给系统一套值得被记住的制度。
—— https://www.80aj.com