DeepDojo.AI发布 2026-11-06更新 2026-11-10English
AI Agent 记忆的三种类型和用法
想象一个旅行规划 Agent。第一轮你说“我想带父母去日本旅行,预算不要太高,不要安排太赶”;第二轮你确认“我们更想去关西,不想去东京”;第三轮你补充“父母不太能走太多路,酒店最好靠近地铁”。
如果这些对话没被保留,第四轮会发生什么?它可能又给你推荐东京、需要长时间步行的路线,或者一家离地铁三公里的酒店。**原因是已确认和已排除的信息没有被记下来。
**
普通聊天往往一问一答就够了,Agent 则需要在多轮互动中持续推进任务。每一步都从头开始的 Agent,会重复提问、重新推荐已排除的方案,还会漏掉你已经确认过的边界。
办法是把 Agent 需要记住的东西分成三类,各管一段:对话历史是这一轮聊过什么,任务状态是做到哪一步、已经确认了什么,长期偏好是跨任务都成立的习惯。
也不是什么都要留,只保留会影响下一步的信息;保存下来的东西同样会出问题,过期了要更新,不再成立的要遗忘。拿不准某条信息要不要留,有三个问题可以判断,有了状态,下一轮才接得上。

01 Agent 需要知道什么
Agent 要连续推进任务,需要知道:
用户目标是什么
已经确认了什么
已经排除了什么
当前正在处理哪一步
下一步应该做什么这些“知道”来自三类不同的信息,它们要分开存放。
02 三类信息,各管一段
先区分三类信息,才能决定一条信息该保存多久、用在哪个范围:
| 类型 | 作用 | 例子 |
|---|---|---|
| 对话历史 | 理解刚刚说过什么 | 用户上一轮确认了关西路线 |
| 任务状态 | 知道任务走到哪一步 | 已完成目的地选择,正在选酒店 |
| 长期偏好 | 跨任务保留稳定习惯 | 用户喜欢简洁表格,不喜欢太长解释 |
用户确认关西路线以后,这句话该放在哪里?原话可以留在对话历史里,方便回查;“目的地已确定为关西”则提炼进任务状态,供后面选酒店使用。同一句话因此可以有两种用途:历史保留来龙去脉,状态记录当前结论,长期偏好再供后续任务参考。
再比较两句话。你让 Agent 写一封投诉邮件,并说“这封邮件语气要强硬一点”,这只适用于当前任务,感谢邮件、合作邮件、求职邮件的语气各不相同,所以它只能算临时要求。但如果你多次明确告诉 Agent“我更喜欢简短、直接、不要套话的表达”,这就更像长期偏好,可以影响以后很多写作任务。
长期偏好是默认值,本次明确要求应当优先:
本次明确要求 > 长期偏好用户这次要详细解释,就给详细解释,必要的推理要保留,“你一直喜欢简短”不能拿来删减它。至于“客户 A 的合同还没确认”,这是客户 A 的任务状态,只在对应任务中使用,合同条件不会带给客户 B。
Anthropic 的长任务 Agent 实践通过进度记录和交接产物连接不同会话,让接手的一轮能找回此前做过的事。
03 只保留会影响下一步的信息
可靠的 Agent 只保留会影响任务推进的信息。比如客户跟进 Agent,需要保留客户当前阶段、最近一次沟通重点、已经承诺过什么、下一步跟进动作,以及哪些内容需要人工确认。每一句闲聊、所有无关背景、已经过期的临时判断,通常可以省略。
判断是否保留,用这个问题过滤:
如果 Agent 忘了这条信息,会不会影响下一步判断?会,就在权限允许的前提下,把必要内容放进对话历史或任务状态;不会,就留在原处,不带进后面的工作。
任务状态可以用一张“状态卡片”来组织:
任务:排查登录失败
当前发现:接口返回 401
已排除:网络断开、接口地址错误
待确认:token 是否过期,用户权限是否正常
下一步:检查请求头和登录态刷新逻辑看这张卡片,下一步要查什么已经很清楚。不过,还得回头核对“已排除”有没有检查结果支持。只看到接口返回 401,尚不能确认接口地址正确;“token 可能过期”也只是待查原因。把事实、已验证的排除项和猜测分别放好,下一轮才能沿着可靠进度继续。
这类状态卡也可以采用 Anthropic 的结构化笔记方法,把关键进展写到持久文件里,再按需要读入当前上下文。
04 保存的信息也会出问题
保存下来的信息也可能过期、被误用或泄露,所以要想清楚哪些信息确实有用。
第一,旧信息会过期。用户先说“预算 5000”,后来改成“预算 8000”:
错误做法:预算 5000、8000 并列存着,分不清哪个有效
正确做法:状态写“预算:8000(替换此前的 5000)”,按新预算走更新数字后,还要重新检查依赖旧预算的判断。因价格 6000 被排除的酒店,现在可以重新比较;因步行距离太远被排除的酒店,仍然不合适,因为父母行动不便这个条件没变。只改数字、仍沿用旧筛选结果,就还没把变化传到行动。
第二,临时要求只在对应任务中使用,跨任务的稳定偏好要另行确认。
第三,跨任务信息可能污染当前任务。上一个客户的处理规则只适用于对应客户。
第四,敏感信息可能被不当保存。用户在一次任务里给了身份证号、病历、合同报价、客户手机号,Agent 可以为了完成当前任务临时用,只在当前任务里使用,不长期保存,也不带进其他任务。
05 三个问题判断要不要留
你可以用三个问题判断一条信息是否适合保留:
| 问题 | 作用 |
|---|---|
| 它是否会影响下一步任务? | 判断是否进入当前状态 |
| 它是否跨多个任务长期有效? | 判断是否成为长期偏好 |
| 它是否敏感或可能过期? | 判断是否需要限制保存和使用 |
个人隐私、商业秘密和账户权限需要更短的保存期限、更小的使用范围和更明确的用户控制。
06 状态让下一轮接得上
会议纪要跟进 Agent 也一样。记下当前任务、已有资料、已完成步骤、待确认信息和下一步,下一轮它就能依据已有记录处理待确认项和邮件草稿。恢复任务前,先对一遍资料有没有变化:会议记录补充了负责人,旧状态里的“两人未明确”就要更新;只是草稿排版变了,已核对的行动项照用。
客户已经看过演示,下一步该问预算,还是重新介绍产品?保存了这些状态,Agent 才有依据接着跟进,否则每次从“你好,我来介绍产品”开始,既耽误时间,也显得不专业。每一步怎么更新状态,在让 Agent 分步做事里还会接着用到。记忆是否好用,要看它怎样支持后续任务:
记忆和状态让 Agent 知道:
我正在帮谁,
做哪件事,
做到哪一步,
哪些信息已经确认,
哪些信息不能乱用。