Claude Managed Agents 记忆功能
Claude Managed Agents 记忆功能
概述#
大多数 Agent 每次对话都从零开始,无法跨会话记住用户偏好。Claude Managed Agents 引入了 Memory(记忆) 功能来解决这个问题:Agent 在一个会话中写下笔记,同一用户下次返回时自动读取。
该功能目前处于 公开 Beta 阶段,API 可能在正式发布前发生变化。
核心机制#
记忆存储(Memory Store)#
Memory Store 是一个按命名空间隔离的文本文件容器,作用域为你的 workspace。典型用法是为每个终端用户创建一个独立的存储。
- 通过
client.beta.memory_stores.create()创建 description字段会被注入 Agent 的系统提示,指导其如何使用该存储- 创建时返回形如
memstore_01...的 ID
挂载与访问#
在一个会话中通过 resources 数组将 Memory Store 挂载到 Agent 环境中:
- 挂载路径示例:
/mnt/memory/shopper-preferences - 支持两种访问级别:
read_write和read_only instructions提供该存储在当前会话中的使用指引- 每个会话最多可挂载 8 个 Memory Store
Agent 利用标准文件工具(agent_toolset_20260401)读写挂载目录下的文件。应用端也可以通过 REST API 直接读写同一文件。
跨会话记忆#
关键验证场景:新建第二个会话、挂载同一个存储,用户不重复任何偏好,Agent 自动读取存储中的笔记并给出个性化回复。
代码流程#
- 创建 Memory Store — 为每个用户创建一个命名存储
- 创建 Agent — 配置模型、系统提示和工具集(含
agent_toolset_20260401) - 创建环境 — 配置云端容器
- 第一次访问 — 创建会话并挂载存储,Agent 发现存储为空,写入用户偏好
- 检查存储内容 — 通过
memory_stores.memories.list()查看 Agent 写入的文件 - 回访(第二次访问) — 新建会话,挂载同一存储,Agent 自动读取偏好
生产模式#
数据播种(Seeding)#
在用户首次会话之前,从现有数据库(如账户资料、购买历史)写入已知信息到存储中:
seeded = client.beta.memory_stores.memories.create(
store.id,
path="/purchase-history.md",
content="## Recent purchases\n- Canvas tote, olive, $89 (Jan 2026)\n...",
)
多存储组合#
| 存储类型 | 访问级别 | 用途 |
|---|---|---|
| 用户个人偏好 | read_write | 每个用户独立,Agent 可读写 |
| 品牌全局知识 | read_only | 所有会话共享,Agent 仅读取 |
审计与修正#
- 每次写入都会生成不可变的版本记录,关联写入的会话 ID
- 通过
memory_stores.memory_versions.list()查看历史 - 通过
memory_stores.memories.update()修正 Agent 写错的内容
关键设计特点#
- 文件即记忆:Agent 使用标准文件工具读写结构化 Markdown 文件,而非专用记忆 API
- 应用透明:应用端拥有与 Agent 相同的文件读写权限,可审计、补充或修正
- 指令注入:存储的
description和会话的instructions都会注入到系统提示中,指导 Agent 行为
参考链接#
AI 整理页
基于 1 篇可追溯原文整理,可能有误。来源、版本与反馈入口收在下方。