文档 / 智能体记忆

智能体记忆系统

语言模型本身在两次独立调用之间完全没有任何记忆。你在智能体中看到的"记忆",实际上是围绕模型精心构建的一层机制。

Short-term Long-term Episodic

为什么智能体需要记忆?

没有记忆的话,与智能体的每一次交互都要从零开始:用户每次都得重新做自我介绍,重新说明自己的偏好, 而智能体也无法从以往的交互中学到任何东西。记忆解决了这个问题——但记忆有多种类型,各自解决不同的问题。

Agent Short-term Long-term Episodic Semantic Procedural

短期记忆(Short-term)

即当前对话的上下文窗口——本次对话的消息历史记录。这是最简单的一种记忆,但会随着对话结束或上下文窗口被填满而消失。

长期记忆(Long-term)

需要跨会话保留的信息(用户偏好、购买历史)。通常存储在向量数据库中,并在每次新对话开始时检索出相关部分—— 使用的正是与 RAG 完全相同的机制。

情景记忆(Episodic)

对过去事件的具体记录:"用户在 2026 年 3 月 12 日下了订单 X,之后又取消了。"与保存"一般性事实"的语义记忆不同, 情景记忆记录的是带有时间细节的"具体事件"。

语义记忆(Semantic)

关于世界或用户的一般性、稳定的事实:"用户对运动产品感兴趣","用户的鞋码是 42 码"。这类记忆通常是从多个事件 或反复出现的交互中归纳提炼而来的。

程序性记忆(Procedural)

关于"如何完成"一项任务的知识——例如完成一笔订单所需的正确工具调用顺序。这类记忆通常以规则、模板, 甚至系统提示词/代码本身的形式内嵌存在,而不是一条简单的数据记录。

如何实现

记忆类型常见存储位置
短期记忆应用内存(RAM)中的消息数组
长期记忆 / 语义记忆向量数据库
情景记忆关系型数据库或结构化日志
程序性记忆系统提示词、规则文件或代码

遗忘与巩固(Forgetting & Consolidation)

一个从不删除任何内容的记忆系统,会逐渐变成一个杂乱且代价高昂的仓库——无论是在存储空间方面,还是在检索质量方面 (无关记录越多,语义检索的噪声就越大)。因此,成熟的记忆系统通常还会配备一个管理层:

  • 巩固(Consolidation) — 若干相关的小事件(情景记忆)会随着时间逐渐被归纳总结为一个更概括的事实(语义记忆);例如,五次购买运动鞋的记录,会被归纳为"用户对运动服饰感兴趣"这一事实。
  • 衰减(Decay) — 较旧且较少被使用的记录,在检索排序中会获得更低的分数,以便让更新的信息优先呈现。
  • 显式删除 — 用户必须能够清除自己记忆中的部分内容(这是常见的隐私要求);这意味着记忆系统从一开始就需要设计为支持选择性删除,而不仅仅是不断添加。

常见问题

每个智能体都需要这些类型的记忆吗?

不需要。一个简单的问答智能体可能只需要短期记忆;而一个个性化购物助手则需要这四种类型的组合。

长期记忆与 RAG 有什么区别?

RAG 是一种检索技术;长期记忆是该技术的一种应用——你在"组织的通用知识"上运行 RAG,而在"某个用户的特定历史记录"上运行长期记忆。