Quando Ver Todo Traço de Agente Fica Barato, "Não Dava Pra Ver" Deixa de Ser Defesa

TV
Thiago Victorino
7 min de leitura
Quando Ver Todo Traço de Agente Fica Barato, "Não Dava Pra Ver" Deixa de Ser Defesa

Já argumentamos que o traço é o único lugar onde você controla um agente de produto. Esse argumento tinha um buraco. Todo mundo concordava e em seguida dizia a mesma coisa: não dá pra olhar todos eles.

E estavam certos, até a semana passada. Você nunca conseguiu rodar um agente de código ou um juiz de LLM sobre 100% dos traços de produção. Com milhares de execuções por dia, só a conta de inferência já tornava a cobertura total uma fantasia. Então os times amostravam. Olhavam 1%, ou as execuções que deram erro, e chamavam isso de observabilidade. Os outros 99% rodavam no escuro, e “não dava pra ver” era uma resposta verdadeira e aceitável.

A Braintrust acabou de publicar a arquitetura que encerra essa desculpa. O pipeline Topics deles classifica um traço totalmente novo em cerca de 100 milissegundos, com zero chamada de LLM no momento da classificação. A cobertura total deixou de ser cara. Uma vez que fica barata, a defesa de que você não conseguia ver o que seus agentes fizeram para de funcionar.

O truque: faça o pensamento caro uma vez só

A cobertura total era cara porque todo mundo colocava o modelo no caminho quente. Cada traço novo significava mais uma chamada de inferência para lê-lo, julgá-lo, rotulá-lo. Escala o tráfego, escala a conta. A Braintrust quebrou esse acoplamento com um pipeline de seis estágios que joga o custo para a frente.

O pipeline roda preprocess, facet, embed, cluster, name, classify. O preprocess limita cada traço a 128K tokens. O facet usa um modelo Gemma na Baseten para extrair observações estruturadas do traço, cerca de 10 segundos de trabalho. O embed transforma cada facet em um vetor de 1024 dimensões. O cluster agrupa tudo com HDBSCAN sobre uma redução UMAP, dando conta de até 50 mil facets em cerca de 30 segundos. O name rotula cada cluster. Só então vem o classify.

E o classify é o lance. Um traço novo é faceteado e embedado, depois comparado contra os clusters existentes por distância vetorial. Nenhum modelo o lê para decidir onde ele se encaixa. O trabalho semântico caro aconteceu uma vez, quando o mapa foi construído. Cada traço depois disso é uma busca geométrica barata, cerca de 100 milissegundos, sem chamada de LLM. Você paga o custo pesado para desenhar o mapa e depois anda de graça nele a cada requisição.

É essa a virada econômica inteira. Observabilidade ativa sobre 100% do tráfego virou uma busca vetorial, não uma frota de inferência.

Barato não é funcionalidade. É obrigação.

Quando algo relevante para governança fica barato, ele migra silenciosamente de “seria bom ter” para “sem desculpa para não ter”.

Pense no que “amostramos 1%” significava como postura jurídica e operacional. Significava que, quando um agente saísse errado em escala, vazasse algo, desse um conselho ruim, queimasse dinheiro num loop silencioso, você podia dizer que a execução caiu fora da amostra. O custo de olhar em todo lugar era o seu álibi. Os auditores aceitavam porque a alternativa era genuinamente inviável.

Tire o custo da equação e o álibi vai junto. Se classificar cada traço custa 100 milissegundos e nenhuma chamada de modelo, então “não vimos” deixa de querer dizer “era caro demais ver”. Passa a querer dizer “escolhemos não olhar”. São frases muito diferentes numa análise de incidente, e só uma delas é sobrevivível. O número da Braintrust não deixa só um produto mais rápido. Ele move uma classe inteira de falhas de perdoável para negligente.

Esse é o padrão que vale internalizar. Toda vez que o custo de enxergar despenca, o padrão de cuidado sobe junto. Cobertura total barata é o novo piso, não o novo teto.

Classificações viram colunas em que você dá join

A consequência mais profunda é estrutural. Quando cada traço carrega uma atribuição de cluster calculada em tempo real, essa atribuição deixa de ser um gráfico num dashboard. Vira uma coluna.

Um ID de cluster anexado a cada traço é dado que você consulta. Você pode alertar sobre ele: me acorde quando o tráfego no cluster “disputa de reembolso escalada” triplicar em uma hora. Você pode dar join: cruze o cluster com sua tabela de cobrança e descubra que um único padrão de comportamento responde por 40% do gasto de tokens. Você pode bloquear por ele: roteie qualquer traço que caia num cluster sabidamente ruim para revisão humana antes de a resposta sair. Nada disso exige um humano lendo traços. Exige uma coluna e uma cláusula WHERE.

É este o piso que viemos construindo. O traço é a superfície de controle. A classificação contínua é o que transforma essa superfície em algo sobre o que uma máquina age sem uma pessoa no loop. Você não lê 10 mil traços. Você alerta sobre o cluster que não deveria crescer e dá join no cluster que custa demais contra a tabela que o prova.

Uma ressalva honesta: confie no cluster, não no nome

A Braintrust é direta sobre uma limitação, e ela importa para quem vai construir em cima disso. Os nomes derivam. Rode o estágio de nomeação duas vezes e o cluster que era “pergunta de cobrança” vira “consulta de pagamento”. Por isso eles tratam o cluster, não o nome, como a identidade estável.

Isso é uma restrição de projeto real, não uma nota de rodapé. Se você construir alertas ou regras de roteamento sobre o rótulo legível, eles quebram na próxima vez que o mapa for regerado. Amarre sua lógica de governança à identidade do cluster por baixo, a região geométrica no espaço de embeddings, e deixe o nome ser uma conveniência para humanos lendo o painel. A abordagem remonta ao Clio, da Anthropic, que mapeou o uso real de IA preservando a privacidade. A Braintrust o adaptou para traços de agente, bem menos uniformes que logs de chat, e herdou a mesma lição: a estrutura é estável, as palavras que você pendura nela não são.

Faça isto agora

Descubra que fração dos traços de agente em produção você classifica hoje. Para a maioria dos times, a resposta honesta é a taxa de erro mais uma amostra fininha, e o resto roda às cegas. Depois faça a pergunta que acabou de mudar: se a classificação ativa sobre 100% do tráfego custa 100 milissegundos por traço e nenhuma chamada de modelo, qual é o seu motivo real para não rodar isso? Escreva esse motivo. Se ainda for “caro demais”, confronte-o com a arquitetura da Braintrust, porque essa desculpa venceu semana passada. Se o motivo real for “nunca construímos”, isso é item de roadmap, não defesa.

Escolha um cluster que jamais deveria crescer. Ligue um alerta a ele. Isso é governança de cobertura total, começada numa tarde.


Fontes

A Victorino ajuda times a transformar inteligência de traços com cobertura total em uma obrigação de governança alcançável: contato@victorino.com.br | www.victorino.com.br

Todos os artigos do The Thinking Wire são escritos com o auxílio do modelo LLM Opus da Anthropic. Cada publicação passa por pesquisa multi-agente para verificar fatos e identificar contradições, seguida de revisão e aprovação humana antes da publicação. Se você encontrar alguma informação imprecisa ou deseja entrar em contato com o editorial, escreva para editorial@victorino.com.br . Sobre o The Thinking Wire →

Se isso faz sentido, vamos conversar

Ajudamos empresas a implementar IA sem perder o controle.

Agendar uma Conversa