AI Agent 的记忆系统是什么?短期记忆、长期记忆和用户画像有什么区别?

AI Agent 的记忆系统是什么?短期记忆、长期记忆和用户画像有什么区别?
你有没有过这种体验?跟一个 AI 助手聊了半天,换了个对话窗口,它就不认识你了。你昨天让它记住你喜欢什么,今天再问,它一脸茫然。
这就是 AI Agent 记忆系统的核心挑战:当前对话不能丢历史,新对话能召回用户偏好。
今天把这道题彻底讲透。
记忆系统的本质:三层存储架构
AI Agent 的记忆系统不是什么黑科技,本质就是一个分层存储方案。
为什么需要分层?因为 AI 的"脑子"(Context Window)容量有限,但需要记住的东西太多了。用户的历史对话、偏好习惯、长期目标……这些东西不可能同时塞进上下文。
所以业界主流方案是分三层:
第一层:短期记忆 = 桌面上的文件
处理当前任务时随手用的东西,关机就没了。
第二层:长期记忆 = 硬盘里的项目代码
历史积累的成果,存起来随时能调。
第三层:用户画像 = 项目里的 README 文档
用户是谁、有什么背景偏好,一目了然的结构化信息。
类比一下,就像程序员的工作站:短期记忆是你桌面上打开的代码文件(正在改的),长期记忆是硬盘里这个项目的历史版本(改过的),用户画像是这个项目根目录的 README(项目背景说明)。
你想想,没有 README,你接手别人的项目得读多久代码才能搞懂?用户画像就是让 AI 快速了解"这是在跟谁打交道"的配置文件。

短期记忆:Context Window 的艺术
短期记忆解决的是当前会话的上下文管理问题。
模型一顿饭能吃的 token 数是固定的。就像程序员的显示器,分辨率再高也有极限,不可能同时显示一万行代码。
Context Window 管理有三种主流策略:
滑动窗口——直接截断,只保留最近 N 轮对话。最简单,但最粗暴,好比显示器只显示最近打开的窗口,之前的直接关了。
摘要压缩——把历史对话压缩成摘要。就像把十页会议记录精简成一页备忘录,保留精华但丢失细节。
向量卸载——把超出容量的内容转成向量存进长期记忆。就像把不常用的文件从桌面移到硬盘,需要的时候再调出来。
这三种策略没有绝对优劣,实际产品往往是组合使用。Mem0 默认用摘要+向量混合,Letta 更激进地向量化几乎所有历史,ZEP 则在多租户隔离和检索速度上做文章。
短期记忆的特点是即用即丢。会话结束,Context Window 清空,下一轮对话又是白纸一张。这就是为什么你换个对话窗口,AI 就"失忆"了——不是它不想记住,是短期记忆被清空了。

长期记忆:无限容量的知识仓库
长期记忆解决的是跨会话的信息持久化问题。
容量问题怎么解决?用向量数据库。把文本转成向量存进去,检索时用相似度匹配,不受固定容量限制。
但光能存还不够,长期记忆有完整的生命周期:
编码 → 把原始信息转成向量表示
存储 → 存入向量数据库,建立索引
提取 → 根据当前任务检索相关记忆
巩固 → 强化重要记忆,关联已有知识
反思 → 主动总结提炼,生成更高层次的洞察
遗忘 → 清理低价值或过时信息
这里最容易搞混的概念是长期记忆 vs RAG。
很多人听说"向量检索"就联想到 RAG。但 RAG 查的是外部知识库(比如企业文档、联网搜索结果),长期记忆查的是用户自己的历史。一个是你没读过的书需要去图书馆借,一个是图书馆里你自己写的书需要找出来回顾。
这个区别很关键。RAG 解决"知识不够"的问题,长期记忆解决"用户特定信息不丢"的问题。用 RAG 的思路做长期记忆,会出现什么情况?用户说"上次你说帮我分析销售数据",AI 翻遍外部知识库也找不到,因为这段对话只存在于用户的历史记录里。

用户画像:结构化的记忆子集
用户画像是长期记忆的子集,专门存用户偏好和背景这类结构化事实。
为什么要有这个子集?因为长期记忆的向量检索是模糊匹配,你说"找那个用户上次提的需求",它可能给你返回一堆相关内容,你需要从里面自己挑。
用户画像用结构化存储,支持精确查询。就像通讯录按姓名查电话 vs 聊天记录按关键词搜索。
结构长这样:
用户画像:
- 姓名: 张三
- 职业: 产品经理
- 常用术语: "需求"、"竞品"、"迭代"
- 偏好: 简洁回答、图表展示
- 背景: 某电商公司,3年经验这个结构有什么好处?
第一,查询快。不用跑向量相似度,直接字段匹配。
第二,可控性强。你知道"职业"这个字段存的是什么,检索结果稳定。
第三,便于更新。用户换了工作,改一个字段就行,不用重新生成向量。
三种记忆的核心区别就在这里:
| 短期记忆 | 长期记忆 | 用户画像 | |
|---|---|---|---|
| 存储形式 | Context Window | 向量数据库 | 结构化数据库 |
| 查询方式 | 全部遍历 | 语义相似度 | 字段精确匹配 |
| 生命周期 | 会话内 | 持久化 | 持久化+定期更新 |
| 代表产品 | 模型原生 | MemFree/Letta | ZEP |
用户画像不是凭空造的,是从长期记忆中提取+结构化出来的。用户聊了几次之后,AI 会总结:"这位用户是产品经理,喜欢简洁回答,常用竞品分析这类词",然后存进用户画像。下次新会话开始,先看用户画像,秒懂在跟谁对话。

面试怎么答
基础版(能过的回答):
AI Agent 的记忆系统采用分层架构,解决两个核心问题:当前会话上下文不丢失,跨会话能召回用户偏好。
短期记忆基于 Context Window,管理当前对话,有滑动窗口、摘要压缩、向量卸载三种管理策略。长期记忆用向量库存储,容量无限但需要检索访问,核心区别于 RAG 的是——RAG 查外部知识库,长期记忆查用户自己的历史。用户画像是长期记忆的子集,存储用户偏好等结构化事实,用结构化存储支持精确查询,而普通长期记忆用向量检索做语义匹配。
加分版(让面试官眼前一亮):
补充几个有深度的点:
第一,提到主流产品的设计差异。Mem0 默认摘要+向量混合,Letta 激进向量化几乎所有历史,ZEP 在多租户隔离和检索性能上做优化。不同产品对"什么该记、怎么记"有不同取舍。
第二,区分三种存储形式。Token 级(Context Window)、参数化(模型权重内化)、潜在记忆(向量表示)。长期记忆不是简单存文本,转成向量时已经做了特征提取。
第三,完整的记忆迭代闭环。巩固+反思+遗忘构成记忆的进化机制,不是单向存储。这解释了为什么好的 Agent 系统能越用越懂你——它在反思中提炼,在遗忘中取舍。
第四,长期记忆≠RAG。这个区别面试官常挖坑,答错直接暴露理解深度不足。

一句话总结
AI Agent 的记忆系统就是三层存储架构:短期记忆管当前、长期记忆管历史、用户画像管结构化事实,三者配合让 AI 在单次对话里不丢上下文、跨会话里记得你是谁。
