AI 智能体记忆是系统中决定你的智能体是可靠还是无用的那一部分,而大多数科普文章都把它埋成图表上的第三个方框。先把答案放在前面:语言模型是无状态的,所以一旦上下文窗口被填满,它就会忘掉一切。记忆正是让智能体变得有状态的东西。它有两个层级,短期记忆(实时的上下文窗口)和长期记忆(存储在窗口之外的持久知识),而长期记忆这一层又有三种类型:情景、语义和程序性。决定智能体可靠性的最大杠杆不是更聪明的模型,而是这个记忆层。Anthropic 公开的数据把这一点说得直白:基于文件的记忆工具搭配上下文编辑使任务表现比基线提升了 39%,而仅上下文编辑就在 100 轮测试中把令牌使用量削减了 84%。把记忆做对,智能体就能在真实工作中站得住脚。做错了,它就会不断偏移,直到没人再信任它。

这篇文章把记忆当作主角,因为数据表明它就是主角。我们会走一遍这两个层级、三种长期类型,以及为什么基于文件的持久记忆胜过把所有内容硬塞进提示词。如果你更愿意让我们替你来做,可以看看我们如何运营 生成式 AI 架构,但这里的一切都可供你自己使用。

AI 智能体为什么需要记忆?

因为底层的模型根本没有记忆。IBM 把核心事实说得很直白:大型语言模型是无状态的,本身不会记住任何东西。每一轮都从一张白纸开始。模型在当下唯一"知道"的,就是摆在它面前、位于上下文窗口里的内容。

对于单个问答来说,这没问题。但一旦你让智能体去做跨越多个步骤、多次工具调用或多个会话的真实工作,它就会崩溃。智能体必须记住它制定的计划、三步之前的客户细节、它刚刚调用的工具的结果,以及一小时前被告知的政策。记忆正是提供这一切的那一层。正如 IBM 所表述的,记忆是让智能体能够从过去的交互中学习、保留信息并维持上下文的东西。没有它,智能体就是一条词汇量很大的金鱼。

这也是为什么记忆是编织进整个循环里的,而不是事后栓上去的。Google 把记忆、状态、推理和规划放在它所称的编排层里,也就是智能体的神经系统。智能体规划、行动、观察并重复,而在每一步它都在读取记忆和写入记忆。把记忆拿走,这个循环就无所依凭。

什么是 AI 智能体中的短期记忆?

短期记忆就是上下文窗口。它是智能体此刻面前任务的实时记录:到目前为止的对话、计划,以及智能体在本次会话中看到的每一个工具结果。它很快、随时可用,模型直接在它之上进行推理。

它有两个硬性限制,造成了生产环境中的大部分麻烦:

  • 它是有限的。 窗口承载固定数量的令牌。在一个漫长的多步骤任务上,它会被填满,一旦填满,较早的内容就会被挤出去。智能体丢掉的正是它完成任务所需要的那些步骤。
  • 它是易失的。 窗口在会话之间会被清空。智能体在昨天对话里学到的一切,今天就没了,除非它被写到了某个持久的地方。

幼稚的本能是通过往提示词里塞更多内容来对抗第一个限制。这恰恰是反着来的。你塞进去得越多,溢出来得就越快,模型也越要费力地在里面翻找真正重要的东西。短期记忆是宝贵的工作空间,不是文件柜。它的职责是只保留与当前步骤相关的内容,并把其他一切移出去。

Anthropic 推出了一个专门管理这件事的具体机制,叫做上下文编辑。当模型接近其令牌上限时,它会自动清除过时的工具调用和结果,让窗口为重要内容腾出空间。结果毫不微妙:在一项 100 轮的网页搜索评估中,上下文编辑把令牌消耗削减了 84%,并让智能体完成了那些原本会因上下文耗尽而失败的工作流。再读一遍。同一个模型、同一个任务,要么完成、要么中途崩溃,区别仅仅在于是否有人主动管理了它的短期记忆。

什么是长期记忆,它的三种类型又是什么?

长期记忆是存在于上下文窗口之外、在智能体需要时被拉进来的持久知识。这正是真正有用的智能体与演示级智能体的分野所在。IBM 把它拆成三种类型,恰好干净地对应到你的业务里已经拥有的东西。

长期类型它保存什么日常例子
情景具体的过去事件某位客户上一个工单里发生了什么
语义结构化的事实、定义和规则你的产品目录、定价、政策
程序性习得的技能和行为你退款流程的确切步骤

下面说明为什么这种区分在实践中很重要,因为每种类型缺失时的失败方式都不一样:

  • 情景记忆 是让智能体能够说"我们上周已经和这位客户试过那个办法了"的东西。没有它,智能体会把每次交互都当作第一次,并不断重复自己。
  • 语义记忆 是智能体对你事实的根基。没有它,智能体会违背你自己的政策,或者编造出一个并不存在的产品规格。这是检索(RAG)和数据存储所喂养的那种类型,也就是 Google 白皮书所称的数据存储:向量数据库和检索,它们给智能体提供最新的、有根据的信息,而不是只依赖模型在训练时记住的东西。
  • 程序性记忆 是最难伪装、也最有价值的。它是智能体懂得你退款流程如何运转,一步接一步、按顺序进行。没有它,智能体会把步骤搞乱顺序或漏掉一步,输出会以一种微妙而危险的方式出错。

短期记忆是对话。长期记忆是机构。一个可靠的智能体两者都需要,而长期这一层正是你公司真正的知识所在。

为什么基于文件的记忆胜过把所有内容塞进提示词?

这是悄悄把能够扩展的智能体和会翻车的智能体区分开来的设计决策。诱人的做法是把所有那些长期知识(政策、历史、流程)在每次运行开始时都粘贴进提示词。它在演示里行得通。在生产环境中它会崩塌,原因有两个。

第一,它会让窗口溢出。短期记忆的整个问题就在于它是有限的,而把智能体可能需要的一切都预先加载进去,等于保证你更快地撞上上限。第二,它会淹没模型。一个塞满了一百条政策的窗口,会让模型更难、而不是更容易地找到本步骤真正相关的那两条。

更好的模式是把持久知识保留在窗口之外,让智能体只在需要时取回它所需要的内容。Anthropic 的记忆工具就是一个干净的例子:一个基于文件的系统,模型可以在一个专用的记忆目录里创建、读取、更新和删除文件,这些文件跨对话持久存在,并位于上下文窗口之外。它通过工具调用在客户端运行,因此智能体在存储和查阅信息时,这些信息不必一直待在提示词里。智能体在任务需要时读取一个文件,把学到的东西写回去,其余时间则保持窗口干净。

回报就是整个领域里那个标志性的数字:

  • 在 Anthropic 的内部多步骤评估中,基于文件的记忆工具加上上下文编辑使智能体搜索表现比基线提升了 39%
  • 在同一项评估中,仅上下文编辑就使表现提升了 29%

39% 的提升不是调参细节。它是一个你可以在真实工作中信任的智能体,和一个不断偏移直到有人发现数字出错的智能体之间的鸿沟。而且注意是什么带来了它:不是更大的模型,不是更聪明的提示词,而是一套记忆架构。基于文件的方法还会随时间复利积累。因为智能体可以写回它自己的记忆,它会跨会话积累知识,这正是一个学习你业务的助手,和一个每天早上都从零重新学习的助手之间的区别。

这两个层级在循环中如何协同工作?

只有当你看到这些部件作为一个系统运转起来时,它们才真正有意义。走一遍一个现实的任务:一个智能体在处理客户的账单争议。

  1. 智能体加载上下文。 短期记忆承载实时对话。智能体通过取回相关文件,从语义记忆(你的账单政策)和情景记忆(这位客户过去的工单)中读取,而不是把这一切都装在窗口里。
  2. 它规划并行动。 利用程序性记忆(你的争议处理流程如何运转),它对步骤进行排序,并调用一个工具去拉取发票。结果落入短期记忆。
  3. 它观察并调整。 智能体读取工具结果,将其与政策对照,并决定下一步。Anthropic 强调,正是这种每一步来自环境的真实依据,让智能体保持诚实,而不是自信地胡编乱造。
  4. 它管理窗口。 随着任务越跑越长,上下文编辑会清除陈旧的工具调用,使窗口不至于溢出。计划和关键事实留下;噪声离场。
  5. 它写回。 当争议解决后,智能体用所发生的事更新情景记忆,这样下一次交互就从一个有所了解的位置开始。

这就是整台机器。短期记忆是工作台,长期记忆是档案库,主动的上下文管理则是让工作台保持可用的纪律。去掉其中任何一个,故障就会恰恰出现在你能预料到的地方:一张溢出的工作台、一个空荡荡的档案库,或者一个对昨天一无所知的智能体。

把智能体记忆做对需要什么?

到这里,工作的轮廓已经清晰,它为什么是一项工作也同样清晰。设计智能体记忆是一组真实的工程决策,没有一项是模型替你做的:

  • 什么放进短期、什么放进长期。 决定智能体在窗口里携带什么,以及按需取回什么。
  • 长期记忆如何组织。 拆分情景、语义和程序性知识,让恰当的类型能在恰当的时刻被检索到,并接好把智能体扎根于你事实的那套检索(数据存储)。
  • 上下文管理策略。 选择何时以及如何清除陈旧内容,让窗口在长时间运行中保持健康。
  • 写回规则。 决定智能体把什么保存回记忆,让它在学习的同时不积累那些会随时间偏移的垃圾。
  • 评估循环。 衡量智能体是变得更可靠,还是在悄悄退化,因为记忆问题通常是缓慢而无声的。

这些都不是一次性的搭建。你的数据在变,你的政策在变,工作负载在增长,一套上个季度还管用的记忆架构开始吃力。让它保持健康是一项持续的工作,而不是一次部署。

这恰恰是大多数公司无法配齐人手的缺口,而这正是我们做的工作。我们在你的业务内部规划、构建并运营智能体,包括记忆架构(短期和长期)、上下文管理策略,以及让它们保持可靠的评估循环。你可以在我们的 生成式 AI 架构 服务上看到这件事的样子。你得到的是一个学习你业务、并能在生产环境中站得住脚的系统,而不是一个到午饭就把一切忘光的试点。

如果你想要一个记忆经过专门设计、从而可靠的智能体,而不是一个不断偏移的演示,请在下方预约一次免费咨询,我们将和你一起设计这一层。