Agent Memory:面向 AI 代理的托管记忆服务
内容评分
摘要
Agent Memory 是 Cloudflare 推出的托管记忆服务,专为 AI 代理设计。它在压缩上下文时批量摄取对话信息,并通过检索在需要时提供相关记忆,避免上下文腐败。服务提供 ingest、remember、recall 等 API,支持单代理、跨代理以及团队共享记忆,数据完全归用户所有并可导出。技术上采用多模检索、向量存储和幂等摄取,适合生产环境的高效、低成本记忆管理。
正文
随着开发者在 Cloudflare 上构建日益复杂的智能代理,如何在恰当时机将关键信息注入上下文成为最大难题。即便上下文窗口已突破 100 万 ,上下文腐败(context rot)仍难以根除——要么保留全部信息导致质量下降,要么粗暴裁剪导致关键数据丢失。
今天,Cloudflare 正式推出 Agent Memory 私人测试版,这是一项托管服务,能够从代理对话中提取、压缩并在需要时检索信息,避免占满上下文窗口。 Memory 为 AI 代理提供持久记忆,使其能够记住重要内容、忘却无关信息,并随时间变得更聪慧。
代理记忆的现状
- 该领域发展迅速,出现了大量开源库、托管服务和研究原型。基准如 LongMemEval、LoCoMo、BEAM 能提供对比,但容易导致系统在特定评测上过拟合,实际使用时表现不佳。
- 现有方案在架构上差异显著:托管服务、可自托管框架、专用 API、直接文件系统/数据库访问等。实现方式从把全部信息塞入上下文、在多代理间分片,到仅返回相关片段不等。
Memory 采用 基于检索的托管服务 设计,经过对比后认为最适合大多数生产环境。相较于直接文件系统访问,它提供更严格的摄取与检索流程,提升成本效益并为复杂推理(如时间逻辑、任务替换)提供更稳固的基础。未来可能加入程序化查询功能,但仅限边缘场景。
为什么需要 Agent Memory
- 真实生产中的代理往往需要在数周甚至数月的运行期间持续增长数据。仅在干净基准上表现良好的记忆系统难以满足此类需求。
- 代理需要 快速摄取、低干扰检索,且运行成本必须可控。
使用方式
Memory 将记忆组织在 profile(配置文件)中,可通过名称访问。主要操作包括:
ingest:在压缩上下文时提取并存储记忆。remember:模型即时保存重要信息。recall:执行完整检索并返回合成答案。forget:标记记忆为不重要或失效。
适用场景
- 单代理记忆:无论是 Claude Code、OpenCode 等编码代理,还是自托管框架(OpenClaw、Hermes)或 Anthropic 托管代理,都可无缝接入持久记忆层。
- 自定义代理框架:后台自治代理可利用持久记忆实现会话间状态保存,重启后继续使用。
- 跨代理/团队共享记忆:同一 profile 可被多名成员共享,实现编码规范、架构决策等团队知识的累积与复用,例如代码审查机器人与编码代理共享记忆,使审查反馈影响后续代码生成。
数据所有权
Memory 为托管服务,但所有记忆数据始终归用户所有,支持完整导出,便于迁移,降低供应商锁定风险。
工作原理
代理由 框架 (harness)、模型 (model)、状态 (state) 三部分组成。框架负责循环调用模型、管理工具并维护状态;状态包括当前上下文窗口以及上下文之外的额外信息(对话历史、文件、数据库、记忆)。
在 压缩 (compaction) 阶段,框架会裁剪上下文以符合模型限制。传统代理会直接丢弃被裁剪的信息,而 Memory 会在此阶段将信息批量摄取并存入记忆库。
摄取流程
- 为每条消息生成唯一 ID(基于会话 ID、角色、内容的 SHA‑256 哈希),实现幂等摄取。
- 提取器并行处理消息,将约 10K 字符的消息分块(最多四块)并转化为结构化格式,包含角色标签、相对日期转为绝对日期等。
- 对长对话进行细粒度抽取,提取名称、价格、版本号等实体信息。
- 验证每条抽取的记忆的准确性。
- 将记忆分类为 事实、事件、指令、任务 四类后写入向量库。
检索流程
检索时并行运行多种检索方法(向量相似度、BM25、混合模型等),随后融合结果返回最相关的记忆片段。
构建迭代
初版原型仅包含基本提取、向量存储和简单检索。随后将其嵌入代理循环,形成 基准 → 分析 → 方案 → 人审 → 代理改进 → 重复 的迭代闭环。尽管将模型温度设为 0, 仍存在一定随机性,导致结果波动。团队通过多轮 LoCoMo、LongMemEval、BEAM 等基准测试不断优化。
为什么选 Cloudflare
- 强大的边缘计算与网络基础设施。
- 丰富的可组合工具,使原型在一个月内从概念到内部可用版本快速落地。
- 低延迟、高可用的托管环境适合生产级记忆服务。
总结
Memory 提供托管的持久记忆层,帮助 AI 代理在不膨胀上下文窗口的前提下保持信息完整性。数据可导出、可迁移,旨在通过可靠的记忆管理提升代理的长期可用性与生产效率。