Broadcast Groups
Status: EksperimentalVersi: Ditambahkan pada 2026.1.9
Ikhtisar
Broadcast Groups memungkinkan beberapa agent memproses dan merespons pesan yang sama secara bersamaan. Ini memungkinkan Anda membuat tim agent khusus yang bekerja bersama dalam satu grup atau DM WhatsApp — semuanya menggunakan satu nomor telepon. Cakupan saat ini: WhatsApp saja (channel web). Broadcast groups dievaluasi setelah allowlist channel dan aturan aktivasi grup. Di grup WhatsApp, ini berarti siaran terjadi saat OpenClaw biasanya akan membalas (misalnya: saat disebut, tergantung pada pengaturan grup Anda).Kasus Penggunaan
1. Tim Agent Khusus
Terapkan beberapa agent dengan tanggung jawab atomik dan terfokus:2. Dukungan Multi-Bahasa
3. Alur Kerja Jaminan Kualitas
4. Otomatisasi Tugas
Konfigurasi
Pengaturan Dasar
Tambahkan bagianbroadcast tingkat atas (di samping bindings). Kuncinya adalah ID peer WhatsApp:
- obrolan grup: JID grup (misalnya
120363403215116621@g.us) - DM: nomor telepon E.164 (misalnya
+15551234567)
Strategi Pemrosesan
Kontrol bagaimana agent memproses pesan:Paralel (Default)
Semua agent memproses secara bersamaan:Berurutan
Agent memproses secara berurutan (satu menunggu yang sebelumnya selesai):Contoh Lengkap
Cara Kerjanya
Alur Pesan
- Pesan masuk tiba di grup WhatsApp
- Pemeriksaan broadcast: Sistem memeriksa apakah ID peer ada di
broadcast - Jika ada dalam daftar broadcast:
- Semua agent yang tercantum memproses pesan
- Setiap agent memiliki kunci sesi sendiri dan konteks yang terisolasi
- Agent memproses secara paralel (default) atau berurutan
- Jika tidak ada dalam daftar broadcast:
- Routing normal berlaku (binding pertama yang cocok)
Isolasi Sesi
Setiap agent dalam broadcast group mempertahankan hal-hal berikut secara sepenuhnya terpisah:- Kunci sesi (
agent:alfred:whatsapp:group:120363...vsagent:baerbel:whatsapp:group:120363...) - Riwayat percakapan (agent tidak melihat pesan agent lain)
- Workspace (sandbox terpisah jika dikonfigurasi)
- Akses tool (daftar allow/deny yang berbeda)
- Memori/konteks (
IDENTITY.md,SOUL.md, dll. yang terpisah) - Buffer konteks grup (pesan grup terbaru yang digunakan untuk konteks) dibagikan per peer, jadi semua agent broadcast melihat konteks yang sama saat dipicu
- Kepribadian yang berbeda
- Akses tool yang berbeda (misalnya, read-only vs. read-write)
- Model yang berbeda (misalnya, opus vs. sonnet)
- Skills berbeda yang terinstal
Contoh: Sesi Terisolasi
Di grup120363403215116621@g.us dengan agent ["alfred", "baerbel"]:
Konteks Alfred:
Praktik Terbaik
1. Pertahankan Agent Tetap Terfokus
Rancang setiap agent dengan satu tanggung jawab yang jelas:❌ Buruk: Satu agent “dev-helper” generik
2. Gunakan Nama yang Deskriptif
Buat jelas apa yang dilakukan setiap agent:3. Konfigurasikan Akses Tool yang Berbeda
Berikan agent hanya tool yang mereka perlukan:4. Pantau Performa
Dengan banyak agent, pertimbangkan:- Menggunakan
"strategy": "parallel"(default) untuk kecepatan - Membatasi broadcast groups menjadi 5-10 agent
- Menggunakan model yang lebih cepat untuk agent yang lebih sederhana
5. Tangani Kegagalan dengan Baik
Agent gagal secara independen. Kesalahan pada satu agent tidak memblokir yang lain:Kompatibilitas
Provider
Broadcast groups saat ini berfungsi dengan:- ✅ WhatsApp (sudah diimplementasikan)
- 🚧 Telegram (direncanakan)
- 🚧 Discord (direncanakan)
- 🚧 Slack (direncanakan)
Routing
Broadcast groups berfungsi bersama routing yang sudah ada:GROUP_A: Hanya alfred yang merespons (routing normal)GROUP_B: agent1 DAN agent2 merespons (broadcast)
broadcast memiliki prioritas lebih tinggi daripada bindings.
Pemecahan Masalah
Agent Tidak Merespons
Periksa:- ID agent ada di
agents.list - Format ID peer benar (misalnya,
120363403215116621@g.us) - Agent tidak ada dalam deny list
Hanya Satu Agent yang Merespons
Penyebab: ID peer mungkin ada dibindings tetapi tidak ada di broadcast.
Perbaikan: Tambahkan ke konfigurasi broadcast atau hapus dari bindings.
Masalah Performa
Jika lambat dengan banyak agent:- Kurangi jumlah agent per grup
- Gunakan model yang lebih ringan (sonnet alih-alih opus)
- Periksa waktu startup sandbox
Contoh
Contoh 1: Tim Review Kode
Respons:
- code-formatter: “Memperbaiki indentasi dan menambahkan type hint”
- security-scanner: “⚠️ Kerentanan SQL injection pada baris 12”
- test-coverage: “Cakupan 45%, tes untuk kasus kesalahan masih kurang”
- docs-checker: “Docstring untuk fungsi
process_datatidak ada”
Contoh 2: Dukungan Multi-Bahasa
Referensi API
Skema Konfigurasi
Field
strategy(opsional): Cara memproses agent"parallel"(default): Semua agent memproses secara bersamaan"sequential": Agent memproses sesuai urutan array
[peerId]: JID grup WhatsApp, nomor E.164, atau ID peer lainnya- Nilai: Array ID agent yang harus memproses pesan
Keterbatasan
- Maks agent: Tidak ada batas keras, tetapi 10+ agent mungkin lambat
- Konteks bersama: Agent tidak melihat respons satu sama lain (sesuai desain)
- Urutan pesan: Respons paralel dapat tiba dalam urutan apa pun
- Batas laju: Semua agent dihitung terhadap batas laju WhatsApp
Peningkatan di Masa Depan
Fitur yang direncanakan:- Mode konteks bersama (agent melihat respons satu sama lain)
- Koordinasi agent (agent dapat saling memberi sinyal)
- Pemilihan agent dinamis (pilih agent berdasarkan isi pesan)
- Prioritas agent (beberapa agent merespons sebelum yang lain)