乐于分享
好东西不私藏

12个AI助手在群里吵架?我这样解决了飞书多机器人Bug

12个AI助手在群里吵架?我这样解决了飞书多机器人Bug

🤖 12个AI助手在群里吵架?我这样解决了飞书多机器人Bug

一个群聊,12个AI助手,3个隐藏Bug,我是如何指导OpenClaw修复的

上周,我在飞书建了一个特别的群聊——「光头哥的AI团队」。

群里只有1个真人(我),却有12个AI助手:马斯克、巴菲特、中本聪、乔布斯…每个都有独特的性格和专长。

光头哥的AI团队群聊

1个真人 + 12个AI助手

马斯克
巴菲特
中本聪
乔布斯

每个AI都有独立人格,能回答专业问题

理想很美好:我可以同时@多个AI,快速获得不同角度的回答。

但现实很骨感:当我同时@马斯克 @巴菲特 @中本聪问”你们是谁”时,只有第一个被@的AI会回答,其他两个直接装死

更诡异的是,当它们终于都回复时,每条回复里都@了另外两个AI,整个群聊乱成一锅粥。

🔍 问题诊断:3个隐藏Bug

我打开OpenClaw的代码,开始排查问题。发现了3个隐藏Bug:

1 Bug 1:消息去重机制失效

2 Bug 2:AI助手互相@对方

3 Bug 3:飞书ID系统理解错误

💡 简单解释:就像12个秘书共用1个记事本,第一个秘书写了”已处理”,其他秘书看到就以为不用处理了。

🤖 实际影响:多AI协作失效,用户体验糟糕

🔧 修复难度:中等,需要理解飞书API和OpenClaw架构

🔧 Bug 1修复:给每个AI独立的记事本

问题根源:所有AI助手共享同一个”已处理消息”列表。

当我@马斯克 @巴菲特 @中本聪时,飞书会把同一条消息推送给3个AI。OpenClaw的代码是这样工作的:

第一步:马斯克收到消息,在共享记事本上写”消息123已处理”

第二步:巴菲特收到消息,看到记事本上已有”消息123已处理”,以为别人处理过了

第三步:中本聪同样看到”已处理”,直接跳过

结果:只有马斯克回复,其他AI沉默

修复方案:给每个AI发一个独立的记事本。

修改代码,让去重机制基于”AI身份+消息ID”,而不是单纯的消息ID。这样:

• 马斯克的记事本:马斯克:消息123 → 处理

• 巴菲特的记事本:巴菲特:消息123 → 处理

• 中本聪的记事本:中本聪:消息123 → 处理

现在3个AI都能收到并处理同一条消息了!

🔧 Bug 2修复:AI助手不再互相@

解决了第一个Bug后,新的问题出现了:AI助手开始互相@对方。

当我@马斯克 @巴菲特 @中本聪时:

马斯克回复:@巴菲特 @中本聪 我是马斯克…

巴菲特回复:@马斯克 @中本聪 我是巴菲特…

中本聪回复:@马斯克 @巴菲特 我是中本聪…

问题:群聊被无意义的@刷屏,用户体验极差

原因分析:OpenClaw有个”mention forward”功能。

这个功能的本意是:如果你私聊AI时@了别人,AI回复时会自动@那个人,把消息转发过去。

但在多AI群聊场景下,对每个AI来说:

• 马斯克看到:用户@了我,还@了巴菲特和中本聪

• 马斯克想:用户想让我把消息转发给巴菲特和中本聪

• 于是回复时@了巴菲特和中本聪

其他AI同理,形成了互相@的死循环。

🔍 深入排查:飞书ID系统的坑

我最初的修复思路:建立一个”AI注册表”,记录所有AI的ID,过滤时排除它们。

但这里遇到了飞书API的一个大坑:同一个AI在不同应用里看到的ID不同

马斯克眼中的中本聪:ID = ou_3eeb0c64ebdcc071f31f929fc4b

巴菲特眼中的中本聪:ID = ou_a105fb96071e6fe29a30cd32c4

中本聪自己眼中的自己:ID = ou_d28c903329ecd46f3f268615ab

发现:同一个实体,不同视角,ID完全不同!

这意味着我无法通过比较ID来判断”这是不是另一个AI”。

💡 终极解决方案:利用飞书平台特性

经过深入研究,我发现了一个飞书平台的黄金规则

机器人没有user_id,只有open_id;真人用户既有user_id又有open_id。

这个规则是飞书平台级别的保证,跨所有应用都成立!

于是修复方案变得简单:

1. 检查被@的对象有没有user_id

2. 如果没有user_id → 这是AI助手 → 排除

3. 如果有user_id → 这是真人用户 → 保留

这样,AI助手就不会再把其他AI当成”需要转发消息的真人”了。

✅ 修复成果

修复完成后,再次测试:

用户输入:@马斯克 @巴菲特 @中本聪 你们是谁?

马斯克回复:我是马斯克,特斯拉和SpaceX的创始人…

巴菲特回复:我是沃伦·巴菲特,伯克希尔·哈撒韦公司CEO…

中本聪回复:我是中本聪,比特币的创造者…

完美! 3个AI都正常回复,且不再互相@

🎯 经验总结

这次Bug修复让我学到了几个重要经验:

1 理解平台特性:飞书的ID系统很特殊,必须深入理解才能正确使用

2 多场景测试:单AI场景正常 ≠ 多AI场景正常

3 寻找平台保证user_id为空是飞书对机器人的保证,比比较ID更可靠

4 隔离是关键:多AI共处时,资源隔离是必须的

🤔 如何指导AI修复Bug?

很多人问我:你又不是程序员,怎么指导OpenClaw修复Bug?

其实很简单:把问题描述清楚,让AI自己分析

第一步:详细描述现象(什么情况下出问题)

第二步:提供日志和错误信息

第三步:让AI分析可能的原因

第四步:验证修复方案

关键:你不需要懂代码,但需要懂业务逻辑

比如这次,我告诉AI:

1. “同时@多个AI,只有第一个回复”

2. “AI回复时@了其他AI”

3. “单独@每个AI都正常”

AI就能推断出:可能是去重机制问题,可能是mention forward逻辑问题。

🚀 现在可以做什么?

修复了这个Bug后,我的”AI团队”群聊现在可以:

同时咨询多个专家 – @马斯克 @巴菲特 @中本聪 “比特币未来走势?”

快速对比观点 – 一次性获得技术、投资、创业三个视角

自动化工作流 – 让AI助手之间协作完成任务

24小时待命 – 随时@任何AI获取帮助

这就像有了一个24小时在线的智囊团,随时可以咨询任何领域的专家。

💡 你也可以试试

如果你也想在飞书建一个”AI团队”:

1. 安装OpenClaw – 开源AI框架

2. 配置飞书机器人 – 每个AI一个独立账号

3. 创建群聊 – 把所有AI拉进一个群

4. 开始使用 – 同时@多个AI提问

注意:确保使用最新版的OpenClaw feishu插件,已经包含了这个Bug修复。

这就是AI助手的未来:

不是单个AI,而是一个AI团队,协同为你工作。