Skip to content

探究 agentmemory 记忆分层思想

Published:
10 min read

agentmemory v0.9.24 · 2026-06-02

我理解的 agentmemory 记忆分层,不是“把人类记忆搬进代码”。它更像是一套给 agent 用的工程记忆系统:把运行过程中出现的上下文、事件、经验和行动,整理成可以保存、检索、强化和复用的东西。

它确实借了认知科学里的几个词:working、episodic、semantic、procedural。这不是随便起名。agent 工作时也会遇到类似的问题:当前要记住什么,过去发生过什么,从过去能总结出什么,以后遇到类似情况该怎么做。但这些词到了 agentmemory 里,边界已经变成工程边界,不再是心理学概念本身。

这也是读这套系统时最容易混淆的地方。认知科学给了一个好理解的入口,但真正决定 agentmemory 怎么分层的,是 agent 的工作流。

working:当前上下文

working memory 在这里最好理解成“当前工作台”。

agent 处理任务时,总有一些东西需要放在手边:用户偏好、项目约束、还没做完的事项、这次任务的注意点,以及一些应该被带进上下文的长期记忆。agentmemory 里的 slot、pinned context、working context,大体都可以放到这个角度理解。

所以 working 不太适合看成一条自动整理流水线的第一站。它更像一个可编辑的上下文层。内容可以被写入、替换、压缩,也可以在构造上下文时被挑出来。它主要是为了让当前任务不断片,而不是把所有东西都送去沉淀。

episodic:发生记录

episodic memory 保存的是“发生过什么”。

一次会话里,用户说了什么,agent 调了什么工具,读了哪些文件,碰到什么错误,做过什么决定,这些都属于经历记录。session、observation、timeline、session summary 都可以放在这一层看。

这一层的特点是带着时间和场景。它不急着回答“这件事抽象成什么知识”,它先保证事情被留下来。后面要续接上次任务、追溯某个文件为什么改过、回看一段时间里做了什么,靠的就是这类记录。

semantic:沉淀知识

semantic memory 关心的不是过程,而是从过程中留下来的稳定内容。

这里需要稍微区分几个名词。Memory 更像长期保存的事实、偏好、架构判断或模式;SemanticMemory 更接近从会话摘要里合并出来的稳定事实;Lesson 是经验教训,带置信度和强化次数;Insight 则更像多条记忆或教训综合出来的观察。

这些东西都可以叫“知识”,但不能混成一个概念。MemoryLesson 的稳定性信号就不一样:前者更偏长期记录,后者更偏经验置信度。这个区别不能抹掉,因为 agentmemory 并不是简单地把所有记忆放进一个池子里,而是在用不同结构保存不同形态的知识。

episodic 和 semantic 的分界也在这里。episodic 说“这件事发生过”,semantic 说“这件事里有个值得记住的结论”。前者保留现场,后者抽掉现场。

procedural:行动模式

procedural memory 处理的是“下次怎么做”。

这层不只是知识。它更接近行动组织。agentmemory 里一方面有从重复 pattern 中提取出来的 procedure,描述遇到某类情况时该按哪些步骤处理;另一方面还有 ActionRoutineLeaseCheckpointSentinel 这些偏执行管理的结构。它们关心的不是“我知道什么”,而是“接下来谁做什么、什么时候算完成、被什么条件卡住、能不能复用成流程”。

把 procedural 理解成“语义知识的下一层”会有点窄。它更像把经验接回行动:过去哪些做法有效,当前有哪些任务要推进,未来哪些流程可以重复使用。

借鉴在这里,边界也在这里

用 working、episodic、semantic、procedural 来读 agentmemory,是有帮助的。四个词刚好对应四个很自然的问题:

但这个类比也只能到这里。agentmemory 不是在复现认知科学模型,它要解决的是工程问题:数据怎么捕获,怎么压缩,怎么检索,什么时候进入上下文,哪些内容要强化,哪些内容应该慢慢降权,多个 agent 之间怎么协作。

尤其是 consolidation,不能直接理解成“四层记忆的完整晋升链”。它确实会把已有记录整理成更稳定的事实,也会从反复出现的模式中抽取可复用流程,还能配合反思和衰减机制。但 working 和 episodic 并不需要作为 consolidation 的产物存在。working 更接近当前上下文,episodic 更接近原始经历和摘要。consolidation 是整理机制,不是四层本身。

这点如果不分清,就容易得出两个都不太准确的判断:要么以为 agentmemory 在完整模拟人类记忆,要么以为它没有把某个理论实现完整。更合适的看法是:它借了认知科学的语言,但按 agent 的工程需求重新切了边界。

从记录到经验

agentmemory 比“保存聊天历史”多走了一步。它不只是把过去放进仓库,还试图把过去变成以后能用的经验。

先有记录。session 和 observation 让 agent 的行为留下痕迹,用户输入、工具调用、文件读写、错误和决策都有机会被追溯。

然后是整理。会话摘要、MemorySemanticMemoryLessonInsight 把原始经历里的部分内容变得更稳定。这里的稳定不是“绝对正确”,而是系统通过重复出现、置信度、强化次数、访问记录这些信号,判断哪些内容更值得保留。

再往后是行动化。Action 让记忆系统可以表达下一步任务;Routine 把可重复流程固定下来;CheckpointSentinel 让任务和外部状态、时间、审批或事件挂钩。

Crystal 是这里很值得单独看的一环。它把一串完成过的行动压缩成经验摘要,再把值得复用的内容沉淀为 Lesson。也就是说,系统不是只记录“做完了”,还会尝试回答“这次做完之后,有什么以后还能用”。

衰减和强化也放在这个逻辑里看。部分记忆长期不被访问,强度会下降;LessonInsight 也有自己的置信度衰减和强化方式。这和认知科学里的遗忘直觉相似,但本质上还是工程里的权重调整:常用、常被确认的内容更容易留下来,长期不用的内容逐渐退到低优先级。

结语

我更愿意把 agentmemory 看成一套面向 agent 工作流的记忆组织方式,而不是一套认知科学模型的代码版。

working 维持当前上下文,episodic 保存经历,semantic 沉淀知识,procedural 组织行动。认知科学的词汇让这套结构容易理解,但真正决定它怎么运转的,是 agent 需要如何保存经验、找回经验、强化经验,再把经验用到下一次行动里。

Follow along for new posts, project notes, and updates from chenmi.

No newsletter setup yet. RSS and social links are the current best way to keep up.