模式矩阵 /模式白皮书/Memory
ADPS Agent 设计模式白皮书 · 模块总纲
记忆模块 · 把过去变成可治理的运行资产
记忆系统的使用判断、工程边界、生命周期、正式模式与待研究方向。
范围:本页说明记忆子系统的整体设计。M1 至 M5 的问题、机制和验证标准仍以各模式规范为准。
如果说感知是 Agent 的眼睛,行动是 Agent 的手,那么记忆就是 Agent 的过去。它把感知、推理和行动拉到时间维度上,让这一轮 Agent 能站在上一轮留下的事实、进度和经验上继续工作。
在运行时,记忆并不是一段孤立步骤。一次工具调用可能产生候选记忆,一次失败可能更新反例库,一次任务恢复会重新读取进度和业务状态。ADPS 把记忆列为认知功能,是为了给这组工程职责一个明确入口:系统保存了什么,谁可以写,什么时候取回,新旧内容冲突时谁有效,以及如何证明某条记忆影响了某个判断。
先判断是否需要记忆系统
并非每个 Agent 都需要独立记忆服务。
| 场景 | 建议 |
|---|---|
| 单轮问答、一次性转换、短流程工具调用 | 保持无状态,必要内容随请求传入 |
| 偏好稳定,使用者愿意维护规则文件 | 使用版本化文件、配置或项目 rules |
| 大规模领域材料需要按需查询 | 建设知识库与检索管线,先解决来源、版本和权限 |
| 用户偏好和任务经验持续变化,使用者不会手工维护 | 建设带准入、召回和治理的记忆服务 |
| 审批状态、余额、批次、支付回执等权威业务事实 | 放入数据库、状态机或业务账本,记忆只保存引用和解释 |
两个问题通常足以完成第一轮判断:这份信息是否稳定到可以手工维护,使用者是否愿意并且有能力维护。只要答案都为“是”,一个清楚的文件结构往往比自动记忆更可靠。
三条工程边界
| 相邻系统 | 它负责什么 | 记忆负责什么 |
|---|---|---|
| 知识库 | 可复用的领域文档、事实和证据 | 某个用户、任务或 Agent 如何使用这些材料,以及形成了哪些经验 |
| 数据本体 | 业务世界中有哪些实体、属性和关系 | Agent 围绕这些对象发生过什么、做过什么判断 |
| 控制平面 | 当前有效的权威状态、事务结果和执行约束 | 目标、进度叙事、历史解释和指向权威状态的引用 |
这些边界允许共用基础设施,不允许混淆所有权。向量库可以同时承载文档索引和记忆索引,审批状态仍应由审批系统决定。自然语言摘要也不能覆盖数据库中更新后的批次状态。
一条记忆需要哪些字段
正文只是记忆的一部分。生产系统至少需要下面这份 envelope:
memory_id: mem_01J7...
kind: episodic # working | episodic | semantic | procedural | meta
scope:
tenant_id: acme
project_id: payroll
source:
type: tool_event
ref: trace://run-8842/tool-17
validity:
valid_from: 2026-08-05T09:00:00Z
valid_to: null
supersedes: mem_01J6...
trust:
status: accepted # candidate | accepted | rejected | retired
reviewed_by: policy://memory-admission-v3
retrieval:
keys: [approval-version, payroll-batch]
risk: medium
身份、类型、作用域、来源、有效时间、版本关系、发布状态和召回条件缺一不可。只有正文没有这些字段,系统就无法稳定处理冲突、权限、回滚和删除。
从候选事件到可用经验
这条管线有几个容易被省略的环节:
- 候选池先于长期记忆。 会话摘要、工具事件和模型反思先进入候选区,不能直接污染活动记忆。
- 准入决定能否复用。 系统检查来源、作用域、敏感信息、冲突和风险。高风险内容需要复现或人工审核。
- 编译保留原文指针。 摘要、实体、事件和导航结构服务于查找,结论仍应回到原始材料。
- 检索结果按任务装配。 目标、token 预算、权限、有效时间和风险共同决定哪些内容进入当前 context。
- 使用过程留下 trace。 系统要能回答哪条记忆被取回、是否被模型采用、影响了哪个决定。
- 更新通过版本解决。 新内容覆盖旧内容时保留有效时间和替代关系,避免靠静默删除处理事实变化。
五个正式模式怎样分工
| 模式 | 负责的问题 | 关键边界 |
|---|---|---|
| M1 分层保留 | 记忆放在哪个作用域、功能分区和访问层 | 高频不等于正确,低频高风险规则不能自动淘汰 |
| M2 RAG | 大规模知识怎样建立多路索引并按任务取回证据 | RAG 提供业务证据,不生成权威业务状态 |
| M3 进度追踪 | 长任务怎样持续保留目标、里程碑和恢复位置 | 进度叙事引用控制平面,不能替代控制平面 |
| M4 失败日记 | 失败怎样从原始事件变成可召回的已验证 lesson | 模型即时生成的根因只能先作为候选诊断 |
| M5 程序性记忆 | 已验证做法怎样变成可触发、可版本化的运行资产 | 开放任务不宜重固化,底层依赖变化后需要重新认证 |
M1 至 M4 是核心模式,M5 保持扩展模式。M2 在公开矩阵中固定落在记忆 × 链式单格。迭代检索属于它的成熟实现,不改变主坐标。
正在评审的三个方向
记忆准入(Memory Admission)研究候选内容怎样进入正确作用域,暂按“记忆 × 路由”评估。知识编译(Knowledge Compilation)研究原始材料怎样在写入侧变成可导航、可检索、可直接阅读的资产。版本化记忆(Versioned Memory)研究有效时间、覆盖、冲突、快照和回滚,当前视为更新循环与治理层问题。
群体记忆共享暂不独立成模式。它首先要解决作用域、权限、准入和传播控制;多个 Agent 同时读取同一存储,也不自动构成并行拓扑。
仍需行业补充的问题
- 自动归档产生的低质量记忆,怎样在无人值守时被发现和隔离。
- 明文记忆、激活状态和参数记忆之间是否存在可复核的迁移路径。
- 长任务从 checkpoint 恢复后,怎样证明不可逆动作没有重复执行。
- 群体共享怎样防止错误经验跨 Agent、项目和租户扩散。
- 记忆评测怎样同时覆盖“记对了、取得准、用得对、退得掉”。
本模块贡献者
以下署名依据 2026-08-05 ADPS 记忆模块研讨会逐字稿中的实际发言整理。署名确认对本模块的内容贡献,不表示个人或所在机构对本白皮书全部结论背书。
| 姓名 | 研讨会公开身份 | 对本模块的主要贡献 |
|---|---|---|
| 王昊奋 | 同济大学长聘教授、博导;OpenKG 首任轮值主席 | 记忆生命周期、memory scaling 与组织经验复用 |
| 黄佳 | ADPS 发起人;本场共同主持 | 双轴框架映射、议题组织与白皮书整理 |
| 张颖峰 | 英飞流 InfiniFlow 联合创始人 / CEO | 知识编译、retrieval harness,以及写入侧与检索侧的分工 |
| 付求爱 | 华为云 AIOps 技术负责人 | Coding Agent 的记忆提取、检索与定期整理 |
| 张栋 | 腾讯专家工程师;悟空研发安全负责人 | 分层保留、命中评分、离线审计与内生记忆 |
| 周默 | 京东零售平台营销中心用户运营部算法架构师 | 遗忘机制、动态本体、群体记忆、快照与 Code Act |
| 陈玉涛 | 记忆张量 MemTensor 解决方案专家 | 明文、激活与参数三层记忆,版本化、解耦与场景适配 |
| 李庆丰 | 新浪微博高级总监 | 记忆与知识库的边界,以及何时不需要独立记忆系统 |
本页在 2026-08-05 ADPS 记忆模块研讨材料基础上整理。公开内容只保留可说明、可测试的工程机制;具名实践与测量数字需在获得发布授权和口径确认后进入案例库。