用户第二次来问售后进度,智能体若还记得订单和已经试过的办法,谈话会顺很多。这个“记得”背后可能只是重新加载同一会话,也可能从长期资料里找回一条摘要。两种数据的寿命、用途和风险并不一样。

我对照了 OpenAI Agents SDK 的会话与记忆说明,也看了 Amazon Bedrock AgentCore 对短期和长期记忆的划分。短期记忆通常保存一段会话里的原始交互,长期记忆会从过去内容中抽取摘要、事实或偏好,跨会话保留并在以后检索。

会话历史会越存越长

OpenAI Agents SDK 的 Session 会在每次运行前读取该会话的历史,把它放到新输入前面;运行结束后,新消息、模型回答和工具调用会继续写回。这样可以接住“那里”“上一份”这类指代,也能在人工批准以后从原进度继续。

完整历史一直增加,模型输入和存储都会变大。SDK 因此允许只取最近 N 条,或者在送进模型前裁剪、重排和筛选旧消息。这里要区分保存与使用。数据库里留着一条记录,不代表每次都应把它交给模型。当前任务只需要最近十轮,就没有必要加载一年前的闲聊。

长期记忆又多了一道抽取。AWS 文档中的长期记录会从原始交互提取关键信息,再与已有内容合并,之后通过语义搜索取回。抽取在后台异步完成。它能保存用户偏好,也可能把一句临时要求误写成长期事实。写入规则要说明哪些信息值得跨会话保留,以及多久以后失效。

OpenAI 的智能体记忆说明把长期经验和会话历史明确分开。它会把先前运行的经验压成文件,后续按需搜索,还提醒记忆可能过期,应以当前环境为准。这个提醒很要紧。旧项目路径、过期政策和已经纠正的用户偏好若一直被取回,智能体会反复执行旧决定。

能记住也要能改掉

记忆系统应提供查看、纠错和删除。OpenAI 的 Session 接口包含移除最近一项和清空整个会话的操作,也提供带加密和保留时间控制的实现选项。实际产品还要把这些能力交给管理员或用户,不能只留在开发接口里。

敏感信息要在写入前分流。AWS 文档明确提醒,事件元数据不适合存敏感内容,因为它不受客户管理密钥加密。订单状态可以成为检索字段,身份证号、医疗记录和完整对话需要更严格的权限、加密与保留期限。日志、短期会话和长期偏好也应分开授权。

验收时可以准备几组连续任务。先让用户更正一个偏好,检查旧记录是否被覆盖或标为过期。再跨会话追问,确认系统只取回相关内容。最后执行删除,核对会话、长期记录、索引和备份策略是否一致响应。只测“它能记住”会漏掉更麻烦的一半。

智能体记忆适合减少重复说明,前提是每条记忆都有来路、范围和期限。产品在设计记忆入口时,也要把纠错和删除放在旁边。用户能看见系统记住了什么,并能让它忘掉,长期使用才不会被旧信息牵着走。

参考资料