智能体入门课
memory进阶75 分钟

9

记忆:从这一轮到跨会话的积累

参考:来源 F · Gulli 第 8 章

学完你能做到

  • 分清对话记忆、Agent 记忆、领域知识三个经常被混为一谈的概念
  • 判断什么值得长期存,什么应该用完就丢
  • 知道存错的记忆比不存更危险

f3 讲了装不下长任务的问题,m7 讲了是"活在窗口外的事件日志"。这一节讲第三个概念——记忆。三个词很容易被当成同一件事,但它们完全不同。

概念管的是什么生命周期
模型这一次能看到多少字这一次调用结束就没了
这一个任务里发生的每一件事,按顺序记下来这个任务结束了,日志还在,但不会自动带到下一个任务
从很多次任务里提炼出来、专门留给"下一次"用的东西跨任务持久,直到被更新或过期

打比方:上下文窗口是你脑子里正想着的那几句话,session 是这次谈话的完整录音,记忆是你谈完之后写进笔记本、以后还会翻的那几行。

短期记忆和长期记忆

先建立直觉

你在便签纸上记"等下要买牛奶",买完就撕掉——这是短期的。

你在笔记本上记"这家超市周三牛奶打折",这条信息你打算留很久,每次去超市前都会翻一下——这是长期的。

什么值得存,什么该过期

个性化不是模型“更懂你”,而是系统给了它正确的数据

个性化所需信息例子必须同时设计的边界
身份与当前状态当前订单、课程进度、正在处理的任务只能读取当前用户的数据
稳定偏好回答长度、语言、过敏信息、常用格式用户可查看、修改和删除
历史行为过去的选择、人工纠正、未完成事项过期时间和用途限制
企业上下文公司政策、客户合同、产品库存岗位权限、来源和新鲜度

普通聊天机器人与个性化 Agent 的差异经常不在模型,而在身份、实时状态、记忆和权限隔离。数据越丰富,越需要说明为什么保存、保存多久、谁能使用。

  1. 值得存:关于用户的稳定偏好("喜欢简短回答")、反复出现的模式("这类问题总是要先查库存")、被人工纠正过的结论(连纠正本身也要存,不能只存纠正后的结果)
  2. 不值得存:一次性的、只对当前任务有意义的中间结果、已知会变化的事实(比如"现在几点")、未经确认的猜测
  3. 要主动过期:和当前情况矛盾的旧记忆——用户搬家了,"默认查北京天气"这条记忆就该被替换,而不是让新旧两条同时存在打架

常见误解

记忆就是保存聊天记录,存得越完整越好。

实际上

聊天记录是原始日志(管的事),记忆是从原始日志里提炼出来的结论

直接把整个聊天记录当记忆用,会有两个问题:一是很快超出,二是有用的信息淹没在大量无关细节里。

好的做法是定期从日志里提炼:哪些是稳定的、值得跨任务保留的,写成结构化的几条,而不是整段搬运。

课堂练习

15 分钟
  1. 给学生五条信息,让他们判断哪些该存进长期记忆、哪些不该:
    (a) 用户说"我对花生过敏"
    (b) 用户问"现在几点了"
    (c) agent 上次推荐的一家餐厅,用户说"不喜欢,太吵了"
    (d) 今天的股票价格
    (e) 用户说"帮我订明天的会议室"
查看参考答案

(a) 存 —— 稳定的、安全相关的偏好,长期有效。
(b) 不存 —— 一次性、马上过期的信息。
(c) 存 —— 反馈是有价值的偏好信号,以后推荐要避开"吵"这个特征。
(d) 不存 —— 已知会变化的事实,存了也是错的。
(e) 不存 —— 一次性任务的中间指令,做完就没用了(除非用户反复这样要求,那就变成"值得存的模式"了)。

案例推演:记住用户偏好,为什么可能变成错误和冒犯

助手记下“用户不吃海鲜”,半年后仍拒绝所有海鲜餐厅;但这可能只是一次临时过敏或同行者偏好。记忆写入、来源、时效和删除都需要规则。

本节追问:哪些信息值得跨会话保存,谁有权修正它? 先不要急着看结论。沿着下面四步,逐项区分输入、决策、证据和失败信号。

每一步都要回答:看到了什么?为何这样决定?怎样证明? 1 选择写入 只保存未来有用且允许持久化的信息 观察 → 决策 → 留证据 2 结构化记录 保存内容、时间、来源、置信度和适用范围 观察 → 决策 → 留证据 3 按需检索 仅在相关任务中加载最小必要记忆 观察 → 决策 → 留证据 4 允许治理 用户可查看、更正、过期和删除 观察 → 决策 → 留证据 完整案例链:不是记住名词,而是能够用证据作出下一步决定
四步案例推演。手机上可左右滑动查看;每个箭头都代表一次需要证据支撑的状态转换。
阶段本步要做的决定什么算证据最常见的失败
选择写入只保存未来有用且允许持久化的信息有明确用途、来源与同意把每句聊天都存成长期人格
结构化记录保存内容、时间、来源、置信度和适用范围可区分事实、偏好与暂时状态一句摘要覆盖复杂条件
按需检索仅在相关任务中加载最小必要记忆能解释为何这条记忆影响本轮每次把全部记忆塞进上下文
允许治理用户可查看、更正、过期和删除删除后索引与派生摘要同步清理系统悄悄保存且不可撤销

阅读方式:先遮住后两列自己回答,再用“证据”和“失败”两列检查理解。

常见误解

“记得越多,体验越个性化”

实际上

可观察症状:过期、越界和错误记忆持续影响决策。

更可靠的修复:把记忆视为有生命周期与权限的数据产品,而不是无限聊天仓库。

案例工作坊 · 建议真正动手完成

25 分钟
  1. 将十条用户信息分为不存、短期存、长期存。
  2. 为一条偏好设计来源、时效和撤销字段。
  3. 写出记忆冲突时的澄清对话。
查看参考答案

记忆是经过选择和治理的外部状态。价值来自相关、准确、可控,不来自数量;用户应能知道系统记住了什么并修改或删除。

迁移检查:换一个场景还会不会

“用户上次出差住在北京”最合理的默认处理是?

检查一下

"这次对话里用户提到的城市"和"这个用户一直住在哪个城市",哪个该进长期记忆?

agent 的一个判断被人工纠正了,应该往记忆里存什么?