Estado: Experimental. Añadido en 2026.1.9. Solo WhatsApp (canal web).
Descripción general
Los grupos de difusión ejecutan múltiples agentes sobre el mismo mensaje entrante. Cada agente procesa el mensaje en su propia sesión aislada y publica su propia respuesta, de modo que un número de WhatsApp puede alojar un equipo de agentes especializados en un único chat de grupo o DM. Los grupos de difusión se evalúan después de las listas de permitidos del canal y las reglas de activación de grupo. En los grupos de WhatsApp, las difusiones ocurren cuando OpenClaw respondería normalmente (por ejemplo: ante una mención, según la configuración del grupo). Solo cambian qué agentes se ejecutan, nunca si un mensaje es apto para procesarse. La ruta de QA en vivo de WhatsApp incluyewhatsapp-broadcast-group-fanout, que verifica que un mensaje de grupo con mención pueda producir respuestas visibles distintas de dos agentes configurados.
Configuración
Configuración básica
Añade una secciónbroadcast de nivel superior (junto a bindings). Las claves son ids de pares de WhatsApp; los valores son matrices de ids de agentes:
- chats de grupo: JID de grupo (p. ej.,
120363403215116621@g.us) - DM: número de teléfono E.164 del remitente (p. ej.,
+15551234567)
agents.list: la validación de configuración informa los ids desconocidos, y el runtime los omite con una advertencia Broadcast agent <id> not found in agents.list; skipping.
Estrategia de procesamiento
broadcast.strategy define cómo procesan los agentes el mensaje:
| Estrategia | Comportamiento |
|---|---|
parallel (predeterminada) | Todos los agentes procesan simultáneamente; las respuestas llegan en cualquier orden. |
sequential | Los agentes procesan en el orden de la matriz; cada uno espera a que termine el anterior. |
Ejemplo completo
Cómo funciona
Flujo de mensajes
Enrutamiento y admisión
OpenClaw aplica las listas de permitidos del canal, las reglas de activación de grupo y la propiedad de bindings ACP configurada.
Comprobación de difusión
Si ningún binding ACP configurado es propietario de la ruta, OpenClaw comprueba si el ID de par está en
broadcast.Si se aplica la difusión
- Todos los agentes listados procesan el mensaje.
- Cada agente tiene su propia clave de sesión y contexto aislado.
- Los agentes procesan en paralelo (predeterminado) o secuencialmente.
- Los adjuntos de audio se transcriben una sola vez antes de la distribución, por lo que los agentes comparten una transcripción en lugar de realizar llamadas STT separadas.
Los grupos de difusión no omiten las listas de permitidos del canal ni las reglas de activación de grupo (menciones/comandos/etc.). Solo cambian qué agentes se ejecutan cuando un mensaje es apto para procesarse.
Aislamiento de sesión
Cada agente en un grupo de difusión mantiene completamente separados:- Claves de sesión (
agent:alfred:whatsapp:group:120363...frente aagent:baerbel:whatsapp:group:120363...) - Historial de conversación (un agente no ve las respuestas de otros agentes)
- Workspace (sandboxes separadas si están configuradas)
- Acceso a herramientas (listas de permitir/denegar diferentes)
- Memoria/contexto (
IDENTITY.md,SOUL.md, etc. separados)
Ejemplo: sesiones aisladas
En el grupo120363403215116621@g.us con los agentes ["alfred", "baerbel"]:
- Contexto de Alfred
- Contexto de Baerbel
Casos de uso
- Equipos de agentes especializados: un grupo de desarrollo en el que
code-reviewer,security-auditor,test-generatorydocs-checkerresponden cada uno al mismo mensaje desde su propio ángulo. - Soporte multilingüe: un chat de soporte con
support-en,support-de,support-esque responden en sus idiomas. - Aseguramiento de calidad:
support-agentresponde mientrasqa-agentrevisa y solo responde cuando encuentra problemas. - Automatización de tareas:
task-tracker,time-loggeryreport-generatorconsumen todos la misma actualización de estado.
Prácticas recomendadas
1. Mantén los agentes enfocados
1. Mantén los agentes enfocados
Da a cada agente una única responsabilidad clara (
formatter, linter, tester) en lugar de un agente genérico “dev-helper”.2. Usa ids y nombres descriptivos
2. Usa ids y nombres descriptivos
3. Configura accesos a herramientas diferentes
3. Configura accesos a herramientas diferentes
reviewer es de solo lectura. fixer puede leer y escribir.4. Supervisa el rendimiento
4. Supervisa el rendimiento
Con muchos agentes, prefiere
"strategy": "parallel" (predeterminada), limita los grupos de difusión a unos pocos agentes y usa modelos más rápidos para agentes más simples.5. Los fallos permanecen aislados
5. Los fallos permanecen aislados
Los agentes fallan de forma independiente. El error de un agente se registra (
Broadcast agent <id> failed: ...) y no bloquea a los demás.Compatibilidad
Proveedores
Actualmente, los grupos de difusión están implementados solo para WhatsApp (canal web). Otros canales ignoran la configuraciónbroadcast.
Enrutamiento
Los grupos de difusión funcionan junto con el enrutamiento existente:GROUP_A: solo responde alfred (enrutamiento normal).GROUP_B: responden agent1 Y agent2 (difusión).
Precedencia:
broadcast tiene prioridad sobre los bindings de ruta ordinarios. Los bindings ACP configurados (bindings[].type="acp") son exclusivos: cuando uno coincide, OpenClaw despacha a la sesión ACP configurada en lugar de la difusión distribuida.Solución de problemas
Los agentes no responden
Los agentes no responden
Comprobar:Una distribución correcta registra
- Los ID de agente existen en
agents.list(la validación de configuración rechaza ids desconocidos). - El formato de ID de par es correcto (JID de grupo como
120363403215116621@g.us, o E.164 como+15551234567para DM). - El mensaje pasó el filtrado normal (las reglas de mención/activación siguen aplicándose).
Broadcasting message to <n> agents (<strategy>).Solo responde un agente
Solo responde un agente
Causa: el ID de par podría estar en bindings de ruta ordinarios pero no en
broadcast, o podría coincidir con un binding ACP configurado exclusivo.Corrección: añade los pares enlazados a rutas ordinarias a la configuración de difusión, o elimina/cambia el binding ACP configurado si se desea la difusión distribuida.Problemas de rendimiento
Problemas de rendimiento
Si va lento con muchos agentes: reduce el número de agentes por grupo, usa modelos más ligeros y comprueba el tiempo de inicio de la sandbox.
Ejemplos
Ejemplo 1: Equipo de revisión de código
Ejemplo 1: Equipo de revisión de código
Ejemplo 2: Pipeline multilingüe
Ejemplo 2: Pipeline multilingüe
Referencia de API
Esquema de configuración
Campos
Cómo procesar agentes.
parallel ejecuta todos los agentes simultáneamente; sequential los ejecuta en el orden de la matriz.JID de grupo de WhatsApp o número de teléfono E.164. El valor es la matriz de IDs de agente que deben procesar todos los mensajes de ese par.
Limitaciones
- Máximo de agentes: sin límite estricto, pero muchos agentes (10+) pueden ser lentos.
- Contexto compartido: los agentes no ven las respuestas de los demás (por diseño).
- Orden de mensajes: las respuestas paralelas pueden llegar en cualquier orden.
- Límites de tasa: todas las respuestas provienen de una cuenta de WhatsApp, por lo que la respuesta de cada agente cuenta para los mismos límites de tasa de WhatsApp.