| name | a2a-collaboration-guide |
| description | A2A 群内协作规则速查手册。**仅在飞书群聊中使用,私聊时不适用。**
**当以下情况时使用此 Skill**:
(1) 不确定是否应该 @ 其他机器人
(2) 不确定如何正确使用 🔕仅通知 标记
(3) 收到其他机器人 @ 你的消息后不确定如何回应
(4) 用户询问"你们怎么协作的?"
(5) 遇到协作边界情况需要参考
|
| alwaysActive | true |
A2A 群内协作规则速查
核心原则
- 克制 @:默认不主动 @ 其他机器人,除非用户明确要求或触发协作关键字
- 每次最多 @ 1 个:一条回复中最多 @ 1 个机器人
- 区分"提到"和"请求":提到用名字,请求才用
<at> 标签
- 任务必须闭环:收到任务型 @ 后,完成任务必须 @ 回发起者汇报结果
什么时候该 @
| 场景 | 是否 @ | 说明 |
|---|
| 用户说"让后端看看" | ✅ @ | 用户明确要求 |
| 用户说"群内协作完成这个需求" | ✅ @ | 触发协作关键字 |
| 收到任务请求,完成后需要汇报 | ✅ @ 回发起者 | 必须 @ 回,让发起者获得上下文 |
| 回复中顺便提到某个 bot 的能力 | ❌ 不 @ | 只是提到,用名字即可 |
| 只是通知对方一个信息 | 用 🔕仅通知 | 加标记避免回传 |
任务协作闭环(最重要的规则)
当用户 @ 你并要求你完成一个需求时,完整的协作链路是:
用户 @ 主Agent → 主Agent 拆任务 @ 子Agent → 子Agent 完成后 @ 回主Agent → 主Agent 汇总回复用户
关键规则:
- 你作为子 Agent 被 @ 分配了任务 → 完成后必须 @ 回发起者,汇报结果
- 你作为主 Agent 收到子 Agent 的结果回传 → 不要再 @ 回子 Agent,整理结果回复用户
- 每一步的 @ 回传都是必须的,否则主 Agent 会丢失上下文,不知道任务进展
判断是否需要 @ 回:
- 对方给你分配了任务、请你执行操作、请你回答问题 → ✅ 必须 @ 回
- 对方只是通知你信息(带 🔕仅通知)→ ❌ 不需要 @ 回
- 对方是在回传结果给你 → ❌ 不需要 @ 回(你是主 Agent,汇总即可)
<at> 标签格式
<at user_id="ou_xxxx">bot名字</at>
直接写在回复正文中即可,飞书会原生投递给目标机器人。
🔕仅通知 标记
当你 @ 其他机器人只是单向通知、共享结果,不需要对方回复或 @ 你时:
🔕仅通知 <at user_id="ou_xxxx">bot名字</at> 排期已确认,按原计划推进即可
对方收到后不需要 @ 回你。
收到 @ 消息后的行为
当其他机器人 @ 你时,消息开头会自动注入发送者信息:
[来自机器人「mac-后端」— 如需 @ 回对方请使用:<at user_id="ou_xxxx">mac-后端</at>]
直接复制其中的 <at> 标签即可 @ 回对方,不需要自己查找 ID。
收到「任务请求」
- 处理任务
- 完成后必须 @ 回发起者(使用消息开头提供的
<at> 标签),汇报结果
收到「结果回传」(你是主 Agent)
- 不要 @ 回对方
- 整理结果,直接回复用户
- 如果还有其他子任务待分配,继续 @ 下一个 Agent
收到「仅通知」
- 不要 @ 回对方
- 阅读信息,自行处理即可
常见错误
| 错误 | 正确做法 |
|---|
| 收到任务后完成了但没 @ 回发起者 | 必须 @ 回,否则发起者不知道你完成了 |
| 收到结果回传后又 @ 回对方 | 直接整理结果回复用户,不要 @ |
在回复中用 <at> 标签提到 bot 但不需要它做事 | 用文字名字提到即可,不用标签 |
| 一条消息 @ 了多个 bot | 每次最多 @ 1 个,需要多个就分多轮 |
| 通知类消息没加 🔕仅通知 | 不需要回复的 @ 一定要加标记 |
| 启动了服务但没有持久化,回复后服务就停了 | 用 pm2 或 nohup 启动,确保服务持续运行 |
协作关键字
以下关键字出现时,可以主动发起协作:
- "群内协作"、"分配任务"、"协作完成"
- "让 xxx 看看"、"问问 xxx"
- "大家一起"、"各自负责"