AI Agent学习:用户记忆系统(李博杰《深入理解 AI Agent》3.1观后总结)
第3章 用户记忆和知识库
第二章解决单次会话内部上下文管理;本章解决跨会话持久化知识。
- 用户记忆(个体尺度):单用户个性化记忆,保存偏好、习惯、个人事实,打造懂用户的助手。
- 知识库(群体尺度):多用户共享集体知识,行业规范、公司文档、领域资料,打造领域专家。
二者底层技术复用:向量检索、知识压缩;共同痛点:信息冲突、知识过期、检索不准。
最终收敛到双层记忆架构:Advanced JSON Cards常驻概览 + 上下文感知检索按需读取细节。
3.1 用户记忆系统
用户记忆不是简单复制对话流水账;是主动持续学习,构建用户预测模型。通过额外LLM调用,从对话里提取、压缩关键信息。
- 上下文学习:会话内临时生效,会话结束全部消失。
- 用户记忆:持久化存储,可审查,跨会话复用。
3.1.1 记忆能力三层次评估框架
配套基准:LoCoMo长对话记忆基准;八项能力:个人信息保留、偏好追踪、上下文切换、记忆更新、多会话连续性、复杂思考、时间感知、冲突解决。
| 层级 | 能力描述 | 典型场景 |
|---|---|---|
| 第一层:基础回忆 | 准确存取用户给出的无歧义结构化事实 | 记住会员账号,后续直接读取 |
| 第二层:多会话检索 | 跨会话、跨时间检索多条关联信息,做推理判断 | 用户有多辆车,预约保养识别全部车辆并询问选择;区分有效/过期合同 |
| 第三层:主动服务(助理最高标准) | 无明确指令,综合历史记忆主动预判、整合信息、预警风险 | 订国际航班主动检查护照有效期;报税自动汇总全年税务材料 |
实验3‑1:每层20条测试用例,采用
LLM‑as‑a‑judge打分,配套仓库user‑memory。
3.1.2 记忆的层次结构(存在哪里)
- 轨迹 Trajectory
单次会话完整原始记录,append‑only只增不改;保存用户消息、模型回复、工具返回。相当于当前会话的流水账,服务本次推理。 - 用户长期记忆
跨会话持久存储,绑定用户ID;可以改写、合并、淘汰;存储偏好、摘要、抽取事实,实现跨会话个性化。 - 业务状态(可选)
开发者定义任务逻辑阶段,事件驱动Agent重点使用。
轨迹=流水账;长期记忆=用户档案。
3.1.3 用户记忆四种存储格式(怎么存)
权衡核心:简单性 ↔ 表达能力,生产环境一般混合使用。
| 格式 | 核心特点 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| Simple Notes | 原子独立事实 | 开销极低,O(1)读写 | 丢失实体关联,多事实需要手动拼凑 | 大量次要简单事实 |
| Enhanced Notes | 完整叙事段落 | 语义完整,保留上下文逻辑 | 冗余、更新麻烦、长文本向量效果差 | 需要细腻理解的长文本描述 |
| JSON Cards | 类别→子类别→键值,三层结构化 | 支持局部更新,可扩展 | 分类刚性,多维信息难以归类 | 大部分结构化用户画像 |
| Advanced JSON Cards | JSON卡片 + backstory来源、person主体、relationship关系、时间戳 | 实体消歧,记录信息上下文,解决多同名实体混淆 | 生成维护成本高,LLM调用开销大 | 关键偏好、人物关系、需要消歧的核心信息 |
实验3‑2:
user‑memory项目可切换四种格式做对比评测。Simple Notes第一层表现好,二三层失分严重;Advanced JSON Cards多跳、实体消歧表现最优,成本更高。
3.1.4 进阶记忆表示方案
- User as Code(可执行代码记忆)
把用户信息保存为带类型Python对象,约束写成可执行函数。
- 两阶段流水线:①只增不删原始事实日志;②周期性checkpoint,LLM生成类型化Python代码。
- 优势:聚合统计、冲突检测、约束校验由解释器确定性执行,不完全依赖LLM心算,适合计数、有效期校验、过敏冲突检查。
- 缺点:需要代码生成与执行环境;非结构化杂项事实依然需要notes文本字段。
-
User as Engram(参数局部写入)
不训练LoRA,把用户事实写入模型空闲哈希N‑gram槽;模型预训练习得读取逻辑,解决“存了但是不会调用”。不同用户槽隔离,互不干扰。 -
Parametric Multimodal User Memory(多模态感知记忆)
保存图像、声音等无法文字转述的感知信息;外部编码器产出感知向量,映射到模型标记嵌入,全程不转文字。
记忆表示连续谱:外部文本 → 可执行代码 → 模型局部参数 → 多模态感知。外侧易审查易更新;内侧推理强、但黑盒程度上升。
3.1.5 认知科学视角:记忆存什么(三类记忆)
对应人类长期记忆分类,与上面层次、存储格式正交,可以自由组合。
- 情景记忆 Episodic:具体事件经历。例:下周五预定东京航班。
- 语义记忆 Semantic:从事件抽象出稳定通用知识。例:用户素食、偏好靠窗座位。
- 程序记忆 Procedural:行为流程、做事模式。例:订机票固定操作流程。
三套正交分类:
1)存在哪里:轨迹 / 长期记忆 / 业务状态
2)怎么存:四种存储格式
3)存什么:情景 / 语义 / 程序记忆
3.1.6 开源记忆框架案例
Mem0
流水线:提取 — 向量检索对比 — 决策更新
- 提取阶段:新对话结束,LLM结合历史提取候选记忆。
- 更新阶段:向量检索相似旧记忆,LLM决策:
ADD新增 / UPDATE更新 / DELETE删除 / NOOP无操作。自动处理新旧信息冲突。
- 变体Mem0‑g:实体关系图记忆,提升多跳推理。
- 架构模块化,嵌入层、存储层解耦,插件化支持各类后端。
Memobase
分为两大部分:
- 用户画像Profile:开发者可配置槽位,存储稳定属性。
- 事件记忆Event Memory:时间线保存历史事件,支持时间维度查询。
- 缓冲批处理:对话先缓冲区攒量,再批量提取记忆,降低LLM调用开销,查询低延迟。
参考协同架构:工作记忆 ↔(选择性写入 / 按需激活)↔ 长期记忆(情景、语义、程序)
- 轨迹:不可变完整事件序列;工作记忆:筛选激活后的动态子集。
3.1.7 记忆压缩与整理机制
防止记忆爆炸、检索退化,多层策略:
- 重要性打分过滤:访问频率、时间衰减、情感强度、信息独特性综合打分,低分标记压缩/删除。
- 聚类摘要:相似记忆分组,生成组摘要,原始数据归档二级存储。
- 抽象泛化:情景记忆提炼为语义、程序记忆。
- 冲突版本管理:可变信息保留最新版本;历史经历类保留完整版本。
区分:本章是记忆存储层的离线整理;第二章是单次会话上下文窗口压缩;第八章介绍离线记忆整合的工程触发机制。
3.1.8 隐私保护:日志脱敏
实验3‑3 log‑sanitization项目:本地小模型做PII敏感信息检测脱敏。
- 本地部署,敏感数据不上传云端;识别结构化、半结构化、自然语言里的隐私内容。
- 输出JSON Schema:类型、位置、置信度。
- 高吞吐混合方案:正则过滤明显模式,剩余交给LLM深度识别。
用户记忆量增大后,如何快速召回目标信息,交由RAG技术解决,RAG同时服务共享知识库与增强用户记忆检索。
下一节:3.2 RAG基础:构建Agent的知识获取管道。
如果你需要,我可以继续把3.2‑3.4 RAG部分也整理成同风格md笔记。
更多推荐



所有评论(0)