[控场AI]
· 4 分钟阅读· 2,160 字

AI Agent记忆机制:短期与长期记忆详解

AI Agent记忆机制:短期与长期记忆详解

模型无状态,Agent记忆需外置存储并在需要时检索回上下文窗口。

文章从大模型的无状态特性出发,解释AI Agent记忆机制的必要性:模型只能看到上下文窗口内的内容,Anthropic的Messages API每次请求都需重发完整历史,因此值得记住的信息必须存储在模型之外。LangChain将记忆分为短期与长期两类,短期记忆跟踪单次会话的消息历史,长期记忆跨会话共享,并细分为语义记忆、情景记忆和程序记忆。记忆可存放在文件、数据库或向量存储中,如Claude的记忆工具与LangGraph的JSON文档。检索环节原理类似RAG,将相关记忆带回上下文;面对上下文窗口重置,结构化笔记或Agentic记忆让Agent读回自己的笔记继续任务。

AI Agent如何记住跨对话的信息?答案始于模型本身:它只能看到上下文窗口内的内容,即生成回应时可引用的全部文本。Anthropic的Messages API是无状态的,你的应用每次请求都要发送完整对话历史。因此,任何值得记住的信息都必须存储在模型之外,并在需要时带回上下文——这就是Agent记忆。

短期记忆与长期记忆:两种核心类型

LangChain将Agent记忆分为两类。短期记忆跟踪当前对话的进行,即单次会话内的消息历史。OpenAI Agent SDK文档中有一个例子:用户问“金门大桥在哪个城市?”,回答“旧金山”;接着问“它在哪个州?”,回答“加利福尼亚州”。Agent之所以能记住,靠的是会话(session)机制:每次运行前,它将存储的历史添加到输入中;每次运行后,它存储新的条目。

长期记忆则保存在独立的存储中,跨会话共享,可在任何对话中随时召回。例如,用户告诉助手“请使用摄氏度”,助手将其保存为记忆。一周后在新会话中,用户询问天气,助手会回忆起“摄氏度”这一偏好。LangChain将这类事实称为语义记忆(semantic memory)。此外,情景记忆(episodic memory)存储经历,如过去的Agent动作;程序记忆(procedural memory)存储执行任务的规则,如Agent的系统提示。

much like RAG.

语义记忆、情景记忆与程序记忆是认知科学借用来的分类,用于区分长期记忆的不同内容形态。

  • 语义记忆(semantic memory):存储与具体经历无关的事实和概念,例如“用户的温度单位偏好是摄氏度”“公司总部在北京”。它回答“是什么”。
  • 情景记忆(episodic memory):存储带时间与情境标签的具体经历,例如“上周二用户让我订了一张去上海的机票”。它回答“何时何地发生过什么”,通常需要时间戳和事件顺序。
  • 程序记忆(procedural memory):存储“如何做”的技能与规则,例如系统提示中约定的回复格式、工具调用规范。它类似人的肌肉记忆,一旦写入就较少变动。

三者的存储与检索策略不同:语义记忆适合向量检索,情景记忆常按时间线或会话ID索引,程序记忆则往往直接拼接到系统提示中。

记忆存储在哪里?

记忆存储在模型之外,可以放在文件、数据库或向量存储中。视频中给出两个例子:

  • Claude的记忆工具:Claude可以创建、读取、更新和删除文件,这些文件在你的应用控制的存储上跨会话持久化。
  • LangChain的LangGraph:将记忆存储为JSON文档(结构化文本),并可通过记忆工具按语义搜索。

检索:将正确的记忆带回上下文

将正确的记忆拉回上下文的过程称为检索(retrieval),其原理与RAG(检索增强生成)非常相似。长对话可能无法完全放入上下文窗口,而记忆工具甚至会提示Claude“假设中断”——上下文窗口随时可能被重置。一种解决方案来自视频第三集提到的“正确移动”:Anthropic称之为结构化笔记(structured note-taking)或Agentic记忆。之后,即使上下文被重置,Agent也会将自己的笔记读回上下文窗口,继续执行任务。

这就是AI Agent记忆机制的白板讲解。想了解记忆如何融入Agent的上下文,可观看上下文工程(context engineering)相关集数。

本文基于YouTube视频《AI Agent Memory: Short-Term vs Long-Term, explained on one whiteboard》整理。

RAG(Retrieval-Augmented Generation,检索增强生成) 是一种把外部知识库接入大模型的通用范式:先把文档切块并转换为向量存入向量数据库;收到查询时,将查询也向量化,按相似度召回最相关的若干片段,再把这些片段拼进提示词,让模型基于检索到的内容作答。

Agent记忆的检索沿用了同一套流程,区别在于“知识库”换成了Agent自己积累的记忆条目,检索信号也可能更丰富——除了语义相似度,还可以叠加时间衰减、重要性评分或会话归属过滤。这也意味着记忆系统会继承RAG的典型难题:召回不准、切块粒度不当、相似但不相关的记忆干扰回答。

结构化笔记(structured note-taking) 指Agent在任务进行中主动把关键进展、待办事项和已确认的事实写成结构化的外部文档(如带标题的清单或JSON),而不是依赖上下文窗口保存全部历史。

它与普通记忆检索的区别在于写入时机:检索是“需要时去取”,结构化笔记是“边做边记”,属于主动的上下文管理策略。当上下文窗口因长度限制被重置或压缩时,Agent只需重新读取这份笔记,就能恢复到可继续工作的状态,避免重复劳动或丢失中间结论。Anthropic将其视为长周期任务中维持连贯性的关键手段,本质上是把上下文窗口当作可丢弃的缓存,把笔记当作持久化的真相来源。

#AI Agent记忆#短期记忆#长期记忆#LangChain#Claude记忆工具#LangGraph#检索增强生成#上下文窗口
分享:

相关推荐