跳到內容

使用 Broadcast Groups 打造 WhatsApp 多 Agent 協作團隊

你是否曾經試著寫一個全能的 Agent,結果發現它的 Prompt 變得超級長,邏輯混亂又難以維護?或者你希望在群組裡收到訊息時,能同時有不同的專家給出建議,而不是每次都要手動標記不同的機器人。

這種「單一機器人處理所有事」的模式,往往會讓開發者在擴展功能時感到頭痛。當你需要一個 Agent 負責 Code Review,另一個負責安全性檢查,而它們又必須針對同一段程式碼發表意見時,傳統的路由方式就顯得不夠用了。

  • OpenClaw 版本 2026.1.9 或更高(此功能為 Experimental 狀態)
  • WhatsApp 帳號(目前僅支援 WhatsApp Web channel)

要在 5 分鐘內啟動你的第一個 Broadcast Group,只需要在設定檔中新增 broadcast 區塊。

  1. 確認 Agent 列表:確保你的 agents.list 中已經定義了想要執行的 Agent。
  2. 設定廣播對象:將 WhatsApp 群組 JID 或電話號碼作為 Key,Agent ID 列表作為 Value。
{
"broadcast": {
"120363403215116621@g.us": ["alfred", "baerbel", "assistant3"]
}
}

當 OpenClaw 在這個群組收到訊息(例如被標記或符合啟動規則)時,它會同時執行這三個 Agent。

你可以控制 Agent 處理訊息的先後順序:

所有 Agent 同時開始處理,反應速度最快。

{
"broadcast": {
"strategy": "parallel",
"120363403215116621@g.us": ["alfred", "baerbel"]
}
}

Agent 會依照陣列中的順序執行,後一個會等待前一個完成。

{
"broadcast": {
"strategy": "sequential",
"120363403215116621@g.us": ["alfred", "baerbel"]
}
}

當訊息進入 WhatsApp 群組時,系統會先檢查 Peer ID 是否在 broadcast 清單中。如果在清單內,所有列出的 Agent 都會處理該訊息。

這裡最關鍵的是 Session Isolation(會話隔離)。每個 Agent 雖然處理同一條訊息,但它們擁有完全獨立的:

  • Session keys:例如 agent:alfred:whatsapp:group:... 與 agent:baerbel:whatsapp:group:... 是分開的。
  • 對話歷史:Agent A 看不到 Agent B 說了什麼。
  • Workspace 與 Tools:每個 Agent 可以有自己的 Sandbox 權限與工具清單。
  • 記憶與上下文:各自擁有獨立的 IDENTITY.md 或 SOUL.md。

為每個 Agent 設計單一且明確的職責。

✅ 推薦做法:

{
"broadcast": {
"DEV_GROUP": ["formatter", "linter", "tester"]
}
}

❌ 不推薦: 使用一個通用的 “dev-helper” Agent 處理所有事情。

根據需求給予最小權限。例如讓 Reviewer 只能讀取,而 Fixer 可以寫入。

{
"agents": {
"reviewer": {
"tools": { "allow": ["read", "exec"] }
},
"fixer": {
"tools": { "allow": ["read", "write", "edit", "exec"] }
}
}
}
  • 建議一個群組內的 Agent 數量控制在 5-10 個之間。
  • 對於簡單的任務,使用較快的模型(如 Sonnet 而非 Opus)。
  • Agent 之間是獨立運行的,其中一個報錯不會影響其他 Agent 回覆。

這是一個程式碼審查團隊的配置範例:

{
"agents": {
"list": [
{
"id": "code-reviewer",
"name": "Code Reviewer",
"workspace": "/path/to/code-reviewer",
"sandbox": { "mode": "all" }
},
{
"id": "security-auditor",
"name": "Security Auditor",
"workspace": "/path/to/security-auditor",
"sandbox": { "mode": "all" }
}
]
},
"broadcast": {
"strategy": "parallel",
"120363403215116621@g.us": ["code-reviewer", "security-auditor"],
"+15555550123": ["assistant", "logger"]
}
}
  1. 檢查 Agent ID 是否確實存在於 agents.list。
  2. 確認 Peer ID 格式正確(例如群組必須有 @g.us 結尾)。
  3. 檢查 Agent 是否被列入 deny lists。
  4. 查看日誌:tail -f ~/.openclaw/logs/gateway.log | grep broadcast。

這通常是因為該 Peer ID 被設定在 bindings 中但漏掉了 broadcast 設定。請記住,broadcast 的優先權高於 bindings。

  • 共享上下文:目前 Agent 預設看不到彼此的回覆。
  • 訊息順序:在 Parallel 模式下,回覆抵達 WhatsApp 的順序是不確定的。
  • 速率限制:每個 Agent 的回覆都會計入 WhatsApp 的 API 速率限制。

如果你在設定上遇到困難,可以詢問 AI Setup Assistant 獲取即時協助。

OpenClaw

OpenClaw Expert

還是卡住了?

如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。