
Mastra 的 Observational Memory 为什么值得盯:稳定上下文正在反杀动态检索
如果你最近两个月一直在看 agent memory,应该已经注意到一个变化:大家开始不再默认认为“记忆 = 检索更多上下文”。
Mastra 的 Observational Memory 是这波变化里最值得看的一个例子。
先说结论:它反着做了很多人默认会做的事
很多 memory 系统的默认套路是:
- 先把历史对话存起来
- 当前 query 来了以后再动态检索
- 把相关片段临时塞回 prompt
Mastra 的 Observational Memory 不是这么干的。它主打的是:
- 保持上下文窗口稳定
- 把原始会话逐步压缩成 observation
- 再由 reflector 重组这些 observation
- 尽量不做每轮 query 驱动的动态注入
这个思路很重要,因为它瞄准的不是“能不能找到相关记忆”,而是:
上下文能不能长期稳定、可缓存、可复现。
这个系统为什么最近两个月被讨论得这么多
核心原因有两个。
1. 它把 benchmark 分数和工程约束绑在了一起
Mastra Research 在 2026-02-09 发的文章里给出了一组很强的结果:
- 在 LongMemEval 上,
gpt-5-mini跑到 94.87% - 官方强调这是在稳定 context window 下做到的
这点非常关键。因为很多 memory 方案为了追 recall,会不断改 prompt 结构,结果是:
- prompt caching 失效
- 可复现性下降
- 调试难度上升
Mastra 这套方法等于在说:我不靠“每一轮都临时拼 prompt”,我靠把历史整理成更紧凑、可缓存的 observation layer。
2. 它把“记忆写入”从前台动作改成后台动作
Observational Memory 的两个核心角色是:
- Observer
- Reflector
它们像后台工人,而不是前台检索器。
Observer 做的是:
- 观察消息
- 生成稠密 observation
- 给 observation 打优先级和日期
Reflector 做的是:
- 重组 observation
- 合并相关事实
- 丢掉被更新或过时的内容
这使得主 Agent 不用每次都显式“调用记忆”,而是直接在一个已经被整理过的上下文里工作。
为什么这件事对 coding agent 特别有意义
X 上很多人把 Mastra Code 跟 Claude Code 放在一起讨论,其中一个高频卖点就是:
- 不用老担心 compaction
- 会话可以跑很久
这里的底层原因并不是“模型更会记”,而是 memory 的形态变了。对于 coding agent 来说,原始对话历史往往包含大量噪音:
- 工具输出
- 日志
- 重复修正
- 局部尝试失败
如果这些都原样累积,context window 很快就脏了。Observational Memory 的优势在于它优先保留:
- 发生了什么
- 现在做到了哪一步
- 用户偏好和架构事实
而不是死保留所有原始消息。
这条路线和传统 memory API 有什么不同
我会这样区分:
| 路线 | 核心问题 |
|---|---|
| Memory API | 需要时怎么搜回相关记忆 |
| Observational Memory | 如何让工作上下文长期稳定而不失真 |
这不是谁替代谁,而是两个重点不同。
如果你的产品是:
- 多用户聊天助手
- 需要跨设备、跨 agent 的共享记忆
Memory API 往往更顺手。
如果你的产品是:
- coding agent
- 长会话执行器
- 强依赖 prompt caching 和运行稳定性
Observational Memory 这种路线会更有吸引力。
我最看重的三个工程信号
1. 三层信息表示
Mastra 不是简单做摘要,而是把上下文分成:
- message history
- observations
- reflections
这是一个真正的 memory hierarchy,而不是“多了一次 summarize”。
2. 时间锚点
每条 observation 带日期,使它更擅长处理:
- 任务推进顺序
- 知识更新
- 最近状态和历史状态并存
3. 稳定 prompt cache
这可能是最被低估的一点。很多 agent 系统今天还在堆检索、堆上下文,却没把 prompt cache 作为一等目标。Mastra 这条路线则非常明确:缓存友好本身就是生产价值。
我的判断
Observational Memory 最值得看的,不只是它的 benchmark,而是它对“记忆”这件事的重新定义:
记忆不一定非要是检索;它也可以是对工作历史的持续观察、压缩和重构。
如果这条路线继续成熟,接下来很多 coding agent 都会开始从“RAG memory”转向“stable context memory”。
来源
- Mastra Research:Observational Memory
- Mastra Blog:Announcing Observational Memory
- X.com:Tyler Barnes 对 Mastra Code + Observational Memory 的介绍