一句话定义
Agent 的记忆是"在上下文窗口之外持久存放、并按需重新注入窗口的信息体系"——短期记忆是本轮会话的消息历史,长期记忆是跨会话的结构化仓库(向量库/数据库),文件记忆是 2025 年后兴起的新形态:让 Agent 把该记的东西写成自己会重读的文件。
为什么重要
kp-002 的铁律:窗口外的等于不存在。没有记忆系统,Agent 是每 20 分钟失忆一次的金鱼——用户偏好、项目背景、上次的失败教训,每次从零开始。记忆系统决定了 Agent 能否从"工具"变成"积累经验的协作者"。它也是个性化(记住用户是谁)、持续协作(记住项目上下文)与自我改进(记住历史失败,kp-014 的跨会话层)的共同地基。
前置知识
kp-003(上下文工程)、kp-002(窗口机制)。
核心概念
记忆的三层架构(对照人类认知)
| 层 | 载体 | 寿命 | 机制 |
|---|---|---|---|
| 短期记忆 | 消息历史(上下文内) | 单次会话 | 天然存在;管理重点是压缩与裁剪(kp-022) |
| 长期记忆 | 向量库 / 数据库 | 跨会话 | 写:嵌入存储;读:按语义相似检索注入(kp-016 的 RAG 机制) |
| 文件记忆 | Markdown/JSON 文件 | 跨会话 | 写:显式工具;读:作为系统提示/资源注入 |
长期记忆的两种语义组织
- 情景记忆(episodic):发生过的事件流水——"9 月 28 日用户抱怨过运费模板错位"。价值在回顾与归因,通常按时间+语义混合检索
- 语义记忆(semantic):提炼后的事实与偏好——"用户公司用人民币结算、偏好表格输出"。这是对行为最有用的记忆,通常由"记忆管理"步骤从情景流中提炼(睡觉做梦 ≈ 后台压缩任务)
实践架构(Generative Agents 论文确立的经典三件套,至今仍是标准参考):检索(recency 时近性 × importance 重要性 × relevance 相关性加权)+ 反思(定期从事件流提炼高层结论)+ 计划。
文件记忆:2025 年的事实标准
以 Claude Code 的 CLAUDE.md 与 2025 年 Anthropic 发布的 memory tool 为代表:
- 机制:给 Agent 一个
memory工具(读/写/列目录),文件内容在会话开始时作为系统提示的一部分注入 - 为什么有效:文件是模型自己能读懂、能主动维护的格式;用户可直接查看与编辑(可审计,kp-026 加分);不依赖向量库基建
- 与向量库的分工:文件适合"小而关键"(偏好、约定、项目结构——几十 KB 内全量注入);向量库适合"大而稀疏"(百万级历史,必须按需检索)
会话开始 → 注入 CLAUDE.md(约200-2000 token)
会话中 → agent 发现值得记的事 → memory 工具写入
下次会话 → 新上下文带上这些记忆 → 行为延续
原理与机制
记忆的读写两端机制不同,值得分开看:
- 写入端的关键问题是"提炼":无脑全存 = 噪声洪水(检索时全是不相关往事)。好的写入 = 事件 → 提炼 → 去重合并 → 更新("用户改用美元了"应覆盖而非追加旧偏好)
- 读取端的关键问题是"检索策略":向量相似度只是 relevance 一维;生产中 recency(新记忆权重高)与 importance(重大事件权重高)的混合打分显著优于纯相似度——这是 Generative Agents 的核心贡献之一
- 注入端的关键问题是"位置与配额":记忆注入占用窗口(kp-003 的预算),事实性偏好放系统提示(全局生效),情景回忆按需检索(贴近使用点)
直观类比
- 短期记忆 = 办公桌上的白板(这次会议用,擦了就没)
- 长期记忆 = 公司档案室(什么都有,用之前要先检索,还会翻出不相关的旧账)
- 文件记忆 = 你个人的工作笔记本(只记真正重要的约定与教训,开工前翻一遍,写得怎样自己负责)
- 提炼任务 = 每周五下班前把白板内容整理成一条笔记扔进笔记本——不做这步,档案室很快变成垃圾场
实例与案例
客服 Agent 的记忆设计(三层落地):
短期:本会话消息(含订单查询结果),超 40 轮触发摘要压缩
长期:
语义:user_profile 表(结算币种/语言偏好/黑名单标记)
—— 结构化字段,从对话中用小模型每 10 轮提炼一次
情景:interaction_log(嵌入向量库,跨会话查"上次承诺过什么")
文件:AGENT.md(服务守则 + 高频用户群特征,团队维护,全量注入)
一次真实用法:用户第 3 次进线问"上次说好的补偿到账没"——检索情景记忆命中 14 天前的承诺记录,Agent 直接对上话茬,而不是装作第一次见。
常见误区
- 误区一:"上向量库 = 有记忆了"。存储不是记忆,提炼与检索策略才是——只存不提炼的向量库召回的是噪声。
- 误区二:记忆越多越好。无关记忆注入会稀释注意力并引入过期信息冲突("上个月用户在 A 项目"已无意义)——需要遗忘/覆盖机制与 TTL。
- 误区三:把记忆当系统提示的垃圾抽屉。AGENT.md 塞到 50KB 后每轮烧钱且重点淹没(kp-003 的规则照旧)。
- 误区四:隐私合规后置。长期记忆存的是用户数据——删除权、加密、留存期在架构期就要定(kp-026/032)。
自测题
- 三层记忆各自的载体与典型管理重点是什么?
- Generative Agents 的三要素打分是哪三维?
- 文件记忆与向量库如何分工?
(参考答案:1. 消息历史-压缩裁剪 / 向量库-提炼与检索 / 文件-主动维护与注入;2. recency、importance、relevance;3. 小而关键全量注入 vs 大而稀疏按需检索。)
与其他知识点的关系
- 检索机制细节 → kp-016(RAG);压缩策略 → kp-022
- Claude Code 的实战记忆 → kp-028;反思的记忆化 → kp-014
延伸阅读
- Park et al., Generative Agents(2023)——记忆三件套的原始出处
- Anthropic, Memory Tool 文档(2025);LangGraph Memory 章节