养虾日记🦞:多Agent在飞书群辩论--踩坑篇
实验背景与目标
为什么会做这个实验?
用户希望在一个飞书群聊中部署多个 OpenClaw Agent,让它们能够自动进行辩论。
实验目标
- bot1:正方(支持 "AI会让人类失业")
- bot2:反方(反对 "AI会让人类失业")
- 最终目标 :让两个
Bot自动交替辩论,无需人工介入
实验环境
| 项目 | 详情 |
|---|---|
| 平台 | 飞书 |
| 框架 | OpenClaw 2026.2.9 |
| Bot 账号 | host_bot、bot1、bot2 |
| 飞书群 | user、host_bot、bot1、bot2 都在群内 |
第一次尝试:requireMention: true + 提示词 @bot
方案
- 配置:
json
$ openclaw config get channels.feishu.groups
🦞 OpenClaw 2026.2.9 (unknown) --- iMessage green bubble energy, but for everyone.
{
"oc_XXXXXXXXXXXx": {
"requireMention": true,
"enabled": true
}
}
- 提示词 :
bot1、bot2都要求回复的时候,@对方
结果
架构图:
┌─────────┐ ┌─────────┐ ┌─────────┐
│ User │────▶│ bot1 │────▶│ bot2 │
└─────────┘ └─────────┘ └─────────┘
│ │ │
│ @bot1 │ @bot2 │ ❌ 无回调
│ 收到 │ 收不到 │
▼ ▼ ▼
继续辩论 无法触发 无响应
群里发一条消息,并且 @bot,但是没有把讨论继续
[2026-02-27 10:00:01] User: @bot1 开始讨论
[2026-02-27 10:00:02] bot1: 我是正方,XXXXXXXXXXXX,@bot2 你觉得呢
[2026-02-27 10:00:03] ....... no_message
❌ 不成功
只有 User 主动 @ 的 Bot 能收到消息,但无法实现 bot1 --> @bot2 的对话,bot2 不会主动回复消息,停在这里了。
⚠️ 原因:飞书消息机制是,机器人的@机器人消息是没有消息通知的,因为怕回调陷阱。
第二次尝试:requireMention: false + 提示词尝试广播
方案
- 配置:
json
$ openclaw config get channels.feishu.groups
🦞 OpenClaw 2026.2.9 (unknown) --- iMessage green bubble energy, but for everyone.
{
"oc_XXXXXXXXXXXx": {
"requireMention": false,
"enabled": true
}
}
- 提示词 :每个
Bot都收到消息,自行决定是否回复对应的消息
结果
架构图:
┌─────────┐
│ User │────┐
└─────────┘ │
▼
┌───────────┐
│ OpenClaw │────┐
│ 随机一个 │ │
└───────────┘ │
▲ │
│ ▼
┌────┴────┐ ❌
│ │
bot1 bot2
│ │
▼ ▼
随机收到 收不到
(50%) (50%)
群里发一条消息,只有随机 一个 Bot 能收到。
[2026-02-27 10:00:00] user: 收到消息: "大家好"
[2026-02-27 10:00:02] bot2: 我是什么的观点...............
[2026-02-27 10:00:03] ............... no message
❌ 不成功
⚠️ 原因 :"requireMention": false,并非完全的广播,而仅仅是推送给群里 随机 一个 Bot,这个是 OpenClaw 机制。所以,这个方案就不成立了。
第三次尝试:最终方案 - 手动转发
方案
- 配置:
json
$ openclaw config get channels.feishu.groups
🦞 OpenClaw 2026.2.9 (unknown) --- iMessage green bubble energy, but for everyone.
{
"oc_XXXXXXXXXXXx": {
"requireMention": true,
"enabled": true
}
}
- 提示词:仅仅回复自己观点就可以了
- 实现 :利用
host_agent使用sessions_send让bot1/bot2生成观点,用message发送到飞书群,host_bot作为主持人手动转发
结果
架构图:
┌─────────────────────────────────────────────────┐
│ 飞书群 │
│ ┌─────────┐ │
│ │ host_ │◀──── 手动转发消息 │
│ │ bot │ │
│ └────┬────┘ │
└───────┼─────────────────────────────────────────┘
│
│ sessions_send / message
▼
┌─────────────────────────────────────────────────┐
│ host_agent (中控) │
│ ┌───────────────────────────────────────────┐ │
│ │ 1. @host_bot 触发 │ │
│ │ 2. 让 bot1 生成观点 ──▶ 转发到群里 │ │
│ │ 3. 让 bot2 生成观点 ──▶ 转发到群里 │ │
│ │ 4. 循环交替... │ │
│ └───────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
bash
[2026-02-27 10:00:01] User: 开始辩论 @host_bot
[2026-02-27 10:00:02] bot1: 【正方】 AI会导致大规模失业,因为...
[2026-02-27 10:00:04] bot2: 【反方】 我不同意,AI会创造更多新岗位...
[2026-02-27 10:00:06] bot1: 【正方】 但是部分行业确实会受到冲击...
[2026-02-27 10:00:08] bot2: 【反方】 然而历史上技术革命总是创造更多就业...
...(循环10轮)
✅ 成功
⚠️ 原因 :通过 host_bot 使用 sessions_send 和 message 手动协调,绕过飞书平台限制。但是这样需要中控的 host_agent 非常智能,负责中间的调度,没有像真实的人一样,可以每个 Bot 相互进行沟通。并且激发的时候,需要 user 手动 @host,作为讨论的初始激发。
第四次尝试:所有消息都流经 host_bot
方案
- 配置 :设置
binding的机制,把所有的消息都流入host_bot,让他决定是否分发 - 提示词:无
结果
❌ 失败
⚠️ OpenClaw 的 binding 机制还不支持
第五次尝试:Message Hook 监听
方案
- 配置 :创建自定义
Hook
bash
mkdir -p ~/.openclaw/hooks/debate-hook/
openclaw hooks enable debate-hook
- 提示词:无
结果
Hook 没有被触发。飞书消息首先推送给随机一个 Bot,该 Bot 的 Session 收到消息,不会触发 message:received 事件。
❌ 失败
⚠️ 原因 :飞书消息通过 Bot Session 接收,不触发 Gateway 层面的 message:received 事件
结论
技术结论
OpenClaw对飞书channel没有广播的机制OpenClaw对飞书Bot发出来的消息,不算是inbound message- 飞书对机器人互@,是没有消息回调的
💊💊💊 要实现把飞书 bot 放入群里面相互讨论还是比较难的,不过一对一的对接 Bot 还是可以的;后续需要再找一个方案看是否可以完美的实现。
你觉得多 Agent 群聊辩论还有哪些可能的实现方案?欢迎在评论区分享你的想法。
#AI #Agent #飞书 #OpenClaw #技术实验
欢迎添加公_主_号 ,小兵张咔咔 ,xiaobinzhangkaka,我们沟通讨论。