30 秒快速回答

Agent 记忆系统是一套让 AI Agent 在对话结束后依然”记得”你是谁、做过什么、偏好什么的技术架构。 没有记忆的 Agent 每次对话都从零开始,就像每天失忆的助手——你昨天告诉它的项目进展,今天又得重新说一遍。记忆系统将 LLM 的无状态推理升级为有状态交互,是 Agent 从”玩具”走向”产品”的关键基础设施。

为什么 LLM 天生”失忆”?

大语言模型每次推理调用都是独立的,不保留任何跨调用的状态。上下文窗口(Context Window)是它唯一的”临时记事本”,会话结束即清空。

把聊天记录全塞进上下文可行吗?在生产环境中,这会导致三个致命问题:

问题 表现 数据
延迟膨胀 全量上下文检索的 P95 延迟可达 17 秒 12 倍于专用记忆系统
Token 成本失控 每次请求都重传全部历史 专用记忆可节省约 90% token
信噪比下降 旧信息淹没有效上下文 检索精度随存储增长持续恶化

Agent 记忆的三层架构

业界在 2025-2026 年已形成共识:记忆不是单一存储,而是一个分层系统,借用了计算机的”寄存器 - 缓存 - RAM - 磁盘”层级思想。

第一层:工作记忆(Working Memory)

对应 LLM 的上下文窗口。 存储当前会话的原始消息、工具调用结果和推理中间步骤。容量受 model max_token 硬限制(如 128K),生命周期为单次会话。

关键策略:上下文工程(Context Engineering)——当对话超出窗口限制时,通过摘要压缩、内容卸载、多 Agent 隔离等手段保持信息密度。

第二层:短期记忆 / 会话记忆(Short-term Memory)

当前会话的结构化快照。 不存储原始消息,而是存储提取后的事实摘要。例如”用户本次咨询了退款流程,最终选择了方案 B”。会话结束后归档为长期记忆或丢弃。

第三层:长期记忆(Long-term Memory)

跨会话持久化存储。 这是记忆系统的核心价值所在。进一步细分为:

  • 情节记忆(Episodic):记住具体发生过什么——”上周三你让我把报告发给了 Alice”
  • 语义记忆(Semantic):记住抽象知识和关系——”Alice 是市场部总监,偏好简洁的 PPT 格式”
  • 程序记忆(Procedural):记住行为和偏好模式——”你每次写周报都先列出关键指标,再展开分析”

四大主流框架对比

到 2026 年,Agent 记忆基础设施赛道已出现四位主要玩家。它们架构设计思路截然不同:

维度 Mem0 Letta (MemGPT) Zep / Graphiti LangMem
核心理念 自动记忆提取 + 图向量混合存储 LLM 自主管理记忆分页(OS 类比) 时序知识图谱,记录事实演变 LangChain 生态的原生记忆 SDK
记忆管理主体 框架自动 Agent 自己决定 框架自动 开发者可控
检索延迟(P50) ~148ms 取决于 LLM 的 tool call ~200ms ~18s(按需提取)
独特优势 开箱即用,延迟最低 白盒可控,Agent 自主决策 时间维度推理,”地址上次改之前是什么” 与 LangGraph 深度集成
适用场景 客服机器人、个性化推荐 长期运行研究 Agent、需审计合规 金融、医疗等事实频繁变更领域 已有 LangChain 技术栈的团队
GitHub Stars 48,000+ 15,000+ 8,000+ 生态内

Mem0:记忆即服务

Mem0 的设计哲学是”Agent 不需要关心怎么记,只需要调用 API”。每轮对话后,Mem0 自动提取关键信息、写入向量库 + 图数据库,检索时融合语义相似度、关键词匹配和实体匹配三个信号。

from mem0 import Memory

m = Memory()

# 添加记忆 —— Mem0 自动提取关键信息
m.add([
    {"role": "user", "content": "我是素食主义者,对坚果过敏"},
    {"role": "assistant", "content": "好的,我记住了你的饮食偏好"}
], user_id="user_123")

# 跨会话检索
results = m.search("推荐适合我的晚餐", user_id="user_123")
# 自动返回:"素食 + 无坚果"相关记忆

冲突处理:当用户说”我现在吃素”后又改口”开始吃鱼了”,Mem0 不会保留两条矛盾记忆,而是由 LLM 在写入阶段判定更新旧记忆,保持知识一致性。

Letta(原 MemGPT):LLM 即操作系统

Letta 把记忆管理权交给了 Agent 本身。Agent 通过函数调用(core_memory_replacearchival_memory_search)主动管理三层存储:

  • Core Memory:始终在上下文中(类似 RAM),约 2-4KB
  • Recall Memory:对话历史,按需检索
  • Archival Memory:无限容量的向量存储(类似磁盘)

Agent 会自主判断什么值得记住、什么可以遗忘。这在需要审计追溯的企业场景中价值巨大——你能看到 Agent 的每一次记忆修改日志。

Zep:时间维度的知识图谱

Zep 的底层引擎 Graphiti 是一个时序知识图谱。它不只知道”Alice 是总监”,还知道”Alice 从 2024 年 3 月到 2025 年 6 月是总监,之后升为 VP”。

这种能力在 Deep Memory Retrieval 基准上达到 94.8% 准确率。代价是内存占用较高——复杂场景下单会话可能超过 60 万 token 的图存储。

LangMem:生态优先

LangMem 是 LangChain 的记忆 SDK,核心理念是”记忆只是 Agent 图中的一个节点”。短期记忆通过 Checkpointer 持久化到 PostgreSQL/Redis,长期记忆通过命名空间(user/session/agent)组织,支持自动去重和衰减。

选型决策:什么时候该上记忆层?

不是所有 Agent 都需要记忆层。以下决策树供参考:

场景 建议
单次会话的 20 轮以内问答 上下文窗口足够,不需要
多轮对话但用户不跨会话复用 压缩 + 摘要即可
用户跨天/周交互,需个性化 上 Mem0,集成最快
长期研究 Agent,需透明追溯 上 Letta,白盒可控
金融/法律等事实频繁变更 上 Zep,时序推理是刚需
已有 LangChain 全家桶 上 LangMem,无需切换生态

总结

Agent 记忆系统的三个核心洞察:

  1. 分层是必须的:工作记忆(快但小)、短期记忆(会话级)、长期记忆(持久化)三者缺一不可,把全部历史塞进上下文是架构上的反模式。
  2. 遗忘是功能,不是 Bug:好的记忆系统会主动淘汰低价值信息。Mem0 的优先级评分、Letta 的自主遗忘、Zep 的时间衰减——都在践行”记住该记的,忘掉该忘的”。
  3. 2026 是记忆基础设施元年:Mem0 完成 2400 万美元 A 轮、Letta 从学术项目走向企业部署、Zep 通过 SOC 2 合规认证——Agent 记忆不再是”锦上添花”,而是生产级 Agent 的标配。

延伸阅读