记忆系统

记忆系统很容易被误解成“把用户说过的话存起来”。

真正的工程问题更复杂:什么值得记,记多久,谁能看到,什么时候更新,什么时候忘记,错误记忆如何纠正,记忆进入模型前如何做权限和相关性判断。

如果做得好,记忆能让 AI 应用减少重复询问、延续任务、形成个性化体验。如果做得差,记忆会变成隐形风险:过期信息持续影响输出,用户不知道系统记住了什么,敏感信息被误用,不同任务之间互相污染。

这篇文章把记忆拆成三类:用户记忆、任务记忆和长期记忆。每一类都要分别判断收益、风险和成本。

场景

以一个面向企业用户的 AI 工作助手为例。

用户每天用它写客户邮件、整理会议纪要、查询 CRM、生成跟进计划。系统如果记得用户偏好的邮件语气、常负责的客户、当前季度重点项目和上次未完成的跟进事项,就能明显减少重复输入。

输入来自聊天、文档、CRM、日历、任务系统和用户手动设置。输出可能是邮件草稿、待办、客户摘要、下一步建议,也可能触发日程或 CRM 更新。使用频率高,跨天、跨项目、跨客户连续使用。

没有记忆时,用户每次都要重新说明“我负责华东区企业客户”“邮件语气保持简洁”“这个客户更关心部署周期”。有记忆后,系统可以默认采用这些偏好。

最容易失败的样本是:用户临时为某个客户改变语气,系统却写入全局偏好;某次项目的旧目标被长期保留;一个客户的敏感信息被错误带到另一个客户;模型把自己的推测写成用户事实。

记忆类型

记忆类型记什么典型收益主要风险
用户记忆用户偏好、语言、角色、常用格式、明确声明的长期信息个性化和减少重复说明隐私、误记、用户难以纠正
任务记忆当前项目目标、决策记录、约束、未完成事项、工具结果跨会话继续工作过期决策、任务间污染
长期记忆经过确认的稳定知识、长期关系、历史模式、组织级规则长期协作和知识沉淀成本高、治理复杂、合规压力大

这三类不应该混在一个 profile 里。用户偏好、任务状态和长期知识的更新频率、权限范围、保留周期和错误成本都不同。

问题类型

记忆系统涉及的 AI 任务比普通聊天更多。

问题类型适合模型处理应由程序处理需要人工或用户确认
记忆候选识别判断一句话是否可能值得记敏感信息过滤、写入阈值用户偏好、长期事实
结构化抽取提取偏好、目标、约束、对象和时间schema、来源、版本、去重高影响字段
记忆检索根据当前任务找相关记忆权限、租户、任务边界、排序跨对象或跨组织使用
冲突判断发现新旧记忆矛盾优先级、过期、覆盖规则无法自动判断的变更
生成使用记忆生成个性化输出上下文预算和记忆引用对外承诺和业务动作
删除和修正辅助解释记忆含义删除执行、审计、同步用户主动删除或纠错

模型可以帮助发现和整理记忆,但记忆治理必须由系统负责。尤其是写入和使用记忆时,不能让模型凭感觉决定。

用户记忆:收益、风险、成本

用户记忆适合记录明确、稳定、低敏感度的信息。

例如:

  • 用户偏好中文回复。
  • 用户喜欢邮件先给结论再列要点。
  • 用户负责华东区企业客户。
  • 用户常用周报格式是“进展、风险、下周计划”。

它的收益是减少重复说明,并让输出更贴合个人工作习惯。对于高频使用的助手,用户记忆能显著提升体验。

但用户记忆也有明显风险:

  • 模型把临时要求写成长期偏好。
  • 模型把推测写成事实,例如“用户不喜欢详细解释”。
  • 记住敏感信息,如健康、财务、身份、家庭情况。
  • 用户不知道系统记住了什么,也不知道如何删除。
  • 记忆影响结果但界面没有解释。

用户记忆的成本包括:记忆候选识别、用户确认 UI、记忆管理页、删除同步、敏感信息过滤、审计日志和评估样本。

什么时候简单策略足够

如果只是当前会话里的语气和格式偏好,可以不写入记忆。把用户偏好作为本轮 prompt 变量即可。

例如用户说“这次邮件写得更正式一点”,这很可能是临时约束,不应该自动变成长期偏好。

什么时候需要工程方案

当偏好会跨会话复用,并且用户期望系统持续记住时,才需要用户记忆系统。此时至少要有:

  • 明确写入规则。
  • 用户可见的记忆列表。
  • 编辑和删除入口。
  • 敏感信息拦截。
  • 来源和更新时间。
  • 使用记忆时的可解释提示。

任务记忆:收益、风险、成本

任务记忆记录的是某个任务、项目或业务对象的状态。

例如:

  • 当前工单已经确认订单号,但缺收件邮箱。
  • 某个代码修改任务决定不引入新依赖。
  • 某个销售商机的关键风险是安全审计周期。
  • 某份报告已经确定采用“区域维度”而不是“产品维度”。

任务记忆的价值在于跨会话继续工作。它比用户记忆更具体,也更容易过期。

主要风险是任务间污染和状态过期:

  • 把客户 A 的约束带到客户 B。
  • 把上周废弃的技术方案继续当成当前决策。
  • 工具结果更新后,任务记忆仍保留旧状态。
  • 模型根据自然语言记忆推断任务已完成,但系统状态并没有完成。

任务记忆的成本包括:任务 ID、对象权限、状态 schema、版本、过期、工具结果绑定、人工修正和回放。

什么时候简单策略足够

如果任务在一个会话内完成,最近消息和对话摘要通常足够。不要为了一次性任务建立任务记忆。

例如用户让模型“帮我把这段说明改短”,没有必要保存任务状态。

什么时候需要工程方案

当任务会跨天继续、涉及多个对象、需要工具执行或需要审计时,任务记忆应该结构化保存。

任务记忆通常更接近状态机,而不是聊天摘要。它应该记录:

  • 当前阶段。
  • 已确认字段。
  • 缺失字段。
  • 已执行工具及结果。
  • 决策记录。
  • 阻塞项。
  • 下一步动作。
  • 负责人或确认人。

长期记忆:收益、风险、成本

长期记忆是最有吸引力、也最容易过度设计的一层。

它可能包括用户长期工作方式、组织知识、项目历史模式、客户关系、持续目标和历史反馈。对于真正长期协作的产品,长期记忆能让 AI 从“每次重新开始”变成“逐渐了解工作环境”。

但长期记忆的风险和成本都高:

  • 记忆量大,检索和排序更难。
  • 信息保留时间长,隐私和合规要求更高。
  • 错误记忆会反复影响很多任务。
  • 组织内权限关系复杂,谁能用哪些记忆必须明确。
  • 用户离职、项目结束、客户合同变化后,记忆必须处理。
  • 评估困难,短期 A/B 很难看出长期收益。

长期记忆不适合做成“无限历史聊天检索”。更可靠的方式是分层:

  • 明确确认的长期事实。
  • 可过期的历史偏好。
  • 与具体项目绑定的历史记录。
  • 可检索但不默认注入的归档信息。
  • 需要用户或管理员管理的组织级规则。

什么时候简单策略足够

如果用户使用频率低、任务变化大、记忆不会显著减少重复输入,就不要做长期记忆。可以使用显式设置、模板、项目配置或最近会话摘要。

什么时候需要工程方案

当产品核心体验依赖长期协作,且用户会因为系统“记得正确”而持续受益时,才值得建设长期记忆。

典型条件包括:

  • 高频使用。
  • 明确的长期对象,如客户、项目、课程、代码库。
  • 记忆能显著减少重复输入或提升质量。
  • 用户愿意管理和纠正记忆。
  • 团队能承担隐私、权限、评估和运营成本。

收益和成本判断

记忆层级主要收益主要风险主要成本
用户记忆个性化、少重复说明隐私、误记、临时偏好长期化记忆管理、确认、删除
任务记忆跨会话继续、状态可恢复过期、任务间污染、工具状态不一致状态 schema、权限、回放
长期记忆长期协作、知识沉淀合规、错误累积、权限复杂分层存储、检索评估、治理运营

一个实用判断是:记忆是否会影响事实、权益或操作。

如果只影响语气和格式,风险较低,可以更轻量。如果会影响报价、权限、专业建议、客户承诺或工具执行,就必须有确认、来源、过期和审计。

方案阶梯

第一层是不记忆。适合一次性任务、低频功能和高敏感场景。让用户每次明确输入,虽然不够聪明,但可控。

第二层是会话内偏好。用户本轮说“用更正式的语气”,只在当前会话生效。适合多数轻量个性化。

第三层是用户可编辑设置。把稳定偏好做成显式配置,如语言、格式、默认模板。它比自动记忆更透明。

第四层是任务状态。把项目、工单、代码修改等状态结构化保存。它解决跨会话继续工作。

第五层是用户记忆。系统可以从交互中发现候选记忆,并让用户确认或提供删除入口。

第六层是长期记忆。引入分层存储、检索、过期、权限和组织治理。

第七层是 Eval + Ops。持续评估记忆命中是否有帮助、误写是否增加、删除是否生效、成本是否可控。

方案选型表

场景条件推荐方案不推荐方案判断理由额外成本
一次性任务、低频使用不记忆或会话内偏好长期记忆复用价值低,风险不值得几乎没有
稳定格式偏好用户可编辑设置自动从闲聊里推断显式配置更透明可靠设置 UI
当前项目跨天继续任务记忆 / 状态机用户全局记忆信息只属于任务,不应全局生效状态 schema、权限
高频个人助手用户记忆 + 用户可管理隐形 profile个性化收益高,但要可控确认、编辑、删除
企业客户管理对象级任务记忆 + CRM 工具把客户信息写入个人长期记忆客户信息有对象边界和权限对象权限、审计
学习辅导可修正学习档案永久记录一次错误能力判断会变化,需要修正评估、过期、教师/用户确认
医疗法律金融等高风险最小记忆 + 明确确认 + 审计自动长期记忆敏感信息隐私和错误成本高合规、删除、人工确认

反模式

第一种反模式:默认什么都记。

用户说过的话不等于用户希望系统长期保存。记忆应该有价值判断、敏感过滤和用户控制。

第二种反模式:把临时上下文写成用户偏好。

“这封邮件写得强硬一点”不等于“用户喜欢强硬语气”。临时约束和长期偏好必须区分。

第三种反模式:没有来源和时间。

没有来源的记忆无法纠错;没有时间的记忆无法判断是否过期。每条记忆至少应该有来源、写入时间和更新时间。

第四种反模式:记忆只增不减。

长期只追加会让记忆越来越脏。必须有过期、合并、覆盖、删除和归档机制。

第五种反模式:用模型承诺代替权限控制。

不要把越权记忆交给模型再要求它不要泄露。权限过滤必须发生在检索和注入上下文之前。

第六种反模式:没有用户可见性。

如果记忆影响输出,用户应该能看到、修改和删除。否则个性化会变成不可解释的偏见来源。

第七种反模式:没有评估却上线自动写入。

自动写入记忆需要评估误写率、敏感信息命中、用户删除率和记忆带来的质量提升。否则团队只会看到“更聪明”的样例,看不到长期污染。

工程清单

  • 场景边界:记忆用于个性化、任务继续,还是长期知识沉淀。
  • 记忆分层:用户记忆、任务记忆、长期记忆是否分开存储和使用。
  • 写入规则:什么信息可写、不可写、需确认、需敏感拦截。
  • 来源记录:每条记忆是否有来源消息、工具结果、人工编辑、时间和版本。
  • 结构化 schema:偏好、任务状态、对象关系、置信度和过期时间是否定义。
  • 权限控制:记忆是否按用户、团队、租户、业务对象隔离。
  • 检索策略:本轮任务如何选择相关记忆,如何避免无关记忆污染。
  • 冲突处理:新旧记忆、用户输入和工具事实冲突时如何覆盖或追问。
  • 用户控制:用户是否能查看、编辑、删除、暂停记忆。
  • 过期和删除:项目结束、用户离职、合同变化和主动删除是否会同步处理。
  • 可观测性:是否记录记忆命中、注入、写入、更新、删除和使用效果。
  • 评估体系:是否有误写率、有效命中率、敏感信息拦截率和质量提升评估。
  • 安全合规:日志脱敏、数据保留、审计、导出和删除请求是否覆盖。
  • 降级策略:记忆不可用、冲突或低置信度时是否回到显式询问。

小结

记忆系统的价值不在于保存更多历史,而在于让正确的信息在正确的任务里可控地复用。

用户记忆适合稳定偏好和个人工作方式,但必须可见、可改、可删。任务记忆适合跨会话继续工作,更接近状态机而不是聊天摘要。长期记忆只有在高频、长期、可治理的产品里才值得建设。

简单策略并不低级。一次性任务用显式输入,短期偏好只在会话内生效,稳定格式做成用户设置,很多时候已经足够。只有当记忆带来的质量和效率收益明确超过隐私、权限、评估和运营成本时,才应该进入完整记忆系统。