事实标注:FACT=有公开来源实锤(网采/源码/论文);INFERRED=我们的推断(必标注)。 来源明细在五份调研底稿(消费级/开源/ETL/评测/关系 Schema,合计 100+ 来源),论文与链接统一收附录。
序
几件事。
2023 年,我第一次接触 Agent,应该是 DeepSeek 横空出世的时候。后来 Kimi、DeepSeek 成了我工作中非常重要的一部分。
2025 年,Coding Agent 成为主流叙事:Cursor、Copilot、Codex、Claude Code。
2026 年年初,小龙虾(OpenClaw)叙事大火,更多人关注到这个赛道。随着大模型日新月异的迭代,再到 WorkBuddy、豆包工作、千问办公——从个人 Agent 助理到职场端,端侧办公 Agent 体系逐渐普及。中间还有层出不穷的各种Agent,比如Pi、Deepseek Harness、还有不同个人侧开发的工具,发展非常快。但核心都是一件事:我们希望 Agent 不仅能执行,更希望不需要每次重新交代背景,让它真正成为自己的外挂大脑。 包括上半年很火的 Obsidian + Ai LLM Wiki(Karpathy 提的个人知识库),也是同一个趋势。
积累到今天(9 月),我与 Coding Agent 协同办公大概半年,目前形成了双端现状:
- Mac Air 端为主力机;Mac mini 端作为 24 小时部署的后台运维
- 软件组合:Claude Code + Codex + Mac mini 端侧的 Codex CLI
- 分管记忆的 Hermes
- 外联部分(物理延伸的 AI 记忆卡/录音卡)配备小龙虾
多 Agent 协同已经成为我生活的一部分。与此同时,记忆体系也从不同的 Memory 版本发展出了很多最佳实践——Mem0、Letta 等——记忆已经成为 Agent 技术栈中非常独立且受关注的一层。
架构层面,「Dream 梦境」在这几个月成为行业通用的架构隐喻:ChatGPT 的 Dreaming、Grok 的 Build Dream、Kimi 的记忆与梦境——记忆系统从原来被动式、触发式、指令式的模式,变成了自动运维的框架。
Agent 体系的发展、记忆体系的演进,再加上我目前的双端多 Agent 现状,决定了今天再去构建个人 Personal OS(而不只是 Personal Agent)的必要性。千问办公最新出的千问 Book 被一些自媒体博主比喻成「真正的 Agent 电脑 / AI 电脑 / AI 终端」——大家其实都在尝试解决 Personal OS 如何落地的问题。而在我目前的现状下,我更关注的是:在多 Agent 系统中,我们如何去构建统一的记忆体系? 这也是我今天研究 Agent 记忆的核心所在。
一、现在的框架发展成什么样了:编年史
从最早到现在,关键发布的时间线(FACT,来源见底稿):
| 时间 | 发布 | 带来的东西 |
|---|---|---|
| 2023-04 | Generative Agents(斯坦福) | 观察流 + 重要性打分 + 反思树;检索三因子公式成事实标准 |
| 2023-05 | MemoryBank | 遗忘曲线入记忆(项目已死,概念留存) |
| 2023-10 | MemGPT | 操作系统式分层内存;agent 自主编辑核心记忆 |
| 2024-02 | LoCoMo | 第一个对话记忆基准(约 300 轮长对话问答) |
| 2024-10 | LongMemEval | 五能力基准(抽取/多会话/时序/知识更新/拒答);定量证伪「大窗口幻觉」:全历史直塞掉 30-60%,商用助手记忆准确率仅 30-70% |
| 2025-01 | Zep/Graphiti | 双时间知识图谱:失效不删除、可时间点查询 |
| 2025-02 | A-MEM | 卡片盒式记忆网络:笔记互相触发演化 |
| 2025-04 | Mem0 论文 | 四操作裁决(ADD/UPDATE/DELETE/NOOP)去重算法 |
| 2025-04 | sleep-time compute(Letta) | 离线 agent 空闲时重组记忆:成本降 5 倍、准确率升 18% |
| 2025-07 | MIRIX | 六种记忆类型各配专职 agent;屏幕活动入记忆 |
| 2025-10 | Hindsight / EverOS | 黑马与文件原生派:retain/recall/reflect 三操作(41.6k stars)/ Markdown 唯一事实源(13.3k stars) |
| 2026-04 | Mem0 v2.0.0 | 开源版删图存储、转「只增不改」默认(防静默重写) |
| 2026-06-04 | ChatGPT Dreaming V3 | 自主后台合成记忆、自我更新、可编辑 summary、来源引用 |
| 2026-08-25 | Claude 记忆统一 | chat/Cowork 打通、对话中持续写入、个人档默认开启 |
| 2026-09 上旬 | Letta letta-code(六周 52 个 release) | 战场转移:记忆框架从「开发者 API」转向「编码 Agent 记忆 Harness」 |
| 2026-09-14/16 | 豆包手机 | 记忆升 OS 级:屏幕内容/相册/短信入记忆 |
| 2026-09-16 | Grok Build Dream GA / Kimi「记忆与梦境」 | Dream 隐喻三家合流;Grok 明文 Markdown 存记忆,近乎复刻 Claude Code |
| 2026-09-18 | Mem0 v2.1.0 | User Profiles 画像层:行业在原子事实池上收敛出第二抽象层(五家同构) |
编年史里看得见的三个收敛(INFERRED):
- 架构收敛于「离线整理」:Dream 三家 + sleep-time + LangMem background——对话外进程做记忆固化,已是共识形态。
- 抽象收敛于「三层升层」:原文层→原子事实层→聚合层(画像/场景/社区摘要),各家殊途同归。
- 治理收敛于「可编辑 + 失效不删除」:可编辑 summary 成标配;被推翻的旧记忆关闭而非删除。
一句话:行业三年证明了「记忆必须做」,2026 这一年证明了「单 agent 记忆人人有,多 agent 记忆没看到优秀实践」。
二、最佳实践深潜:记忆工程五问
业界怎么做记忆?拆成五个工程问题逐个看清楚。每问=业界几派做法 → 取舍 → 我们的选择。
2.1 何时提取:记忆在什么时候被写下来
随聊随记派(每轮同步):每发生一轮对话,立刻提取一轮记忆。Mem0 是代表——每收到一轮问答就打包给 AI 提取候选事实;MemGPT 更激进,agent 自己决定记什么。优点是新鲜度最高;代价是每轮都要付一次 AI 裁决的钱,不管这轮有没有新信息。
装满才倒派(容量触发):不判断价值,只看还能不能装下——超了就把最旧的冲刷进长期记忆(LlamaIndex),或容量到 90% 告警归档(MemGPT)。最简单,但「记什么」被容量而不是价值驱动——旧但重要的东西会被新来的废话挤掉。
散会整理派(会话后离线批处理):对话进行时不提取,散会后或系统空闲时统一处理。Letta 的「睡眠计算」把它做成范式:专门的「睡眠 agent」在主 agent 空闲时离线重组记忆,推理成本降 5 倍、准确率升 18%,而且离线路径可以用更强更慢的模型,不占对话的关键路径。
攒够才想派(显著性阈值):每条事件打分,重要性分数攒过阈值才触发一次「反思」(斯坦福模拟小镇的做法,见编年史)。最省算力,命门全在评分质量。
取舍:新鲜度 随聊随记>装满才倒>散会整理≈攒够才想;可审计性 散会整理最高(批处理有完整输入输出快照)。本质是「同步税」与「滞后税」的选择。
我们的选择:混合架构。主对话 Agent(Claude Code)走「随聊随记」的变种——不是每轮同步,而是每次对话结束后处理:主对话 Agent 是跨对话的推理决策者,工程 Agent 的上下文针对具体项目任务,而记忆体系是跨对话服务的,二者分工天然不同。核心架构走「散会整理」离线批处理,由后台端(Mac mini)时钟驱动,颗粒度定为天级。跨对话服务覆盖两个场景:单一 Agent 的跨会话延续,与跨 Agent 的经验继承。前一个场景里,主对话 Agent 自身的记忆是「热」系统;而存档与读档如何成对设计,是多 Agent 记忆结构的核心问题——这一点在第五章展开。
2.2 什么值得记:重要性怎么判断
记东西之前先回答:哪件事重要?三派做法,其实是对同一个问题的三种回答——「重要性这个判断,在什么时候做」。
打分派·入库前先打分:每条记忆先打 1-10 分,像老师改作业(打扫房间 2 分,约会 8 分——斯坦福模拟小镇的原始做法)。好处是可以按分数过滤;代价是 AI 打分本身就晃,而且每写一条多付一次打分的钱。
门槛派·门口立规矩:不打分,但入口处立规矩——只收「持久有用」的东西(偏好、决定、计划),闲聊废话门口拦下。像公司保安只放特定类型的人进(Mem0 代表)。便宜省事;但规矩就是一句话,判错了很难发现。
贴标签派·入库不判好坏,用时自然分晓:只管贴好标签(事件/情绪/关于谁/什么时候),重不重要以后看——被翻出来多、和别的记忆连线多的,自然重要。像图书馆不评书,借阅多的自然上推荐位(MemInsight 报告找得更准 35%;A-MEM 用卡片双链让重要性靠「链接密度」涌现)。
我们的选择:门槛 + 标签,不打分。 两道闸 + 一个自然结果——①门槛立在定义层:先确认「可能产生的对象」类型,类型就是门,类型之外的门口拦掉(我们用一套六类分类法:fact/trait/event/instruction/method/task);②语义提取:AI 把对话原料转成结构化记忆对象,合不合格在提取那一刻见分晓(参考 TencentDB 提取三原则:宁缺毋滥/独立完整/归纳合并);③重要性交给标签与链接密度,在检索时自然涌现。打分的功能没有消失,而是转移到了两处:类型判断(定义时)和人工终审闸——人审就是不打数字的打分。一个诚实的限制:链接密度涌现需要量级,我们的库还小,早期「重要性」更多靠人审和生命周期管理承担——密度不能当作第一天就成立的前提。
2.3 冲突怎么办:新记忆和旧记忆打架
AI 裁判派(Mem0 四操作):新事实来了,先翻出语义相近的旧记忆,让 AI 裁决四个动作——新增/更新/删除/不动。去重是裁判的副产品,不是独立规则。(注:Mem0 托管版现在默认「只增」,改写要显式操作,防止静默重写。)
只标过期不删除派(Zep 双时间):每条事实带「何时成立/何时失效/何时学到/何时撤回」四个时间戳;旧事实被推翻时不删除,只标上失效时间——支持「那天什么是真的」这种查询,历史全保留。
互相修订派(A-MEM):新卡片会触发相连旧卡片更新,整个记忆网络持续精炼——合并不是覆盖,是双向修订。
agent 自己编辑派(MemGPT):agent 用工具自己改自己的记忆。最省力,但改错了,关键事实就永久丢了。
睡梦中整理派(Letta):写入路径做到最简(只增),去重合并全部放到离线整理时做。
我们的选择:离线整理时照搬 Mem0 四操作(翻出相似旧记忆→AI 裁决四选一),三层叠加——时点=离线整理;算法=四操作;语义=删除降级为「标失效不删除」,疑难裁决走人工终审。多 Agent 冲突的解法是我们的「档案室模式」:业界的开放难点是「没有公开协议规范多个 Agent 对同一记忆库的读写」;我们把记忆库独立成档案室,由统一的写入者处理读写,而不是多 Agent 各自乱写——把多 Agent 问题简化成单一写入者问题。这个架构天然绕开了写冲突:写入只进原料层,冲突检测在离线单点串行发生,不需要锁。我们要的是准确性和质量,不追求时效性。
2.4 怎么升层:从流水账到档案
业界共识=三级加工:原文层 → 摘要/抽取层 → 事实/画像层;「原文保留+派生层可重算」优于压缩覆盖(原文丢了不可恢复,派生物随时可以重跑)。
中间层(摘要)存在的意义=四个功能:①成本与质量阶梯(几十万字原文直接提炼,AI 吃不下也抓不准,先切小块再综合)②追溯链(每条结论能指回证据,层层跳转都短)③重算与人审的粒度(中间层=人审闸的工件大小:人审 20 条提炼事实是可能的,人审 50 个会话文件是不可能的)④检索粒度(实时检索时,摘要是大小刚好的召回单位)。
我们的选择:三层保留,走 Letta 式处理——①原文层:各 Agent 产生的上下文由机制搬到记忆库底层,JSON 存储;②摘要层:从原文层产生;③事实层:从摘要层输出,落地记忆仓库;④事实层落地后,再与档案各分类下的既有文件复核、重新确认和编写。
两点补充。其一,摘要层与召回的关系要拆两种:语义召回「找东西」,摘要确实是最经济的粒度;溯源追溯「查出处」,主力是每层挂的来源指针链,不是摘要内容。摘要层的质量标准决定事实层质量——「怎么摘要」是整个设计的生死件(见 5.3)。其二,第④步的四操作复核+人工终审+按分类路由,与事实层的入库闭环是同一道工序。
2.5 怎么防失败:先定义什么叫失败
业界踩过的三类坑:被下毒(外部恶意注入假记忆)、记错了(提取幻觉、错误合并、坏编辑把关键事实覆盖丢)、烂掉了(该记的丢了、该忘的没忘)。
「失败」有三种定义切法:按威胁源分(上面三类)、按记忆动作分(漏/假/腐/瞎)、按后果分(基于错误记忆做了错误判断)。
我们的选择:按动作分,并补上「遗忘」的闭环——遗忘是主动作,自带一对失败:执行不足与执行过度。失败清单五对:
- 假(记错):提取幻觉(把没说过的记成说过的)、错误合并;
- 漏(该记没记):提取遗漏,或归档时被误杀;
- 腐(遗忘不足):陈旧记忆被当真、库无限膨胀;
- 误(遗忘过度):资产被归档动作误伤;
- 瞎(找不到/找错)。
现实约束:半年已积累 6-7GB 过程文档,原文全量存储体积必然增长——但解法是换存储形态,不是删内容:①遗忘≠删除——归档=移出热区(可逆可打捞),物理删除永远带人审;②保险丝——归档的依据不是「时间」,是「是否已被档案收编」:蒸馏物在案,壳才可归档;未被收编的原料永远保留;③热区小而新+冷库压缩归档。我们的场景没有外部用户、离线、有人审——主要风险不是投毒,是内伤三条:假/腐/漏。
怎么评判好坏(补记):LongMemEval 五能力分类法(信息抽取/多会话/时序/知识更新/拒答)是最值钱的框架——厂商 90%+ 分数全是自报、口径混乱,分类法比分数值钱。工程侧:膨胀率/重复率/陈旧率三指标有清单级实践;实测所有记忆后端写入侧零校验(无去重、无异常检测)——写入侧质量门是全行业空白,我们的人工终审闸恰好站在这个空档上。
三、本体论:结构怎么定义
3.1 对象:记忆世界里有什么
各家的答案(FACT):TencentDB 把记忆分双模式 7 类、配重要性打分带,按 L0 原文→L1 原子→L2 场景→L3 画像四级组织;Zep 分三层(原文 Episode→实体与关系→社区摘要);Mem0 是事实池+画像层两层(画像是行业五家收敛出的第二抽象层);Palantir 分 Object/Link/Action 三类;我们自己已有的两套分类——六类(fact/trait/event/instruction/method/task,按性质分)与生命周期四分(User/Team/Repo/Task,按存活期分)。
三条收敛规律(INFERRED):
- 三层升层是行业共识:原文层→加工层→聚合层(我们的三层管线即此共识的落地,见 2.4)。
- 分类有两个正交的轴:性质轴(决定分流去向)× 生命周期轴(决定死期与隔离)——业界各执一端,两轴都要。
- 画像是收敛出的第二抽象层——我们的对应物已存在(长期沉淀的个人画像与经验资产),不用新发明,要接通。
我们的落点(与 2.2/2.4 的选择一致):对象=三层加工链(原文→摘要→事实)× 性质六类(类型即第一道闸)× 生命周期四分(永久/项目/任务/耗材,决定死期);档案的分类名录由两套既有目录资产对照合并定稿,主视图唯一档。
3.2 关系:对象之间怎么连(FACT)
- 时序 = 双时间 + 失效不删除:轻量抄最小核——
valid_from/valid_to两字段 + 写失效标记,事务时间用文件时间戳天然兜底(与 2.3/2.5 的选择一致)。 - 关系词表必须固定:实测无词表时 LLM 会为每条边发明新标签(447 个 vs 基准 30 个),给出词表后准确率翻倍。15-20 个固定词表 + 写入强校验。
- 消歧最低配方:别名(aliases)+ 召回候选 + LLM 二判 + 合并必须留痕(生产级教训:合并不落痕 = 错误不可能回滚)——由 2.4 第④步「复核」环节承载。
3.3 方法:本体怎么设计与治理(来自我们对 Palantir 本体工程的研究)
本体映射现实而非源数据 / 最小本体倒推建模 / 八反模式 / 候选≠生效 / 演练题库防漂移 + 查询驱动设计(按实际查询建模,不按规范化本能)。
3.4 我们的本体设计
- 组合逻辑:以六类为基础(性质轴)+ 生命周期作标签(时间轴)+ 按 Palantir 逻辑在 frontmatter 落 Object(对象)/Property(属性)/Link(受控关系词表)。落地形态:
---
type: fact # 六类(性质轴=门槛)
lifecycle: 项目 # 永久/项目/任务/耗材(时间轴=死期)
object: 太微 # Palantir Object:对象是谁
properties: # Palantir Property:对象属性
status: 内测中
links: # Palantir Link:受控关系词表
WORKING_ON: "[[太微封装]]"
valid_from: 2026-09-29 # 时序(失效不删除)
valid_to: null
source: "会话归档/2026-09-29" # 追溯指针
---
六类定「这是什么」、生命周期定「活多久」、Object/Property/Link 定「关于谁、什么属性、和谁连着」、source 定「从哪来」——四套各管一维,frontmatter 汇合。
-
四级组织 vs 我们的现状:概念一致,物理分布在工作台——原文=会话记录原文;原子=提炼出的判断与事实条目;场景=项目目录与事实文档;画像=长期沉淀的判断/方法/表达资产。mini 端记忆仓不另建四级:集中管原文/摘要/事实三层(原料+加工),场景/画像已作为资产留在工作台——记忆仓是加工厂,不是新家。
-
六类维持不增补:记忆体系不加产物/交付物类——产物和交付物本身在工作台热区,经由记忆判断后、更新时才考虑要不要入档案,不归记忆管。(守住 Palantir「厨房水槽」反模式红线:类型膨胀是本体第一大病。)
-
工程边界:当前不是建本体论的整体图存视图,是解决 Mac mini 端 personal context 的记忆板块。
-
一个已登记的遗留问题:「记忆分离」未解——例:会话里产出了一个交付物,这个交付物要不要入档案?这留给后续的分流设计解决,届时扩展分类路由表即可,不新建概念。
四、结构观对照:七家框架与我们的位置
不同框架对「结构」的理解并不相同:
| 框架 | 结构观 | 原子单元 | 升层机制 | 时间观 | 治理观 |
|---|---|---|---|---|---|
| Letta(MemFS) | 记忆 = Git 文件系统,agent 自治 | 记忆块(md) | agent 编辑 + sleep-time 后台整理 | 弱 | agent 自治,人可读可 diff |
| Mem0 | 记忆 = 事实池 + 画像层 | 持久事实 | 每轮 LLM 四操作裁决 | 弱 | 只增不改默认 |
| Zep/Graphiti | 记忆 = 双时间知识图谱 | Episode→实体+边 | 异步管线抽取 | 强(四时间戳) | 历史全保留 |
| TencentDB | 记忆 = 四级升层的 prompt 规则体系 | L1 原子(7 类+打分带) | 计数/变化驱动全自动 | 中 | 零人工 |
| Hindsight | 记忆 = 分域银行 + 心智模型 | 观察 + 知识页 | retain/recall/reflect | 中 | — |
| Generative Agents | 记忆 = 观察流 + 反思树 | 观察(带重要性分) | 显著性阈值触发反思 | 中 | 打分驱动 |
| Palantir | 本体 = 语义半 + 动能半 | Object/Link/Action type | 管线喂养 + PR 治理 | 中 | Git 式 + 演练题库 + 人审在 Action 层 |
| 我们(目标) | 档案室模式:独立工程 + 单一写入者(我们称 AIAM=统一记忆维护者),各 Agent 热记忆互相独立 | 原子六类 + 受控 link + 摘要/事实分层 | 三层管线(原文→摘要→事实)+ 四操作复核 + 人工终审 | 失效不删除 | 机器写原料层(带死期),人终审资产层;档案由 AIAM 统一维护 |
几个判断(INFERRED):①没有一家把「人」放在结构里——全自动与 agent 自治是两极,「机器写原料 + 人终审资产」恰站在写入侧零校验的全行业空白上;②时间观是我们的最短板,valid 双字段是性价比最高的补课;③图谱派与文件派在合流,我们站文件派、用受控关系字段补语义,是轻量中点。④「独立的记忆维护者」角色业界同样没有——最接近的是 TencentDB 全自动管线,我们的 AIAM(单一写入者+人审兜底)在坐标系里是独特位置。
我们的坐标:
- 坐标判词:Letta 的形态(文件即记忆+离线整理+热冷分层)× Mem0 的算法(四操作)× TencentDB 的规则(类型枚举+提取三原则)× Palantir 的语义(Object/Property/Link 本体字段)——每家取的都是「个人尺度+离线+人审」过滤后的子集。Palantir 五层里只建 L3 语义半的个人版+半个 L2 管线层;动能半/应用层/权限层不建——不是欠缺,是不适配个人尺度。合并后长出两个独有件:单一写入者 + 人的修正权在结构里。
- 治理模型精化:不是「人放在结构里」,是在 Agent 自治体系上加一个模块——大部分仍是 Agent 自治,Action 的授权给 Agent;人在发现问题时能够做出修正。人不在流水线上当闸,人在回路上。
- 成立前提:自治授权靠两个机制兜底——可发现(全程留痕+异常时有人被找到)与可修正(失效不删除/派生层可重算/封档可打捞)。正因为收得回来,才敢把 Action 授权放给 Agent——可逆性换来自治空间。 对照 Palantir:人机协同同落 Action 层,他们走逐动作确认(重、企业级),我们走自治默认+事后修正(轻、个人尺度)。
五、我们的答案:档案室
问题定义:我们自己的系统里有三个断点——①记忆只产于人与主对话 Agent 的对话、不基于事实事件:工程 Agent 与后台端的执行动作与结果全量在会话文件里,却零沉淀;②跨 Agent 经验零继承:人传给主对话 Agent 的表达逻辑与判断依据,工程 Agent 物理不可见;③后台任务无自动扫描:24 小时常驻任务靠人肉发现再转述。
总架构:档案室模式:
人的桌面端(热源,施工/调用) Mac mini(档案室,独立工程)
┌─────────────────────┐ 每日拉取 ┌──────────────────────────────┐
│ 主对话 Agent 会话原文 │ ───────────→ │ 原料层(原文,只增不改) │
│ 工程 Agent 会话/日志 │ │ ↓ 摘要生成 │
│ 后台端任务日志 │ ───────────→ │ 摘要层(分类要点清单) │
└─────────────────────┘ │ ↓ 事实提取+四操作复核 │
↑ MCP 按需调取 │ 原子卡层(六类原子卡) │
│ (热记忆的冷补充) │ ↓ 终审+分流 │
┌───────┴──────────────┐ │ 档案分类(规则/知识/档案/状态) │
│ 各 Agent(MCP client)│ ←────────── │ 工具层:MCP server(只读) │
└──────────────────────┘ 上下文包 └──────────────────────────────┘
五条架构原则:
- 档案室 = 独立工程、异步于多 Agent、单一写入者(AIAM,当前由工程 Agent 统一承载)——把多 Agent 写冲突简化为单一写入,无锁、无协议;
- 各 Agent 继续用各自自主的记忆系统(热、私有);底层档案保持独立(冷、共享);
- 蒸馏分两路:主对话 Agent 一路=对话收口实时蒸馏(热源,与档案式生成是两件事);档案室一路=多 Agent 协同提取(独立工程——无人值守原料的升层在这里发生,断点②的解法);
- 取向:要准确性和质量,不追求时效性(批处理颗粒度=天级,升频只改调度不动架构);
- Agent 自治 + 人后置修正权——可逆性换自治空间:失效不删除/派生可重算/归档可打捞。
工序链路:采集 → 梳理 → 归档 → 读取
一条总原则:脚本做确定性的事,模型做理解性的事,复核模型做质量门。 脚本能检查「引用确实存在」,但不能证明「这句话理解正确」——后者必须模型复核。
| 环节 | 工程脚本(确定性) | 模型(理解与判断) |
|---|---|---|
| 采集 | 双端取料、按日期落盘、保留原件、查缺查重 | 不参与 |
| 梳理 | 整理输入(识别会话结构、保留说话者/时间/来源位置)、分段送料、完整保存结果 | 初提模型:判断事实/决定/方法/偏好/未决,区分谁说的、是否已确认;复核模型:回看原文,逐项补漏、纠错 |
| 归档 | 召回可能相关的旧卡、按规则生成操作提案、写候选、留修改记录 | 裁决新增/重复/更新/失效;疑难项升级人工终审;候选不能自行生效 |
| 读取 | 只读查询接口,返回记忆、状态与来源 | 各 Agent 决定何时查、如何用于当前任务 |
执行顺序=五步:脚本采集去重 → 初提模型生成完整候选(保留原文,不提前丢信息)→ 复核模型回看原文逐项检查 → 脚本完整保存复核结果、另生成便于阅读的短摘要 → 与旧记忆比对形成更新提案,进入终审与读取流程。
为什么复核模型不可省,一个真实例子:人先说「以后考虑跨仓分流」,后说「一期先不分流」——脚本负责把两段原话都取到、保存出处;模型负责理解前后关系(前者是远景,后者限定本期范围);复核模型负责检查提取结果有没有把远景写成当前指令;脚本负责完整保存复核结果,不能在最后汇总时又删掉这个限定。
模型分层:职责分层先固定(初提/复核分离),具体模型选型按质量与用量后续调整;当前先用同一强模型建立质量基线,不提前宣称分层部署完成。
工程拆解框架:
| # | 件 | 一期/二期 |
|---|---|---|
| E1 | 采集器:每日拉取会话原料(增量+对账) | 一期 |
| E2 | 摘要生成器(摘要标准 v0.2 + 分类要点清单,见 5.3) | 一期 |
| E3 | 原子卡生成 + 四操作复核 + 失效标记(产出只进候选区) | 一期 |
| — | 人工终审队列(候选≠生效) | 一期 |
| E4 | MCP server(search/read → 二期 get_context) | 一期 search/read |
| E5 | 体检:膨胀率/重复率/陈旧率日报 | 二期 |
运行纪律:机器写入只到原料层与候选区,「生效」必须过人工终审;摘要模型版本钉死;管线每日产出挂每日心跳防无声断跑。
工程验收 = 两个节点:①采集质量(摘要验收四判据 + 采集对账);②MCP 可读取(桌面端真实挂载调用)。
诚实边界:本章为设计定稿,工程正在按此施工(一期);「复核模型的自动调起」与「旧记忆比对的完整接入」仍在施工中,尚未成为每日自动流程——以上描述是目标态,不是完工宣告。
五问答案总表(论证见第二章各节「我们的选择」):
| 问 | 我们的答案 |
|---|---|
| 何时提取 | 主对话 Agent=每次对话后处理(随聊随记的变种);档案室=散会后离线批处理,颗粒度=天级(后台端时钟驱动) |
| 什么值得记 | 门槛 + 标签,不打分:类型门槛(定义层)→ 语义提取(写入时)→ 密度涌现(检索时);打分转移到类型判断与人审 |
| 冲突怎么办 | 离线 pass 照搬 Mem0 四操作 + 档案室单一写入者;删除降级为失效标记;疑难裁决走人工终审 |
| 怎么升层 | 三层管线:原文(JSON)→ 摘要 → 事实 → 与既有档案复核、重新确认和编写;摘要=语义召回粒度 + 追溯中间站(指针链才是溯源主力) |
| 怎么防失败 | 失败五对:假/漏/腐/误/瞎;遗忘≠删除(归档=移出热区可打捞)+ 保险丝(收编才归档)+ 换存储形态不删内容 |
仍然开放的问题:
- 档案分类名录定稿:两套既有目录资产对照合并,主视图唯一档。
- 经验层的升格设计:从事实到经验的升格发生在哪、什么标准触发,仍未定。
- 体检指标落地:膨胀率/重复率/陈旧率 + 五能力自检(知识更新/拒答优先),约 50 题小 fixture。
关键设计方案(已定稿的三件,本报告以此收尾):
5.1 提取颗粒度:天级
主力对话发生在人的桌面端,档案室只是读档源泉,天级够用且成本不高;未来若需要小时/分钟级(比如做实时仪表盘),只调调度频率,不动架构;主对话 Agent 侧维持对话后处理(事件驱动)不变。
5.2 读档架构:MCP 化 + 「热记忆的冷补充」
主记忆仍来自各 Agent 自身(不变);档案室=共享冷层,按需调取——新对话接了 MCP 后可按需去档案室调取,但主记忆还是各 Agent 本身。此定位=业界最优结构同款(Letta 热冷分层/Palantir 上下文双通道),且绕开多 Agent scope 路由难题(各 Agent 主记忆自管,档案室只做共享冷层,调不调用由 Agent 在主记忆不够时自行发起)。落地三件:①后台端只读 MCP server(search/read/get_context)②各 Agent 挂载(配置)③「何时去查」触发纪律=一条路由规则(问题涉及历史项目/跨 Agent 经验/需查证事实时→调档案室;主记忆够用不去)。先例=Palantir 官方本体 MCP(OMCP)已存在。读档质量依赖摘要/事实层质量(垃圾进垃圾出)。
5.3 摘要质量标准 v0.2:整个设计的生死件
摘要质量决定事实质量。本标准将随最佳实践专项研究继续升级:
- 形态:一次会话=一份摘要,四段结构=元信息/叙事段/要点清单 5-10 条带行号/未决与异常;优先级钉死:要点+指针不可丢,叙事可丢(工程共识=分层结构+指针溯源+关键意图逐字保留)。
- 要点清单=分类要点清单:摘要的本质=定向提取的半成品,不是压缩原文。每条要点=类型标签+一句话+行号;标签=六类(fact/event/trait/instruction/method/task)+两个特殊出口(
判断→判断库候选 /知识卡候选→知识库候选区)。类型门槛(2.2 第一道闸)在摘要层就执行;事实层提取拿分类清单直接走四操作复核+按路由表分流。佐证:我们日常对话里已在用人工版的分类要点清单(内联标记 [判断]/[方法论]),摘要层相当于它的机器化与全 Agent 规模化。 - 验收四判据:①零添加:一期=抽读+错误分类表(哪类错:事实错/漏重要/冗余/读不懂);二期=小模型 NLI 校验全量自动化(离线场景可行,成本低约 400 倍级);②覆盖:操作化为 QA 式召回——从原文出 5-10 个关键问题,摘要须全部答出,漏答即覆盖不过(学界共识:多数指标只测「不能加错」不测「不能漏重要」,此条补上);出题优先从「判断/事实/知识卡点」出(核心内容零遗漏),不做均匀抽样;③独立成立;④指针完整。
- 冗余控制:叙事段+要点合计一期先按 ≤1500 字控制,跑 30 篇后回看分布再定正式压缩比。
- 防漂移:golden fixture 3-5 篇代表性会话做标准摘要;换模型/prompt 后重跑比对,分数下跌 2-5% 告警;摘要模型版本钉死。
- 人审纪律:LLM judge 只做二元原子判定(「摘要是否支持该事实」是/否),禁用整体印象分(judge 噪声实测:重复判定 13.6% 翻转,且有冗长偏差系统性偏爱长摘要);抽读制首批 100%→稳定后 20%(抽读比例无权威标准,按用途定)。
六、对企业团队 Agent 协作的启示
这套体系是按「一个人 + 多个 Agent」设计的,但它的骨架回答的是一个更大的问题:当团队里每个人都配上 Agent,记忆协作的底层框架应该长什么样? 我们在个人尺度做出的东西,可以看作这个问题的一个雏形——两个构件同构放大,就是企业版。
构件一:采集链路(成员端)
每个团队成员的 Agent 装一个 Skill:每天把本人确认过的工作报告——也就是当天值得留下的记忆——上传到固定服务器。
与个人版的关键差异在信任边界:个人版是后台端主动拉取原始会话(自己拉自己的,无所谓);企业版必须反过来,由成员端推送、且推送的是确认态的记忆——「候选≠生效」的质量闸前置到每个人自己的端上完成,原始会话不必离开本人。这一条同时回应了企业场景最敏感的隐私与合规问题。
构件二:本体链路(组织端)
组织侧设一个本体 Agent(个人版单一写入者 AIAM 的放大版),负责四步:
- 提取:从各成员上传的确认态记忆中提取事实、决策、方法;
- 分类确认:按用户 ID 分类、收集并确认归属——谁的记忆、属于哪个项目;
- 分流归档:通过分流器归档进企业知识库(规则/知识/档案/状态各归其位);
- 读档:通过 MCP 协议生成上下文包——与个人版不同的是必须分两层:公用版(全员 Agent 可调)与个人版(仅本人 Agent 可调),在主仓统一分类管理。
底层框架 = 工位 × 记忆体系
再往上抽象一层:把「工位」概念拆开——工位是业务发生的工作位(一个项目、一个团队各是一个工位),记忆体系是横跨所有工位的记忆基础设施。两者组合,就是 Agent 记忆协作的底层框架:工位提供业务上下文与归属,记忆体系提供采集/梳理/归档/读取的组织级实现;而「人在回路上」的位置不变——成员在自己端确认(个人闸),本体 Agent 把疑难升级给人(组织闸)。
诚实边界:本节为个人雏形的同构推演(INFERRED),未经企业场景验证。但反过来说同样成立——在个人尺度先跑通「单一写入者 + 人审兜底 + 失效不删除 + MCP 冷补充」,等于替企业版预先验证了最核心的四件机制。
附录:证据边界与来源
- 网采环境受限:部分事实靠多源交叉(各底稿有局限声明);开源侧为 GitHub API 一手,最硬。
- 厂商跑分均为自报、存在公开方法论争议,本报告不引用具体分数作论据。
- 未查到项:ChatGPT Dreaming 免费档开放日期;各家记忆自动衰减机制(全行业黑箱);TencentDB v2 beta 变更内容;多 agent 共享记忆写冲突协议(疑似全行业的开放问题)。
- 第五章为 INFERRED 级设计方向,未经工程验证;工程落地前须先对会话原料格式实地侦察。
- 论文与链接索引:Generative Agents(arXiv:2304.03442)/ MemGPT(2310.08560)/ LoCoMo(2402.17753)/ LongMemEval(2410.10813)/ Zep(2501.13956)/ A-MEM(2502.12110)/ Mem0(2504.19413)/ sleep-time compute(2504.13171)/ MIRIX(2507.07957)/ 写入侧校验实测(2607.15657);完整 100+ 来源见调研底稿来源清单。