我在OpenClaw上搭了一套多Agent团队:大总管、写代码的、写文章的、搞增长的,加上法务、财务、教学,一共7个。听起来分工明确,各司其职,但用了几周之后发现,它们活得像七个陌生人。
跟大总管说"帮我安排一篇关于多Agent协作的文章",它反问:"请问你的写作风格是什么?目标读者是谁?"——昨天刚告诉过你的事,今天全忘了。更离谱的是,开发助理刚帮我修好了飞书webhook的配置问题,转头让内容助理写篇复盘,它说"什么配置问题?能详细说说吗?"你俩在同一台服务器上跑着,隔壁房间的事一无所知。
算了笔账,一个月下来,光是反复"自我介绍"就烧掉一大坨token。这不是助理在工作,是我在工作——给7个人做入职培训,而且是每天重新做。
字节开源的OpenViking,思路很简单但很对
字节跳动最近开源了一个叫OpenViking的项目,核心思路特别直觉——把Agent的记忆当文件系统来管理。
你打开电脑找文件的时候,会把硬盘里所有文件内容全读一遍吗?不会。先看文件夹名,找到目标文件夹,再打开具体文件。Agent读记忆也该这样。
但现在大多数Agent的做法是:每次启动,把记忆从头到尾全部读一遍。100行的时候没感觉,8000行的时候,token哗哗地烧。
三层按需加载:L0 / L1 / L2
OpenViking把记忆分成三层:
- L0:索引层,记录"记忆里有什么",大概100个token
- L1:摘要层,每条记忆的关键信息概要
- L2:全文层,完整的原始记忆内容
每次启动只读L0。需要具体信息?读L1摘要。确认了?才读L2全文。从"每次全读"变成"按需读取"。
实测下来,日常对话token消耗直接降了10倍,不是省一点点,是断崖式下降。
给记忆加保质期:P0 / P1 / P2
光分层还不够,记忆会越来越多。OpenViking的另一招是给记忆打"保质期":
- P0:永远不删,核心信息
- P1:过期归档,阶段性内容
- P2:到期清理,临时性信息
就像人的记忆——重要的事记得牢,琐碎的事会淡忘,但去翻笔记还能找回来。
实际改造:给OpenClaw多Agent装上共享大脑
说了这么多原理,落地其实没想象中复杂。我花了大概30分钟,纯文件操作搞定。
第一步:给每个Agent加索引文件(10分钟)
在每个Agent的memory目录下建一个 .abstract 文件,充当L0索引。Agent每次启动先读这个,只有需要具体信息时才深入读对应的文件。
第二步:给记忆打P标签(10分钟)
在记忆文件里标注优先级,然后写个清理脚本,每天扫一次,过期的自动归档。
第三步:共享记忆层——这才是杀手锏(10分钟)
创建一个所有Agent都能读的共享目录。怎么让Agent自动往里写?不用写代码。OpenClaw每个Agent启动都会读 AGENTS.md,加一条规则就行——"做完事,在共享文档记一笔。"
Agent会自觉执行,真的会。
不一定要照搬技术方案
字节的OpenViking确实牛,但它是一个独立的Python服务,需要单独部署,需要配置VLM和Embedding模型,需要API Key。对于大多数OpenClaw用户来说,杀鸡用了牛刀。
OpenClaw本身的 MEMORY.md + memory/ 目录 + AGENTS.md 规则,已经具备了记忆管理的底层架构。要做的不是"接入OpenViking",而是把OpenViking的思想,用OpenClaw原生的方式落地。不用装任何东西,不用跑任何服务。
改造前后的差异很明显:token消耗降了一个数量级,Agent之间终于能互相通气了,不用每次都重新介绍自己。
Agent的记忆问题说白了就两件事:不要每次全读,先看目录按需取;让Agent之间能互相通气,搞个共享记忆层。思想是免费的,落地才是本事——30分钟改造,7个Agent终于不再是陌生人了。