Agent 记忆体系

一句话定位:Agent 怎么”记住”东西——不只是”存哪儿”,更是”该记什么、什么时候写下来、怎么想起来、什么时候该忘”。本文给一张 Agent 记忆的分类地图 + 读写遗忘循环 + 一张王牌辨析表「记忆 vs 上下文 vs RAG vs 状态」。这是 Agent 架构师能力地图 能力域 4 的展开,也把 Harness 工程与 Agent 解剖 § 5.5.2 的”记忆三类生命周期”从认知角度铺开。

💬 大白话:给 Agent 配记忆,跟人差不多——有”现在脑子里正想的”(工作记忆)、“这两天的事”(短期)、“刻进骨子里的”(长期);还分”记得发生过啥”(情节)、“懂得的知识”(语义)、“会做某件事”(程序)。


目录


1. 为什么是”记忆体系”而不只是”上下文”

新手常以为”Agent 的记忆 = 上下文窗口”。不对。上下文窗口是模型这一次能看见的字,它会满、会被压缩、会随会话结束消失(见 上下文窗口与 Token 计费)。

💬 大白话:上下文窗口就像你的手头便签——能写的就那么多,写满了得擦掉旧的。“记忆体系”是你有策略地把重要的东西归档进抽屉、需要时再翻出来,而不是全靠那张便签。

记忆体系 = 一套”该记什么、怎么存、怎么取、怎么忘”的策略,让 Agent 不会”一关机就失忆、一压缩就忘事”。

⚠️ 和”长程任务状态”分清楚:长程任务原语 讲的是”任务进度怎么跨时间存活”(机制——存档/续跑);本文讲的是”Agent 该记住哪些知识、怎么回忆”(认知——记什么/怎么忆)。一个管”活下来”,一个管”想起来”。


2. 记忆分类地图(两个维度)

人的记忆有成熟的分类,Agent 直接借用。两个维度交叉看:

2.1 按”能留多久”分:工作 / 短期 / 长期

这一维是 Harness § 5.5.2 “三类生命周期”的认知版说法:

类型大白话存在哪Agent 例子
工作记忆此刻正握在手里的当前上下文窗口当前这一步要用的工具返回值
短期记忆这次任务 / 会话内的上下文 + 会话状态本次需求、已生成的代码片段
长期记忆跨会话要一直记得的向量库 / 数据库 / 文件用户偏好、项目背景、技术栈

💬 大白话:工作记忆=手里这张便签;短期记忆=今天桌上摊开的资料;长期记忆=归进文件柜、明年还能翻出来的档案。

2.2 按”记的是哪种东西”分:情节 / 语义 / 程序

类型英文大白话Agent 例子
情节记忆Episodic记得”发生过什么事""上次用户让我改的是登录模块”
语义记忆Semantic懂得”事实和知识""这个项目用的是 PostgreSQL”
程序记忆Procedural会做”某个流程 / 技能""部署要先跑测试再 build”(≈ Skill / CLAUDE.md 里的规程)

💬 大白话:情节=你记得”昨天和谁吃了饭”;语义=你知道”水的化学式是 H₂O”;程序=你会”骑自行车”不用想。这三类在大脑里走的是不同记忆系统(程序记忆尤其独立),所以在 Agent 里也建议按类型分区存储——不是说必须各建一个库,而是别把它们搅成一锅、互相覆盖。

两维交叉(举例):用户偏好 = 长期 + 语义;“上次任务做到第 3 步” = 短期 + 情节;部署规程 = 长期 + 程序。


3. 记忆的读 / 写 / 忘 循环

记忆不是只管存,是一个写入 → 检索 → 遗忘的循环。三步都要有策略:

环节关键问题大白话做法要点
写入(Write)什么值得记?什么时候写?别啥都记,也别该记的不记只记”以后还用得上”的(偏好、结论、踩过的坑);在每轮 / 每任务结束时写回
检索(Recall)怎么想起相关的那条?要”想起来”,不是”全倒出来”按相关性取(向量检索 / 关键词 / 元数据过滤),只把相关的喂回上下文
遗忘(Forget)什么时候该删 / 更新?过时的记忆比没记忆更坑旧偏好要更新、噪音要淘汰(呼应 Harness § 5.5.2 “长期记忆不更新 → 答非所问”)

💬 大白话:好记忆三件事——该记的记下来、要用时找得到、过期的扔得掉。三件少一件都出问题:不写=失忆;不会检索=记了也白记;不遗忘=抱着过时信息办错事。


4. 王牌辨析:记忆 vs 上下文 vs RAG vs 状态 vs CLAUDE.md

这几个概念最容易被搅成一团。一张表理清(这是本文最该记住的一节):

概念是什么存在哪寿命一句话抓本质
上下文窗口模型这一次能看见的全部字当前请求单次推理记忆的”临时工作台”,会满会清
工作 / 短期记忆当前任务正在用的信息上下文窗口里任务 / 会话期间就是”用上下文实现的手头记忆”
长期记忆跨会话要长期记住的事实 / 偏好向量库 / 数据库 / 文件持久真正意义的”记住”,要主动写 + 主动取
RAG从外部知识库检索内容喂进上下文向量库 + 文档持久(外部知识)本质是检索技术:检索的是”记忆性内容”(用户/项目记录)时才算长期语义记忆的实现;检索通用资料时只是”外部知识检索”,不等于记忆
Session 状态任务进行到哪一步了transcript / workspace会话 / 任务是”进度存档”不是”知识”(见 长程任务原语)
CLAUDE.md启动时自动读入的指令 / 背景文件持久长期记忆的”开机自启”形态——但它是全量注入、无按需检索、无遗忘机制,是持久指令载体,不是完整记忆系统

💬 一句话串起来:上下文是工作台,长期记忆是文件柜,RAG 是去文件柜里”按需取档”的动作,Session 状态是”干到哪了”的进度条,CLAUDE.md 是开机就自动摆上工作台的常用手册。


5. 落地:Agent 记忆的常见实现

记忆类型常见实现本库参考
工作 / 短期直接放上下文 + 会话状态;满了靠压缩上下文窗口与 Token 计费、长程任务原语 § 3.3
长期 · 语义向量库 + RAG 检索RAG 学习笔记、 向量数据库
长期 · 偏好 / 事实结构化存储(KV / 数据库)+ 启动注入CLAUDE.md / MEMORY.md(Harness 记忆层)
长期 · 程序Skill / 规程文件Claude Code 扩展生态(Skill)
模型层”记忆”把记忆做进模型结构(前沿方向)DeepSeek Engram 条件记忆

💡 注意最后一行:Engram 是把”记忆”做进模型权重层的探索,和本文讲的应用层记忆是两个层面——一个改模型,一个在模型外面搭策略。


6. 常见坑

坑症状解法
把”上下文”当”记忆”以为塞进上下文就永久记住了,压缩后全丢该长期的写到 Workspace / 向量库
什么都往长期记忆塞噪音淹没有用信息,检索越来越不准只记”复用价值高”的;定期清理
长期记忆不更新拿过时偏好办事、答非所问每次交互后更新(Harness § 5.5.2)
三类记忆混存用户偏好被任务数据覆盖按生命周期分独立存储区
检索召回不相关把一堆无关记忆喂回上下文,挤占窗口还带偏提升检索相关性(Reranker / 元数据过滤,见 Embedding-Reranker)

7. 术语速查

术语英文一句话💬 大白话
工作记忆Working memory此刻正在用的信息手里这张便签
短期记忆Short-term memory当前任务 / 会话内的信息今天桌上摊的资料
长期记忆Long-term memory跨会话持久记住的归进文件柜的档案
情节记忆Episodic memory记得”发生过什么”记得昨天和谁吃饭
语义记忆Semantic memory懂得的事实 / 知识知道水是 H₂O
程序记忆Procedural memory会做的流程 / 技能会骑车不用想
写回Write-back把值得记的存进长期记忆把结论归档进抽屉
检索Retrieval / Recall按相关性取出记忆要用时翻出对的那一份
遗忘 / 淘汰Forgetting / Eviction删除或更新过时记忆把过期的扔掉
记忆漂移Memory drift多份记忆不一致几个本子记的对不上

与本知识库其他章节的关联

文档关系
Skill工程化设计与失效防御那篇的「激活优于存储」是记忆问题的另一面:写下来(存储)和想得起来(召回)是两件事,记在没人走的路径上等于没记
Agent 架构师能力地图与学习路线本文是其**能力域 4(记忆与上下文管理)**的展开
Harness 工程与 Agent 解剖§ 5.5.2 从”存储生命周期”讲记忆三类,本文从”认知分类 + 读写遗忘”铺开,互补
长程任务原语那篇管”任务状态怎么跨时间存活”(机制),本文管”该记什么、怎么回忆”(认知)
上下文窗口与 Token 计费工作 / 短期记忆的物理载体;解释为什么不能只靠上下文
RAG 学习笔记 / Embedding-Reranker-向量数据库长期·语义记忆的主流落地实现(检索)
DeepSeek Engram 条件记忆模型权重层的”记忆”探索,与应用层记忆对照
Claude Code 扩展生态Skill / 规程文件 ≈ 程序记忆的工程载体

来源与局限性

  • 来源:补全 Agent 架构师能力地图 能力域 4 的覆盖空洞;记忆分类借用认知科学经典框架(工作 / 短期 / 长期、情节 / 语义 / 程序),结合本库已有的上下文、RAG、Harness 记忆层笔记提炼。
  • 局限性:
    1. 认知科学的记忆分类是类比框架,不代表 Agent 内部真有对应的生物机制——用它是为了好记好设计;
    2. 本文聚焦”记忆的分类与读写遗忘策略”,具体向量库 / 检索实现见 RAG 与 Embedding 两篇,不在此展开;
    3. “记忆”这个词在不同框架里指代不一(有的把 RAG 直接叫 memory),用时以本文 § 4 辨析表 的口径为准。
  • 最后更新:2026-06-03