Agent 记忆存储(Memory Store)
Agent 记忆存储(Memory Store)
定义#
Memory Store 是 Claude Managed Agents 记忆功能 中的核心抽象:一个命名空间隔离的文本文件容器,作用域为 workspace,用于在会话间持久化 Agent 的非结构化知识。
工作原理#
- 应用端创建一个 Memory Store,并为其编写
description(描述其用途) - 在会话的
resources数组中挂载该存储,指定访问级别(read_write或read_only)和instructions - 该存储被挂载到 Agent 环境中的路径
/mnt/memory/{store-name} - Agent 使用标准文件工具读取和写入该目录下的 Markdown 文件
- 应用端可通过 REST API 用同样的方式读取、写入或删除文件
关键约束:Agent 写入的文件结构和文件名由 Agent 自行决定(例如 Claude 会自主选择创建 /preferences.md),应用端可以通过 API 检查实际写入的内容。
典型模式#
一对多:每用户一个读写存储#
每个终端用户 → 一个 Memory Store(read_write)
用途:存储个人偏好、历史、购买记录等
多对一:共享只读存储#
所有会话 → 一个只读 Memory Store
用途:品牌知识、产品目录、SOP 等
一个会话最多可挂载 8 个 Memory Store,常见组合为 1 个用户读写存储 + 1 个全局只读存储。
与其他概念的比较#
| 对比维度 | Memory Store | RAG(检索增强生成) |
|---|---|---|
| 写入方式 | Agent 自主写入 | 应用端预处理后写入向量库 |
| 读取方式 | 文件系统直接读取 | 语义检索 |
| 数据结构 | 非结构化 Markdown | 分块 + 向量索引 |
| 适用场景 | 用户偏好、小规模知识 | 大规模文档库 |
Memory Store 适合主动记录(Agent 在对话中主动记下信息),RAG 适合被动检索(Agent 在需要时检索相关文档)。
生命周期#
- 创建 —
client.beta.memory_stores.create() - 播种 — 可选,从应用数据库预先写入已知信息
- 挂载使用 — 在每个会话的
resources中引用 - 审计 — 通过 API 查看写入内容
- 修正 — 通过 API 更新或删除错误内容
- 删除 —
client.beta.memory_stores.delete()
注意事项(Beta 阶段)#
- API 可能在正式发布前发生变化
- 存储内容不是向量化的,无法进行语义模糊匹配
- Agent 写入的文件结构和命名不完全可控,需要应用端做后处理
- 每次写入生成不可变版本,可用于审计回滚
参考#
AI 整理页
基于 1 篇可追溯原文整理,可能有误。来源、版本与反馈入口收在下方。