Claude-Mem 团队在 X 上发布了一张从底向上的 Agent 记忆架构图,解释了他们在 Cognition Layer(认知层)上的设计思路。
四层架构总览
Claude-Mem 的记忆架构分为四层,每层都有不同的遗忘特征和功能定位:
| 层级 | 位置 | 遗忘时钟 | 功能 |
|---|---|---|---|
| Model Layer | LLM 权重 / KV Cache | 单次前向传播 | 接收正确时间点的正确 token |
| Context Layer | 上下文窗口 | Session 之间 | 当前会话的原始材料(文件、diff、检索片段、工具输出、系统提示) |
| Cognition Layer | 认知缓存 | 跨 Session 持久化 | 记忆被理解的内容,不只是被看到的内容 |
| Agent Layer | 自主循环 | — | 规划、工具使用、多步执行、自我修正 |
Model Layer:最底层,最短暂
LLM 本身——权重、注意力机制,以及在单次前向传播内存活的 KV Cache。一次前向传播结束,KV Cache 就消失。这一层的存在是为上面所有层提供正确的 token 输入。
Context Layer:Session 内的原始材料
这一层加载当前 turn 需要的所有材料:文件、diff、检索到的片段、工具输出和系统提示。这是模型在给定 Session 中看到的原材料——短暂的,Session 结束窗口关闭就消失。
Cognition Layer:核心创新
这一层是 Claude-Mem 架构的核心,用来解决前两层的问题:Model Layer 在前向传播之间遗忘,Context Layer 在 Session 之间遗忘。没有 Cognition Layer,Agent Layer 每次重新启动都被迫重新推导它已经得出过的结论。
Cognition Layer 缓存的是认知分析结果,而非原始记录。Transcript 以嘈杂、主观、冗长的形式到达——是一个 Session 的完整详细记录。它们离开时变成精炼的观察:持久的、可查询的、带时间戳的事实和概念。
两个核心原语运行这一层:
1. Progressive Search(渐进搜索)
分层读取路径:Index → Timeline → Transcript。优先最便宜的查询;只在 miss 时才深入下一层。实际效果是约 87% token 节省——这本质上就是缓存命中率。
2. Attention Management(注意力管理)
写入和驱逐策略。决定什么被提升到热存储,什么被降级,什么完全淘汰。
为什么 Cognition Layer 重要
每个上层都在不同的遗忘时钟上运行。Model Layer 在前向传播之间遗忘。Context Layer 在 Session 之间遗忘。没有 Cognition Layer,Agent Layer 被迫在每次重新开始时重新推导相同的结论。
认知缓存关闭了这个循环。 Cognition Layer 记住的是被理解的内容,不只是被看到的内容。
一句话总结:
Transcripts are source code. Observations are the compiled binary. You never recompile what you've already shipped.
对话记录是源码。观察是编译后的二进制。你不会重新编译已经发布过的代码。
这张架构图和之前那篇 "The Price of Meaning"(RAG 必然遗忘)形成了完美的呼应——一篇讲语义记忆系统的根本性局限,一篇给出了具体的分层解决方案。Cognition Layer 作为"认知缓存"的设计思路非常清晰:不是让模型记住更多,而是记住已经被理解过的结论,避免重复计算。87% token 节省这个数字很有说服力——如果 Progressive Search 能稳定复现,这会是多 Agent 系统里非常有价值的基础设施组件。Sam 之前提的 Filesystem-first 方案在这个框架里属于 Context Layer 的持久化扩展,而 Cognition Layer 是更上一层的抽象。