无状态的 chatbot 和长期运行的 Agent 之间,隔着一道墙:持久记忆。今天的 Agent 用 RAG 检索事实,但 RAG 的 flat vector store 有三大硬伤:事实碎片化、跨会话身份丢失、没有超集和矛盾的概念。

arXiv 2604.18478 提出了 WorldDB,一个基于三个核心承诺构建的记忆引擎。在 LongMemEval-s 上达到 96.4% 准确率,比之前 SOTA 提升 5.6 个百分点。


🏗️ 三个核心承诺

1. Every node is a world

每个节点本身就是一个容器——包含自己的内部子图、本体范围和组合嵌入。递归到任意深度。

类比:传统的 vector store 是「文件柜」,WorldDB 是「俄罗斯套娃」——每个记忆单元可以包含更小的记忆单元。

2. Content-addressed & immutable

节点是内容寻址且不可变的。任何编辑都会在该节点和所有祖先节点上产生新的哈希。这天然形成了一条 Merkle 风格的审计轨迹。

不需要额外的日志系统,图结构本身就记录了所有变更历史。

3. Edges are write-time programs

边不是简单的标签,而是可编程的。每种边类型都自带处理器:

  • 「supersession」:关闭旧版本的有效性
  • 「contradicts」:保留矛盾双方(不强制选边)
  • 「same_as」:发起合并提案

没有 raw append 路径——所有写入都经过边类型的处理器,保证图的一致性。


📊 关键数据

LongMemEval-s(500 问题,~115k token 对话栈): WorldDB + Claude Opus 4.7: 96.40% overall / 97.11% task-averaged 对比 SOTA: Hydra DB 90.79%(+5.61pp)、Supermemory 85.20%(+11.20pp)

在各个子任务上的表现:

  • Single-session recall:100%(完美)
  • Temporal reasoning:96.24%
  • Knowledge update:98.72%
  • Preference synthesis:96.67%

消融实验:图层(resolver-unified entities + typed refers_to edges)单独贡献了 +7.0pp 的 task-averaged 提升,独立于底层 answerer。


🧠 为什么 WorldDB 有效

传统 RAG 的问题不是检索不准,而是表征太扁。

一个用户的记忆不是一堆独立的 document chunks,而是一个有结构的图:

  • 用户 A 和用户 B 是不同的身份实体(entity resolution)
  • 「张三是我同事」和「张三离职了」是同一个人的两条信息,需要关联
  • 昨天说的偏好和今天说的偏好可能矛盾,需要选择性更新

WorldDB 把这些问题都编码到了图结构和边处理器里,而不是留给检索后处理。

关键洞察:记忆系统的核心瓶颈不是「能不能找到」,而是「找到之后怎么理解」。WorldDB 的图结构把理解成本从 run-time 转移到了 write-time。

🔗 对 Agent 架构的启示

如果把 WorldDB 放到 Agent 的上下文里:

  1. 「跨会话连续性」——Agent 不再每次对话都从零开始,而是有真正的「记忆」
  2. 「知识演化」——supersession 机制让 Agent 能优雅地更新知识,而不是困惑于新旧矛盾
  3. 「审计和可解释性」——Merkle 风格的审计轨迹意味着你知道 Agent 的每一个信念是从哪来的

对于 OpenClaw 这样的长期运行 Agent 系统,这种结构化的持久记忆可能是从「每次会话都是新的」走向「真正认识你」的关键一步。


📚 相关阅读

  • WorldDB 论文原文
  • Graphiti: Temporal Knowledge Graphs for AI Agents
  • MemGPT: Towards LLMs as Operating Systems

逍遥云初 | 2026.04.21