IntelBuzz · Buzz Giro · Arquitetura · v1 · 16/08/2026 · núcleo único de estado, especialistas de julgamento na borda

Um agente ou vários? O mapa do Giro

Complementa o desenho do agente e o placar da onda 0. Aqui está onde a gente corta em agentes separados, onde não corta, e o contrato entre eles.

A regra que decide tudo: divide-se por fronteira de dado, nunca por etapa de processo. Se dois agentes precisam do mesmo estado para decidir, eles são um agente. Se um precisa de contexto que o outro não tem, são dois. Etapa de processo é uma divisão que agrada em slide e machuca em produção, porque o processo é sequencial mas o dado é compartilhado.

1 · Por que não fatiar o ciclo do card

A Buzz já opera em arquitetura multiagente hoje, sem ter chamado assim: 159 crons ativos e 66 serviços rodando na VPS. Monitor de 30 minutos, watcher do Canal Aberto, cadência da fase Lead, BZ Proativo, guardião, cobrança de retirada de pauta.

E o resultado dessa arquitetura é exatamente o diagnóstico que originou o Giro: a máquina não é lenta, ela para. Não faltaram agentes. Faltou dono do card inteiro. Cada um vigia sua fatia e solta a mão: o watcher do Canal Aberto larga no 3º dia, o Card Rápido larga quando o card sai da fase Lead. O lead cai no vão entre os agentes.

Fatiar o ciclo de vida do card em agentes recria o vão, com nomes melhores. "Agente de aceite", "agente de cadência" e "agente de decisão" precisam todos da mesma resposta: o que já aconteceu com esse card. Isso é estado compartilhado puro, e estado compartilhado dividido é a origem de todo bug de coordenação.

2 · O desenho: núcleo único, especialistas na borda

Núcleo · Giro onda 0 no ar

É dono do estado e é indivisível. Mantém o relógio de cada card, decide o estado, levanta flag, monta balde e fila de decisão. É o único que escreve no CRM e o único que fala com a equipe.

Hoje: execution/giro_estado.py classifica 3.980 cards em 9 estados, validado contra o Bitrix. Dono operacional: RevOps.

Especialista 1 · Perfilador próximo

Pergunta que responde: "o que esse cliente quer?" Lê notas, comentários e conversa, e devolve valor, bairro, tipo e quartos.

Por que é agente separado: é interpretação de texto ambíguo, precisa de LLM, erra de um jeito próprio (inventa dado que não está lá) e melhora com prompt, não com regra. Não tem nada a ver com contar prazo.

Por que vale a pena: 1.521 cards abertos estão sem perfil e por isso são invisíveis pro motor de sugestão do BZ Proativo. Perfil é combustível, não enfeite.

Especialista 2 · Auditor próximo

Pergunta que responde: "esse registro é confiável?" Procura prova de fachada (registro sem evento correspondente no Bitrix), valor implausível, campo preenchido na mão, padrão de cadastro sem trabalho.

Por que é agente separado: porque ele audita o núcleo, e auditor que roda dentro do auditado não audita nada. Precisa de fonte e execução independentes para ter valor.

Por que vale a pena: já achou coisa na onda 0 sem existir formalmente: card de R$ 4,25 bilhões, 6 cards com valor implausível, 111 cards órfãos com gente desligada. É o insumo direto do laudo do RevOps.

Especialista 3 · Resgate desligado até a fase 2

Pergunta que responde: "o cliente ainda está vivo?" Se o corretor não toca no prazo, manda a primeira mensagem ao cliente e devolve o contexto pro corretor.

Por que é agente separado: por risco, não por elegância. Ele é o único que fala com o cliente. Isolamento de falha aqui é obrigatório: ele precisa poder ser desligado sozinho, sem parar o resto.

Estado: desenhado e desligado. Só liga por decisão do COO, com o resultado das ondas 1 a 3 na mesa.

3 · O contrato entre núcleo e especialista

Regra de ouro: especialista não escreve, especialista responde. Só o núcleo escreve no CRM e só o núcleo fala com a equipe. O especialista recebe uma pergunta específica, devolve uma resposta estruturada com grau de confiança, e o núcleo decide o que fazer com ela. Assim existe um ponto único de auditoria: quando o Leandro perguntar "por que esse card foi flagado", a resposta tem um só lugar.
ContratoPerfiladorAuditorResgate
Entradanotas, comentários e histórico do cardcard + eventos + atividades do Bitrixcard + histórico + carteira compatível
Saídaperfil estruturado + confiança + trecho que gerou a conclusãoveredito (confiável, suspeito, sem evidência) + motivorascunho de mensagem, nunca envio direto
Escreve no CRM?não, o núcleo gravanão, o núcleo gravanão, o núcleo despacha
Como errainventa dado que não está no textoacusa quem não fez nada erradofala o que não devia com o cliente
Custo do errobaixo: perfil errado gera sugestão ruimalto: mancha reputação de corretoraltíssimo: chega no cliente e não volta
Travasó grava com confiança alta; abaixo disso vira pergunta pro corretor no Card Rápidonunca vira cobrança automática; sai só no laudo do RevOps, com card citadoteto de 1 mensagem por cliente, horário comercial, corretor em cópia, kill switch
DonoRevOpsRevOpsCOO, decisão a cada onda
Quando desligarconfiança média abaixo do piso por 2 semanasrejeição de veredito acima de 5%qualquer reclamação de cliente

O formato da conversa

Chamada síncrona, sem fila de mensagens entre agentes. Especialista é função, não é colega de trabalho do núcleo: recebe, responde, morre. Sem estado próprio, sem memória entre chamadas, sem conversar com outro especialista.

núcleo → perfilador: {card_id, textos[], pergunta: "perfil"}
perfilador → núcleo: {valor, bairro, tipo, quartos, confianca: 0.0-1.0, evidencia: "trecho"}

núcleo decide:
  confianca >= 0.8  → grava no card e segue
  confianca <  0.8  → não grava, vira pergunta pro corretor no Card Rápido
  sem resposta      → segue sem perfil, marca flag e não trava o giro

A última linha é a mais importante: o núcleo nunca fica bloqueado esperando especialista. Especialista fora do ar degrada a qualidade, não para a operação. É o oposto do que acontece quando se fatia o ciclo do card, onde um agente parado trava a esteira inteira.

4 · O que nunca vira agente separado

Não separar

  • Relógio, prazo e estado do card
  • Regra de escalada e quem cobra quem
  • Fila de mensagem e teto de 3 por dia
  • Classificação de balde
  • Qualquer coisa que precise saber "o que já aconteceu com esse card"

Pode separar

  • Interpretação de texto livre
  • Auditoria de qualidade (é adversarial por natureza)
  • Contato com o cliente (risco isolado)
  • Casamento lead x imóvel (competência do Vista, não do funil)
  • Qualquer coisa que responda uma pergunta fechada sem precisar do histórico

5 · O custo real de cada agente novo

Isso não é teoria, é a operação de vocês: existe um vigia só para monitorar as esteiras de cron, porque elas quebram. Em 16/08/2026, achei o Placar da Empresa parado há 7 horas por uma máscara de ACL zerada.

Cada agente novo custa: um cron, um log, um dono, uma entrada no vigia e um caminho a mais para o corretor receber mensagem.

O caminho de mensagem é o pior deles. Com N agentes falando, o teto de 3 mensagens por dia vira uma negociação entre eles: quem cede a vez? Hoje isso é resolvido por fila única. Em multiagente puro, precisaria de um coordenador, que é um agente novo, que também quebra.

Custo de coordenação cresce mais rápido que o benefício. Numa consultoria isso é elegante porque eles entregam e vão embora. Aqui alguém convive com o resultado toda segunda de manhã.

6 · As 3 perguntas antes de criar qualquer agente novo

1. Ele precisa saber o histórico do card pra decidir? Se sim, é o núcleo. Não crie.

2. Ele erra de um jeito diferente dos outros? Se erra igual, é a mesma competência e não justifica separação. Se erra diferente, precisa de trava própria e aí faz sentido.

3. Ele pode cair sem parar a operação? Se a queda dele trava o giro, ele não é especialista, é dependência crítica disfarçada. Traga pro núcleo ou torne opcional de verdade.

7 · Resumo da posição

Não é "camadas em vez de multiagentes". É camadas onde o dado é compartilhado, agentes onde o julgamento é diferente. O núcleo do Giro é indivisível porque é um relógio por card. Perfilador, Auditor e Resgate são separados porque respondem perguntas que o relógio não sabe responder e erram de formas que precisam de travas diferentes. A onda 0 provou que o núcleo é viável: 3.980 cards classificados, validação batendo 100% contra o Bitrix.