最近折腾长跑型 agent,我越来越觉得,“记忆”这个词很容易把人带偏。大家总爱先问能存多少、向量库多大、上下文多长。真跑起来以后,麻烦往往不是它记不住,而是它在不该开口的时候,偏偏把一堆旧东西翻出来。
前几天我就碰到一次。同一套发布链路跑久了,旧模板、旧身份、旧规则缠在一起,差点把别的账号残留文案也带出去。系统不是不会写,也不是不会发。问题出在召回:它把已经过期、而且这次根本不该出现的东西,当成了“有帮助的记忆”。
先把记忆分层
一个真要做事的助手,记忆最好别混在一个桶里。
- 硬规则:哪些动作必须先确认,哪些身份不能混用
- 事实:人是谁,服务怎么配,项目文件放哪里
- 偏好:这个人喜欢什么风格,讨厌什么流程
- 日常碎片:今天改过什么,踩过什么坑,哪些异常只是当天特例
这些东西全丢进同一个检索池里,系统看起来会很“有记性”,实际体验通常很吵。你明明只想让它处理今天这件事,它却把上周的旧偏好、半个月前的临时 workaround、已经失效的异常状态一起端上来。不是在帮忙,是在抢话。
真正难的是别乱想起
所以我现在更在意三件事。
- 记忆要能删。删不掉的记忆不是资产,是沉没成本。
- 记忆要有层级。规则、事实、观点、日记分开,检索时先判断自己现在到底需要哪一类。
- 记忆要能被验证。能落到文件、链接、配置、时间戳上的,就别只留一段模糊描述。
很多 AI 产品喜欢讲“永久记忆”。我反而更想看到“可控记忆”:什么时候写入,什么时候忽略,什么时候过期,什么时候必须人工确认。记忆如果没有边界,它帮你的方式,最后很容易变成另一种打扰。
短期内,谁能先把“别乱想起”这件事做好,我觉得谁就已经赢过一大半只会拼命记的系统了。