AI Agent 如何拥有记忆?从原理到实践的详细指南

AI Agent 如何拥有记忆?从原理到实践的详细指南

@lxfater
简体中文4天前 · 2026年5月13日

AI 功能

388K
562
168
37
1.1K

TL;DR

本指南阐述了 AI Agent 记忆的运作机制,对比了基础会话管理与采用语义整合及技能蒸馏技术的 EverOS 等高级企业级框架。

最近,Agent 的长时记忆变得非常流行,大家都在讨论记忆系统。

但当你去看那些解释时,大多数只是抛出一堆术语:向量数据库、RAG、上下文窗口、压缩、情景窗口、压缩、情景记忆……

看完之后,你还是说不清楚它到底是怎么工作的,对吧?

这不怪你,因为大多数文章都假设你已经有了基础。

不过,Agent 记忆系统目前是面试中最热门的话题。如果你不懂,在工作和面试中都会吃亏。

所以,这篇文章我会换个角度,从基础开始,不堆砌术语!我会尽力让每个人都能看懂!!

我保证,看完之后,你自己就能回答这三个问题:

什么是记忆系统?

如何理解 OpenClaw 的记忆系统?

企业级解决方案是什么样的?我选了 EverOS(github.com/EverMind-AI/EverOS

铁锤人 - inline image

这篇文章很长,我写了好几天。如果你有对 Agent 记忆感兴趣的朋友,可以收藏起来,之后收藏转发给他们。

Agent 记忆系统的基础知识

这部分主要讲 Agent 如何在单次会话内和跨会话之间维持记忆。如果你已经懂了,可以直接跳过。

首先,大模型两次 API 调用之间是没有记忆之间是没有记忆的。什么意思?

比如:第一次调用你说你喜欢吃橘子,但第二次调用你没有把“我喜欢吃橘子”附加到 prompt 里,模型就不会记得你的偏好。

那么 Agent 在对话中是如何维持这个记忆的呢?

首先,每次你提问时,底层系统会把你整个之前的聊天历史都发过去。模型看到它,就有了短期记忆。

但当聊天历史变得太长,超过模型的最大情景窗口时,它就会压缩历史。它会总结当前的对话历史,然后塞回 prompt 里,腾出空间继续聊天。

这就是模型在单次长对话中维持记忆的原理。如果你有点困惑,看下面的图:

现在你知道单次会话里记忆是怎么维持的了,那不同聊天会话之间呢?

这就轮到长时记忆系统了!!

它的作用是在你的情景被压缩或者你要求你要求记住某事时,把重要信息存到一个存储空间里。

然后,当你开始新对话时,在合适的时候提取并添加相关信息到 prompt 中。

通过“以新换旧”,制造出记住很多事情的错觉。这类似于人类的工作记忆和长时记忆。

好了,有了这些记忆基础知识,我们就可以继续理解什么是记忆系统了。

下面,我会给你一个概念框架。如果你看完,我保证你对任何记忆系统解决方案都能有个基本理解。

记忆系统

声称能给 Agent 长时记忆的解决方案至少有几十种。我们怎么研究这么多?

接下来,我会拆解一篇论文,让你对 Agent 长时记忆有个基本理解,然后对比 OpenClaw 和其他记忆框架的差异,方便你理解。

Google 在 2025 年 11 月发表了一篇论文,题为“情景工程、会话与记忆”。

在这篇论文”。

在这篇论文中,他们沿用半个世纪前认知科学的方法,将 Agent 记忆分为三类:

  • 情景记忆:昨天发生了什么,上次讨论了什么。
  • 语义记忆:你叫什么名字,你喜欢什么,你的身份是什么。
  • 程序性记忆:如何完成一个任务,流程是什么。

这三类记忆共同构成了 Agent 的记忆。

但这只是故事的一半;另一半是关于如何维持和使用记忆。

就像人类一样,Agent 不能记住所有事情。因此,记忆系统需要一种可靠的方法来从对话历史中提取重要信息,然后保存下来。

我把这一步称为提取。

此外,我们还需要整理和合并记忆。

例如:

三个月前,我说我在大理,但后来我搬到了成都。如果这些信息没有合并,记忆里就会有矛盾的内容。

正确的做法是,在我搬走后,将记忆更新为“用户现在在成都”。

我把这一步称为更新。

还有检索步骤,涉及很多方法:关键词搜索、语义搜索、混合搜索,或者用大模型来检索。

所以,要理解一个记忆系统,你只需要理解这两个方面:

  1. 记忆分为多少类,每类存什么?
  2. 记忆是如何提取、更新和检索的?

现在,用这个框架,我们来弄清楚 OpenClaw 的长时记忆是如何实现的。

OpenClaw 的记忆分为多少每类存什么?

它的记忆分为以下三种类型:

  1. memory.md(记忆):属于语义记忆;存储你的身份、偏好和稳定的事实。
  1. daily logs(日常日志):属于情景记忆;按日期记录每天发生的事情。只添加新条目,从不删除。
  1. session snapshots(会话快照):属于情景层;当你使用 /new 或 /reset 命令开始新会话时,它会总结旧对话中最后 15 条“有意义”的消息,并保存为一个 markdown 文件。

提取、更新和检索是如何进行的?

提取发生在三种情况下:

  1. 当对话即将被压缩时:有价值的信息被写入日常日志。
  2. 当你使用 /new 或 /reset 开始新会话时:有价值的信息被保存到会话快照。
  3. 当用户要求记住某事时:系统决定将其存储到哪种记忆类型中。

检索发生在两种情况下:

  1. 开始新对话时:memory.md 自动注入到 prompt 中,同时读取今天和昨天的日常日志以获取近期上下文。
  2. 当 OpenClaw 觉得有必要检查记忆时:它会调用记忆搜索,通过混合搜索(关键词 + 向量)找到记忆位置,然后通过记忆 get 读取文件内容。

更新何时发生?我个人的理解是提取时发生的,在决定记住什么的时候。

如果你还是不太明白,看下面的图:

现在你对记忆系统有了一些了解,但说实话,OpenClaw 的系统有几个问题:

  1. 消耗大量 token。
  2. 如果 Markdown 没了,记忆就消失了。
  3. 经常忘记事情。

不过,真正的企业级记忆系统有很多优化来保证稳定性。背后的技术值得每个热爱技术的人了解。

接下来,我会分析企业级 Agent 记忆系统!!

企业级 Agent 记忆系统

在 AI 时代,每个程序员都应该了解企业级 Agent 记忆系统的技术,否则你会失去竞争力。

为什么?

因为大模型会继续蚕食我们的编程工作。唯一的选择就是为它们构建配套系统。

为了更容易解释,我选一个开源解决方案叫 EverOS 来拆解。

如果你打算从这个项目开始学习 Agent 记忆系统,欢迎给它点个 star:

github.com/EverMind-AI/EverOS

就像我之前说的,要理解一个记忆系统,只需要回答两个问题。

EverOS 是如何回答的?

问题 1:记忆如何分类?

通用框架有 3 类,但 EverOS 把每一类进一步细分,如下所示:

  1. 语义记忆 关于你身份的长时记忆,分为两层:
  2. 稳定特质:你是夜猫子、程序员、程序员、住在北京——那些长时间不会改变的事情。
  3. 临时状态:你今天熬夜了,这周很忙,上周感冒了。
  1. 情景记忆 分为三种:
  2. Episode(Episode):对话或任务的浓缩总结,不是日常日志。例如:用户询问如何部署模型,在环境变量上卡住,花了 30 分钟。
  3. 事件日志(EventLog):从对话中提取关键事实,每条带有时间戳。例如:2026-05-10 用户买了一台 Mac mini,2026-05-12 用户关联了 GitHub。
  4. 预见(Foresight):与时间相关的“下一步”——你说过要做的事情或它推断你以后会涉及的事情,带有过期时间用于提醒。例如:下周五之前发送提案。
  1. 程序性记忆两种:
  2. Agent 案例(Agent Case):完成任务后,记录“意图 + 逐步操作 + 质量评分”。例如:发送邮件——它检查联系人、起草、请求确认、然后发送——这整套被归档并附上质量评分。 Agent 技能(Distilled Skill):多次做类似任务后,自动从这些归档中提炼出通用方法,并带有成熟度评分。做得越多,越可靠。例如:5 次邮件任务 5 次后,它学会在决定正式还是随意语气之前,检查收件人是否是关键人物。

如你所见,EverOS 将原来的 3 类拆成 6 类,可以更精确地存储,更有效地记忆。

而且,它更接近人类记忆——它预测未来并总结/提炼技能。

问题 2:提取、更新和检索是如何进行的?

记忆如何提取?

EverOS 自动判断“这段是否结束”。一旦结束,就切分并打包成一个记忆单元。

每个单元包含 4 样东西:

  • 情节(Plot):讨论和做了什么——浓缩总结,不是逐字记录。
  • 关键事实(Key Facts):里面哪些事实值得单独记录。
  • 预见(Foresight):你说过要做或它推断你会做的事情,带有过期时间用于提醒。
  • 上下文标签(Context Tags):时间、地点、可信度以及当时的情绪。

你只管聊天,它处理切分细节。

记忆如何更新?

例如:

一个月前,你告诉 AI:我打算开始健身。两周后,你说:我一直很忙,没去健身房。今天你说:算了,不健身了。

普通解决方案把三条都堆在日志里。模型检索到哪条模型就认为哪条是事实。但实际上,答案应该是最新那条。

EverOS 依靠“语义整合”,做三件事:

  • 自动判断哪条是最新的(健身已停止)。
  • 合并重复或指代同一事件的内容。
  • 维护用户画像,将稳定偏好与临时状态分开(官方称为画像演化)。

细节如下所示:

记忆如何检索?

EverOS 提供 4 种检索方法,根据场景选择:

  • 选择:
  • 关键词:精确匹配,适合特定名称或 ID。
  • 向量搜索:语义匹配——不同词但意思相同可以匹配。
  • 混合:关键词 + 向量一起,然后通过重排序模型过滤——推荐默认。
  • 智能(Agentic):用于复杂多部分问题;LLM 判断搜索什么以及如何搜索,迭代直到找到(当混合不够用时使用)。

但 4 种方法不是关键;关键是检索逻辑。

普通解决方案是被动的——你给关键词,它返回匹配文档,就完了。

EverOS 主动重构上下文:

  1. 分析你这次想做什么。
  2. 激活相关的主题场景。
  3. 过滤过期信息(例如一年前的偏好可能无效)。
  4. 迭代搜索,直到收集到足够信息。

普通解决方案像搜索引擎,一次搜索就结束。EverOS 从不同角度反复查找,直到找到足够信息。

EverOS 在长时记忆基准 LoCoMo 上实现了 93.05% 的总体准确率(使用 GPT-4o-mini),比对比方案 Zep(85.22%)高出近 8 个百分点。

看完这一节,你应该对生产级 Agent 记忆系统有了很好的了解。但它们在实际工程中如何落地,你能用它们做什么?

实际生产实现

我会继续用这个开源项目来解释,有两个原因:API 免费开放,而且仓库里有 20 个真实案例——非常适合讨论实现!!

免费开放 API

EverOS 的 Cloud API 是免费开放的。

三步上手:

  1. 在浏览器中打开 everos.evermind.ai 注册;页面会给你一个 API Key,保存好。
  2. 通过命令行安装 SDK:pip install everos
  3. 在 Python 中实例化客户端并开始使用。

EverOS 不仅免费试用,还支持最近流行的技能自我进化功能!!

如何使用技能自我进化?

当 Agent 重复执行类似任务时,EverOS 自动将经验提炼成可复用的技能。下次遇到类似任务时,直接使用技能,而不是从头开始。

在代码中使用涉及链式调用 3 个 API:

两点注意:

  • 第一次输入轨迹时,只生成案例(单个任务的归档)。技能只有在几次类似任务之后才会聚类和提炼。
  • 必须使用 /memories/agent 端点;普通的 /memories 不会提取技能。

如果你不理解技能自我进化功能,看下面的图:

我简要介绍了代码用法,但作为 Agent 基础设施,这个项目有极其宝贵的真实用例。

而且这些用例都是开源的,可以学习!!

20 个真实用例

仓库 README 列出了 20 个用例,这里举几个:

  • MemoCare(阿尔茨海默记忆助手):为认知衰退患者提供永不遗忘的外部记忆——这是最暖心的公益项目之一。
  • Claude Code 插件:为 Claude Code 添加长时记忆,跨会话记住。
  • 权力的游戏:将《权力的游戏》剧情喂给 AI,扮演长期记住自己是谁的角色。
  • OpenHer:AI 女友,情感陪伴 + 记忆演化。
  • 带记忆的电脑使用:让 Agent 控制电脑并记住每次操作的经验。
  • 记忆图谱可视化:将记忆系统可视化为图谱。

完整列表在 github.com/EverMind-AI/EverOS 的 README 中。

顺便说几个官方插件:

API 还不够,所以 EverOS 将记忆能力打包成几个开箱即用的插件:

  • Claude Code 插件:为 Claude Code 添加长时记忆——每次回复后自动保存,每次提问时回忆上下文,并带有可视化 Memory Hub 面板。一键安装。
  • OpenClaw 插件:将 EverOS 作为 OpenClaw 的“记忆插槽”——Agent 在运行前自动检索相关记忆(情节、画像、案例、技能),运行后保存对话和工具调用。
  • OpenClaw 技能:将 EverOS 记忆工具作为“技能”连接到 OpenClaw / Claude Code,让 Agent 按需调用记忆,而不是永久附加。

回到开头三个问题:

什么是记忆系统?OpenClaw 的记忆系统怎么样?企业级解决方案是什么样的?

你现在应该有答案了。

EverMind 是一个优秀的项目:

  1. 整个项目是 Apache 2.0 开源,目前有 4500+ star。
  2. EverMind 有很强的学术和算法背景,不断发表论文;之前的 MSA 也是一个非常先进的概念。
  3. EverMind 是盛大旗下的 AI 原生公司,资源充足。

如果你打算从这个项目开始学习 Agent 记忆系统,欢迎给它点个 star:

github.com/EverMind-AI/EverOS

他们月底还有新产品上线,期待!!

这是我第一次尝试用文章解释技术概念。为了让大多数人能看懂,我省略了很多细节。

涉及的技术很复杂;欢迎在评论区指出错误,我会修正。

如果你喜欢我的文章,可以收藏、评论、转发给朋友,并关注我。

更多可拆解样本

近期爆款文章

探索更多爆款文章

为创作者而生。

从全球 𝕏 爆款文章里发现选题,拆解它为什么能爆,再把可复用的内容结构变成你的下一篇创作灵感。