Agent需要四种独立的内存系统(即时/历史/知识/技能),混淆它们是最常见的内存设计错误,应根据生命周期和访问模式分别实现。
Agent 需要四种截然不同的记忆:工作记忆(当前正在做什么)、情景记忆(发生过什么)、语义记忆(知道什么),以及程序性记忆(如何做事)。
它们之所以与人类认知中的记忆类型相对应,是因为相同的约束会催生相同的解决方案。混淆这些记忆类型,是记忆系统设计中最常见的错误——几乎每一个设计问题,归根结底都是:“我讨论的究竟是这四种记忆中的哪一种?”
“给 Agent 加上记忆”听起来像是一项功能,实际上却包含四项:工作记忆、情景记忆、语义记忆和程序性记忆。每一种记忆都有不同的职责、不同的生命周期,也有不同的存储位置。把它们视为一个不加区分的整体,正是许多记忆系统最终变得混乱的原因——存错了内容、检索效果糟糕,并且随着不断增长逐渐沦为噪声。
这套术语直接来自认知科学,并不是为了装点门面。假如一个人的意识必须时刻容纳所有经历,大脑就会陷入瘫痪,因此人类认知演化出了彼此独立的系统。Agent 面临着同样的压力,自然也会得出同样的答案。
工作记忆是 Agent 此刻正在保留的内容——当前任务、最近几轮对话,以及中间结果。它可以直接对应到 context window:速度快、即时可用、容量有限,并且会在任务结束时被清空。这是 Agent 默认已经具备的记忆。除此之外的其他类型,才是它尚未拥有的记忆。
情景记忆是对特定过往事件的记录——发生了什么、发生在什么时候、属于哪一次 session。“用户上周二报告了这个 bug。”“我们尝试过这种方法,但失败了。”它保存的是与时间和上下文绑定的经历,使 Agent 能够回顾过去某次具体的交互,而不是每次都从头开始。
语义记忆是从经验中提炼出来的通用知识,不再保留它是在何时、何地学到的。“这位用户喜欢简洁的回答。”“退款期限是三十天。”情景记忆记住的是事件,语义记忆记住的则是这个事件教会它的事实。构建记忆系统,很大一部分工作就是把一个个情景转化为持久的语义事实。
情景记忆记住事件,语义记忆记住事件教会了什么。
免费《Agent Memory 快速入门》——用寥寥数页讲清四种记忆和完整闭环(存储、检索、反思、遗忘)。免费下载。
程序性记忆描述的是如何做事——Agent 遵循的技能、惯例和模式。在实践中,它通常存在于 Agent 的 instructions、tools 和习得的 workflows 中,而不是保存在事实存储系统里。它是四种记忆中讨论最少的一种,也是最常被直接内置到系统中、而不是动态存储的一种。
几乎所有记忆设计问题,最终都可以归结为:“我讨论的究竟是这四种记忆中的哪一种?”存储用户偏好?语义记忆。记录一次 session 中发生的事情?情景记忆。管理当前对话?工作记忆。教授一种可重复执行的技能?程序性记忆。明确记忆类型,就能知道它应该存在哪里、保留多久,以及如何检索。
想进一步深入了解?《AI Agent Memory:完整指南》是一份完整参考资料——共 41 页、15 章、5 个附录,包含一个完整演示的客服 Agent 示例,以及一条为期 30 天的落地路径。获取指南。
工作记忆(保存在 context window 中的当前任务)、情景记忆(与时间绑定的特定过往事件)、语义记忆(从经验中提炼出的通用事实),以及程序性记忆(如何做事——技能和 workflows)。
情景记忆记录具体事件——发生了什么、发生在什么时候。语义记忆记录的是事件教会它的通用事实,不再保留学习发生的时间。用户在十次不同的 session 中都要求回答简短一些,最终可以沉淀为一条语义事实:“偏好简洁的回答。”
实际上可以认为是。工作记忆是 Agent 此刻正在保留的内容——当前任务和最近几轮对话——而这些内容就存在于 context window 中。它速度快、即时可用,但容量有限,并且会在任务结束时被清空。
它通常存在于 Agent 的 instructions、tools 和习得的 workflows 中,而不是单独的事实存储系统里。它是关于“如何做事”的记忆,并且通常被直接内置到系统中,而不是进行动态存储和检索。
因为每种记忆都有不同的生命周期、检索模式和存储需求。明确记忆类型,就能知道一段记忆应该存在哪里、该如何处理——而混淆不同类型,正是记忆系统设计中最常见的错误。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。