Universal Memory Protocol:打造AI智能体共享记忆格式
速览
Universal Memory Protocol 是一种旨在解决AI智能体记忆碎片化问题的共享格式标准。该协议致力于统一不同智能体之间的记忆存储与交互方式,打破数据孤岛。其核心意义在于提升多智能体协作效率,并增强AI系统在复杂任务中的上下文理解与长期记忆能力。
AI 深度解读
Universal Memory Protocol:构建 Agent 记忆的通用互联标准
背景
在当前的 AI Agent(智能体)生态中,互操作性(Interoperability)正在经历两个关键层面的标准化:
- 工具调用层面:通过 Model Context Protocol (MCP),Agent 已经能够标准化地调用函数和读取资源。
- 协调通信层面:通过 Agent-to-Agent (A2A) 协议,Agent 之间已经能够发现彼此并相互调用。
然而,尽管“手脚”(工具)和“嘴巴”(通信)已经打通,Agent 的“大脑”——即记忆(Memory)——依然处于割裂状态。目前,每个 Agent 框架或厂商都在私有地、非便携地重新发明记忆存储机制。这导致用户的数据和上下文无法跨会话、跨 Agent、跨供应商流动。
Universal Memory Protocol (UMP) 正是为了解决这一痛点而生。它旨在成为互操作性架构的“第三层”,将分散在各处的记忆转化为一种可移植的标准格式,让新的 Agent 和存储系统能够基于同一套记忆基础进行扩展,而非从零开始。
核心内容
UMP 并非一种全新的传输协议,而是一个运行在现有传输层之上的应用层记忆协议。其设计哲学借鉴了 MCP 的成功经验:最小化原语 + 现有基础设施 + 优秀的 SDK + 中立治理。
1. 协议架构与操作集
UMP 主要绑定于 MCP 配置文件(ump.* tools)。这意味着任何支持 MCP 的主机(如 Claude Code、Codex)都可以零成本地接入 UMP,无需引入新的传输层。
协议定义了六个核心操作(Capabilities):
capabilities:查询能力recall:回忆/检索remember:记忆/写入revise:修订forget:遗忘get:获取
此外,还包含可选的 feedback(反馈)和 subscribe(订阅)功能。一个符合规范的客户端实现仅需约 100 行代码。
2. 数据格式:可移植的记录
UMP 定义了一种统一的、可移植的记忆记录格式,其核心特征包括:
- 类型化与范围限定:Typed, scoped。
- 双时态(Bi-temporal):同时记录“有效时间”(Valid-time,事实何时为真)和“事务时间”(Transaction-time,记录何时被存入系统)。
- 签名与溯源:使用 DID(去中心化标识符)对记录进行签名,并复用 W3C PROV 标准,确保数据可验证且无新词汇负担。
- 不可删除的覆盖机制:采用“覆盖而非删除”(Supersede-never-delete)策略。当事实发生变化时,旧记录会被关闭并链接到 successor(后继记录),以此解决数据过时问题。
3. 存储后端:不绑定特定数据库
UMP 明确声明自己不是对某种数据库的押注,而是一个协议表面(Protocol Surface)。它提供了多种适配器,允许团队在他们现有的存储环境中采用 UMP:
- 文件优先:
JsonFileStore生成便携的.ump.json;MarkdownDirectoryStore生成人类可读的.ump.md记录,兼容 Git 仓库和 Obsidian 风格的笔记库。 - SQL 与缓存:提供
PostgresStore、SqliteStore和RedisStore,直接复用现有的客户端连接。核心包不捆绑原生数据库驱动。 - 向量数据库:通过
VectorStore以及QdrantStore、PineconeStore、WeaviateStore等包装器,让基于嵌入的引擎保持其原有的检索质量。 - Recall 引擎适配:Recall 是 UMP 的一个具体实现,它提供了一个更丰富的记忆引擎接口,但并非依赖项或锁定方案。
4. 迁移与导入:桥接而非锁定
针对用户已有的分散记忆(如 AGENTS.md、CLAUDE.md、Recall 导出、Obsidian 笔记等),UMP 提供了导入桥接工具(ump-import):
- Agent 文件:读取
AGENTS.md和CLAUDE.md作为程序性候选记忆,并在溯源中保留源路径。 - 笔记库:指向 Markdown 目录或 Obsidian 库,即可引导启动本地 UMP 存储,无需修改原有笔记格式。
- 定位:导入器仅是采用辅助工具,数据翻译后,UMP 成为唯一的通用记录和运行时接口。
5. 标准化边界
- 标准化内容:结构、溯源、访问权限和信任机制。
- 非标准化内容(留给引擎):智能处理逻辑,如提取、排序、衰减、合并等。这使得不同实现可以在保持互操作性的同时,在记忆质量上展开竞争。
关键要点
- 填补互操作性空白:UMP 解决了 Agent 生态中“工具”和“通信”已标准化,但“记忆”仍封闭割裂的问题,确立了互操作性第三层。
- 极简主义设计:基于 MCP 传输,仅定义 6 个核心操作,符合规范的客户端代码量极小(~100 行)。
- 数据主权与安全:
- 用户拥有密钥:记录由操作者(而非模型供应商)持有密钥,通过 DID 签名,实现内容寻址和可验证性。
- 防注入攻击:规范强制要求经过验证、过滤和框架重建(frame rehydration)管道,严禁将记忆直接字符串插值到提示词中。
- 内置同意机制:保留策略、可导出性和脱敏规则随数据流动,并在每个边界强制执行。
- 双时态与不可变性:通过有效时间和事务时间的双时态模型,以及“覆盖而非删除”的机制,确保记忆的历史可追溯性和对过时信息的优雅处理。
- 后端无关性:不绑定特定数据库,提供从本地 JSON/Markdown 文件到 Postgres/Redis 再到 Qdrant/Pinecone 等向量库的广泛适配器。
- 渐进式采用:提供四个合规级别(L0-L3)。用户今天即可导出
.ump.json(L0),待条件成熟时再对接完整运行时(L3)。 - 智能与协议分离:协议仅标准化结构和信任,将提取、排序等智能逻辑留给底层引擎,鼓励基于质量的竞争而非协议锁定。
意义与影响
1. 打破厂商锁定,实现记忆资产化 目前,用户的记忆数据被锁定在特定厂商的私有格式中。UMP 通过标准化的 JSON 结构和 DID 签名,使记忆成为一种可携带、可验证的“资产”。用户可以自由地在不同 Agent 框架和存储后端之间迁移数据,真正掌握数据主权。
2. 降低 Agent 开发门槛与集成成本 对于开发者而言,UMP 提供了一套通用的记忆接口。无需为每个新项目重新设计记忆存储逻辑,也无需担心不同存储后端(如从 SQLite 迁移到向量数据库)带来的重构成本。现有的 MCP 基础设施可以直接复用,降低了集成难度。
3. 促进记忆引擎的质量竞争 通过将“记忆存储与访问”标准化,而将“记忆处理与智能”留给引擎实现,UMP 创造了一个公平竞争的环境。Recall、向量数据库或其他自定义引擎可以在同一协议表面下竞争,通过提供更优的检索、排序或衰减算法来赢得用户,而不是通过封闭协议锁定用户。
4. 增强安全性与合规性 UMP 强制要求的安全管道(验证、过滤、防注入)和内置的同意机制,为 Agent 记忆引入了企业级的安全标准。这对于处理敏感个人数据或企业知识的 Agent 应用至关重要,确保了数据在跨会话、跨系统流动时的隐私与合规。
5. 加速 Agent 生态的互联互通 随着 MCP 和 A2A 的普及,UMP 完善了 Agent 互操作性的最后一块拼图。它将使 Agent 不再仅仅是孤立的任务执行者,而是能够携带历史上下文、
