AI Agent 记忆系统全解析:7 种记忆类型与工程实现指南
本文详解 AI Agent 的 7 种记忆类型:工作记忆、语义记忆、情景记忆、程序记忆、检索记忆、参数记忆和前瞻记忆。涵盖每种记忆的存储内容、生命周期、实现方式及 Python 代码示例,帮助工程师构建有记忆的智能体系统。
一句话看懂
LLM 默认无状态,Agent 需要记忆才能持续推理。本文拆解 7 种记忆类型,从工作记忆到前瞻记忆,附代码和构建顺序。
详细发生了什么
大型语言模型(LLM)本质上是无状态的——每次 API 调用都从零开始,模型不会记住上一条消息。这对单轮问答没问题,但构建 Agent 时,记忆成为刚需。Agent 需要规划、调用工具、跨多步执行,必须保留上下文。
MarkTechPost 发布的这篇技术指南将 Agent 记忆分为 7 种类型,按存储形式(参数化/非参数化)和时间尺度(短期/长期)两个维度划分:
- 工作记忆(In-Context / Working Memory):短期,位于 context window,包含系统提示、最近消息、工具输出和推理步骤。类似 RAM,快速但容量有限。
- 语义记忆(Semantic Memory):长期,存储事实、偏好和领域知识(如“用户喜欢 Python”),与学习时间无关,是 Agent 的百科全书。
- 情景记忆(Episodic Memory):长期,记录具体事件、完整对话和任务运行结果,用于从经验中学习。典型实现如 Reflexion 和 ExpeL 系统。
- 程序记忆(Procedural Memory):长期,存储技能、工具使用模式和工作流。例如客服 Agent 处理第 100 次密码重置时直接执行已知流程。
- 检索记忆(Retrieval Memory):短期+长期,知识存储在外部向量数据库中,推理时通过相似性搜索拉入 context,即 RAG 在 Agent 历史或文档上的应用。
- 参数记忆(Parametric Memory):长期,知识固化在模型权重中,包括语言、推理模式和通用世界知识,训练后冻结。
- 前瞻记忆(Prospective Memory):短期+长期,记住未来意图和计划任务,对长周期多步规划 Agent 至关重要,否则 Agent 会忘记自己的承诺。
文章还给出了一个 Python 示例,演示如何组合工作、语义、情景和程序记忆,并建议按需逐步添加:先工作记忆,再语义记忆,最后情景、程序和前瞻记忆。
中文圈视角
这篇指南对国内 AI 工程师非常实用,原因有三:
1. 国产模型同样面临记忆问题。 DeepSeek、Kimi、智谱 GLM 等模型默认也是无状态的,构建 Agent 时记忆架构的设计思路完全通用。国内开发者可以直接参考文中的分类和代码,用 Milvus、Faiss 或国产向量数据库(如 Zilliz Cloud)实现检索记忆。
2. 中文场景的特殊需求。 语义记忆中存储的用户偏好和事实,对中文助手(如理财顾问、客服)尤其重要。例如“用户偏好低风险理财”这类事实需要跨会话持久化,而国产 Agent 框架(如百度千帆、阿里百炼)目前对记忆层的支持尚不完善,本文可作为设计参考。
3. 前瞻记忆是中文 Agent 的盲点。 国内多数 Agent 产品(如办公助手、日程管理)缺乏前瞻记忆——它们能执行单步指令,但无法记住“下周五发周报”这类未来意图。本文明确指出了这一缺失,对想构建长期规划 Agent 的团队是重要提醒。
需要注意:文中提到的 Reflexion、ExpeL 等系统需要访问 OpenAI API,国内用户可考虑用 DeepSeek 或 Qwen 替代,并自行实现日志存储和反思逻辑。向量数据库方面,MongoDB 和 Redis 有云服务,但国内建议使用阿里云 Tair 或腾讯云 Tendis 兼容 Redis 协议。
几条值得记住的细节
- 工作记忆是 context window 内的临时空间,所有其他记忆类型最终都要竞争这里的容量。
- 语义记忆与时间解耦,适合存储用户偏好和事实;情景记忆保留时间戳,用于从失败中学习。
- 程序记忆可以放在 system prompt 中(通过 few-shot 示例),也可以微调进模型权重。
- 检索记忆的质量瓶颈在于检索本身——embedding 模型和索引策略直接影响 Agent 表现。
- 前瞻记忆通常用任务队列或调度器实现,是长周期 Agent 的必备组件。
一句话总结
Agent 记忆不是单一技术,而是 7 种存储的协同系统——从 context window 到向量库,按需分层构建。