Stan: Eksperymentalne. Dodano w wersji 2026.1.9. Tylko WhatsApp (kanał internetowy).
Przegląd
Grupy rozgłoszeniowe uruchamiają wiele agentów dla tej samej wiadomości przychodzącej. Każdy agent przetwarza wiadomość we własnej odizolowanej sesji i publikuje własną odpowiedź, dzięki czemu jeden numer WhatsApp może obsługiwać zespół wyspecjalizowanych agentów w pojedynczym czacie grupowym lub wiadomościach prywatnych. Grupy rozgłoszeniowe są uwzględniane po zastosowaniu list dozwolonych kanału i reguł aktywacji grupy. W grupach WhatsApp rozgłaszanie następuje, gdy OpenClaw normalnie udzieliłby odpowiedzi (na przykład po wzmiance, zależnie od ustawień grupy). Zmienia ono wyłącznie to, którzy agenci są uruchamiani, a nigdy to, czy wiadomość kwalifikuje się do przetworzenia. Aktywna ścieżka kontroli jakości WhatsApp obejmujewhatsapp-broadcast-group-fanout, który sprawdza, czy jedna wiadomość grupowa ze wzmianką może wygenerować odrębne, widoczne odpowiedzi od dwóch skonfigurowanych agentów.
Konfiguracja
Konfiguracja podstawowa
Dodaj sekcję najwyższego poziomubroadcast (obok bindings). Kluczami są identyfikatory rozmówców WhatsApp, a wartościami — tablice identyfikatorów agentów:
- czaty grupowe: JID grupy (np.
120363403215116621@g.us) - wiadomości prywatne: numer telefonu nadawcy w formacie E.164 (np.
+15551234567)
agents.list: walidacja konfiguracji zgłasza nieznane identyfikatory, a środowisko uruchomieniowe pomija je z ostrzeżeniem Broadcast agent <id> not found in agents.list; skipping.
Strategia przetwarzania
broadcast.strategy określa sposób przetwarzania wiadomości przez agentów:
Pełny przykład
Sposób działania
Przepływ wiadomości
1
Nadejście wiadomości przychodzącej
Nadchodzi wiadomość z grupy WhatsApp lub wiadomość prywatna.
2
Trasowanie i dopuszczenie
OpenClaw stosuje listy dozwolonych kanału, reguły aktywacji grupy i skonfigurowane przypisanie własności powiązania ACP.
3
Sprawdzenie rozgłaszania
Jeśli żadne skonfigurowane powiązanie ACP nie jest właścicielem trasy, OpenClaw sprawdza, czy identyfikator rozmówcy znajduje się w
broadcast.4
Jeśli rozgłaszanie ma zastosowanie
- Wszyscy wymienieni agenci przetwarzają wiadomość.
- Każdy agent ma własny klucz sesji i odizolowany kontekst.
- Agenci przetwarzają równolegle (domyślnie) lub sekwencyjnie.
- Załączniki dźwiękowe są transkrybowane raz przed rozesłaniem, dzięki czemu agenci współdzielą jedną transkrypcję zamiast wykonywać osobne wywołania STT.
5
Jeśli rozgłaszanie nie ma zastosowania
OpenClaw przekazuje wiadomość zwykłą trasą lub skonfigurowaną trasą sesji ACP wybraną podczas trasowania.
Grupy rozgłoszeniowe nie omijają list dozwolonych kanału ani reguł aktywacji grupy (wzmianki/polecenia/itp.). Zmieniają wyłącznie to, którzy agenci są uruchamiani, gdy wiadomość kwalifikuje się do przetworzenia.
Izolacja sesji
Każdy agent w grupie rozgłoszeniowej ma całkowicie odrębne:- Klucze sesji (
agent:alfred:whatsapp:group:120363...orazagent:baerbel:whatsapp:group:120363...) - Historię konwersacji (agent nie widzi odpowiedzi innych agentów)
- Obszar roboczy (oddzielne piaskownice, jeśli je skonfigurowano)
- Dostęp do narzędzi (różne listy dozwolonych i zabronionych narzędzi)
- Pamięć/kontekst (oddzielne pliki
IDENTITY.md,SOUL.mditp.)
Przykład: odizolowane sesje
W grupie120363403215116621@g.us z agentami ["alfred", "baerbel"]:
- Kontekst Alfreda
- Kontekst Baerbel
Przypadki użycia
- Zespoły wyspecjalizowanych agentów: grupa programistyczna, w której
code-reviewer,security-auditor,test-generatoridocs-checkerodpowiadają na tę samą wiadomość, każdy ze swojej perspektywy. - Obsługa wielu języków: jeden czat pomocy technicznej, na którym
support-en,support-deisupport-esodpowiadają w swoich językach. - Zapewnianie jakości:
support-agentodpowiada, aqa-agentsprawdza odpowiedź i reaguje tylko po wykryciu problemów. - Automatyzacja zadań:
task-tracker,time-loggerireport-generatorprzetwarzają tę samą aktualizację stanu.
Najlepsze praktyki
1. Dbaj o ścisłą specjalizację agentów
1. Dbaj o ścisłą specjalizację agentów
Przypisz każdemu agentowi jedno jasno określone zadanie (
formatter, linter, tester) zamiast tworzyć jednego ogólnego agenta „dev-helper”.2. Używaj opisowych identyfikatorów i nazw
2. Używaj opisowych identyfikatorów i nazw
3. Skonfiguruj różne poziomy dostępu do narzędzi
3. Skonfiguruj różne poziomy dostępu do narzędzi
reviewer ma dostęp tylko do odczytu. fixer może odczytywać i zapisywać.4. Monitoruj wydajność
4. Monitoruj wydajność
Przy wielu agentach wybieraj
"strategy": "parallel" (ustawienie domyślne), ograniczaj grupy rozgłoszeniowe do kilku agentów i używaj szybszych modeli dla prostszych agentów.5. Awarie pozostają odizolowane
5. Awarie pozostają odizolowane
Awarie agentów są od siebie niezależne. Błąd jednego agenta jest zapisywany w dzienniku (
Broadcast agent <id> failed: ...) i nie blokuje pozostałych.Zgodność
Dostawcy
Grupy rozgłoszeniowe są obecnie zaimplementowane wyłącznie dla WhatsApp (kanału internetowego). Inne kanały ignorują konfiguracjębroadcast.
Trasowanie
Grupy rozgłoszeniowe współdziałają z istniejącym trasowaniem:GROUP_A: odpowiada tylko alfred (zwykłe trasowanie).GROUP_B: odpowiadają agent1 ORAZ agent2 (rozgłaszanie).
Priorytet:
broadcast ma pierwszeństwo przed zwykłymi powiązaniami tras. Skonfigurowane powiązania ACP (bindings[].type="acp") są wyłączne: gdy jedno z nich pasuje, OpenClaw przekazuje wiadomość do skonfigurowanej sesji ACP zamiast rozsyłać ją do wielu agentów.Rozwiązywanie problemów
Agenci nie odpowiadają
Agenci nie odpowiadają
Sprawdź:Pomyślne rozesłanie zapisuje w dzienniku komunikat
- Identyfikatory agentów istnieją w
agents.list(walidacja konfiguracji odrzuca nieznane identyfikatory). - Format identyfikatora rozmówcy jest prawidłowy (JID grupy, na przykład
120363403215116621@g.us, lub numer E.164, na przykład+15551234567, dla wiadomości prywatnych). - Wiadomość przeszła standardowe mechanizmy dopuszczania (reguły wzmianek/aktywacji nadal obowiązują).
Broadcasting message to <n> agents (<strategy>).Odpowiada tylko jeden agent
Odpowiada tylko jeden agent
Przyczyna: identyfikator rozmówcy może znajdować się w zwykłych powiązaniach tras, ale nie w
broadcast, albo może pasować do wyłącznego skonfigurowanego powiązania ACP.Rozwiązanie: dodaj rozmówców przypisanych do zwykłych tras do konfiguracji rozgłaszania albo usuń/zmień skonfigurowane powiązanie ACP, jeśli oczekiwane jest rozesłanie do wielu agentów.Problemy z wydajnością
Problemy z wydajnością
Jeśli działanie jest powolne przy wielu agentach: zmniejsz liczbę agentów w grupie, użyj lżejszych modeli i sprawdź czas uruchamiania piaskownicy.
Przykłady
Przykład 1: Zespół przeglądu kodu
Przykład 1: Zespół przeglądu kodu
Przykład 2: Wielojęzyczny potok
Przykład 2: Wielojęzyczny potok
Dokumentacja API
Schemat konfiguracji
Pola
"parallel" | "sequential"
domyślnie:"\"parallel\""
Sposób przetwarzania przez agentów.
parallel uruchamia wszystkich agentów jednocześnie; sequential uruchamia ich w kolejności tablicy.string[]
JID grupy WhatsApp lub numer telefonu w formacie E.164. Wartością jest tablica identyfikatorów agentów, którzy powinni przetwarzać wszystkie wiadomości od tego rozmówcy.
Ograniczenia
- Maksymalna liczba agentów: brak sztywnego limitu, ale duża liczba agentów (10+) może powodować spowolnienie.
- Współdzielony kontekst: agenci nie widzą odpowiedzi innych agentów (zgodnie z założeniem).
- Kolejność wiadomości: odpowiedzi przetwarzane równolegle mogą nadejść w dowolnej kolejności.
- Limity częstotliwości: wszystkie odpowiedzi są wysyłane z jednego konta WhatsApp, dlatego odpowiedź każdego agenta wlicza się do tych samych limitów częstotliwości WhatsApp.