导语:AI Agent一旦开始连续执行任务,就会遇到“记得太少”和“记得太多”两个问题。记得太少会丢失目标,记得太多又会让上下文变长、成本上升,甚至把过时的工具结果当成当前事实。

Agent为什么需要记忆分层
一次任务中的当前目标、最近几轮对话和待执行步骤,适合放在短期记忆里;用户偏好、项目规则和稳定事实,可以进入长期记忆;工具返回的搜索结果、文件内容和接口响应,则应该单独记录来源和有效期。
分层的价值在于:每次请求只携带完成当前动作所需的信息,而不是把所有历史记录无差别发送给模型。
短期记忆应该保存什么
短期记忆优先保存当前任务目标、已经完成的动作、下一步计划、失败原因和必须遵守的约束。闲聊、重复解释和已经被最终结果覆盖的中间内容,可以在新阶段开始前压缩。
- 保留当前任务目标和输出格式;
- 保留尚未完成的步骤;
- 保留最近一次失败和重试原因;
- 删除已经确认无用的中间推理。
长期记忆不要保存所有对话
长期记忆适合保存稳定且可复用的信息,例如站点发布规则、用户明确确认过的偏好、项目目录约定和安全限制。一次性的新闻、临时价格和未经确认的推测,不应直接写入长期记忆。
写入前最好经过“是否稳定、是否可复用、是否有来源”三个判断。长期记忆还应该支持删除、更新和版本标记。
工具结果要带来源和有效期
搜索结果、接口返回和文件读取结果都有时效性。记录工具结果时,建议同时保存来源、获取时间、任务ID和适用范围。下一次使用前,如果结果已经过期,就重新获取,而不是盲目复用。
上下文裁剪的执行步骤
- 统计系统提示词、历史消息和工具结果的长度;
- 按照当前任务筛选必须保留的信息;
- 把旧对话压缩成结构化摘要;
- 对工具结果保留结论、来源和有效期;
- 在调用模型前预留输出空间。
常见错误
最常见的错误是把“模型曾经看到过”当成“当前仍然有效”,或者把摘要当成完整原文。对于代码、配置和数字,摘要可能丢失关键细节,需要保留原始引用位置。
总结
Agent记忆不是越多越好,而是要让当前任务拿到正确的信息。短期记忆负责推进任务,长期记忆负责复用规则,工具结果负责提供带来源的外部信息,三者分开管理,Agent才更稳定。
评论 0