你以为现在的 AI Agent(智能体)团队协作,都是什么高大上的量子通信?
或者是复杂的WebSocket、gRPC,再不济也得是个企业级的消息队列吧?
错,大错特错。
前两天我为了搞清楚 Claude Code 的 Agent 是怎么“组队开黑”的,搞了一波逆向工程。结果查出来的真相,差点让我笑出声——
它们之间发消息,居然是靠在你的硬盘上读写 JSON 文件。
没错,就是最原始的写文件、读文件。这就好比两个顶级黑客坐在一起,不发加密邮件,而是互相递小纸条。
今天咱们就来扒一扒,这个号称“最强编程助手”的 Claude Code,底裤下到底藏着什么秘密。
一、AI狠起来,连自己都逆向
这事的发现过程,比结论更精彩。
一开始我也拿不准,于是我直接问 Claude Code:“你这 Teammate 功能到底是咋实现的?”
它也不藏着掖着,二话不说,直接派了几个 Agent 居然去逆向它自己的二进制文件!
这就好比医生给自己做开颅手术,还得一边做一边给你讲解。
它对着那个 183MB 的 Bun 编译产物,直接跑了一波 strings 命令。虽然变量名被混淆得像乱码(什么 N$、i7),但函数名是藏不住的:
看到这,我让它别光动嘴,直接给我现场演示一遍。
于是,它给自己创建了一个“探索实验”团队,自己在硬盘上跑了一遍通信流程。
这一跑,彻底露馅了。
二、所谓“架构”,全在文件夹里
Claude Code 的团队系统,根本没有你想象的那么复杂。它不需要你装 Redis,不需要你配数据库,它只需要你的文件系统。
只要你能新建文件夹,你就能跑 Agent。
咱们一步步来看它的“骚操作”:
1. 团队就是个 Config 文件
你在命令行敲完 TeamCreate,它就在 ~/.claude/teams/ 下面建个文件夹。里面的 config.json 只有几行字:名字叫啥、谁是老大、用了啥模型。
这就是团队的全部灵魂。
2. 任务列表就是一堆 JSON
你怎么知道队友在干啥?看 ~/.claude/tasks/。
每一个任务就是一个编好号的 JSON 文件。想搞依赖管理?就在文件里写个 blockedBy。简单粗暴,令人发指。
3. 最绝的:消息队列就是“收件箱”
重头戏来了。Agent 之间怎么聊天?
它在文件夹里搞了个 inboxes 目录。
没有任何网络请求!没有任何端口监听!
所谓的“发送消息”,就是 appendFile;所谓的“接收消息”,就是 readFile。
这不禁让我感叹:高端的食材,往往只需要最朴素的烹饪方式。
三、极其“草台”,但也极其聪明
你可能会喷:这也太 Low 了吧?
别急,这其实是天才的设计。
你想想,Claude Code 是个啥?它是个 CLI(命令行)工具。用户 npm install 一下就要能用。
如果为了个通信功能,让你先装个 RabbitMQ,再起个 Docker,最后配个防火墙,你早就把它卸载了。
而文件系统,是这个星球上最稳定、最普及、最不需要配置的“数据库”。
四、当然,坑也不少
既然是“草台班子”,那肯定有翻车的时候。我翻了一下 GitHub,那叫一个惨烈:
1. 上下文压缩 = 团队团灭
这是个致命 Bug。当任务太长,Claude 的上下文窗口满了,它会自动触发“压缩”。
这一压缩不要紧,直接把“我是个团队Leader”这段记忆给压没了。
结果就是:前一秒还是运筹帷幄的指挥官,后一秒直接失忆,忘了队友是谁,整个团队瞬间瘫痪。
2. 消息不是实时的
因为是读文件,所以它做不到像微信那样秒回。
它必须等当前的“回合”(Turn)结束,才会去刷一下收件箱。这就导致如果一个 Agent 写代码写嗨了,根本收不到你的打断指令。
3. 并发全靠人品
文件锁?不存在的。虽然有个 .lock 文件,但基本是防君子不防小人。多个人同时写一个文件,理论上是会冲突的。
五、给我们的启示
看完 Claude Code 的底裤,我反而对它产生了一种敬意。
在现在这个动不动就搞微服务、分布式、云原生的年代,它敢用最土的JSON + 文件系统来解决最前沿的多智能体协作问题。
它告诉我们一个道理:能用 txt 解决的问题,绝对不要引入数据库。
先让它跑起来,哪怕简陋点,也比一上来就过度设计要强一百倍。
别光听我吹,这东西就在你的电脑里。
现在,打开你的终端,输入 ls -laR ~/.claude/teams/。
看着那些静静躺着的 JSON 文件,那就是现在地表最强 AI 的“脑电波”。
本站是社保查询公益性网站链接,数据来自各地人力资源和社会保障局,具体内容以官网为准。
定期更新查询链接数据 苏ICP备17010502号-11