Grupos de transmissão
Status: ExperimentalVersão: Adicionado na versão 2026.1.9
Visão geral
Os Grupos de transmissão permitem que vários agentes processem e respondam à mesma mensagem simultaneamente. Isso permite criar equipes especializadas de agentes que trabalham juntas em um único grupo ou DM do WhatsApp — tudo usando um único número de telefone. Escopo atual: somente WhatsApp (canal web). Os grupos de transmissão são avaliados após as listas de permissões do canal e as regras de ativação de grupo. Em grupos do WhatsApp, isso significa que as transmissões ocorrem quando o OpenClaw normalmente responderia (por exemplo: em uma menção, dependendo das configurações do seu grupo).Casos de uso
1. Equipes especializadas de agentes
Implante vários agentes com responsabilidades atômicas e focadas:2. Suporte multilíngue
3. Fluxos de trabalho de garantia de qualidade
4. Automação de tarefas
Configuração
Configuração básica
Adicione uma seçãobroadcast no nível superior (ao lado de bindings). As chaves são ids de pares do WhatsApp:
- conversas em grupo: JID do grupo (por exemplo,
120363403215116621@g.us) - DMs: número de telefone E.164 (por exemplo,
+15551234567)
Estratégia de processamento
Controle como os agentes processam mensagens:Paralela (padrão)
Todos os agentes processam simultaneamente:Sequencial
Os agentes processam em ordem (um espera o anterior terminar):Exemplo completo
Como funciona
Fluxo da mensagem
- Mensagem recebida chega em um grupo do WhatsApp
- Verificação de transmissão: o sistema verifica se o ID do par está em
broadcast - Se estiver na lista de transmissão:
- Todos os agentes listados processam a mensagem
- Cada agente tem sua própria chave de sessão e contexto isolado
- Os agentes processam em paralelo (padrão) ou sequencialmente
- Se não estiver na lista de transmissão:
- O roteamento normal é aplicado (primeiro binding correspondente)
Isolamento de sessão
Cada agente em um grupo de transmissão mantém completamente separados:- Chaves de sessão (
agent:alfred:whatsapp:group:120363...vsagent:baerbel:whatsapp:group:120363...) - Histórico da conversa (um agente não vê as mensagens dos outros agentes)
- Workspace (sandboxes separados, se configurado)
- Acesso a ferramentas (listas diferentes de permitir/negar)
- Memória/contexto (IDENTITY.md, SOUL.md etc. separados)
- Buffer de contexto do grupo (mensagens recentes do grupo usadas como contexto) é compartilhado por par, então todos os agentes de transmissão veem o mesmo contexto quando acionados
- Personalidades diferentes
- Acesso a ferramentas diferente (por exemplo, somente leitura vs. leitura e escrita)
- Modelos diferentes (por exemplo, opus vs. sonnet)
- Skills diferentes instaladas
Exemplo: sessões isoladas
No grupo120363403215116621@g.us com agentes ["alfred", "baerbel"]:
Contexto do Alfred:
Boas práticas
1. Mantenha os agentes focados
Projete cada agente com uma responsabilidade única e clara:❌ Ruim: um agente genérico “dev-helper”
2. Use nomes descritivos
Deixe claro o que cada agente faz:3. Configure acessos diferentes às ferramentas
Dê aos agentes apenas as ferramentas de que precisam:4. Monitore o desempenho
Com muitos agentes, considere:- Usar
"strategy": "parallel"(padrão) para velocidade - Limitar grupos de transmissão a 5–10 agentes
- Usar modelos mais rápidos para agentes mais simples
5. Trate falhas com elegância
Os agentes falham de forma independente. O erro de um agente não bloqueia os outros:Compatibilidade
Provedores
No momento, os grupos de transmissão funcionam com:- ✅ WhatsApp (implementado)
- 🚧 Telegram (planejado)
- 🚧 Discord (planejado)
- 🚧 Slack (planejado)
Roteamento
Os grupos de transmissão funcionam junto com o roteamento existente:GROUP_A: apenas alfred responde (roteamento normal)GROUP_B: agent1 E agent2 respondem (transmissão)
broadcast tem prioridade sobre bindings.
Solução de problemas
Agentes não respondem
Verifique:- Os IDs dos agentes existem em
agents.list - O formato do ID do par está correto (por exemplo,
120363403215116621@g.us) - Os agentes não estão em listas de negação
Apenas um agente responde
Causa: o ID do par pode estar embindings, mas não em broadcast.
Correção: adicione-o à configuração de transmissão ou remova-o de bindings.
Problemas de desempenho
Se estiver lento com muitos agentes:- Reduza o número de agentes por grupo
- Use modelos mais leves (sonnet em vez de opus)
- Verifique o tempo de inicialização do sandbox
Exemplos
Exemplo 1: equipe de revisão de código
Respostas:
- code-formatter: “Corrigi a indentação e adicionei dicas de tipo”
- security-scanner: “⚠️ Vulnerabilidade de injeção de SQL na linha 12”
- test-coverage: “A cobertura está em 45%, faltam testes para casos de erro”
- docs-checker: “Falta docstring para a função
process_data”
Exemplo 2: suporte multilíngue
Referência da API
Esquema de configuração
Campos
strategy(opcional): como processar agentes"parallel"(padrão): todos os agentes processam simultaneamente"sequential": os agentes processam na ordem do array
[peerId]: JID de grupo do WhatsApp, número E.164 ou outro ID de par- Valor: array de IDs de agentes que devem processar mensagens
Limitações
- Máximo de agentes: não há limite rígido, mas 10+ agentes podem ser lentos
- Contexto compartilhado: os agentes não veem as respostas uns dos outros (por design)
- Ordem das mensagens: respostas paralelas podem chegar em qualquer ordem
- Limites de taxa: todos os agentes contam para os limites de taxa do WhatsApp
Melhorias futuras
Recursos planejados:- Modo de contexto compartilhado (agentes veem as respostas uns dos outros)
- Coordenação entre agentes (os agentes podem sinalizar uns aos outros)
- Seleção dinâmica de agentes (escolher agentes com base no conteúdo da mensagem)
- Prioridades de agentes (alguns agentes respondem antes dos outros)