O que Salas de Bate-papo de Agentes faz?
Gere N agentes (padrão 3) em uma conversa compartilhada simulada. Cada agente lê o histórico completo do chat antes de responder, construindo, desafiando ou refinando contribuições anteriores. Você (o orquestrador) atua como gerente de projeto — moderando rodadas, lendo o debate e extraindo o resultado final.
Por que isso funciona: Entregas sequenciais perdem contexto — o segundo modelo não sabe POR QUE o primeiro tomou suas decisões. Uma conversa compartilhada preserva cadeias de raciocínio e permite um debate genuíno. Quando o Agente A diz "isso precisa de uma fila" e o Agente B diz "um loop simples é suficiente", essa discordância é mais valiosa do que a resposta confiante e isolada de qualquer agente. Os agentes desafiam suposições, detectam erros e sintetizam caminhos de raciocínio diversos.
Execução
1. Analisar a solicitação
Extraia da mensagem do usuário:
- Problema/pergunta a debater
- Número de agentes N — padrão 3. O usuário pode alterar ("faça 5 agentes debaterem")
- Número de rodadas R — padrão 3. O usuário pode alterar ("debata por 5 rodadas")
- Papéis dos agentes (opcional) — o usuário pode especificar papéis ("tenha um arquiteto, um engenheiro de segurança e um desenvolvedor frontend debatendo isso"). Se não especificado, atribua papéis padrão diversos.
Se o problema for vago, peça ao usuário para refiná-lo antes de gerar.
2. Atribuir papéis aos agentes
Cada agente recebe uma perspectiva distinta para maximizar a discordância produtiva. Se o usuário não especificou papéis, escolha entre estes padrões com base no domínio do problema:
Engenharia de software:
- Arquiteto — pensa em sistemas, interfaces, escalabilidade e manutenibilidade de longo prazo
- Pragmático — otimiza para entrega rápida, complexidade mínima, soluções "boas o suficiente"
- Crítico — encontra casos limite, modos de falha, brechas de segurança e suposições não declaradas
Produto/design:
- Defensor do usuário — otimiza para UX, simplicidade, prazer do usuário
- Estrategista de negócios — otimiza para receita, crescimento, vantagem competitiva
- Engenheiro — fundamenta a discussão em viabilidade técnica e custo
Estratégia/decisões:
- Otimista — vê oportunidade, potencial positivo, razões para agir
- Cético — vê risco, desvantagem, razões para esperar
- Sintetizador — encontra o caminho do meio, integra ambas as perspectivas
Para N > 3, adicione mais papéis que criem tensão produtiva com os existentes.
3. Inicializar o arquivo de chat
Crie active/chatroom/chat.json com a estrutura inicial:
{
"problem": "{declaração do problema}",
"context": "{qualquer contexto relevante, código, restrições}",
"agents": [
{"name": "Agente A", "role": "{papel}", "framing": "{descrição do papel}"},
{"name": "Agente B", "role": "{papel}", "framing": "{descrição do papel}"},
{"name": "Agente C", "role": "{papel}", "framing": "{descrição do papel}"}
],
"rounds": [],
"final_output": null
}
4. Executar rodadas de debate
Para cada rodada (1 a R), gere todos os N agentes em paralelo. Cada agente lê o histórico completo do chat e contribui.
Configuração de geração do agente:
subagent_type: "general-purpose"model: "sonnet"(padrão — usuário pode alterar para opus para raciocínio mais profundo)mode: "bypassPermissions"
Procedimento da rodada:
Rodada 1 — Posições iniciais: Cada agente expõe sua visão inicial sobre o problema.
Prompt do agente:
Você é {papel}: {descrição do papel}
PROBLEMA:
{problema}
CONTEXTO:
{contexto}
Esta é a Rodada 1 de um debate multi-agente. Declare sua posição inicial sobre este problema. Seja específico e concreto — proponha soluções reais, não princípios vagos. Tome uma posição clara.
Outros agentes desafiarão sua posição em rodadas subsequentes, então torne seu raciocínio explícito.
Responda neste formato:
POSIÇÃO: [Sua posição em uma frase]
RACIOCÍNIO: [Seu argumento detalhado — 3-5 pontos-chave]
PROPOSTA: [Sua recomendação concreta]
PREOCUPAÇÕES: [O que pode dar errado com sua abordagem]
Escreva sua resposta diretamente — não escreva em nenhum arquivo.
Rodadas 2+ — Debate: Cada agente lê todas as respostas anteriores e responde.
Prompt do agente:
Você é {papel}: {descrição do papel}
PROBLEMA:
{problema}
DISCUSSÃO ANTERIOR:
{todas as entradas de rodadas anteriores, formatadas como "Agente X (Papel): resposta"}
Esta é a Rodada {N} de um debate multi-agente. Leia a discussão anterior cuidadosamente.
Seu trabalho:
1. Responda ao contra-argumento mais forte contra sua posição
2. Identifique onde você CONCORDA com outros agentes (reconheça bons pontos)
3. Identifique onde você ainda DISCORDA e por quê
4. Refine sua proposta com base na discussão até agora
Não apenas repita sua posição anterior. Envolva-se com o que outros disseram. Mude de ideia se eles apresentaram um argumento melhor.
Responda neste formato:
CONCORDÂNCIAS: [O que outros agentes acertaram]
DISCORDÂNCIAS: [Onde você ainda difere e por quê]
PROPOSTA REFINADA: [Sua recomendação atualizada]
CONFIANÇA: [1-10 o quão confiante você está em sua posição refinada]
Escreva sua resposta diretamente — não escreva em nenhum arquivo.
Após cada rodada:
- Colete todas as respostas dos agentes
- Acrescente ao array
roundsemchat.json:
{
"round": 1,
"entries": [
{"agent": "Agente A", "role": "Arquiteto", "response": "..."},
{"agent": "Agente B", "role": "Pragmático", "response": "..."},
{"agent": "Agente C", "role": "Crítico", "response": "..."}
]
}
- Verifique a convergência: se todos os agentes concordarem (confiança 8+, propostas alinhadas), pare antecipadamente — não há necessidade de mais rodadas.
5. Sintetizar o resultado final
Após a última rodada, você (o orquestrador) lê o debate completo e produz uma síntese. NÃO gere outro agente para isso — você mesmo faz.
Analise:
- Onde os agentes convergiram? — estas são conclusões de alta confiança
- Onde eles permaneceram divididos? — estes são trade-offs genuínos que o usuário precisa decidir
- Que preocupações foram levantadas, mas não resolvidas? — estes são riscos a monitorar
- Algum agente mudou de ideia? — mudanças de opinião são sinais fortes
6. Escrever o relatório final
Atualize active/chatroom/chat.json com o final_output, e escreva um resumo legível para active/chatroom/chatroom_report.md:
# Relatório da Sala de Bate-papo de Agentes
**Problema**: {problema}
**Agentes**: {N} | **Rodadas**: {R}
**Data**: {data}
## Participantes
| Agente | Papel | Confiança Final |
|--------|-------|----------------|
| Agente A | {papel} | {confiança}/10 |
| Agente B | {papel} | {confiança}/10 |
| Agente C | {papel} | {confiança}/10 |
## Consenso
{O que todos os agentes concordaram na rodada final}
## Principais Discordâncias
{Onde os agentes permaneceram divididos — apresente ambos os lados de forma justa}
## Ação Recomendada
{Sua síntese como orquestrador — o melhor caminho a seguir considerando todas as perspectivas}
## Riscos Não Resolvidos
{Preocupações levantadas durante o debate que não foram totalmente abordadas}
## Destaques do Debate
{As trocas mais interessantes — onde mentes mudaram ou contra-argumentos fortes surgiram}
## Transcrição Completa
{Link para chat.json ou inclua as principais trocas}
7. Entregar resultados
Apresente ao usuário:
- Síntese de um parágrafo do resultado do debate
- A ação recomendada (sua decisão como orquestrador, informada pelo debate)
- A discordância mais aguda (onde o julgamento do usuário é necessário)
- Caminhos dos arquivos para o relatório e chat.json
Configuração
| Parâmetro | Padrão | Descrição |
|---|---|---|
| N | 3 | Número de agentes na sala de bate-papo |
| R | 3 | Número de rodadas de debate |
| model | sonnet | Modelo para cada agente |
| roles | auto | Papéis dos agentes (atribuídos automaticamente ou especificados pelo usuário) |
O usuário pode alterar: "faça 5 agentes opus debaterem por 4 rodadas" ou "debate entre um arquiteto e um desenvolvedor júnior".
Considerações de custo
- 3 agentes sonnet x 3 rodadas = 9 chamadas de agente (~$0.30-0.50)
- 3 agentes opus x 3 rodadas = 9 chamadas de agente (~$3-5)
- 5 agentes x 5 rodadas = 25 chamadas — fica caro com opus
- Padrão para sonnet. Use opus apenas se o usuário solicitar explicitamente ou se o problema exigir raciocínio técnico profundo.
- Convergência antecipada economiza custos — pare se os agentes concordarem antes de todas as rodadas serem concluídas.
Casos extremos
- N < 2: Avise o usuário — uma sala de bate-papo precisa de pelo menos 2 agentes. Mínimo 2.
- Agentes todos concordam imediatamente: Pare após a rodada 1. Relate consenso unânime. Este é um resultado válido (e barato).
- Agentes em impasse: Após R rodadas sem convergência, relate o impasse honestamente. A conclusão é que esta é uma decisão de julgamento genuína sem uma resposta dominante.
- Agente sai do tópico: Exclua essa resposta da síntese e anote o número efetivo de agentes.
- Arquivos de sala de bate-papo existentes: Verifique
active/chatroom/se há arquivos existentes. Sobrescreva sem perguntar (estes são artefatos de debate efêmeros, não dados persistentes). - Usuário especifica papéis personalizados: Use exatamente o que eles especificarem. Não adicione papéis extras a menos que seja solicitado.
Arquivos de saída
| Arquivo | Descrição |
|---|---|
active/chatroom/chat.json | Transcrição completa e estruturada do debate |
active/chatroom/chatroom_report.md | Relatório de síntese legível |
Relatórios anteriores são sobrescritos — estas são ferramentas de debate efêmeras, não arquivos.