Agent 记忆体系分类 · 触发编码 · 生命周期维护

0 评论 101 浏览 0 收藏 17 分钟

大模型没有记忆,Agent 每轮对话都从零开始。本文系统拆解 Agent 记忆体系:从短期记忆的滑动窗口与摘要压缩,到情景、语义、程序三类长期记忆的分层设计,再到触发编码与复盘聚合机制,完整回答“什么值得记、何时记、如何保鲜进化”三个核心问题。

一、背景:记忆为何是 Agent 的灵魂

大模型本身不具备”回忆”能力——它的知识全部来自训练时的静态参数,而训练截止之后发生的一切,模型都无从得知。当 Agent 面对一个跨会话、长周期、需要持续积累的任务(一次进行多轮的访谈复盘、一个横跨数月的项目推进、一个需要记住用户偏好与历史决策的长期助理)时,它面临的不是”能力不足”,而是”失忆”。

对话是流式的,决策是累积的,而模型是无状态的。 如果没有记忆体系,Agent 每轮对话都从零开始:记不住用户上次敲定的方案、想不起之前识别出的风险、无法对比历史说法是否漂移。这正是记忆体系的核心价值——它把 Agent 从”一次性问答工具”升级为”有连续认知的智能体”,让每一次交互都能站在此前的全部经验之上,而非不断推倒重来。

记忆体系的建立,本质上是在回答三个问题:什么值得记住(分类)→ 什么时候记住(触发编码)→ 记住之后如何保鲜与进化(生命周期维护)。本文围绕这三问展开。

二、记忆分类体系

把整套记忆体系类比为一个人的”个人成长档案室”,四类记忆一一对应:

整体结构

Agent 记忆体系是一套仿人类认知的分层结构,以短期记忆为信息入口,以长期记忆为底层持久化底座。

整套体系通过触发编码完成入库,通过复盘聚合实现层级跃迁,最终形成从「瞬时信息」到「可复用知识/技能」的完整闭环。

短期记忆(金字塔最上层 · 瞬时入口)

定义:承载当前会话正在处理的全部即时信息,是大模型对”正在发生”的一切的动态工作区。

实现机制:三层能力叠加,而非单一的上下文窗口——

  1. 原生上下文窗口:当前 Prompt 直接可见的信息,受模型窗口容量硬性限制;
  2. 滑动窗口:并非一次性加载整段历史,而是按策略保留最近 N 轮高相关片段,窗口随对话推进向前滚动、丢弃更早的低相关内容,实现有限资源下的“近因优先”;
  3. 摘要压缩:对超出保留范围的早期内容,先由模型压缩成精简摘要再塞回上下文,保留“要点”、舍弃“细节”,使长期会话不至于因窗口溢出而彻底失忆。

三种机制协同:滑动窗口管”取舍最近多少”,摘要压缩管”更早的怎么浓缩”,共同对抗上下文长度硬约束。

核心特点:生命周期极短,会话结束即清空;容量受”窗口 + 压缩策略”双重限制,未固化到长时记忆的信息随会话终止而丢失。

体系定位:所有外部信息的唯一入口,也是记忆系统的第一道筛选闸门——所有长时记忆都必须先经过短期记忆的识别、提炼,再固化为情景/语义/程序记忆;短期记忆本身不承载长期知识,只负责”此刻的处理”,持久化是长期记忆层的职责。

长期记忆

从短期记忆中筛选出的、具备长期复用价值的信息,持久化落地存储,分为两大并行分支。

分支一:陈述性记忆(知道是什么)

能用语言清晰描述、可以判断真假的内容,核心是”知道是什么”,向下细分为两类:

1. 情景记忆(具象事件层 · 长期记忆的原材料)

  • 核心属性:严格绑定时间、空间、主体、事件四要素,是单次亲历事件的完整记录;
  • 典型内容:某次对话的决策与分歧、一场访谈的核心观点、一个项目的踩坑过程、一次选型的权衡过程;
  • 对应比喻:带日期的私人日记,记录单次事件的来龙去脉与当时的思考;
  • 工程定位:所有长期记忆的原始素材,禁止直接作为通用规则使用。

2. 语义记忆(抽象规律层 · 情景记忆的沉淀产物)

  • 核心属性:剥离单次场景、时空与主体,经过反复验证的稳定事实、通用规则与通识;
  • 典型内容:客观技术原理、业务约束规则、行业通用规律、从多次经历中总结的通用结论;
  • 对应比喻:书架上的通用操作手册,不绑定任何人的单次经历,适用场景广泛;
  • 工程定位:从多条同类情景记忆中归纳、验证、收敛而来,是金字塔向上抽象的最终产物。

语义记忆的来源:语义记忆并非凭空存在,而是大量情景记忆经过聚合归纳、剥离单次事件上下文后的提纯物。例如”单次讨论发现全员权限遍历性能开销大”是情景记忆;多次同类讨论后收敛出”金融IM共享Agent优先私聊返回敏感内容、全员审批仅作兜底”这一稳定规则,则上升为语义记忆。

分支二:非陈述性记忆(知道怎么做)

无法仅靠语言完整传递、需要通过执行体现的记忆,核心是”知道怎么做”,主要载体为程序记忆。

程序记忆(执行范式层)

  • 核心属性:固定的流程、步骤、工作流、操作序列,是可复用的行动模板;
  • 典型内容:业务处理 SOP、复盘分析流水线、工具调用顺序、固定 Prompt 模板;
  • 对应比喻:练熟的手艺,如骑车的动作流程,不靠背诵,上手就能执行;
  • 工程定位:从反复验证的工作流程中固化而来,与语义记忆并行,是独立的执行分支。

三、记忆触发编码机制

记忆编码不是全量实时进行,而是按预设触发点启动,遵循「先过滤 → 再分类 → 后入库」的流水线。

核心铁则(分级约束):

  • 语义记忆禁止跳级:自动编码的长期记忆优先进入情景记忆层,禁止单次编码直接跳级生成语义记忆——语义必须经聚合归纳、跨场景验证后沉淀;
  • 程序记忆允许一次成型:程序记忆性质是“明确定义的流程”,对话中明确敲定一套完整流程(如“以后按 A→B→C 处理”)即可直接编码,无需先落情景;
  • 用户显性指令不受上述限制:用户明确要求“把这条记为通用规则 / 保存这套 SOP”,可直接编码为语义/程序记忆——人工确认即为最高校验。

三类触发时机

1. 会话边界触发(异步批量处理 · 主路径)

  • 触发条件:会话正常结束、用户主动终止、闲置超时(如 5 分钟无新消息);
  • 处理方式:批量处理整段会话,先过滤无价值闲聊、临时查询与过渡语句,再抽取结构化记忆条目;
  • 输出产物:优先沉淀为情景记忆;明确的固定流程可直接识别为程序记忆;语义记忆不在本环节生成;
  • 优势:不阻塞实时对话,算力成本低,是当前最主流的编码方式。

2. 关键事件实时触发(前置标记 · 高优调度)

触发条件:对话进行中,由轻量检测器实时识别预设的高价值事件;

典型命中场景:

  • 用户做出明确决策、选型判断、方案取舍;
  • 新增长期约束、业务规则、偏好禁忌;
  • 识别出风险点、遗留疑问、待办约定与交付节点;
  • 推翻过往结论、出现观点冲突与分歧;
  • 处理方式(唯一职责):打上“高优先级”标记,进入待编码队列,优先于会话边界批量任务处理;
  • 职责边界(概念澄清):本机制只负责记忆编码调度(回答”这条要不要优先入库”),不负责上下文增强。若该信息需立即生效于本轮对话,由独立的上下文注入模块同步将摘要送进当前窗口——那属于上下文工程,不属于记忆编码,两者目标、存储位置、生命周期均不同,必须解耦。

3. 显式指令触发(人工兜底 · 校准通道)

  • 触发条件:用户主动下达“记住这个结论”“保存这条 SOP”等明确指令;
  • 处理方式:强制进入编码流程,可按用户指定的记忆类型直接存储;
  • 优势:修正自动分类的偏差,作为人工校准的补充通道。

四、复盘聚合机制(情景 → 语义 / 程序 的层级跃迁)

情景记忆是原始素材,但素材堆得再多也只是档案。要让记忆”进化”,需要一套复盘聚合引擎持续扫描、聚类、归纳、校验,把零散情景提炼为稳定规律(语义)与可复用流程(程序)。

触发方式

两条并行的提炼链路

链路 A:情景 → 语义记忆(聚合归纳,核心是“跨场景收敛”)

  • 聚类召回:按主题标签、关联对象、意图,召回一组同主题情景记忆;
  • 去噪排除:剔除单次特例、临时性结论、含强烈主观情绪的条目——这些不构成规律;
  • 归纳提炼:LLM 提取这批情景的共性结论、稳定约束、重复出现的规律,产出语义记忆草稿;
  • 质量门控:校验 ①是否剥离具体时空主体;②是否具备跨场景适用性;③是否与已有语义冲突;不达标则不升级;
  • 置信度评分:用稳定性/复用性打分(如 0–1),低于阈值不升级,继续沉淀;
  • 产出 + 溯源:生成语义记忆条目,保留 link 指向来源的情景记忆(可回溯),将关联对象、适用边界写入元数据。

链路 B:情景 → 程序记忆(模式识别,核心是“可复用性判定”)

  • 序列比对:对比多次同类操作的调用序列、分支处理,找出稳定重复的核心骨架;
  • 标准化提炼:把重复步骤抽成统一模板,参数化可变字段,处理异常分支;
  • 可复用性判定:只有“该流程能套用到未来不同对象”才固化;一次性操作不固化;
  • 版本沉淀:生成程序记忆,标记触发条件、输入输出、适用范围,关联来源情景。

通用质量门控(两条链路共用)

无论语义还是程序,升级前都必须过以下关卡:

  1. 跨场景验证:是否在 ≥2 个独立场景成立(语义)/ 是否可复用(程序);
  2. 冲突检测:与既有记忆是否矛盾;有冲突则标记、不自动覆盖,等待人工确认;
  3. 置信度评分:低于阈值不升级,继续沉淀;
  4. 人工复核通道:关键升级(高敏感、金融合规场景)保留“待确认”态,人工确认后才生效。

关键铁则:必须 ≥2 个独立场景、≥N 条,才具备”规律资格”。这是防止把”一次临时经验”写成”通用规律”或”通用技能”的闸门。

五、记忆的全生命周期维护

记忆入库只是起点,真正的价值在于长期保鲜与进化。生命周期维护包含四个机制:

(1)冲突检测与标记

新记忆入库前,召回相似旧记忆做比对;出现观点矛盾(真冲突)时,标记冲突状态,保留双版本,不自动覆盖,等待人工确认——因为新信息未必正确,旧结论未必过时。

(2)去重与合并

相似合并:高度相似的情景记忆合并摘要、更新时间戳,避免冗余膨胀;

版本迭代:语义记忆出现更精准但不矛盾的新结论时,归档旧版本、启用新版本——这属于正常版本演进,与冲突检测(观点矛盾)性质不同,需区分对待。

两类操作的关系(澄清):冲突检测处理的是”观点彼此矛盾”(保留双版本、等人工);去重合并处理的是”表达重复或更精准但不矛盾”(直接合并/更新)。前者是待裁决,后者是正常迭代,不可混为一谈。

(3)遗忘与衰减

长期未被访问、过时失效的记忆:降低召回权重,移入冷存储;

明确失效的规则、过时的信息:执行软删除/归档(保留痕迹、不彻底销毁,便于审计与可逆)。

(4)召回复盘(使用中的反向优化)

每次召回记忆并使用后,根据用户的修正反馈,调整记忆的分类、权重、描述;用户标记「错误/过时」的记忆,触发单条修正与归档流程,形成「使用 → 反馈 → 优化」的闭环。

六、总结提炼

记忆不是静态的档案,而是一个持续进化、自我校验的认知系统——情景提供素材,复盘提炼规律,使用反馈修正偏差。

附:本文核心概念间的转化关系

本文由 @杨衡 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
海报
评论
评论请登录
  1. 目前还没评论,等你发挥!