如一 Agent 架构解读(十二):记忆系统(下)——记忆的生命周期工程

上篇立了记忆的数据模型与召回:认识论定价、血缘纠错、三级召回。这篇讲运转------一条记忆从对话信号变成可信资产,要走过写入、决策、巩固、遗忘的完整生命周期。我们把业界各家的真实实现拆到机制层,再给出我们认可的最佳方案。

记忆不是一个 LLM 调用,是一条资产管线

很多团队的记忆系统止步于"对话结束,LLM 提取几句存进向量库"。上线三个月后发现:记忆库越用越脏------重复、矛盾、过期的事实越积越多,召回质量不升反降。有团队实测了六种去重更新策略,结论是多数方案"要么更新不彻底,要么 LLM 成本高到不可用"。问题不在提取质量,在于记忆被当成了一次性写入,而不是一条需要全生命周期管理的资产管线:写入时机谁定?候选记忆能不能直接入库?陈旧记忆怎么巩固、怎么遗忘?并发写入乱不乱?这篇按这四个问题拆业界。

业界调研:生命周期的四段,各家各交了一份答卷

写入时机:热路径、冷路径、事件管线三派。 LangMem 把这对选择明确定义成两种模式:hot path(对话中实时更新,即时反映但拖慢响应)与 background(异步批量更新,便宜但有延迟)。MemGPT/Letta 把写入权完全交给模型手上的工具(主权派);Mem0 则是每轮对话自动触发提取管线(事件派),模型全程无感。Claude Code 的 extractMemories 给冷路径立了纪律教科书:只在"本轮无工具调用"的安全点触发、游标推进不重不漏、主 Agent 刚手动记过就撤退(hasMemoryWritesSince 互斥)、工具集阉割到只读写记忆目录、5 轮熔断。

提取与决策:Mem0 的两段式是最重要的机制创新。 Mem0 不把提取到的事实直接入库:第一段从"最近消息 + 会话摘要"提取候选记忆;第二段先检索语义最相似的存量记忆,把候选和相似记忆一起交给 LLM,裁决四种操作------ADD / UPDATE / DELETE / NOOP。这道"决策关"挡住了大部分重复和矛盾,是 Mem0 能被 AWS Agent SDK 选为记忆底座、单季 1.86 亿次 API 调用的核心。但它的 UPDATE 是覆盖式的,和实测"越用越脏"的社区反馈同源:覆盖丢历史,相似度阈值漏判矛盾。

巩固:睡眠时间的离线整理。 Letta 的 sleep-time compute(与 UC Berkeley 合作的论文方向)把记忆维护挪到空闲期:合并碎片化条目、重算重要性权重、生成更高层摘要、重建索引------在线路径只做最快的事。CC 的 Auto Dream 同思路:后台定期去重、清理、更新。学术源头是 Generative Agents 的 reflection:重要性积分过阈值就触发高层抽象,从"记了什么"长出"理解了什么"。

遗忘:三派哲学。 MemoryBank 引入艾宾浩斯曲线:每条记忆有强度值,随时间衰减、被召回时强化、重要记忆衰减更慢------遗忘不是删除,是检索降权。Graphiti/Zep 是失效派:旧事实永不删,只标 invalid_at 留痕。显式删除派(用户主权)则要求删得干净。三派其实管的是三个不同的层。

一致性:业界的集体盲区。 几乎所有方案都默认单实例、单写入者。生产级多实例下,热路径和冷路径同时改一条记忆、两个会话同时纠正同一事实------没人给答案。

最佳方案:记忆资产生命周期的五条纪律

① 写入双通道,互斥不越权。 热路径主权在模型:记忆工具就是它的权力,实时落库。冷路径系统兜底:只在成功收尾的安全点触发、只补热路径没顾上的范围、水位线推进不重不漏、失败静默不影响主链路。互斥判重是冷路径的第一纪律------CC 的 hasMemoryWritesSince 思想,粒度细化到"哪个记忆空间没碰过补哪个"。

② 决策关必须过,但裁决要引用不要覆盖。 吸收 Mem0 两段式:候选记忆永不直接入库,先找相关存量记忆再裁决。把四操作改造为血缘语义:ADD 新挂、SUPERSEDE 引用旧 claim 取代(不覆盖)、FORGET 级联、NOOP 不动。SUPERSEDE 就是 Mem0 的 UPDATE 去掉覆盖病的版本------历史留痕,"系统永远知道自己怎么错的"。

③ 单一写入服务:冷热路径同管一道闸。 无论模型主动写还是后台蒸馏写,全部经过同一个写入服务、同一套校验(schema、长度、敏感串扫描、supersedes 合法性、版本检查)。蒸馏器的产出不是"写入"是"写入申请"------它是写入服务的后台客户端,不是第二个写作者。写入纪律从此只有一份,幻觉和越权在同一道闸拦下。

④ 巩固是周期任务,节奏用提醒不用强制。 sleep-time 思想落地为两档:低成本档是周期提醒------距上次整理满 N 个任务,给主 Agent 注入一条"该收拾记忆了"的轻提示,整理动作自动重置计数,不产生额外模型调用;高成本档才是离线合并去重,且合并也必须留下血缘,不能为了干净把历史抹掉。

⑤ 遗忘分三层,各管一段。 检索层学 MemoryBank:低频记忆自然降权沉底,不用删;血缘层学 Graphiti:被取代的记忆失效留痕,可追溯;主权层给用户:显式遗忘沿血缘链级联删净。再加上业界没人答的一致性底座:版本 CAS + 行锁 + 唯一约束兜底并发,所有竞态翻译成"read it and retry"的可执行错误------记忆的并发问题是数据库问题,不是 prompt 问题。

收尾

五条归一句:

记忆不是一次提取调用,是一条资产生命周期管线:写入有主权,入库有裁决,巩固有节奏,遗忘有层次,并发有底座。

至此记忆两篇闭环:上篇回答"凭什么信",这篇回答"怎么活"。

系列预告:下一篇《缓存命中率工程》------Agent 的成本地基:前面十二篇讲"怎么让 Agent 干得好",接下来讲"怎么让 Agent 干得起"。


如一:ruyi.apmen.cn

智创者社区:apmen.cn

相关推荐
保卫大狮兄1 小时前
简道云 CRM 管理系统:如何做老客户分层经营?新客与老客的策略如何区分?
人工智能·crm·销售
一个处女座的程序猿1 小时前
Agent之GPT-6:GPT-6.1 Sol 解读—让高阶 AI 能力以更低成本落地
人工智能·agent·gpt-6.1 sol
阿里云云原生1 小时前
AI 中台的构建和智能体调优实践
云原生·agent
千桐科技1 小时前
大模型落地不“纸上谈兵”:qKnow专业版用原生MCP为AI装上“手脚”
大数据·人工智能·qknow
2601_954811821 小时前
人工智能机器视觉实验箱选型:昇腾算力与工业数据集架构对比
人工智能·架构
小天源1 小时前
智叟云集系统适用场景与业务实践
大数据·人工智能
没事写点啥1 小时前
WeKnora 问答实现
后端·agent·ai编程
Juicedata1 小时前
面向 EB 级 AI 存储:JuiceFS 企业版架构演进
数据库·人工智能·架构
EDPJ1 小时前
(2026|COLM|Cornell,跨层/连续块共享专家池,跨层专家复用,扩大路由组合空间,深度 embedding)MoRE:专家复用 MoE
人工智能