O problema
Marketing de uma empresa de tecnologia exige consistência editorial: três posts no LinkedIn por semana, um artigo de blog por mês, peças pra Instagram, sequências de e-mail. Em time pequeno, é o tipo de trabalho que sempre escorrega, não por falta de pauta, mas por falta de execução repetível.
Tentamos o caminho convencional primeiro: ferramentas de IA genéricas, prompts longos, edição humana posterior. Resultado: copy genérica que precisava ser reescrita do zero pra soar como Lóguz. Tempo gasto editando = tempo perdido.
A abordagem
A premissa foi inverter a lógica. Em vez de um modelo grande tentando ser tudo, montamos um time virtual com quatro papéis bem definidos, cada um com sua identidade em markdown injetado no contexto:
- Tom: pesquisador. Captura referências, dados, provas sociais.
- Tiago: copywriter. Transforma research em copy alinhada à voz.
- Nina: designer. Especifica layout, paleta e tipografia consistentes com a identidade.
- Marcelo: revisor. Pontua de 1 a 10 com critérios objetivos e devolve feedback estruturado.
A regra é simples: score ≥7 aprova, 4–6 manda pra rework, abaixo de 4 escala pra revisão humana. O loop de feedback fica entre Tiago/Nina e Marcelo até cruzar a barreira ou pedir ajuda.
Como funciona
- Briefing: humano cria o briefing pelo painel (canal, tema, formato, objetivo).
- Tom pesquisa: busca referências, captura insights, devolve um dossier estruturado.
- Tiago e Nina executam em paralelo: copy + design saem ao mesmo tempo.
- Marcelo revisa: pontuação por critério (clareza, voz, ângulo, prova, CTA).
- Loop: se score abaixo de 7, devolve com feedback específico; Tiago/Nina iteram.
- Aprovação humana final: entra só pra peças que passaram do filtro automatizado.
- Persistência: todas as iterações ficam no Supabase, schema dedicado, com RLS.
A execução de cada agente é feita via Claude Code CLI chamado por subprocess. Cada agente tem seu próprio prompt-base em markdown, versionado em git, ajustável sem deploy. Mudou a voz da marca? Edita o markdown, comita, roda, sem alterar código Python.
Stack escolhida
- FastAPI: servidor leve pra orquestrar a fila de jobs e expor a API pro front.
- React 19 + TanStack Query: painel pra criar briefings, acompanhar status, aprovar peças.
- Supabase: schema próprio (
agenciavirtual), RLS pra isolar campanhas, Storage pra mockups. - Claude Code CLI via subprocess: executa cada agente como processo isolado, com
--print --output-format json. Permite trocar de modelo sem reescrever orquestração. - Markdown como contrato: cada personalidade vive num arquivo
.md. É a fonte canônica da voz.
O resultado
A Agência Virtual entrou na operação interna da Lóguz. Hoje produz a maior parte da pauta de LinkedIn, blog e e-mail, com tempo humano gasto majoritariamente em edição editorial (decisão de ângulo, escolha de exemplos), não mais em escrita do zero.
A tese se confirmou: agentes especializados com contratos claros + loop de feedback objetivo + execução isolada = pipeline previsível. O custo marginal de adicionar um quinto agente (ex: Sara, especialista em SEO técnico) é baixo: basta novo markdown, novo papel no fluxo.
Tem um time pequeno tentando produzir conteúdo em escala? Vamos conversar.
