Agent 短期记忆

agent_short_term_memory2026-09-20 14:30:21

Agent 短期记忆(Short-term Memory)保存当前对话、任务或运行线程中仍可能影响后续步骤的信息。它常与 Agent 的运行状态一起维护,使模型能够延续当前目标、约束和行动,而不必在每一步重新理解整个任务。

短期记忆的“短期”描述的是作用范围,而不一定表示只存在于进程内存中。系统可以把它持久化为检查点,以便同一线程中断后恢复;只要信息仍限定在该线程或任务范围内,它仍属于短期记忆。

常见内容

短期记忆通常包括:

  • 最近几轮用户消息与模型回复;
  • 当前目标、计划、未完成事项和等待条件;
  • 已执行的工具调用、关键结果与错误;
  • 当前正在处理的文件、对象或中间产物;
  • 对较早对话和轨迹生成的阶段性摘要。

这些信息不应全部直接拼入模型输入。记忆是系统能够保存和检索的信息,上下文则是某一轮模型实际看到的工作集。

保存与恢复

一个可恢复的短期记忆流程通常包括:

  1. 为每个会话或任务分配稳定的线程标识;
  2. 在关键步骤后保存结构化状态和必要的消息历史;
  3. 恢复时读取与该线程匹配的最新检查点;
  4. 校验外部资源、权限和文件版本是否仍然有效;
  5. 将当前步骤真正需要的信息装入上下文。

检查点保存的是可恢复状态,不等同于把全部历史永久保留。以 LangGraph 为例,其记忆概览把短期记忆描述为线程范围内的状态,并可通过 Checkpointer 在步骤之间持久化。其他 Agent 框架可以采用不同实现。

上下文窗口管理

消息和工具结果会随任务增长,完整装入上下文可能超过窗口限制,也会引入延迟、成本和无关信息。常见处理方式包括:

  • 保留最近且仍相关的消息;
  • 将较早轨迹压缩为带来源定位的结构化摘要;
  • 把大型文件、日志和工具结果保存在外部,只在需要时重新读取;
  • 将目标、权限约束、关键决定和失败路径列为不可静默丢失的信息;
  • 在摘要后保留原始记录,使重要结论可以回查。

简单滑动窗口可能删除早期约束,单一自然语言摘要也可能累积错误。压缩策略需要通过长任务、恢复和冲突场景评测。

隔离与安全

不同用户、线程和任务的短期记忆必须隔离。恢复状态时应重新检查身份、权限和外部事实,不应因为旧轨迹中曾经允许某项操作,就自动沿用已经失效的授权。

网页、邮件和工具结果属于带来源的观察数据。即使它们被保存在短期记忆中,也不会因此变成高优先级指令。凭据和不必要的敏感数据应避免写入消息历史、摘要或检查点。

评测

短期记忆不能只用“是否记住一条消息”衡量,还应检查:

  • 能否在多步骤任务中保持目标和约束;
  • 中断恢复后是否从正确步骤继续;
  • 是否会重复已经失败或完成的操作;
  • 压缩后能否保留关键证据与来源;
  • 不同线程之间是否发生信息串用;
  • 旧状态与当前外部事实冲突时能否重新验证。

相关词条

参考资料

本页目录