Статус: Експериментальна функція. Додано у версії 2026.1.9. Лише для WhatsApp (вебканал).
Огляд
Групи широкомовного розсилання запускають кількох агентів для одного вхідного повідомлення. Кожен агент обробляє повідомлення у власному ізольованому сеансі та публікує власну відповідь, тому один номер WhatsApp може обслуговувати команду спеціалізованих агентів в одному груповому чаті або приватному повідомленні. Групи широкомовного розсилання перевіряються після списків дозволених каналів і правил активації груп. У групах WhatsApp широкомовне розсилання відбувається, коли OpenClaw зазвичай мав би відповісти (наприклад, у разі згадки — залежно від налаштувань групи). Вони змінюють лише те, які агенти запускаються, але не те, чи підлягає повідомлення обробці. Активний контур контролю якості WhatsApp міститьwhatsapp-broadcast-group-fanout, який перевіряє, що одне групове повідомлення зі згадкою може спричинити окремі видимі відповіді від двох налаштованих агентів.
Конфігурація
Базове налаштування
Додайте розділ верхнього рівняbroadcast (поруч із bindings). Ключами є ідентифікатори співрозмовників WhatsApp, а значеннями — масиви ідентифікаторів агентів:
- групові чати: груповий JID (наприклад,
120363403215116621@g.us) - приватні повідомлення: номер телефону відправника у форматі E.164 (наприклад,
+15551234567)
agents.list: перевірка конфігурації повідомляє про невідомі ідентифікатори, а середовище виконання пропускає їх із попередженням Broadcast agent <id> not found in agents.list; skipping.
Стратегія обробки
broadcast.strategy визначає, як агенти обробляють повідомлення:
Повний приклад
Як це працює
Потік повідомлення
1
Надходить вхідне повідомлення
Надходить повідомлення з групи WhatsApp або приватне повідомлення.
2
Маршрутизація та допуск
OpenClaw застосовує списки дозволених каналів, правила активації груп і налаштоване володіння прив’язкою ACP.
3
Перевірка широкомовного розсилання
Якщо маршрутом не володіє жодна налаштована прив’язка ACP, OpenClaw перевіряє, чи є ідентифікатор співрозмовника в
broadcast.4
Якщо застосовується широкомовне розсилання
- Усі зазначені агенти обробляють повідомлення.
- Кожен агент має власний ключ сеансу та ізольований контекст.
- Агенти обробляють повідомлення паралельно (типово) або послідовно.
- Аудіовкладення транскрибуються один раз перед розподіленням, тому агенти використовують спільну транскрипцію замість окремих викликів STT.
5
Якщо широкомовне розсилання не застосовується
OpenClaw спрямовує повідомлення за звичайним маршрутом або за налаштованим маршрутом сеансу ACP, вибраним під час маршрутизації.
Групи широкомовного розсилання не обходять списки дозволених каналів або правила активації груп (згадки, команди тощо). Вони змінюють лише те, які агенти запускаються, коли повідомлення підлягає обробці.
Ізоляція сеансів
Кожен агент у групі широкомовного розсилання має повністю окремі:- Ключі сеансів (
agent:alfred:whatsapp:group:120363...іagent:baerbel:whatsapp:group:120363...) - Історію розмови (агент не бачить відповідей інших агентів)
- Робочий простір (окремі пісочниці, якщо налаштовано)
- Доступ до інструментів (різні списки дозволів і заборон)
- Пам’ять/контекст (окремі
IDENTITY.md,SOUL.mdтощо)
Приклад: ізольовані сеанси
У групі120363403215116621@g.us з агентами ["alfred", "baerbel"]:
- Контекст Alfred
- Контекст Baerbel
Варіанти використання
- Команди спеціалізованих агентів: група розробників, у якій
code-reviewer,security-auditor,test-generatorіdocs-checkerвідповідають на одне повідомлення кожен зі своєї точки зору. - Багатомовна підтримка: один чат підтримки з
support-en,support-deіsupport-es, які відповідають відповідними мовами. - Контроль якості:
support-agentвідповідає, аqa-agentперевіряє відповідь і реагує лише тоді, коли знаходить проблеми. - Автоматизація завдань:
task-tracker,time-loggerіreport-generatorобробляють одне й те саме оновлення стану.
Рекомендації
1. Зосередьте агентів на конкретних завданнях
1. Зосередьте агентів на конкретних завданнях
Надайте кожному агенту одну чітку відповідальність (
formatter, linter, tester) замість одного універсального агента dev-helper.2. Використовуйте описові ідентифікатори та назви
2. Використовуйте описові ідентифікатори та назви
3. Налаштуйте різний доступ до інструментів
3. Налаштуйте різний доступ до інструментів
reviewer має доступ лише для читання. fixer може читати й записувати.4. Відстежуйте продуктивність
4. Відстежуйте продуктивність
За великої кількості агентів віддавайте перевагу
"strategy": "parallel" (типово), обмежуйте групи широкомовного розсилання кількома агентами та використовуйте швидші моделі для простіших агентів.5. Збої залишаються ізольованими
5. Збої залишаються ізольованими
Агенти зазнають збоїв незалежно один від одного. Помилка одного агента реєструється в журналі (
Broadcast agent <id> failed: ...) і не блокує інших.Сумісність
Постачальники
Наразі групи широкомовного розсилання реалізовано лише для WhatsApp (вебканалу). Інші канали ігнорують конфігураціюbroadcast.
Маршрутизація
Групи широкомовного розсилання працюють разом із наявною маршрутизацією:GROUP_A: відповідає лише alfred (звичайна маршрутизація).GROUP_B: відповідають agent1 ТА agent2 (широкомовне розсилання).
Пріоритет:
broadcast має пріоритет над звичайними прив’язками маршрутів. Налаштовані прив’язки ACP (bindings[].type="acp") є винятковими: якщо одна з них збігається, OpenClaw спрямовує повідомлення до налаштованого сеансу ACP замість широкомовного розподілення.Усунення несправностей
Агенти не відповідають
Агенти не відповідають
Перевірте:Успішне розподілення додає до журналу запис
- Ідентифікатори агентів існують у
agents.list(перевірка конфігурації відхиляє невідомі ідентифікатори). - Формат ідентифікатора співрозмовника правильний (груповий JID на кшталт
120363403215116621@g.usабо номер у форматі E.164 на кшталт+15551234567для приватних повідомлень). - Повідомлення пройшло звичайні перевірки допуску (правила згадок і активації досі застосовуються).
Broadcasting message to <n> agents (<strategy>).Відповідає лише один агент
Відповідає лише один агент
Причина: ідентифікатор співрозмовника може бути у звичайних прив’язках маршрутів, але не в
broadcast, або він може відповідати винятковій налаштованій прив’язці ACP.Виправлення: додайте співрозмовників, прив’язаних до звичайних маршрутів, у конфігурацію широкомовного розсилання або вилучіть чи змініть налаштовану прив’язку ACP, якщо потрібне широкомовне розподілення.Проблеми з продуктивністю
Проблеми з продуктивністю
Якщо робота сповільнюється за великої кількості агентів, зменште кількість агентів у групі, використовуйте легші моделі та перевірте час запуску пісочниці.
Приклади
Приклад 1: Команда перевірки коду
Приклад 1: Команда перевірки коду
Приклад 2: Багатомовний конвеєр
Приклад 2: Багатомовний конвеєр
Довідник API
Схема конфігурації
Поля
"parallel" | "sequential"
за замовчуванням:"\"parallel\""
Спосіб обробки агентами.
parallel запускає всіх агентів одночасно; sequential запускає їх у порядку масиву.string[]
Груповий JID WhatsApp або номер телефону у форматі E.164. Значенням є масив ідентифікаторів агентів, кожен із яких має обробляти повідомлення від цього співрозмовника.
Обмеження
- Максимальна кількість агентів: жорсткого обмеження немає, але велика кількість агентів (10 і більше) може сповільнювати роботу.
- Спільний контекст: агенти не бачать відповідей один одного (це передбачено архітектурою).
- Порядок повідомлень: паралельні відповіді можуть надходити в довільному порядку.
- Обмеження частоти: усі відповіді надходять з одного облікового запису WhatsApp, тому відповідь кожного агента враховується в межах тих самих обмежень частоти WhatsApp.