前面写 Hermes Agent 的记忆架构时,我聚焦在单一产品的设计哲学上。深度用了一个月之后,越来越多的问题冒出来:这套分层设计是 Hermes 独有的选择,还是整个行业的共识?如果换一个 Agent 框架,记忆该怎么设计?有没有什么东西是"不管怎么做都绕不开"的?
带着这些问题,我花了一些时间拆解了六家主流 Agent 记忆系统的实现。 结论比我预期的更清晰:所有人都在收敛到同一个方向,差异只是路径不同。
百花齐放
先把格局摊开来看,看看几家主流开源的记忆框架他们的实现。
TencentDB Agent Memory 是腾讯最近开源的,走的是"语义金字塔"路线。四层结构:L0 原始对话、L1 原子事实、L2 场景聚合、L3 用户画像。每一层都保留,上层是下层的压缩,但随时可以下钻回原始记录。配合 Mermaid 符号化的短期压缩,在 SWE-bench 连续任务中 token 节省了 33%,WideSearch 场景下节省了 61%。
Mem0 是目前 star 数最高的记忆框架(55k+),走的是"扁平事实池"路线。不分层,所有记忆都是原子事实,通过 BM25 + 向量 + 实体链接三路融合检索。2026 年 4 月的新算法把 LoCoMo 基准刷到了 92.5,用不到 7k tokens 的检索成本做到了全上下文方案(25k+ tokens)的准确率。
Letta(前 MemGPT)走的是"操作系统虚拟内存"路线。直接从 OS 设计借鉴:Main Context 是 RAM(当前活跃数据),Recall Storage 是磁盘(可搜索的历史消息),Archival Storage 是冷存储(向量索引的长期知识)。Agent 通过函数调用自己决定什么时候 page in、什么时候 archive out。
Hermes Agent 走的是"有界策展"路线。两个 Markdown 文件(合计不到 4000 字符)作为核心记忆,SQLite FTS5 做会话搜索,再加上 8 个可选的外部记忆 Provider 做扩展。容量小,但 Agent 自己管理哪些值得记住、哪些该淘汰。
Stanford 的 Generative Agents(2023)是学术界的开创性工作。Memory Stream 记录所有观察,定期聚类生成高阶 Reflection,检索时用时间衰减 × 相关性 × 重要性三个信号加权打分。25 个模拟角色靠这套机制自发组织了情人节派对。
Voyager(Microsoft,2023)专注程序性记忆。不存对话、不存事实,只存验证过的可执行代码。每学会一个新技能就存进 Skill Library,下次遇到类似任务直接调用。技术树推进速度比 baseline 快了 15.3 倍。
差异在哪里
六家实现的差异,归结起来是三个设计决策点。
第一个分歧:分层还是扁平。
TencentDB 和 Letta 坚持分层,认为不同抽象级别的信息应该住在不同的"楼层"。Mem0 坚持扁平,认为所有事实平等,好的检索算法比好的存储结构更重要。
两边都有硬数据支持。TencentDB 的分层在 PersonaMem(个性化记忆)基准上把准确率从 48% 拉到 76%,因为画像层天然适合回答"这个用户是什么样的人"这类问题。Mem0 的扁平池在 LoCoMo(事实性问答)基准上做到 92.5,因为原子事实配精准检索天然适合回答"上次说了什么"这类问题。
结论很明确:不是谁对谁错,是场景不同。事实检索用扁平池更好,个性化理解用分层金字塔更好。
第二个分歧:Agent 自主管理还是规则驱动。
Letta 让 LLM 自己决定何时存取删(通过暴露 memory API 为 tool call),Hermes 用固定字符上限 + Agent 自主策展,TencentDB 用定时管线(每 N 轮触发提取、每 M 条新记忆触发画像更新)。
2026 年初有篇论文(Agentic Memory)用 RL 训练了一套记忆管理策略,在五个长期基准上全面超越了上述所有方案。训练出来的策略会做一些非直觉的事:比如在 context 还没满时就主动 summarize,比如丢弃和已有记忆语义相似但不增加信息量的新记录。
代价是训练成本极高,且策略可解释性差。但方向很清楚:记忆管理最终会是学出来的,不是写规则写出来的。
第三个分歧:要不要保留原始记录。
TencentDB 的核心主张是"无损可追溯",压缩是索引层,原始数据永远在。Mem0 是 ADD-only,也不删原始事实。但 Hermes 的核心记忆是策展式的,旧条目会被合并或删除,原始记录只在 Session DB 里保存。
这个分歧背后是对"记忆出错时怎么办"的不同态度。保留原始记录意味着永远能审计和纠错,但存储和检索成本更高。不保留则更精简,但一旦压缩出错就无法恢复。
生产环境我的判断是:必须保留。Summarization drift(多轮压缩后关键信息丢失)不是理论风险,是实际会发生的事。一条"永远不要直接调用生产数据库"的指令,经过三轮摘要压缩后大概率会消失。
共性在哪里
分歧说完,说共性。这些是所有团队无论走哪条路,最终都收敛到的结论。
共识一:长上下文不等于记忆。
这一点在 2026 年已经没有争议了。MemoryArena 基准测试表明:200k token 上下文的模型在被动召回任务上接近满分,但在需要主动管理记忆的多会话任务中跌到 40-60%。把所有东西塞进 context 不是记忆,就像把所有书摊在桌上不是"知道"。
共识二:至少需要两层(工作记忆 + 长期存储)。
没有任何一个在生产环境跑过的 Agent 系统是单层的。哪怕最简单的实现(Hermes 的两个 Markdown 文件)也区分了"始终在上下文中的核心知识"和"按需检索的历史会话"。
共识三:混合检索优于单一检索。
BM25 关键词 + 向量语义 + 其他信号(实体/时间/重要性)的融合,是 2026 年的标配。Mem0 的 multi-signal retrieval、TencentDB 的 hybrid recall、Generative Agents 的三信号加权,殊途同归。纯向量检索的时代已经过去了。
共识四:记忆需要主动管理。
Append-only 在短期可以工作,但任何跑超过几十个 session 的 Agent 都会遇到检索精度随时间退化的问题。压缩、去重、遗忘都是必要的。只是"怎么管"还没有标准答案。
共识五:可审计性不是可选项。
当记忆影响 Agent 的决策(而且一定会影响),你必须能追溯"为什么 Agent 记住了这个""它的这个认知是从哪次对话来的"。黑箱记忆在 demo 里可以接受,在生产环境中不行。
不变的东西
抽象到最底层,Agent 记忆的所有设计选择都是一个约束的推论:
存储是无限的,注意力是有限的。
你可以把所有对话、所有事实、所有技能全部存下来(存储廉价)。但 Agent 每次做决策时能"看到"的信息量是固定的(context window 有限)。所以你必须有一套机制,决定哪些信息此刻值得"看到"。
这个约束和计算机存储层次结构的驱动力完全一致:Register → L1 Cache → L2 Cache → RAM → SSD → HDD → Cloud Storage。越靠近 CPU 的存储越快、越小、越贵。Memory hierarchy 不是某个工程师拍脑袋想出来的设计模式,是物理定律的直接推论。
Agent 记忆的分层也不是某个团队的"设计选择",是同一种约束的必然结果:
- 越靠近 context window("CPU")的记忆,密度越高、容量越小、更新越慢
- 越远离 context window 的记忆,容量越大、密度越低、需要检索才能访问
这就是为什么所有人最终都收敛到了类似的结构。不是互相抄,是约束相同,解空间就那么大。
从这个第一性原理出发,可以推导出几条不会变的设计规则:
一、工作记忆和长期记忆分离
因为 context window 永远不可能真的无限。即使未来扩展到 1M tokens,注意力稀释("lost in the middle"问题)也会让塞满的上下文失效。因此当前记忆和长期的记忆必须分离开。
二、有写入策略决定存什么
不是所有信息都同等重要。如果什么都存,检索精度必然退化,也会造成记忆污染。
三、有读取策略决定什么该被加载
相关的信息应该被加载到到工作记忆中,拓展当前对话的上下文。这就是检索问题,但不只是相似度检索,还包括时效性、重要性、与当前任务的相关性。
四、蒸馏情景记忆为语义记忆
必须有某种形式的"蒸馏"把情景记忆转化为语义记忆。因为原始记录太冗长,不能直接塞进有限的工作记忆。你需要从"昨天用户纠正了日期格式、上周用户又纠正了、这周也纠正了"蒸馏出"用户偏好 DD/MM/YYYY 格式"。
五、必须有某种形式的"遗忘"
因为世界在变,用户在变,过时的记忆比没有记忆更危险。新信息的摄入是源源不断的,保持信息的持续更新,需要遗忘掉过去的错误或者过时的信息。
这五条规则不依赖于具体实现技术(向量数据库、知识图谱、SQL、Markdown 文件都行),也不依赖于底层模型(GPT、Claude、DeepSeek 都一样)。它们是从"注意力有限"这个约束直接推导出来的。
为什么和人脑如此相似
这不是巧合。
认知科学在过去五十年里也在研究同一个问题:人脑怎么在有限的工作记忆容量下(Miller 的 7±2,Cowan 修正为 4 个 chunk),管理几十年的人生经验?
答案是分层。Atkinson-Shiffrin 模型(1968)提出了感觉寄存器 → 短期记忆 → 长期记忆的三级结构。Tulving(1972)把长期记忆细分为情景记忆和语义记忆。Squire(2004)补充了程序性记忆。Baddeley(2000)把短期记忆扩展为包含中央执行体和缓冲区的工作记忆系统。
这些分类不是心理学家的主观发明,而是通过大量脑损伤病例和 fMRI 研究验证的。海马体损伤导致无法形成新的情景记忆但程序性记忆完好(H.M. 患者可以学会新的运动技能但不记得学习过程),证明了这些记忆类型在神经层面就是分离的。
Agent 的记忆分层和人脑记忆分层的相似性,根源在于它们面对同一个约束:有限的"注意力带宽"下如何组织无限的经验。这个约束对人脑是工作记忆的容量限制,对 Agent 是 context window 的 token 限制。约束相同,最优解就相似。
还有一个更具体的对应关系值得注意。人类的记忆巩固发生在睡眠期间:白天海马体暂存情景记忆,夜间慢波睡眠阶段被转移到新皮层形成语义记忆。这个过程是选择性的(不是所有记忆都巩固)、渐进的(需要多次重放)、变形的(记忆被抽象化)。
TencentDB 的 L0→L3 管线几乎是这个过程的工程模拟:默认五轮对话触发、选择性提取、逐步抽象、保留原始记录作为"备查"。Hermes 的冻结快照模式(在线时保持认知稳定,会话间隙完成记忆更新)也映射了同样的逻辑。
这种收敛说明一件事:好的 Agent 记忆设计不需要"模仿人脑",只需要诚实地面对约束,自然就会走向类似的架构。
如果从零开始设计
基于以上分析,如果今天要给一个 Agent 从零设计记忆系统,我的建议是分三步走。
第一步:最小可行记忆(覆盖 80% 场景)。两层结构。上层是注入 system prompt 的核心知识(用户画像 + 环境事实 + 关键偏好),控制在 1000 tokens 以内。下层是原子事实存储,BM25 + 向量混合检索,每次对话结束后提取新事实。这就是 Mem0 的本质,能跑起来就先跑。实际上,在我们内部的项目中,用这种方式自己实现一层记忆机制,效果非常好。
第二步:加入蒸馏和压缩(解决长期退化)。当事实池超过几百条时,纯检索的精度开始退化。这时候需要引入 TencentDB 式的分层蒸馏:定期把相关的原子事实聚合为场景,再从场景中提炼出画像。上层画像进 system prompt,下层事实按需检索。关键是保留全链路可追溯。
第三步:加入程序性记忆(解决重复劳动)。当 Agent 开始反复执行类似任务时,引入 Skill/技能系统。把验证过的操作流程存为可复用的模板,按需加载。这一步不影响事实记忆的架构,是独立的一条线。
每一步都是上一步的自然延伸,不需要推倒重来。
我的思考
做完这轮调研,几个判断更清晰了。
Agent 记忆领域正在快速收敛。2023 年还是百花齐放(Memory Stream、Virtual Memory、Skill Library 各走各的),到 2026 年大家已经在核心架构上达成了共识。差异越来越多地体现在工程细节而非设计哲学上。
"注意力有限"是唯一的根约束。所有的分层、压缩、检索、遗忘策略,都是这一个约束的推论。理解了这一点,面对任何新的记忆方案都能快速判断它在解决什么问题、在哪个层做优化。
目前最被低估的方向是"管理环路"。学术界和工业界都在写入和读取上投入了大量精力(更好的 embedding、更好的检索算法),但"何时写入、何时遗忘、如何解决冲突"这些管理决策还非常原始。Agentic Memory 用 RL 训练管理策略的方向是对的,但离成熟还早。
目前最难的问题是"选择性遗忘"。MemoryAgentBench 是唯一明确测试遗忘能力的基准,结果是:没有任何系统通过。人脑的遗忘机制精妙到我们几乎察觉不到它在工作(你不会记得去年某个周三中午吃了什么,但你记得你对花生过敏)。Agent 要达到这个水平,还有很长的路要走。
对我自己的 Agent 产品设计来说,最大的启发是:不要一上来就追求完美的五层架构。从 Mem0 式的两层 MVP 起步,跑通核心闭环(提取 → 存储 → 检索 → 注入),然后根据实际遇到的问题(token 爆炸加压缩、个性化不够加蒸馏、重复劳动加技能),逐步演进。每加一层都要有明确的问题驱动,而非为了架构优雅。
参考
- Tencent/TencentDB-Agent-Memory
- Mem0 — The Memory Layer for AI
- Letta (formerly MemGPT)
- NousResearch/hermes-agent
- Park et al., "Generative Agents: Interactive Simulacra of Human Behavior" (2023):arxiv.org/abs/2304.03442
- Packer et al., "MemGPT: Towards LLMs as Operating Systems" (2023):arxiv.org/abs/2310.08560
- Du, "Memory for Autonomous LLM Agents: Mechanisms, Evaluation, and Emerging Frontiers" (2026):arxiv.org/abs/2603.07670
- Yu et al., "Agentic Memory: Learning Unified Long-Term and Short-Term Memory Management" (2026)
- Mem0 Research — Token-Efficient Memory Algorithm
- Atkinson & Shiffrin, "Human Memory: A Proposed System and Its Control Processes" (1968)
- Tulving, "Episodic and Semantic Memory" (1972)
- Baddeley, "The Episodic Buffer: A New Component of Working Memory?" (2000)
- Ebbinghaus, "Über das Gedächtnis" (1885)