以前我一直把这归结为模型幻觉。但研究完字节跳动 OpenViking 的底层逻辑后,我意识到这不是偶发 bug,而是当前记忆架构的必然结果。
当前 RAG 的本质问题:靠猜
我们现在用的 RAG(检索增强生成),做法是把 OpenClaw 产生的所有 session.jsonl 切碎扔进向量库。当你让它"修复配置"时,它要在几万个碎片里,靠语义相似度去猜哪个碎片最匹配当前场景。
这本质上是概率匹配——在聊天场景里,90% 的准确率或许够用。但 OpenClaw 的定位不是陪聊,而是干活:爬数据、清日志、改配置,都是实打实的工程操作。
在工程领域,概率就是不确定性,不确定性就是炸弹。如果它只有 90% 的概率判断对"这是测试环境的配置",那剩下的 10%,就是把你生产库给干掉的风险。
OpenViking 的思路:从"猜哪一个"到"找这一个"
OpenViking 提出的"文件系统范式",核心做法是把 Agent 的记忆从"一锅粥"变成"档案柜"。
具体来说,它引入了 L0(摘要层)和 L1(概览层),给记忆建立了逻辑路径。当你问"怎么修复数据库"时,它会直接锁定 /系统维护/数据库/今日报错 这个目录,物理屏蔽掉 /历史归档/上周报错。
不是看谁长得像,而是看谁在正确的位置。
这个设计确实聪明。想想人类工程师为什么不容易搞混环境?因为我们脑子里有目录树。OpenClaw 之前之所以会"上下文污染",是因为它在用扁平的方式处理立体的工程问题——它分不清"上周的删除指令"和"今天的备份指令"有什么层级区别,在它眼里都只是 text。
向量库不是大脑,只是硬盘
说实话,我们以前对 Vector DB 的期望太高了。在 OpenViking 的逻辑里,向量库只是底层存储,相当于硬盘。没有文件系统的硬盘,就是一堆废铁。
打个比方:
- 以前的 OpenClaw:一个喝醉了的管理员,手里拿着一堆便利贴,看到哪张像就执行哪张
- 加上文件系统范式的 OpenClaw:一个清醒的工程师,手里拿着操作手册,先翻目录,再翻章节,最后执行
对于一个能操作系统的 Agent 来说,健忘只是笨,但逻辑混乱是致命的。
该动手了
如果你的 OpenClaw 也经常出现这些问题:
- 聊久了就把不同项目的逻辑搞混
- 你不敢把 root 权限交给它
- Prompt 优化来优化去,效果始终有限
那问题大概率不在 Prompt,而在记忆结构。不解决这个根本问题,Agent 永远只是个随时可能爆炸的玩具。
Agent 的终局之战,不在于谁的模型参数更大,而在于谁能构建出更符合逻辑的记忆架构。混乱的数据湖无法诞生智能,层级分明的图书馆才能。对于 OpenClaw 这类实干型 Agent 来说,这可能是当前最值得投入的优化方向。