BotOf Tech
返回首页Letta 的 MemFS 和 Context Constitution:Agent Memory 正在从“存储”变成“自我管理”

Letta 的 MemFS 和 Context Constitution:Agent Memory 正在从“存储”变成“自我管理”

·2 分钟阅读·

Letta 这条线最近三个月很有意思,因为它讨论的重点已经不是“怎么让 Agent 存更多东西”,而是:

Agent 应该如何主动管理自己的上下文。

这背后有三件关键事:

  • memory blocks
  • MemFS
  • Context Constitution

Letta 一直在强调:记忆首先是上下文管理问题

官方 memory overview 文档里,Letta 对 memory 的定义非常直接:

  • 记忆是在管理 context window
  • 核心问题是哪些内容常驻,哪些内容外置

这种表述和很多“无限记忆”的营销说法非常不同。它强调的不是“能装多少”,而是“如何组织有限上下文”。

第一层:Memory Blocks

Letta 的 memory blocks 是它最基础、也最典型的 abstraction。

官方文档里强调了几个点:

  • block 是结构化上下文片段
  • 始终可见,不走 retrieval
  • agent 可以自己读写
  • 多 agent 可以共享同一个 block

这使得 block 不只是“信息存储”,而更像一种 coordination primitive。比如:

  • persona
  • human
  • policies
  • performance_tracking
  • scratchpad

这种设计特别适合保存高价值、必须常驻的信息。

第二层:MemFS

最近三个月 Letta 更值得看的,是它把记忆从 blocks 又往前推了一步,做成了 MemFS

官方 Letta Code memory 文档写得很清楚:

  • MemFS 是新的 native memory system
  • agent 可以通过和写代码相同的 bash/file tools 去改 memory
  • memory 是 git-versioned 的

这点非常强,因为它意味着记忆不再只是 API 层抽象,而是真正进入文件系统和版本控制层

从工程角度看,这带来几个变化:

  • 记忆更容易 diff / rollback
  • 记忆可以配合 worktree
  • memory 和 code 更容易形成统一工作流

2 月 12 日 Letta 官方在 X 上专门发帖提到:

  • 启用 Context Repositories 只需要 /memfs enable

这说明他们已经把 memory filesystem 当成产品主路径之一,而不是实验功能。

第三层:Context Constitution

到 4 月初,Letta 又往前走了一步,发布了 Context Constitution

这份东西我认为特别重要,因为它不再只是“怎么存记忆”,而是开始讨论:

  • context 如何构成 agent identity
  • agent 为什么要主动维护记忆
  • token-space representation 如何形成连续自我

4 月 2 日 Letta 在 X 上的官方介绍里,把这套方法定义成构建 “machines that learn” 的基础,并且明确提到:

  • git-versioned memory filesystem
  • multi-conversation memory
  • sleep-time compute 用于 reflection 和 memory organization

这其实就是把 memory 从存储层推向了自我维护层

Letta 这条路线和 Claude Code / Mem0 有什么不同

我会这样区分:

跟 Claude Code 比

  • Claude Code 更偏 repo-local、实用主义、coding workflow
  • Letta 更偏 memory-native runtime 和长期 identity

跟 Mem0 / Supermemory 比

  • Mem0 / Supermemory 更像给应用接一层 memory service
  • Letta 更像让 Agent 自己拥有并管理上下文

这不是谁高谁低,而是产品目标不同。

为什么我觉得 Letta 这条线值得继续跟

因为它在回答一个很多系统还没认真回答的问题:

Agent 如果要长期存在,它要如何理解“哪些上下文是我自己的一部分”?

这不是传统 RAG 能解决的。RAG 擅长找东西,但不擅长建立 identity、连续性和长期自我约束。

Letta 通过:

  • 常驻 block
  • versioned memory filesystem
  • reflection / sleep-time compute

在往这个方向逼近。

我的判断

最近三个月 Letta 最值得注意的,不是某个新 benchmark,而是它把 memory 这件事逐步抬升成了 agent runtime 的核心:

记忆不只是存起来,而是 agent 对自己上下文的持续治理。

如果这条线继续成熟,Letta 很可能会成为“memory-native agent harness”这一类产品里最有代表性的一个。

来源