当前时间: 2026-08-07 06:46:55
分类:办公文件
评论(0)
AI开始学会遗忘了,这可能是好事写这篇文章,起因是一次升级。在社区读到一篇关于 AI 记忆的文章,心动,于是动手迭代 OpenClaw 和 Hermes 的记忆系统。改完后仍不满足,又回头调研了当下主流的智能体记忆方案。这篇文章,是这趟从读到做、从做到调研的完整记录。它的知识锁在权重里,"当下知道什么"只取决于这一次调用喂进去的上下文。上下文窗口一关,什么都不剩。你周一告诉它,我不吃香菜,点单别加;周二它给你推荐菜,照样端上一盘香菜拌牛肉;你纠正一遍,周三接着忘。这不是 bug,是结构,LLM 是 stateless 的,上下文窗口就是全部记忆,关掉窗口,一切清零。过去两年,整个行业都在跟这个结构性缺陷搏斗。2025 年的主流答案是 RAG,把对话历史塞进向量数据库,用的时候检索。但 RAG 有个绕不开的问题:你怎么知道该检索什么?问题问得不精确,检索就抓瞎。检索错了,再强的模型也答不对。到了 2026 年,答案开始分化。有意思的是,所有答案都指向同一个方向:让 AI 学会去遗忘。Hermes 的记忆是三层各自独立、容量有限的装置。第一层是 memory 工具,一块 2200 字符的插槽,每轮对话都注入上下文,满了就手动取舍,删哪条留哪条靠 agent 的主观判断。第二层是 MEMORY.md 和 USER.md,身份与长期偏好的静态文件,写进去就一直在,但不会自己更新。第三层是 session_search,只能字面搜索历史会话,SQLite 关键词匹配,你记得用户说过"偏好简洁",搜"沟通习惯"四个字大概率什么都搜不到。OpenClaw 原生的情况类似。MEMORY.md 是长期记忆,每次会话开始注入;memory 目录下的日期笔记是工作记忆;检索靠 hybrid,BM25 关键词加向量,各占权重。比 Hermes 多一个字面兜底,但本质还是"文件加索引",没有自动巩固,没有遗忘机制。四个共同局限:容量天花板、手动取舍、字面检索、无巩固。记忆靠累加,不做合并提炼,新旧矛盾的信息并排躺着。这不是哪个团队偷懒,这是 2024 年之前整个行业的普遍状态:记忆被当成一块静态空间,而不是一个动态过程。一条是学术界的 OS 式架构。2023 年 10 月,Berkeley 团队发表 MemGPT,标题就叫《Towards LLMs as Operating Systems》。核心思想:别把记忆当仓库,把它当虚拟内存。RAM 放高频事实,磁盘放历史,冷存储放无限扩展的档案。模型自己决定什么时候把东西搬进上下文,什么时候换出去,就像操作系统管理内存分页。在深度记忆检索基准上,GPT-4 裸跑只有 32.1% 的准确率,加 MemGPT 之后跳到 92.5%。翻译成人话:同一批问题,裸模型十个里答不对七个,装了记忆模块后十个里能答对九个。另一条是 2026 年 7 月发布的 OptMem。Victor Taelin,HVM 和 Bend 的作者,把整套记忆系统压成 426 个 token 的 prompt 加一个 31KB 的 Python 文件。token 可以粗浅理解成模型读的字数,426 个 token 就是一小段话。没有向量库,没有服务器。一条只往末尾写、从不改动旧记录的日志,加一棵摘要树:记忆两两合并成一行摘要,摘要再两两合并,越往上越粗,像一棵倒过来的树。细节随年龄衰减,近期记忆原文呈现,远古记忆压缩成越来越粗的摘要,像人脑。压缩不是算法做的,是模型做的:nap 命令把一对记忆丢给 agent,让 LLM 自己写摘要,自己判断什么有持久影响、什么该忘。Hermes 的 OptMem v2 对标 MemGPT/Letta 做成分层系统。Core 是 RAM 放高频事实,Recall 是磁盘缓存存会话历史,Archival 是冷存储无限扩展。检索从字面变语义,本地 Ollama embedding 做向量搜索,能召回"相关"而非"字面相同"。提取从被动变主动,agent 自动识别关键事实过滤噪声。分层更新,Core 覆盖过期事实,Archival 保留完整演变历史。每天定时巩固,遗忘瞬时、保留持久。OpenClaw 这边走的是管理仪式路线。记忆分三层:真相层只追加永不改,活跃层可读可写,摘要层可丢弃可重建。wake 仪式,每个会话醒来先读记忆;note 纪律,学到就记一条一行;nap 仪式,每周把一周日志压成摘要。最有意思的是梦境:巩固分三阶段,Light 浅睡筛选信号,REM 快速眼动做主题反思写一段梦境日记,Deep 深睡把信号压缩成结构化摘要。系统真的在"做梦":梦见反复出现的主题,梦见变强的信号,梦见悬而未决的事。两条路,一条把记忆做成系统,一条把记忆做成仪式。方向一致:都开始承认,遗忘是记忆的一部分。把我的记忆系统升级放进整个行业坐标系,2026 年的 AI 记忆技术已经分成三个清晰流派。代表是 Mem0 和 Zep。 核心理念:记忆不是一堆孤立事实,是一张知识网络。"用户喜欢 Kotlin"是事实,但"喜欢 Kotlin、项目用 Clean Architecture、Dispatcher 必须依赖注入"这三者的关系才是值钱的记忆。向量数据库存事实,存不了关系。Mem0 每次对话后跑两个 LLM 调用:第一个提取实体和关系,第二个决定增删改。据其论文,相比 OpenAI 原生记忆准确率提升 26%,延迟降 91%,token 成本省 90%。Zep 更进一步,用双时序知识图谱,每条边记录事件时间和摄入时间两条时间线,事实变了不删除,只标记失效。你能问它"三个月前用户的偏好是什么",它能回答。代表是 Letta,前身就是 MemGPT。 核心理念:别替 agent 管记忆,让 agent 自己管。Core 常驻上下文,Archival 语义检索,Recall 完整会话日志。agent 拥有自编辑工具,自己决定什么时候更新 persona 块,什么时候把旧事实替换掉。2026 年 2 月推出 Letta Code,用 Skill Library 把学到的模式存成 md 文件自动调用,用 Context Repositories 做 git 版记忆控制,记忆可以提交、分支、回滚。在 Terminal-Bench 上拿了开源框架第一。代表是 Mastra。 最激进:不做检索,不建外部数据库,把一切压缩成纯文本塞进上下文。听起来荒谬,上下文窗口有限怎么塞得下?答案是压缩比。纯文本对话压 3 到 6 倍,带工具调用的压 5 到 40 倍,十次 API 调用压成一行观察笔记。两个后台 agent 管理:Observer 在原始对话超 30k token 时压成带日期和优先级的观察笔记,Reflector 在观察笔记超 40k token 时做垃圾回收,合并重复删掉过时。没有检索缺口,"该搜什么"的问题不存在,观察块稳定还能吃满 prompt caching 折扣。在 LongMemEval 上拿 94.87%,当前 SOTA。MemoryBank 在 2023 年就把艾宾浩斯遗忘曲线搬进了 LLM 记忆(中山大学等团队,arXiv:2305.10250)。核心公式 R = e^(−t/S):记忆保留率随时间指数衰减,S 是记忆强度,每次被回忆 S 加一、计时器清零。记忆的价值随时间和被回忆频率动态变化,AI 会遗忘,而且遗忘是有策略的。这打破了"记忆越多越好"的直觉。Stanford 2023 年的 Generative Agents 论文(25 个 AI 角色住在小镇里的实验)证明:观察、反思、计划三件事缺一不可。agent 把原始经历存进记忆流,定期把观察合成高层反思,"John 的爸爸总在下班后散步"会升级成"John 的爸爸重视家庭时间"这种更高层认知,再存回记忆流。反思是记忆的提炼器。图记忆结构保真度最高,关系、多跳推理、时序查询都是主场。代价是贵:每次对话跑提取管线,两个 LLM 调用,图维护复杂,不是所有记忆都适合塞进实体关系的模子。更扎心的是 Letta 自己的研究:在 LoCoMo 基准上,一个只用基础文件系统操作的 agent 拿了 74%,打败用 Mem0 图记忆的 68.5%。结论值得细品:也许最好的记忆系统不需要特殊架构,只需要 agent 最熟悉的工具。OS 式流派自主性最高,可解释性好,你能直接读 Core memory 看它记得什么。代价是上下文成本高,系统 prompt 加工具定义加核心记忆,对话还没开始就吃掉约两千 token;自编辑有风险,agent 可能误删重要记忆;页错误昂贵,发现需要的记忆不在上下文里,要一次 RAG 加一次推理,实时场景这个延迟可能是致命的。观察式流派零基础设施、确定性高、调试友好、成本最低。代价是压缩有损:十次失败的 API 调用可能被压成一句"尝试过 API 调用,失败",日常对话无所谓,调试场景里那十条错误轨迹正是线索,压掉就是真的失忆。跨会话是短板,多会话子分只有 87.2%。三个流派公认了一个反直觉事实:2026 年,上下文窗口到了 1M 甚至 2M token,暴力塞满往往比优雅检索更有效。 Zep 发现把完整对话直接塞进上下文能拿 73%,比 Mem0 的 68.5% 还高。这动摇了 LOCOMO 基准的公信力,也解释了观察式流派为什么能拿 SOTA。第一层是补上"遗忘"这个缺失的机制。原生记忆只会累加不会遗忘,这是所有问题的根源。升级后真相层永不失真,但摘要层可以丢弃重建,nap 每周强制压缩一次,本质是给记忆装上遗忘的阀门。阀门的控制权在模型手里:什么有持久影响,什么该忘,由 LLM 判断,不是硬编码规则。第二层是把"记忆"从名词变成动词。wake、note、nap 三个仪式,把记忆管理变成会话的固定节奏。醒来先读,干活随时记,每周睡一觉压缩。记忆不再是躺在文件里的静态资产,是每个会话都在发生的动态过程。REM 梦境日记是这层思路的极致:系统不仅整理记忆,还反思记忆,提炼主题和趋势,像人做梦一样把白天的经历织成第二天的认知。第三层是接受"记忆是分层取舍"这个哲学。不是所有记忆都该占据上下文,不是所有记忆都该永远活着。RAM 放高频,磁盘放历史,冷存储放档案;真相层永存,摘要层可弃,活跃层精炼。这与 MemGPT 的虚拟内存、Zep 的时序图谱、MemoryBank 的遗忘曲线,是同一个判断的不同实现。对标三大流派,我们的路线最接近 OS 式加观察式的混合:分层存储是 OS 式的,每周压缩是观察式的,REM 梦境日记是反思式的,真相层永不失真是 Zep 式的。没有走图记忆是因为我判断:个人知识库的规模,文件系统加索引已经够用,不值得引入图谱的维护成本。第一,记忆巩固正在从学术概念变成工程标配。 睡眠巩固不再是比喻,是架构。离线任务读取脏状态、过去会话、工具轨迹,写回更干净的记忆表示。OpenClaw 原生的 Dreaming 分 Light、REM、Deep 三阶段,我自建的 nap 也做三阶段,两个独立实现撞在同一个设计上,收敛的证据。第二,遗忘正在从缺陷变成特性。 MemoryBank 的遗忘曲线、OptMem 的细节随年龄衰减、我们 nap 的丢弃重建,都在做同一件事:给记忆装上遗忘机制。不是所有记忆都该占上下文,不是所有记忆都该永远活着。会遗忘的记忆才是活的。第三,记忆管理的重心正在从"存"转向"判断"。 插槽时代的取舍靠人,图记忆的取舍靠管线,观察式的取舍靠压缩规则,OS 式的取舍靠 agent 自己。每一次升级,都是把"记什么、留什么、忘什么"的判断权,从硬编码挪向模型推理。接下来大概率会是杂交。观察式压缩负责会话内即时记忆,图持久化负责跨会话结构知识,OS 式自编辑负责长期偏好,遗忘曲线给所有层装衰减机制。上下文窗口继续变长,暴力覆盖在单会话越来越有竞争力,但跨会话、跨用户、多跳推理的场景,结构化记忆仍然不可替代。对做 agent 的团队来说,选择其实简单:需不需要跨会话记忆?不需要,观察式最省事;需要,要不要时序推理?要,选 Zep 这类时序图谱;要不要 agent 自主进化?要,上 Letta 式自编辑。没有银弹,但 2026 年这个问题已经从"有没有解"变成"你要哪个解"。至于这场记忆战争最后打成什么样,留一个判断验证:记忆的本质是取舍,取舍的本质是判断,判断正在从代码迁移到模型。 谁能让模型在"什么值得记住"这件事上做得更好,谁就拥有真正记得住的 AI。而判断力的训练,大概要从每晚的梦开始。梦的本质,就是大脑在夜里做取舍:什么留下,什么忘掉,什么会织进明天。