跳到正文
docai.cc

DOCAI · 概念 · L3

Agent 记忆是什么

一句话定义

短期记忆是上下文窗口,长期记忆是外部存储;写入要筛选,读取要检索,否则越存越脏。

专业更新 2026-11-13核验 2026-11-13 · docai 编辑部

它是什么

Agent 记忆指让 Agent 在单次请求之外保留信息的两层机制:短期记忆是当前上下文窗口里的消息与中间结果,长期记忆是放在外部的存储,比如文件、数据库、向量索引,或厂商提供的记忆工具。

区别不在容量,而在生命周期。上下文随请求结束而消失;外部存储在会话之间仍然存在,但必须由程序显式读回上下文,模型才能用上。

怎么工作

一次完整的记忆链路分三步:写入、存储、读取。

写入先判断值不值得存。值得存的是稳定的用户偏好、已经确认的事实、做出的决策和未完成的任务状态;不值得存的是寒暄、重复的工具原始输出、模型的推测。很多团队把所有对话原样落盘,结果是重复、过时和互相矛盾的内容越积越多,检索时反而把噪声送进上下文。

存储常见三类:结构化记录适合偏好和状态;文本文件适合笔记式积累,模型可以通过工具调用读改写;向量库适合按语义模糊检索的开放材料。

读取有两种策略。全量注入把记忆整体拼进系统提示或首条消息,简单、稳定,适合量小且每条都重要的记忆。检索式注入先用当前任务去查,只把命中的少量片段放进上下文,适合规模大、相关性差异明显的记忆库。前者的风险是规模一大就稀释注意力,后者的风险是查不到该用的那条。

常见的折中是分层:核心记忆少量全量注入,长尾记忆按需检索;并在提示里注明记忆的来源和时间,方便模型判断是否可信。这套思路和 RAG 相通。

过期与隐私

记忆会过时。用户换了工作、项目改了方向,旧记忆仍然被读出来,模型就会基于错误前提行动。需要设过期策略:按主题覆盖写而不是不断追加;给条目记录时间;定期清理长期未被读取的内容。

隐私边界要在设计时定好:记住什么、谁能看、保留多久、怎么删除。多租户产品必须按用户隔离存储,敏感信息不写入记忆。记忆内容本身也可能被提示注入污染,读取时要当作不可信数据,而不是系统指令。

怎么评估

不要凭「感觉它更懂我」来判断。固定一批代表性任务,跑三组对照:不启用记忆、启用当前策略、启用简化策略;比较端到端任务成功率、用户追问次数、人工纠错次数,以及延迟和 token 成本。

还要专门测错误记忆的影响:故意写入一条过时或错误的记忆,看 Agent 会不会照着做。记忆命中率只是过程指标,任务成功率才是结果指标。一个策略如果提升不了成功率,它只是在增加成本和风险。

常见误解

  • 记忆越多越好:脏记忆比没有记忆更糟,写入筛选和删除机制与存储同样重要。
  • 存进去模型就记住了:写入与读取是两条链路,没有读取,存储只是日志。
  • 向量库就是记忆系统:它只是存储层,还缺写入策略、更新、删除、权限和评估。
  • 记忆能替代微调:微调改行为和风格,记忆提供事实与状态,不能互相替代。

什么时候用得上

当任务跨会话、需要沿用用户偏好或上次进度,或要让 Agent 在长任务中保留中间结论时,会用到记忆;单次会话内能解决的任务,先用上下文窗口。

常见误解

很多人以为记忆就是「把历史都存起来」,其实关键在写入筛选与读取时机:存得越多,重复、过时和互相冲突的内容越多,任务成功率反而下降。

来源

定义与事实以以下来源为准;表述与取舍是本站整理的。
  1. [1]Anthropic · Memory tool
  2. [2]OpenAI · Define agents
  3. [3]Anthropic · Effective context engineering for AI agents
查看 Markdown

所属专题

相邻概念