智能体记忆机制:短期与长期记忆怎么设计

运营GO 编辑部

智能体聊着聊着就忘了前面的话,问题通常不在模型,而在没人给它设计记忆。把短期记忆和长期记忆拆开管,AI 才从一次性工具变成能长期共事的搭档。

快速结论

  • 短期记忆管当前任务,用滚动窗口或逐步摘要,别把整段对话无脑回灌模型。
  • 长期记忆存稳定、反复有用的信息,分向量库、结构化库、用户画像三类介质。
  • 取用走检索开关,只捞相关几条拼进上下文,全量灌会撑爆窗口又烧钱。
  • 记忆要打时间标签并定期清理,否则旧错误会被当成经验反复用。

短期记忆:管当下这一步

短期记忆也叫工作记忆,只服务于当前这次任务。智能体正在查资料时抓到的网页、上一步算出的中间结果,都属于它。特点是来得快、去得也快,任务一结束即可清掉,不必长久留着。把它想成工人手边的便签,活干完就撕掉。

设计要点有两条。一是别让上下文窗口爆掉,实务里常用滚动窗口只保留最近 5 到 8 轮,或每完成一步先把这一步压成两三句摘要再往下传,而不是把原始流水账全堆进去;二是多任务并行时短期记忆必须按任务隔离,否则 A 任务的中间结论混进 B 任务,结果会莫名跑偏,调试时极难定位。

长期记忆:管跨任务的积累

长期记忆解决的是这次做完、下次还能用。它适合存放稳定且反复有用的信息:用户偏好、项目背景知识、常用业务规则、过去踩过的坑。一个有长期记忆的客服助手,第二次对话就不用你再把公司介绍重讲一遍。

介质常见有三类。向量库擅长语义检索,你不必精确记住原话,意思相近就能捞回;结构化数据库适合存确定事实,例如”客户 A 的单价是 X””这套流程必须先审批后发布”;用户画像文件把一个人的偏好写成固定文档,每次任务前读一遍,智能体就知道该用什么口吻、避什么雷。

取用要有开关,别全量倒

长期记忆堆起来后体积会越来越大。如果每次都把全部记忆塞给模型,窗口很快撑爆、成本飙升。正确做法是加一个检索开关:先根据当前任务目标生成查询,去记忆库捞最相关的几条,再拼进上下文。好比不把整个书架搬到桌上,只抽要用的那几本。

具体数值上,一般每次取 top-3 到 top-5 条就够了。取太少会漏掉关键背景,取太多又回到撑爆窗口的老问题。可以设一个相关度阈值,比如余弦相似度高于 0.75 才入选,低于的留在库里不动。这个阈值要随任务类型调:闲聊可以更宽松,严肃决策要更严格。

记忆会过时,也要能纠错

长期记忆不是写进去就一劳永逸。用户偏好会变、项目约定会改、旧结论可能和新事实冲突。要给每条记忆打时间标签,定期回看过期项;当新信息出现矛盾时优先采用更新的那条,或把冲突摆出来让人确认,而不是让旧记忆默默压住新事实。

忽视维护,记忆库会从资产变成包袱。一个真实踩坑:我曾让客服智能体记住”用户讨厌被催促”,结果把整段聊天原封不动存进长期记忆,下次它连正常的进度提醒都不敢发。后来改成只存一句话的偏好标签,问题立刻消失。记忆要精炼,存结论而非流水。

一个落地小案例:竞品周报

拿”竞品周报”举例。第一步抓五个对手首页,得到一大段原始网页代码。如果直接把五份代码全塞进下一步,上下文立刻被网页噪音占满。更好的做法是每抓完一个,先让模型把”这页和上周比变了什么”压成两句话,只把这两句传给汇总步骤,原始网页作临时证据用完即弃。

汇总时再开检索开关,把”客户 A 的单价””上周结论”这类长期记忆捞回来对照,生成差异周报。整条链路始终轻装上阵,既不丢关键信息,也不被冗余拖垮。这条写法把短期摘要、长期检索、按任务隔离三件事串在了一起,是记忆设计的最小可用范本。

记忆设计的三个反模式

反模式一:把整段对话原样存进长期记忆。看似信息全,实则把噪音当资产,下次行为被旧流水带偏。只存精炼结论,比如”用户偏好简短答复”,而非几百字聊天记录。

反模式二:不分介质全堆向量库。事实类信息用向量检索会失真,应该进结构化库。反模式三:只写不删。没有过期机制的记忆库半年后就没人敢信。记住,记忆的质量比数量重要,定期做减法是维护的核心。

核心要点短期隔离按任务隔离,不串味逐步摘要每步压成要点再传三类长期向量/库/画像分开存检索取用按需捞取不全灌

图:智能体记忆机制 核心要点(运营GO 整理)

维度短期记忆长期记忆
服务对象当前单次任务跨任务长期积累
生命周期任务结束即可清掉持久保存,需定期维护
典型介质对话上下文窗口向量库 / 数据库 / 画像文件
取用方式随任务流转自动带入检索开关按需捞取
常见坑窗口爆掉、任务串味体积膨胀、旧错当经验

延伸阅读:什么是 MCP(模型上下文协议)提示词工程进阶怎么写

下一步行动清单

  • 给智能体加一层短期记忆:先摘要再传递,别堆原始对话流水账。
  • 把用户偏好写成画像文件,每次任务开始前自动读入。
  • 长期记忆接入向量库,用检索开关按需取 top-3 到 top-5 条。
  • 给每条记忆打时间标签,设定每月清理一次过期和矛盾的条目。
  • 先用”竞品周报”这类小场景跑通,再推广到复杂任务。

相关阅读