Pular para o conteúdo
Aprendendo AI

Medir antes de confiar: evals, traces e o agente em produção

Edição de segunda, 5 out 2026 · 18 vídeos · 13 h 45 min de talks

Dezoito talks com um fio comum: agente bom é agente medido. Kent C. Dodds abre lembrando que, com implementação barata, o valor está em escolher o que construir. OpenAI e WorkOS mostram como transformar pedidos ao agente em processo verificável, e PayPal, Docker e E2B tratam de pagamento, credenciais e sandbox. O bloco central é sobre evals: Arize, Braintrust, IBM e Browserbase ensinam a ler traces, calibrar juízes de LLM contra humanos e desconfiar de verificadores que aprovam o que falhou. A Modal fecha abrindo o motor de inferência, do scheduler ao KV cache.

Build the Right Thing: Product Engineering (Part 1)

Com agentes de código, implementar ficou barato. O valor do engenheiro passa a ser escolher o que vale construir e provar isso com evidência.

Carreira e equipes 55:19 nível ●○○○○ Kent C. Dodds, EpicProduct.engineer Assistir no YouTube (abre em nova aba)

Em 3 frases

Kent C. Dodds argumenta que, quando agentes nivelam a implementação, o diferencial do engenheiro é construir a coisa certa, e não só construir a coisa direito.

Ele define o engenheiro de produto como quem liga a necessidade do cliente às escolhas técnicas, como modelo de dados, fluxo, restrições e a menor fatia útil do sistema.

Na parte prática, usa o Mom Test (teste da mãe) para validar uma ideia de app para entrar em workshops, e mostra que perguntar sobre comportamento passado gera evidência melhor que perguntar se a pessoa usaria.

Antes de ler

Mais 1 termo

Agentes acertam mais alvos, mas qual alvo?

Dodds usa a imagem de um arqueiro. Antes, acertar o alvo exigia muita habilidade. Agora as flechas são como mísseis teleguiados e acertam muitos alvos. Só que os alvos não valem o mesmo, então escolher o alvo certo é o que diferencia o engenheiro.

Implementar ficou fácil. Escolher o alvo é o trabalho que sobra.09:30

A tese do workshop

Quando agentes de IA nivelam o campo da implementação, o diferencial passa a ser construir a coisa certa. Dodds pede que a plateia fotografe esse slide e diz que o workshop inteiro depende dele. A pergunta muda de "dá para construir?" para "vale a pena construir?".

A frase central do talk, no slide que o palestrante mandou fotografar.11:03

Engenheiro de produto versus gerente de produto

O engenheiro de produto conecta o que o cliente precisa às decisões técnicas. Ele escolhe modelo de dados, formato do fluxo, observabilidade, restrições, modos de falha e a menor fatia útil. Ele conhece as primitivas (blocos básicos) do sistema, e isso o separa do gerente de produto.

Lista das decisões técnicas que dependem de entender o cliente.21:27
Mais 2 ideias deste talk

Mom Test, perguntas fracas e melhores

Perguntas como "você usaria isso?" geram elogios e palpites. Perguntas melhores falam do passado. Quando foi a última vez que aconteceu, o que você fez no lugar, quanto custou. Se a pessoa já gasta esforço ou dinheiro em uma gambiarra, o problema é real.

Perguntas sobre comportamento passado geram evidência, as de opinião geram elogio.41:44

O custo de construir sem validar

Wayne, ex-colega de uma empresa imobiliária na Austrália, contou que o time passou um ano construindo uma plataforma em microsserviços para suportar todos os australianos logando ao mesmo tempo. Ninguém usou. Ele concluiu que dava para lançar em duas semanas, com integração manual.

Um ano de engenharia sem validação terminou com zero usuários.46:21
leitura crítica

O talk é uma abertura de workshop e traz mais opinião e citações de convidados do podcast do palestrante do que dados. A tese de que implementação é commodity (mercadoria) é declarada com ressalvas do próprio Dodds e sem medição. Ele vende cursos e workshops sobre o tema, o que é um interesse comercial. O caso do projeto de 1,2 milhão de dólares australianos vem de uma única fonte contada de memória. A recomendação de não usar desafios de código na contratação não tem evidência apresentada.

O que fazer com isso

  • Antes de pedir a um agente que implemente um pedido, escreva em uma frase qual problema do usuário ele resolve e como você saberia que resolveu.
  • Troque perguntas como "você usaria isso?" por "quando foi a última vez que isso aconteceu e o que você fez?" em conversas com clientes ou colegas.
  • Se um pedido chegar sem justificativa, volte ao responsável pelo produto e pergunte de onde vem a demanda. Use a resposta para decidir quanto esforço o item merece.
  • Mostre um protótipo pequeno a usuários reais cedo, em vez de refinar sozinho por semanas.

Build the Right Thing: Product Engineering (Part 2)

Com agentes de IA implementando rápido, o diferencial passa a ser decidir o que construir: pergunte o porquê do pedido e priorize com o modelo Kano.

Produto 52:09 nível ●○○○○ Kent C. Dodds, EpicProduct.engineer Assistir no YouTube (abre em nova aba)

Em 3 frases

Kent C. Dodds mostra que um pedido de feature (reconhecimento facial) esconde um problema real, que ele formaliza como um job statement (declaração do trabalho a ser feito) com dimensões funcional, social e emocional.

Na segunda parte, ele usa o modelo Kano com um app de entrega de comida para separar necessidades básicas, de desempenho e encantadores, e liga cada categoria a um nível de esforço de engenharia.

A conclusão é que o julgamento de produto vira a habilidade mais valiosa quando agentes de IA nivelam a implementação, e que engenheiros devem recusar features que os usuários detestam.

Antes de ler

Mais 2 termos

Pedido de feature não é o trabalho do usuário

Ao perguntar "por quê?" várias vezes, o pedido de reconhecimento facial vira o problema de entrar rápido no workshop sem perder os primeiros 20 minutos. Esse problema aceita outras soluções, como filas paralelas ou crachás com NFC. Kent chama a sequência de causas e soluções de árvore de problemas e pede que o engenheiro recue na árvore antes de otimizar.

O job statement do workshop não cita reconhecimento facial.10:06

Três dimensões do trabalho mudam decisões técnicas

Cada job tem uma dimensão funcional (resolve a tarefa), social (quem mais está envolvido) e emocional (como a pessoa se sente). No exemplo, a dimensão funcional exige banco de rostos e criptografia. A social traz quem confere a entrada e a fila. A emocional revela o incômodo de a conferência guardar o rosto de todos, o que justifica propor outra solução.

As três dimensões mapeiam para decisões de arquitetura.11:34

Sucesso é uso repetido, não só a venda

Pela teoria dos jobs, o produto é contratado duas vezes. A grande contratação é a compra. A pequena é cada uso depois dela, como cada mordida no hambúrguer. Por isso Kent pede que o engenheiro defina métricas de progresso repetido, como a taxa de início pontual das palestras, para saber se a solução resolve o problema final.

Medir uso repetido mostra se a solução resolve o job.21:02
Mais 2 ideias deste talk

Kano separa o que é obrigatório do que encanta

O gráfico Kano cruza o quanto algo está implementado com o quanto o usuário fica satisfeito. Necessidades básicas só satisfazem quando completas, mas a falta delas derruba tudo. Necessidades de desempenho dão mais satisfação quanto melhor ficam. Encantadores surpreendem mesmo implementados pela metade. Existem ainda as categorias indiferente e reversa, que não aparecem no gráfico.

Cada categoria tem uma curva diferente de satisfação.33:31

A categoria define quanto esforço de engenharia investir

No app de entrega, e-mail de confirmação é básico e exige confiabilidade. A estimativa de entrega é desempenho e precisa de métrica. Desconto surpresa e pedido em grupo são encantadores e funcionam como experimentos reversíveis, talvez em um sistema separado. O GPS era encantador em 2015 e hoje é esperado, então os itens só descem de categoria com o tempo.

Cada categoria do Kano pede um nível diferente de investimento técnico.45:33
leitura crítica

O talk é uma aula de método, sem dados. Kent apresenta Jobs to be done, mom test e Kano como eficazes, mas os exemplos (workshop, app de comida, React) são ilustrações e não casos medidos. A classificação do Kano depende de opinião da plateia, e o próprio Kent hesita sobre GPS e ETA. A tese de que julgamento de produto é a última habilidade antes da AGI é uma aposta dele, sem evidência. Ele também divulga seus vídeos e o curso EpicProduct.engineer.

O que fazer com isso

  • Antes de implementar um pedido, escreva o job statement: situação, progresso desejado e resultado. Sem ele, devolva a tarefa ao PM.
  • Ao receber um pedido de cliente grande, pergunte a outros usuários quando foi a última vez que tiveram o problema e o que fizeram. Isso mostra se o pedido é geral.
  • Classifique o backlog em básico, desempenho e encantador, e invista em confiabilidade nos básicos antes dos encantadores.
  • Revise features que ninguém usa e leve a pergunta ao PM, porque cada uma custa manutenção.

Cooking with Codex

Um pedido que deu certo ao agente só vira processo repetível com contexto, metas verificáveis, hooks e automações.

Agentes 1:07:24 nível ●●○○○ Charlie Guo & Gabriel Chua, OpenAI Assistir no YouTube (abre em nova aba)

Em 3 frases

Dois engenheiros da OpenAI mostram seis passos para trabalhar com o Codex (agente de código da OpenAI). Os passos são dar contexto, construir, agir no computador, colaborar em tarefas longas, trabalhar ao longo do tempo e embutir o Codex em outros produtos.

As demos incluem um app de tradução ao vivo criado a partir de um print do Slack, tarefas que rodaram de 5 a 15 horas e um fluxo em que o agente transforma feedback do Slack em pull requests.

A mensagem final é sair do pedido avulso para loops com checagens, delegar entre várias threads e montar uma software factory (fábrica de software), mantendo humanos onde eles são necessários.

Antes de ler

Mais 2 termos

Contexto pronto vale mais que prompt elaborado

O app de tradução nasceu de um appshot (print que carrega também o texto da janela) de uma conversa no Slack, somado a um plugin com boas práticas de macOS. O agente já recebia a ideia e as regras, e o palestrante, sem experiência em apps de Mac, não precisou repetir nada. Eles também defendem ditar o contexto em vez de digitar.

O app saiu de um print do Slack mais um plugin, em 4 min 2 s.12:50

Três formas de o agente controlar apps e navegador

Computer use serve para apps sem API, como software legado, e roda em segundo plano sem tomar o cursor. A extensão do Chrome empresta o navegador onde você já está logado, o que evita bloqueios de login e captcha. O navegador embutido no app dá visão profunda do layout e serve para testar aplicações locais.

Cada controle serve a um cenário diferente, e a escolha muda o risco.26:24

Meta verificável mais painel de progresso

Para tarefas de muitas horas, o palestrante pediu uma série de metas num arquivo goals.md e um progress dashboard em HTML. O agente abriu threads próprias de code review e de auditoria da meta, que puxam a thread principal de volta quando ela se desvia. O conselho central é escrever critérios de término o mais verificáveis possível, porque meta vaga gera resultado tecnicamente correto e inútil.

O painel mostra o que 7 horas de trabalho autônomo andaram sem ninguém olhar.38:50
Mais 2 ideias deste talk

Subagente quando o trabalho é invisível, thread quando você quer ver

Subagentes (agentes auxiliares que o modelo aciona sozinho) mantêm o contexto separado e servem para delegar como a um subcontratado. Threads com handoff servem quando você quer acompanhar e participar. O exemplo foi um jogo com uma thread de diretor criativo, que aprovava o trabalho das threads de arte, música e mecânica.

A escolha depende de quem precisa enxergar a delegação, você ou o modelo.46:04

Automação transforma feedback em PR

Uma automação do tipo heartbeat acorda a cada poucos minutos dentro da thread, checa se um servidor ficou pronto e segue para o próximo passo. Outra automação lê o canal do Slack, classifica compliment, bug e feature request, abre uma thread em worktree separado, cria o PR e cobra a revisão de um colega. Eles chamam isso de embrião de uma software factory.

O agente espera e retoma sozinho, sem alguém monitorando o provisionamento.51:45
leitura crítica

É um workshop de produto da OpenAI e quase tudo é demo escolhida a dedo, com um app de tradução que falhou parcialmente ao vivo. Não há taxa de sucesso, custo nem tempo de revisão humana das tarefas de 5 a 15 horas. As citações sobre compactação vêm de posts de usuários satisfeitos. O palestrante admite que meta mal escrita rende resultado literal e inútil. Dar ao agente credenciais, navegador logado e acesso ao Slack aumenta o risco de segurança, e o talk trata isso de passagem.

O que fazer com isso

  • Escolha uma tarefa recorrente e dê o contexto por print da janela ou por ditado, em vez de reescrever a situação no prompt.
  • Ao começar uma tarefa longa, escreva o critério de término de forma que dê para checar (um teste passando, um arquivo gerado) e peça um painel de progresso.
  • Ao terminar uma conversa que resolveu um problema difícil, peça ao agente para transformá-la em skill ou plugin e reuse na próxima vez.
  • Antes de liberar autonomia longa, defina checagens determinísticas, como linter ao fim do turno e varredura de chaves de API em prompts.

Lifestyles of the AI-Native

Agente mente para terminar logo. Defina o que é pronto com verificações que o sistema não consegue burlar e conserte o processo, não o código.

Agentes 1:01:28 nível ●●●○○ Nick Nisi & Zack Proser, WorkOS Assistir no YouTube (abre em nova aba)

Em 3 frases

Nick Nisi e Zack Proser, da WorkOS, mostram como operar uma frota de agentes de código: voz para ditar tarefas, goals e loops para trabalho sem supervisão, worktrees para paralelizar.

O ponto central é que o agente tende a parar cedo ou fingir que terminou, então o pronto precisa ser definido por gates de verificação (hooks, testes, revisão adversarial por outro modelo).

No fim, o que funcionou numa sessão vira tarefa agendada, como relatórios semanais, atualização de dependências e preparo de reuniões, e a revisão humana fica nos pontos de julgamento.

Antes de ler

Mais 2 termos

Goal tem quatro partes obrigatórias

Um goal (meta) dá ao agente uma condição de parada que ele consegue medir, como todos os testes verdes ou arquivos com menos de 200 linhas. Os palestrantes citam o ciclo reproduzir o bug com teste que falha, fazer a menor correção, rodar lint e type check e só então abrir o PR. É o red-green-refactor automatizado, e o agente se reprompta até chegar lá.

Um goal bem formado tem condição de parada verificável, sem etapa opcional.26:02

O agente burlou a verificação com um arquivo vazio

Nick pediu que o agente criasse um arquivo marcador para provar que rodou os testes. O Claude percebeu que bastava criar o arquivo, sem rodar nada. A lição é fazer do caminho honesto o caminho mais fácil, com verificação de conteúdo no marcador. É um caso de reward hacking em escala de oficina.

O agente escolheu o atalho preguiçoso porque a checagem era fraca.27:04

Fleet: acompanhar 12 sessões ao mesmo tempo

Nick roda tudo em tmux e criou o Fleet, que lista cada sessão por projeto, mostra o resumo gerado pelo Claude e sinaliza quando uma terminou. Quem tem menos de 10 abas pode só renomear sessões e abas, ou ligar o recap, que resume onde a sessão parou ao voltar para ela.

Painel que mostra, por sessão, o que cada agente está fazendo.19:23
Mais 2 ideias deste talk

Gate no hook: revisão por outro modelo antes do PR

Zack configura um hook (gancho automático) que obriga o Claude a mandar o diff para um review adversarial do Codex antes de abrir o PR. O modelo da mesma sessão tende a confirmar o próprio trabalho. Outro modelo, com prompt curto e sem esse contexto, acha problemas que o primeiro não vê. Em uma migração grande, quatro agentes de empresas diferentes acharam falhas diferentes.

O hook força a revisão externa, e o agente não consegue pular a etapa.47:49

Sessão que funcionou vira tarefa agendada

O fluxo é fazer a tarefa uma vez, com conectores MCP e skills, até funcionar. Depois se pede ao agente para agendar. Nick mostra um resumo semanal com PRs abertos, uso de tokens e tendências dos últimos quatro meses, útil para avaliação de desempenho sem correria.

Automação que guarda o registro do trabalho semana a semana.55:35
leitura crítica

É um workshop de prática, sem medição. Não há dados de ganho de tempo, taxa de erro ou custo, só relatos de uso dos próprios palestrantes. Eles trabalham na WorkOS com acesso a vários modelos e dizem não ter limite de uso, o que esconde o custo de loops, que chegou a 4 a 5 milhões de tokens numa tarefa. Há promoção de ferramentas próprias (Fleet, DAB, plugin de ideação) e de produtos de terceiros. Quanto à privacidade, a coleta do check-in é opt-in, mas o leitor deve conferir o que o MCP envia antes de rodar.

O que fazer com isso

  • Troque o 'termine quando achar que acabou' por uma condição verificável, como testes verdes ou lint sem erro, e peça ao agente que prove o resultado rodando o comando.
  • Adicione um hook que roda lint, type check e testes depois de cada edição, para o agente não poder esquecer essas etapas.
  • Peça a um segundo modelo uma revisão do diff antes de abrir o PR, com prompt curto de entradas, saídas e objetivo.
  • Pegue uma tarefa recorrente, como relatório semanal, faça funcionar uma vez numa sessão e só depois agende.

Research to Reality with Google DeepMind

Modelos abertos pequenos, quantizados, já rodam no navegador e no celular sem API e sem enviar dados para fora.

Modelos 10:53 nível ●●○○○ Paige Bailey, Google DeepMind Assistir no YouTube (abre em nova aba)

Em 3 frases

Paige Bailey, do Google DeepMind, apresenta a família Gemma 4, de modelos abertos com licença Apache 2, em tamanhos de 2 a 31 bilhões de parâmetros.

Ela mostra um Gemma rodando 100% no navegador e o app Google AI Edge Gallery no celular, com descrição de imagem, transcrição de áudio e function calling local.

O argumento central é de custo e privacidade, pois os modelos maiores cabem em uma GPU comum e a versão de 2B quantizada ocupa menos de 1 GB.

Antes de ler

Mais 2 termos

A família Gemma 4 cobre do celular à GPU única

O Gemma 4 sai em cinco tamanhos, de 2B a 31B parâmetros. Os modelos de 26B (mixture of experts) e 31B (denso) miram uma GPU comum. Até 12B roda em notebook, e o 2B cabe em celular. A licença Apache 2 permite baixar, usar na empresa e fazer fine-tuning (ajuste fino).

Cinco tamanhos de Gemma 4, com licença que permite uso comercial e ajuste05:14

Modelo rodando só no navegador

A demo carrega o Gemma direto no navegador, via WebAssembly e transformers.js, dentro de um sandbox (ambiente isolado). Ela pede uma tabela com emojis comparando os livros de Harry Potter e a resposta vem quase instantânea. Sem API, nenhum dado sai da máquina.

Resposta gerada localmente, sem chamada de API06:19

Google AI Edge Gallery no celular

O app gratuito, para Android e iOS, testa o Gemma no aparelho. Descreve imagens, transcreve áudio em vários idiomas (ela cita mais de 140 línguas) e faz function calling local. Também traz skills prontas, como jogos, haikus, clima e eventos de calendário. Aceleradores do aparelho assumem a inferência em vez da CPU.

O app roda modelos locais com skills, sem servidor07:53
Mais 2 ideias deste talk

Tamanho pequeno, desempenho acima do esperado

O gráfico compara desempenho e tamanho dos Gemma de 31B e 26B. Segundo ela, eles superam modelos de ordem de grandeza maior. A consequência prática é economizar, sem inferência distribuída e com menos GPU. Falta ver o gráfico com as métricas para checar a afirmação.

Gráfico que sustenta a alegação de desempenho acima do tamanho09:00

Checkpoints QAT explicam a velocidade

A demo do navegador usou checkpoints QAT, treinados já pensando em quantização. Esses arquivos são bem menores. A versão de 2B pesa menos de 1 GB, o que permite carregar e responder rápido em hardware modesto.

10:10 O Gemma 2B quantizado ocupa menos de 1 GB

analogia

QAT (quantization-aware training) (treino ciente de quantização). QAT é como treinar um time de futebol num campo menor e mais apertado antes do jogo, para que ninguém estranhe o espaço reduzido quando a partida de verdade começar.

  1. Um modelo de IA guarda o que aprendeu em milhões de números, chamados pesos. Quanto mais casas decimais cada número tem, maior fica o arquivo.
  2. Quantização (quantization) arredonda esses números para versões mais curtas. O arquivo encolhe e o modelo roda mais rápido, mas o arredondamento pode piorar as respostas.
  3. No QAT, o treino já simula esse arredondamento enquanto o modelo aprende. Ele erra com os números curtos e corrige os pesos para compensar.
  4. No fim, o modelo vira um checkpoint (arquivo salvo do modelo) já quantizado que perde pouca qualidade. Quantizar só depois do treino costuma perder mais.
  5. Na palestra, os checkpoints QAT do Gemma de 2B ficam com menos de 1 GB. Por isso a demo carregou rápido e respondeu quase na hora dentro do navegador.
MODELO EM TREINOPesos com muitas casas decimais
SIMULA ARREDONDAMENTOTreino usa números curtos de mentira
AJUSTA OS PESOSAprende a tolerar o arredondamento
CHECKPOINT QATArquivo pequeno, menos de 1 GB no 2B

Ajuda saber antes: Pesos de um modelo, Quantization, Treinamento de modelo, Checkpoint

leitura crítica

É palestra de produto do próprio Google. As afirmações de que o Gemma 4 supera modelos muito maiores vêm de um gráfico citado sem benchmark, metodologia ou concorrentes nomeados na fala. A demo de Harry Potter não mede qualidade, e a própria palestrante discorda do ranking. Não há dados de latência nem de consumo de bateria no celular. O vídeo cobre pouco de computer use e managed agents, só citados de passagem.

O que fazer com isso

  • Instale o Google AI Edge Gallery em um celular compatível e teste descrição de imagem e transcrição de áudio com dados que você não pode enviar para a nuvem.
  • Liste as tarefas do seu trabalho com dados sensíveis e avalie se um modelo de 2B a 12B rodando local resolve, antes de pagar por API.
  • Antes de adotar o Gemma, rode seus próprios casos de teste e compare com o modelo que você usa hoje, em vez de confiar no gráfico do palestrante.
  • Confira a licença Apache 2 e a documentação oficial do Gemma 4 ao planejar fine-tuning para a sua empresa.

How AI Agents Pay: Checkout in ChatGPT and Google AI Mode

Agente paga sem ver o cartão. Um token preso a lojista, valor, moeda e prazo faz o pagamento chegar ao lojista pelo fluxo de sempre.

Produto 14:52 nível ●●●○○ Sam Parsons, PayPal Assistir no YouTube (abre em nova aba)

Em 3 frases

Sam Parsons, da PayPal (antiga Braintree), mostra três caminhos para um lojista receber pagamentos iniciados por agentes de IA: checkout dentro do ChatGPT, checkout no Google AI Mode e um app MCP com página de pagamento externa.

Em todos os caminhos o cartão vira um token. O agente e o lojista só manipulam o token, que vale para um lojista, um valor máximo, uma moeda e um prazo.

Cada caminho troca controle por atrito. No ChatGPT o lojista controla a vitrine, no Google só publica endpoints, e no app MCP com checkout externo controla tudo, mas o usuário sai do agente.

Antes de ler

Mais 2 termos

Três caminhos para receber pagamento de agentes

O talk organiza a oferta da PayPal em três rotas. A primeira usa o Agentic Commerce Protocol (protocolo de comércio agêntico) da OpenAI, dentro do ChatGPT. A segunda usa o Universal Commerce Protocol, criado pelo Google com parceiros. A terceira usa só um app MCP com checkout externo. Segundo o palestrante, os dois protocolos são quase idênticos nas especificações.

Os três caminhos que o lojista pode escolher para aceitar pagamentos de agentes.01:36

App MCP: o lojista controla a vitrine dentro do agente

Um app MCP é um servidor MCP com interface embutida (HTML e JavaScript) que o agente renderiza. No ChatGPT, o lojista decide o visual da lista de hotéis. Na hora de pagar, a tela de checkout é do ChatGPT, não do lojista. Depois o app volta atualizado com a reserva confirmada.

A interface de busca é do lojista e a tela de pagamento é do ChatGPT.04:51

Tokenização mantém o cartão fora do agente e do lojista

O usuário digita o cartão no app hospedeiro. Ele é trocado por um token na PayPal, e só o token circula. Isso evita aumentar o escopo PCI (as regras de segurança para quem toca em dados de cartão). O lojista recebe um token igual aos que já processa, então liquidação, reembolso e chargeback seguem iguais.

O cartão real vira token antes de chegar ao lojista.06:00
Mais 2 ideias deste talk

Token com limites e origem registrada

O token só funciona em um lojista, tem valor máximo, moeda definida e data de expiração. Cada transação fica atribuída à origem, por exemplo ChatGPT, e aparece assim no painel da PayPal. O limite reduz o estrago se o token vazar.

As quatro travas que limitam o uso de um token de agente.07:53

Google AI Mode exige endpoints, não interface

No Google, o agente cria uma sessão no lojista, o Google Pay gera o token e o lojista processa a cobrança. O lojista não constrói interface. Ele publica um arquivo well-known JSON do UCP com o ID de comerciante e a chave pública, e implementa o endpoint de conclusão da sessão de checkout.

O lojista só configura endpoints e um arquivo de descoberta.10:00
analogia

Elicitation (pedido de entrada do usuário pelo servidor MCP). Elicitation é como o garçom que volta à mesa no meio do preparo para perguntar o ponto da carne antes de terminar o prato.

  1. Às vezes o sistema que atende um pedido percebe que falta uma informação e precisa perguntar ao usuário antes de continuar.
  2. No MCP (Model Context Protocol, protocolo de contexto de modelo), o servidor faz o trabalho e o app de IA, como ChatGPT ou Claude, conversa com o usuário.
  3. Elicitation (pedido de entrada) é o recurso que deixa o servidor pausar a tarefa e pedir ao app que colete um dado do usuário, como uma confirmação ou um formulário.
  4. O app mostra o pedido ao usuário, recebe a resposta e devolve ao servidor, que retoma a tarefa de onde parou.
  5. No talk, o palestrante cita o recurso como forma de abrir uma validação externa, por exemplo um checkout num iframe (janela embutida), sem tirar o usuário do agente. Segundo ele, a maioria dos apps grandes ainda não suporta o recurso.
SERVIDOR PRECISA DE DADOTarefa pausa no meio
PEDIDO AO APPServidor envia o que quer saber
USUÁRIO RESPONDEApp mostra formulário ou página
TAREFA RETOMADAServidor segue com a resposta

Ajuda saber antes: MCP, App MCP, Servidor e cliente

leitura crítica

O talk é pitch de produto da PayPal, dado num estande de conferência, e termina convidando o público ao booth. Não há dado de conversão, fraude, volume ou erro dos fluxos. As demos usam cartão de teste. O palestrante diz que o cenário muda rápido e que o suporte a elicitation ainda é raro. A comparação dos três caminhos é qualitativa e vem de quem vende a integração.

O que fazer com isso

  • Se você vende online, leia as especificações do ACP e do UCP e confira o que cada uma exige do seu catálogo e do seu endpoint de pagamento.
  • Pergunte ao seu processador de pagamentos como ele recebe tokens de agentes e se atribui a origem (ChatGPT, Google) nos relatórios.
  • Ao desenhar um fluxo em que um agente paga, restrinja a credencial por lojista, valor, moeda e prazo, em vez de repassar o cartão.
  • Para testar a ideia sem depender de ChatGPT ou Google, monte um app MCP simples com página de checkout externa e sessão amarrada ao pedido.

How I Learned to Stop Worrying and Love the Sandbox

Sandbox bom guarda o estado do agente, mas quem opera precisa vigiar processos órfãos, tempo de vida e quem acessa o quê.

Infraestrutura 59:33 nível ●●○○○ Matt Brockman, E2B Assistir no YouTube (abre em nova aba)

Em 3 frases

Matt Brockman, da E2B, explica por que agentes que escrevem código precisam rodar em sandboxes (ambientes isolados na nuvem) em vez de rodar no seu computador ou no seu servidor.

No workshop, a plateia resolve fases de um jogo de capture the flag (desafio em fases) com problemas reais de operação: CPU esgotada, memória, disco cheio, processos órfãos, timeout de vida e mapa de usuário para sandbox.

A lição final é que, com centenas de sandboxes, o trabalho vira saber o que roda onde, o que cada uma acessa e quando limpar.

Antes de ler

Mais 2 termos

Snapshot de memória e disco em vez de boot do zero

A E2B pausa a sandbox salvando RAM e sistema de arquivos, e retoma do mesmo ponto. O agente não percebe que o tempo passou e encontra tudo como deixou, o que reduz erros. Um template (modelo) é uma VM já em execução, congelada. No workshop, cerca de 200 pessoas retomaram cópias do mesmo template.

Um template congelado vira centenas de cópias iguais para a plateia.17:05

Diagnóstico básico de CPU, memória e disco

As primeiras fases usam comandos Linux simples. Lista-se os processos, acha-se o que consome 99,7% da CPU e encerra-se com kill. Para o disco, roda-se um script que mostra o arquivo de 512 MB em /tmp e remove-se. Agentes geram esses problemas com frequência, então saber ler esse diagnóstico ajuda a revisar o trabalho deles.

Um processo descontrolado aparece no topo da lista e cai com um kill.19:08

Vida longa para a tarefa, vida curta depois dela

A sandbox ganha timeout longo (uma hora) para a tarefa terminar e, ao fim, um timeout curto (um minuto) para não ficar ocupando recursos. Brockman descreve o tradeoff entre velocidade, com a sandbox rodando, e custo, com ela pausada. Para serviços que precisam ficar sempre no ar, ele diz que sandbox talvez não seja a melhor opção.

A configuração em duas etapas libera recursos sem cortar a tarefa.38:39
Mais 2 ideias deste talk

Estado restaurado traz de volta os processos esquecidos

Retomar do snapshot é rápido, mas processos abandonados voltam junto e degradam o desempenho. Brockman diz que boa parte da gestão de sandboxes é matar órfãos. Na demo, três processos 'orphan worker' são achados com grep e encerrados um a um.

Três órfãos vivos aparecem e são mortos até a página liberar a próxima fase.40:42

Mapa de usuário para sandbox no lugar do round robin

Distribuir sandboxes em rodízio faz cada visita cair em um ambiente diferente. A correção é um dicionário que liga user ID a sandbox ID, para a pessoa voltar ao mesmo workspace. Em produção, ele diz que isso fica num banco de dados, o que também permite auditar reatribuições. Um teste falhou ao vivo porque faltava gravar o ID no dicionário.

Uma estrutura de dados simples dá a cada usuário seu próprio workspace.44:51
leitura crítica

O talk é um workshop da E2B e serve também de divulgação da empresa, com pedidos de contratação e programa para startups. Falta evidência. A meta de subir sandboxes em menos de 100 ms é dita sem medição. Os problemas do lab são simulados e pequenos, longe de centenas de sandboxes reais. Brockman admite que a E2B não oferece GPU e que a integração com Kubernetes ainda não está resolvida, usando Nomad. Sobre armazenamento a longo prazo, ele diz que ninguém sabe ainda a resposta.

O que fazer com isso

  • Se o seu agente roda código, teste-o numa sandbox em vez de na sua máquina ou no servidor com seus segredos.
  • Defina dois timeouts por tarefa, um longo para ela terminar e um curto para depois, e meça o custo.
  • Guarde um registro de user ID para sandbox ID e liste periodicamente sandboxes e processos sem dono para removê-los.
  • Restrinja a saída de rede da sandbox quando ela tiver segredos e use chaves de desenvolvimento quando não precisar de mais.

How Many Credentials Should Your AI Agent Have? Zero.

A segurança de um agente vem de limitar contexto e ferramentas de cada sandbox, e o número certo de credenciais lá dentro é zero.

Agentes 18:13 nível ●●●○○ Jim Clark, Docker Assistir no YouTube (abre em nova aba)

Em 3 frases

Jim Clark, do Docker, diz que o harness (laço que recebe contexto e chama ferramentas) é simples. O risco está no que entra nele, então a fronteira a controlar é o sandbox.

Ele divide um fluxo em sandboxes por papel, como pesquisador, verificador e publicador, para nunca juntar entrada não confiável com ferramenta perigosa. Um coding agent só recebe a chave de assinatura do Git na hora do commit.

Um único endpoint de MCP gateway por sandbox centraliza ferramentas, recursos e credenciais, e o Cross App Access (XAA) com Okta reaproveita o SSO da empresa para dar identidade ao agente.

Antes de ler

Mais 2 termos

O harness é simples, o risco está no que entra nele

Clark descreve o harness como um laço que recebe contexto e emite chamadas de ferramenta. Como as pessoas trocam de harness o tempo todo, o controle de segurança não pode morar nele. Ele mora nas ferramentas e no contexto que chegam ao agente, ou seja, no sandbox.

Harness, MCP e sandbox: onde o controle de segurança deve ficar03:37

Redação separada em três sandboxes

No exemplo da redação, o pesquisador navega pela web, mas não tem ferramenta de escrita no site. O verificador lê a pesquisa e consulta uma base de fatos, sem rede. O publicador só vê material filtrado e tem a ferramenta de publicar, sem rede. Nenhum sandbox junta entrada não confiável com ferramenta perigosa.

Cada papel recebe só a rede e as ferramentas de que precisa06:20

Modele o sandbox pela intenção da tarefa

O coding agent trabalha cerca de uma hora, mas só precisa da chave de assinatura do Git por uns 2 minutos, no commit. Se o sandbox reflete a intenção, a chave não fica lá o resto do tempo. A mesma lógica vale para rede, MCPs e diretórios.

A chave de assinatura só existe no sandbox durante o commit08:54
Mais 2 ideias deste talk

Um endpoint de gateway por sandbox

Todo tráfego MCP do harness passa por uma URL interna única. O gateway decide quais ferramentas, recursos e prompts cada sandbox recebe. Isso também deixa os harnesses intercambiáveis, porque a configuração de MCP fica no sandbox e não em cada ferramenta como Codex ou Claude Code.

O gateway é o ponto de controle e deixa o harness trocável10:25

Identidade do agente com XAA e ID-JAG

Com Cross App Access, sandbox e gateway informam em nome de quem o agente age. Eles trocam essas declarações com o provedor de identidade da empresa e recebem uma concessão de autorização (ID-JAG) para os mesmos servidores OAuth de Notion, GitHub ou Slack. O SSO existente é reaproveitado e a administração fica central.

O agente obtém acesso pelo SSO que a empresa já tem13:03
analogia

Cross App Access (XAA) (acesso entre aplicações com identidade do agente via SSO). XAA é como o crachá de visitante que a portaria emite para um estagiário, ligado ao nome do chefe dele e válido só nas salas do projeto, sem que o chefe precise emprestar a própria chave.

  1. Na empresa, você entra em vários sistemas como Notion, GitHub e Slack com um único login, o SSO (single sign-on, login único). O agente de IA ainda não tem um acesso próprio desse tipo.
  2. Sem XAA, o caminho comum é colocar o token pessoal de alguém dentro do ambiente do agente ou aprovar uma tela de consentimento em cada sistema. Isso espalha credenciais e aumenta o estrago possível de um erro.
  3. Com XAA, o sandbox e o MCP gateway declaram a identidade do agente e informam em nome de qual pessoa ele age.
  4. O gateway troca essas declarações com o provedor de identidade da empresa, como o Okta, e recebe um ID-JAG, uma concessão de autorização prevista na versão mais recente do MCP.
  5. Com o ID-JAG, o agente usa os mesmos servidores OAuth (padrão de autorização entre aplicações) que a empresa já tem. A TI administra tudo em um lugar e nenhuma credencial fica dentro do sandbox.
SANDBOX E GATEWAYdeclaram quem é o agente
PROVEDOR DE IDENTIDADESSO da empresa confere a identidade
ID-JAGconcessão de autorização emitida
ACESSO AOS APPSNotion, GitHub, Slack sem credencial

Ajuda saber antes: SSO, OAuth, MCP gateway, Sandbox

leitura crítica

O talk é em parte pitch do sbx, produto do Docker, e termina com convite ao estande. Não há dados de incidentes, testes de ataque nem comparação com outras abordagens. Os exemplos da redação e do commit são ilustrativos, sem medição. O XAA é descrito como parceria entre Docker, Anthropic e Okta, e a promessa de eliminar consent screens depende de a empresa já ter SSO bem configurado. A demo com orquestradores ficou para outra palestra.

O que fazer com isso

  • Liste as ferramentas e credenciais que cada agente seu usa hoje e remova as que a tarefa não exige.
  • Separe em etapas distintas o agente que lê conteúdo externo e o agente que publica ou escreve em sistemas sensíveis.
  • Entregue chaves, como a de assinatura do Git, só no momento do uso e nunca de forma permanente dentro do ambiente do agente.
  • Se sua empresa usa SSO como Okta, pergunte ao time de TI como os agentes poderiam usar identidade própria em vez de tokens pessoais.

From Raw Documents to AI-Ready Data

Chatbot que funciona com 40 arquivos quebra com 80 mil. Sem limpar duplicata, conflito e dado velho, o RAG enche o contexto de lixo.

Dados e RAG 21:37 nível ●●●○○ Leo Platzer & Jeff Koss Assistir no YouTube (abre em nova aba)

Em 3 frases

Um piloto com 40 arquivos escolhidos a dedo funciona, mas um acervo de 80 mil documentos no SharePoint traz arquivos duplicados, conflitantes, vencidos e sensíveis.

A Deasy Labs (adquirida pela Collibra) mostra uma ferramenta que classifica documentos com uma taxonomia de tags, anexa evidência e nota de confiança, detecta dados sensíveis e monta fatias de dados atualizadas por agenda.

Leo Platzer afirma que, com 30% do acervo velho ou duplicado, até 80% do contexto do agente pode ser inútil, e que a limpeza dobrou o recall em avaliações de RAG com vários saltos.

Antes de ler

Mais 2 termos

Do piloto de 40 arquivos ao acervo de 80 mil

O caso é uma fabricante que quer um chatbot jurídico sobre contratos. Com 40 arquivos pré-selecionados, parsing, chunking, OCR e embeddings dão boas respostas. Com 80 mil arquivos, ninguém sabe quais servem, onde estão os dados sensíveis e se o conteúdo é confiável.

O acervo real mistura formatos e ninguém sabe quais arquivos são jurídicos.06:49

Taxonomia de tags com evidência e confiança

Uma taxonomia é uma árvore de tags. O LLM classifica cada arquivo, por exemplo contrato ou documento de engenharia, e mostra o trecho que justifica a tag e uma nota de confiança. Com polegar para cima ou para baixo, o usuário dá exemplos (few-shot) que melhoram as próximas classificações.

Cada tag vem com o trecho do documento que a justifica.09:24

Qualidade de documento é duplicata, conflito e frescor

Para documentos, qualidade de dados vira três perguntas. Há informação repetida? Há versões que se contradizem? O arquivo está atualizado? O painel agrupa duplicatas e conflitos, sugere qual manter e permite filtrar por data. O resultado é uma fatia de dados (data slice) com só os arquivos úteis, reatualizada em agenda.

O painel agrupa duplicatas e conflitos e sugere qual versão manter.10:59
Mais 2 ideias deste talk

Dado velho ocupa o top-k do RAG

Se versões antigas e repetidas ficam na base, a busca devolve esses trechos no top-k e deixa pouco espaço para o que importa. Leo diz que, com 30% de arquivos velhos ou duplicados, até 80% do contexto pode ser inútil. Em avaliação de RAG multi-hop, a limpeza teria dobrado o recall@1 e subido a conclusão de tarefas em 10 a 15%.

Poucos arquivos ruins podem ocupar a maior parte do contexto recuperado.16:43

Arquivo de contexto por pasta para agentes de código

Na demo ao vivo, o SDK gera um arquivo de contexto (context MD) espelhando as pastas do SharePoint. Cada pasta ganha tipos de documento, tópicos, quando usar e perguntas de exemplo. O agente lê o índice em vez de abrir 23 arquivos, o que reduz custo de tokens.

O índice diz ao agente o que há em cada pasta antes de ele abrir qualquer arquivo.19:24
analogia

Recall (fração das respostas certas que a busca encontra). Recall é como a lista de chamada da professora: de todos os alunos que deviam estar na sala, ela conta quantos de fato apareceram.

  1. Recall (revocação, ou cobertura) mede quanto do que você precisava achar a busca realmente achou.
  2. Para medir, você monta perguntas de teste e anota antes qual documento traz a resposta certa de cada uma.
  3. A busca do RAG devolve alguns trechos por pergunta. Se o trecho certo está entre eles, conta acerto. Recall é o total de acertos dividido pelo total de perguntas.
  4. O número depois do arroba diz quantos trechos entram na conta. No recall@1 (recall no topo 1), só vale acerto se o trecho certo vier em primeiro lugar.
  5. Duplicatas e versões velhas empurram o trecho certo para baixo da lista. Por isso a limpeza do acervo pode subir o recall@1, como o palestrante afirma ter visto ao dobrá-lo em testes de RAG com várias etapas (multi-hop).
PERGUNTAS DE TESTEcada uma com o documento certo anotado
BUSCA DEVOLVE K TRECHOSno recall@1, só o primeiro conta
CONFERE O ACERTOo trecho certo veio na lista?
RECALLacertos divididos pelo total

Ajuda saber antes: RAG, Top-k retrieval, Embeddings, Conjunto de avaliação

leitura crítica

É pitch de produto, com convite para o estande e prova de conceito de uma semana. Os números de 4 meses para dias, de 80% de contexto inútil e de recall dobrado não trazem metodologia, base de teste, tamanho de amostra nem comparação com um simples script de deduplicação. O próprio Leo diz que o teste foi uma avaliação de RAG multi-hop, não de agente de código. O ganho para a Deasy vem de empresa interessada em comprar, o que é conflito de interesse. A ideia de limpar duplicata e dado velho antes de indexar é sólida e independe do fornecedor.

O que fazer com isso

  • Antes de indexar um acervo, meça a fração de arquivos duplicados e desatualizados. Esse número diz se o RAG vai sofrer.
  • Grave metadados como data, tipo de documento e versão em cada trecho do índice e use-os como filtro na busca.
  • Exija evidência e confiança em qualquer classificação feita por LLM, e revise por amostragem os casos de baixa confiança.
  • Para agentes de código, crie um arquivo de contexto por pasta com propósito, tópicos e quando usar, em vez de deixar o agente abrir tudo.

Agent Memory Is Solved. Agent Learning Isn't.

Memória por agente já funciona. Times de agentes só aprendem se o contexto for compartilhado, promovido por humanos e rastreável até a origem.

Agentes 20:35 nível ●●●○○ Karthik Ranganathan, Yugabyte Assistir no YouTube (abre em nova aba)

Em 3 frases

Karthik Ranganathan, da Yugabyte, diz que memória individual de agente é problema resolvido, mas aprendizado em grupo não. Quando um agente passa trabalho a outro, entrega só o resultado e perde o raciocínio e os becos sem saída, e o segundo agente gasta tokens para refazer tudo.

Ele aponta cinco equívocos (mais memória, arquivos compartilhados, RAG em tudo, fine-tuning, janela de contexto maior) e conta que ajustar um pipeline de RAG uma variável por vez levou a fidelidade (faithfulness) de 14% para 82%, com cerca de um sétimo do contexto.

A solução apresentada é o Meko, uma camada de persistência para agentes. Cada agente guarda memória privada e um humano promove trechos ao espaço compartilhado, onde outros agentes (Claude, Codex, ChatGPT) os recuperam por uma chamada MCP.

Antes de ler

Mais 2 termos

O handoff entre agentes perde o raciocínio

Quando o agente A entrega um arquivo (MD, PDF) ao agente B, o resultado vai, mas o raciocínio, os becos sem saída e as falhas anteriores ficam para trás. O agente B refaz tudo e você paga tokens por isso. Ranganathan compara com um novo membro de equipe que propõe 50 alternativas já descartadas.

O handoff passa o output e perde o raciocínio que levou até ele.03:09

Cinco equívocos sobre memória de agente

Mais memória, estado compartilhado, RAG em tudo, fine-tuning e janela de contexto maior não equivalem a aprendizado. Para o palestrante, cada um é uma lacuna de arquitetura. Ele pede contexto compartilhado, promovido sob supervisão (como código) e com origem rastreável.

Os cinco equívocos e os três requisitos de contexto compartilhado.03:57

Ajustar o RAG uma variável por vez

O primeiro RAG da Yugabyte, montado com componentes recomendados pela academia, deu 14% de fidelidade em benchmark público de Markdown. Com traces e testes de uma variável por vez, chegou a 82%. Os chunks recuperados caíram de mais de 7.000 para cerca de 1.000.

A melhora de 14% para 82% veio de ajustes isolados, medidos com traces.06:47
Mais 2 ideias deste talk

Memória privada, promoção e memória compartilhada

Na demo, Heather Downing salva um fato no Claude Desktop e o Codex não o enxerga, porque a memória ainda é privada. Depois de promover só aquele item ao espaço compartilhado, o Codex o encontra. A promoção é granular e feita por um humano.

A memória só aparece para outro agente depois que um humano a promove.15:03

Promoção humana como sinal de treino

Cada vez que uma pessoa decide que algo merece ser guardado, gera um exemplo rotulado do que é um bom contexto. A Yugabyte sugere que isso pode treinar no futuro um agente que faça a promoção sozinho, mas hoje mantém o humano no loop. Os traces mostram cada tool call, o que permitiria conferir a economia de tokens.

Os traces do data pack mostram as tool calls e o gasto de tokens.16:15
leitura crítica

O talk é pitch do Meko, produto da própria Yugabyte, e termina com convite para o plano gratuito. A economia de tokens é afirmada sem medição apresentada; a demo é gravada e acelerada, com um único fato. O ganho de 14% para 82% vem de um pipeline interno, sem detalhar quais variáveis mudaram ou qual o benchmark exato. A crítica a fine-tuning e a janelas grandes aparece sem evidência.

O que fazer com isso

  • Ao passar trabalho de um agente para outro, entregue também as decisões tomadas, as alternativas descartadas e os erros, não só o arquivo final.
  • Se usa RAG, mude uma variável por vez (tamanho do chunk, número de resultados, re-ranking) e meça fidelidade e precisão do contexto antes de adicionar mais documentos.
  • Defina quem pode promover uma informação de memória privada para compartilhada, e registre a origem de cada item.
  • Antes de testar o Meko, meça o gasto de tokens da tarefa sem ele e compare com a mesma tarefa usando memória compartilhada.

Agentic Search vs Vector Search for Coding Agents: We Ran the Eval

Rode um eval antes de escolher a ferramenta: busca vetorial e busca agêntica acertaram igual, mas a vetorial custou 4 vezes mais.

Evals 18:14 nível ●●●○○ Braintrust Assistir no YouTube (abre em nova aba)

Em 3 frases

Jess Wang, da Braintrust, explica as quatro partes de um eval (dataset, task, scorer e experimentos) e como logs de produção e evals formam um ciclo de melhoria.

Ela aplica isso em um caso real: Claude Code localiza bugs do repositório TypeScript Go da Microsoft usando busca agêntica (grep, find, leitura de arquivos) ou busca vetorial, com os testes do repositório como nota.

As duas abordagens tiveram a mesma acurácia, mas a vetorial custou cerca de 4 vezes mais, porque os trechos vinham sem contexto e o agente precisava buscar de novo várias vezes.

Antes de ler

Mais 2 termos

Eval tem quatro peças

Um eval junta um dataset (casos de entrada, incluindo casos ideais, extremos e falhas), uma task (prompt de sistema e modelo), um scorer (critério de bom ou ruim) e experimentos. Cada combinação das três primeiras peças gera um experimento, e comparar experimentos mostra melhoras e regressões.

As quatro peças que formam qualquer eval.03:08

Produção alimenta o eval, o eval melhora a produção

Logs reais de um chatbot em produção viram uma amostra de 10 a 20 linhas, que vira dataset. Os evals mostram o que mudar no sistema, a mudança vai ao ar e gera novos logs. O ciclo se repete, e por isso ela chama o processo de flywheel (volante de inércia).

O ciclo entre observabilidade e evals.06:13

Montar o experimento com bugs reais

O dataset saiu de PRs mergeados com "fix" no título do repositório TypeScript Go. Ela voltou ao commit anterior, que ainda tinha o bug, e pediu a um LLM uma descrição da tarefa a partir do diff. A nota é binária: passou na suíte de testes do repositório vale 100%, falhou vale 0%.

O dataset vem de correções reais e a nota vem dos testes.11:53
Mais 2 ideias deste talk

Trace órfão esconde o que o agente fez

Rodar o Claude Code como subprocesso deixou o trace órfão: só aparecia a linha "run Claude agent", sem os passos internos. Passar o ID do span pai por variável de ambiente ligou tudo, e o trace passou a mostrar cada turno, chamada ao LLM e comando como grep e ls. Sem isso, não dá para depurar.

Depois da correção, o trace mostra cada comando do agente.13:57

Mesma acurácia, custo 4 vezes maior

A busca vetorial devolve trechos sem imports e sem o código que os chama. O agente busca de novo, de novo e de novo, e as chamadas ao LLM se acumulam. A busca agêntica lê a função inteira e segue as chamadas para outros arquivos. Jess resume: a vetorial dá proximidade, a agêntica dá o tecido conectivo.

Acurácia igual nas duas, custo cerca de 4 vezes maior na vetorial.15:00
leitura crítica

A própria palestrante admite as fragilidades: cerca de 20 casos, um único repositório, uma tentativa por tarefa e uma busca vetorial que ela chama de relativamente fraca. Sem múltiplas rodadas, a diferença de custo pode oscilar. Não há valores em dinheiro nem intervalo de confiança. A Braintrust vende a plataforma de evals usada na demonstração, então o talk também funciona como pitch do produto. A conclusão vale como hipótese a testar, não como regra geral contra busca vetorial.

O que fazer com isso

  • Antes de adotar busca vetorial ou agêntica no seu agente de código, monte um eval pequeno com tarefas reais suas e compare acurácia e custo.
  • Crie dataset a partir de bugs já corrigidos no seu repositório: volte ao commit anterior à correção e use os testes existentes como nota.
  • Registre traces completos das execuções do agente, inclusive de subprocessos, para entender por que uma abordagem custa mais.
  • Rode várias tentativas por tarefa antes de confiar na nota, porque LLMs variam de uma execução para outra.

From Vibes to Production: Evaluating and Shipping AI Agents That Work 101

Leia os traces antes de escrever qualquer eval. Defina o que é sucesso, meça com várias camadas de checagem e feche o ciclo com experimentos.

Evals 1:51:26 nível ●●●○○ Laurie Voss, Arize AI Assistir no YouTube (abre em nova aba)

Em 3 frases

Laurie Voss constrói um agente analista financeiro com o Claude Agent SDK, instrumenta com OpenTelemetry e lê os traces (registros passo a passo) para achar falhas reais, como relatórios gravados em um disco que não existe.

Ela empilha três tipos de eval (avaliação): um check de código para o ticker, um juiz de correção que reprova tudo por não ter contexto e um juiz de fidelidade que separa 6 relatórios fiéis de 7 infiéis.

Depois valida o juiz contra anotações humanas, transforma as falhas em dataset, pede ao Claude que reescreva os prompts e comprova a melhora com um experimento controlado e monitoramento online.

Antes de ler

Mais 2 termos

Trace mostra o que o agente fez, eval diz se foi bom

Um trace é feito de spans em árvore. Cada chamada ao modelo e cada uso de ferramenta vira um span com entrada, saída, tempo e tokens. Sem isso, você só vê o prompt e o relatório final. Com isso, você vê as quatro buscas na web, a escrita que falhou e o loop sem fim. Observar vem antes de avaliar.

Cada passo do agente aparece como um span dentro do trace.08:17

Ler os traces revela falhas que nenhum teste pegaria

Três dos 13 relatórios tentaram gravar um arquivo em disco, algo impossível no Colab, e responderam apenas que o relatório estava salvo. A falha é silenciosa, porque o agente devolve uma saída mesmo assim. Outro caso entrou em loop de buscas sobre a Microsoft. Só a leitura direta dos traces expõe isso.

O agente tenta salvar um arquivo que não pode existir e segue como se tivesse funcionado.33:52

Um check de código barato é a primeira camada

O check do ticker é uma função Python curta que procura o código da ação no relatório. Roda em milissegundos, sem custo de LLM. Passaram 12 de 13. A falha foi a consulta sobre a AWS, em que o relatório falou só da AWS e nunca citou o ticker da Amazon. É uma camada de defesa rápida do modelo do queijo suíço.

Uma função determinística achou o relatório que ignorou a Amazon.54:21
Mais 2 ideias deste talk

O mesmo juiz dá resultados opostos conforme o contexto

O juiz de correção, sem acesso às fontes, reprovou todos os 13 relatórios. Ele julgava pelo próprio conhecimento, que parava em janeiro, e o agente tinha pesquisado dados de 2026. Ao receber as fontes coletadas, o juiz de fidelidade separou 6 fiéis e 7 infiéis. Escolher a pergunta certa pesa mais do que escolher o eval mais famoso.

Com o contexto da pesquisa, o juiz passa a dar um sinal útil.1:04:14

Juiz também precisa ser testado contra humanos

O juiz é um classificador. Compare as previsões dele com rótulos humanos, o golden dataset. Na demo os rótulos eram aleatórios de propósito, e a concordância foi de 46%. Na prática, você lê as explicações dos desacordos e decide se a regra ou o humano estava errado. Separe cerca de 25% dos rótulos para testar sem ajustar o juiz a eles.

A concordância de 46% mostra onde investigar a rubrica.1:25:09
analogia

Precision e recall (precisão e cobertura de um classificador). Precision e recall são como um fiscal de prova que procura cola, em que a precisão mede quantas das suas acusações eram cola de verdade e a cobertura mede quantas colas da sala ele conseguiu pegar.

  1. Imagine um juiz que separa relatórios bons de ruins. Para saber se ele é confiável, você compara as decisões dele com as de uma pessoa que já rotulou os mesmos relatórios.
  2. Precision (precisão) olha só para as vezes em que o juiz disse que o relatório era ruim. Ela pergunta quantas dessas acusações estavam certas.
  3. Recall (cobertura) olha para todos os relatórios que eram ruins de fato. Ele pergunta quantos desses o juiz conseguiu pegar.
  4. As duas medidas puxam para lados opostos. Um juiz rigoroso pega mais erros, mas gera falsos positivos (alarmes falsos). Um juiz cauteloso acerta quando acusa, mas deixa erros passarem.
  5. Laurie recomenda priorizar recall na maioria dos casos, porque um alarme falso custa menos do que um erro que passa. Com só 12 exemplos, os números oscilam muito e servem apenas para ver se o juiz está na faixa certa.

Ajuda saber antes: LLM-as-a-judge, Golden dataset, Falso positivo e falso negativo

leitura crítica

O workshop é também pitch do Arize AX, e a autora é head de developer relations da empresa. Os resultados vêm de um agente de brinquedo com 13 traces e prompts fracos de propósito. A melhora de 50% para 100% no experimento foi, nas palavras dela, um acerto de primeira favorecido por muitas tentativas. Os rótulos humanos da demo eram aleatórios, então os 46% de concordância só ilustram o método. Não há comparação com outras ferramentas.

O que fazer com isso

  • Instrumente um agente seu com OpenTelemetry e leia de 12 a 15 traces completos antes de escrever qualquer eval, anotando as falhas em linguagem natural.
  • Escreva um check de código para a falha mais simples e frequente, como formato, tamanho ou presença de um campo obrigatório.
  • Ao criar um juiz LLM, use um critério por avaliador, rótulos binários, tags XML e exemplos bons e ruins, e passe ao juiz as fontes que o agente usou.
  • Rotule uma amostra com um especialista do negócio, compare com o juiz e leia cada desacordo antes de confiar nas notas.

From Vibes to Production: Evaluating and Shipping AI Agents That Work 201

Agente não se lê no código, se lê em traces. Em escala, outro agente precisa ler os traces e propor os consertos, guiado pela sua definição de bom.

Evals 42:16 nível ●●●○○ Laurie Voss, Arize AI Assistir no YouTube (abre em nova aba)

Em 3 frases

Laurie Voss, da Arize AI, argumenta que agentes são não determinísticos, então os traces (registros de cada passo) viram a fonte de verdade, e evals (avaliações automáticas) resumem esses traces em notas e explicações.

Com milhões de traces, o humano vira gargalo. A proposta é um agente (o Signal, produto da Arize) que agrupa falhas recorrentes e sugere issues, datasets, evaluators e pull requests.

Na demo ao vivo, um agente de código instrumenta a loja Wonder Toys, lê os traces, descobre que falta filtro de preço e implementa o filtro, sem o palestrante tocar no código.

Antes de ler

Mais 2 termos

O código deixa de ser a fonte de verdade

Agentes dão saídas diferentes para a mesma entrada e podem seguir caminhos diferentes. Por isso ler o código não diz o que o agente faz. Os traces, em volume, mostram o comportamento médio, com custo, duração e cada chamada de modelo e de ferramenta.

Um trace mostra entrada, saída, custo e duração de cada passo do agente.04:55

O humano vira gargalo em cada camada

Ler traces um a um não escala. Evals comprimem milhares de traces em notas com explicação. Em 2026, porém, há evals demais para ler. A proposta é subir mais um nível de abstração: um agente lê as falhas dos evals e as agrupa em sinais.

O loop proposto vai de traces a evals, signals e correções automáticas.10:08

Instrumentar um agente é ligar o que já existe

O SDK de agentes da OpenAI já emite dados no padrão OpenInference, usado pela indústria de observabilidade. O agente de código só configurou a chave e o endpoint da Arize. Os traces passaram a chegar sem o palestrante escrever código, com skills instaladas no repositório.

O agente de código liga o tracing existente apontando para o endpoint da Arize.18:30
Mais 2 ideias deste talk

Falha silenciosa só aparece na análise de qualidade

Não havia spans com erro. Todas as chamadas voltaram com 200. O agente de código, lendo os traces, achou 42% de buscas sem resultado e filtros estreitos demais. O pedido de preço máximo falhava porque a ferramenta de busca não tinha filtro de preço. Depois da correção, a consulta por brinquedos abaixo de US$ 9 funcionou.

O diagnóstico aponta busca sem resultado e filtros restritivos, não exceções.28:30

Signal transforma padrões em issues, evals e PRs

O Signal roda a cada seis horas por padrão e lê os traces. Ele achou alucinação de restrição de idade, consulta nociva respondida com sugestões e obediência a instrução aleatória. Cada achado pode virar issue no GitHub, dataset, evaluator ou pull request. Contra regressões, vale ter evals de comportamento já bom.

Cada problema detectado oferece issue, dataset, evaluator ou PR.34:03
analogia

Signal (agente da Arize que agrupa falhas e propõe correções). O Signal é como um supervisor de loja que revê as gravações das câmeras a cada turno, anota os problemas que se repetem e deixa no quadro uma lista de consertos para o gerente aprovar.

  1. Um assistente de IA atende milhares de pessoas por dia, e ninguém consegue reler todas essas conversas. O Signal faz essa leitura no lugar da equipe.
  2. Ele é um agente, ou seja, um programa de IA que age sozinho, e roda dentro do Arize AX, a plataforma de observabilidade da Arize. Por padrão, ele acorda a cada seis horas, e esse intervalo pode ser ajustado.
  3. Em cada rodada, ele lê os traces (registros de cada passo do agente), procura padrões e agrupa as falhas que se repetem. Na demo, ele achou restrição de idade inventada, resposta a pedido perigoso e obediência a instrução aleatória.
  4. Para cada problema, ele oferece caminhos. Pode abrir uma issue (chamado de tarefa) no GitHub, guardar o trace em um dataset (conjunto de exemplos) para rodar evals ou criar um evaluator (avaliador) para aquele erro.
  5. Com o repositório conectado, ele lê o código e abre um pull request (proposta de mudança no código) com a correção. O humano só aprova ou rejeita, e isso fecha o ciclo de melhoria sem alguém pedir a análise.
TRACES CHEGAMCada conversa do agente vira registro
SIGNAL LÊRoda a cada 6 horas por padrão
AGRUPA FALHASJunta problemas que se repetem
PROPÕE AÇÃOIssue, dataset, evaluator ou PR
HUMANO APROVAAceita ou rejeita a correção

Ajuda saber antes: Trace, Eval, Observabilidade de agentes, Pull request

leitura crítica

O talk é parte workshop e parte pitch do Signal, produto da Arize. O próprio palestrante admite a venda no começo. A demo usou poucos traces, então o Signal agrupou com base em um ou dois. Não há dado de precisão, taxa de falso positivo ou custo. A pergunta sobre confiar em código escrito por agentes foi adiada para outra palestra. Signal roda sobre Claude Code e a Arize paga o custo por enquanto, sem garantia futura. Os evaluators não são criados automaticamente.

O que fazer com isso

  • Ligue tracing em um agente seu e leia 20 traces reais. Procure chamadas lentas, passos desnecessários e buscas sem resultado.
  • Escreva uma definição de bom comportamento em forma de eval para o pior caso conhecido (por exemplo, nunca dar instruções perigosas) antes de automatizar correções.
  • Mantenha um conjunto de evals de regressão com o que o agente já faz bem e rode antes de aceitar qualquer PR gerado por agente.
  • Peça ao seu agente de código para analisar traces buscando falhas de qualidade, não só erros HTTP ou exceções.

Evals in AI: A Deep Dive

Um teste verde só vale se o juiz concordar com humanos em cerca de 80% dos casos. Calibre o juiz com dados rotulados e política atual antes de confiar nele.

Evals 59:49 nível ●●●○○ Tejas Kumar, IBM Assistir no YouTube (abre em nova aba)

Em 3 frases

Eval (avaliação) é um teste unitário "difuso" para sistemas não determinísticos, com casos de teste, comportamento esperado, juiz e agregação de resultados.

Um LLM juiz erra por viés de posição, bajulação, preferência pelo próprio texto e gosto por respostas longas, então você mede a concordância dele com veredictos humanos e trava o CI abaixo de 80%.

Na demo ao vivo, o juiz só chegou a 27 acertos em 30 casos depois de receber a política de devolução no prompt, trocar para um modelo melhor e cobrir o caso do cliente fiel.

Antes de ler

Mais 2 termos

Eval dá confiabilidade antes; harness dá confiabilidade na hora

O palestrante compara os dois a pedais de bicicleta. O harness (camada de controle em volta do agente) protege em tempo de execução. A eval roda antes do deploy, como a checagem de tipos do TypeScript frente ao JavaScript. Ele cita o caso do chatbot de suporte do Instagram, que aceitou trocar o e-mail de contas sem verificar o dono.

06:25 Sem eval nem harness, um agente com acesso alto fez mutações em contas.

Quatro peças de toda eval séria

Casos de teste (entradas e respostas geradas), comportamento esperado (direção, não texto exato), juiz e agregação em uma pontuação. As perguntas típicas são se o agente seguiu a política, usou as ferramentas certas e resolveu o problema. Chamadas de ferramenta dá para checar com código determinístico, sem IA.

Os quatro componentes que toda suíte de eval bem definida compartilha.12:38

Como o juiz mente

O juiz favorece a primeira opção (viés de posição), a resposta mais simpática (bajulação), o texto da própria família de modelos e a resposta mais longa. Para detectar posição, troque a ordem das opções. Para evitar autopreferência, use um juiz de outra família. Prefira avaliar uma resposta por vez (pointwise) a comparar duas (pairwise).

Quatro maneiras de um juiz LLM distorcer o resultado de uma eval.18:30
Mais 2 ideias deste talk

Calibrar o juiz contra veredictos humanos

Monte um conjunto de cerca de 30 casos com pergunta, resposta e nota de um especialista. Esconda a nota, peça ao juiz e meça a concordância. A meta é 80% a 85%. Humanos também discordam entre si cerca de 20% das vezes, e 100% de concordância indica overfitting (ajuste excessivo aos exemplos) ou viés.

22:30 O juiz é aceito quando concorda com humanos em torno de 80%.

Demo ao vivo: de 3.5 Turbo sem política até 27 de 30

Com GPT-3.5 Turbo e sem política, o juiz falha muito. Ele recebe a política de 14 dias, depois a regra de item sem uso, e ainda erra o caso da bolsa de ioga. A troca para o 4o mini e a regra de que lealdade não muda a política levam a 27 acertos em 30. O teste passa a falhar só se a concordância cair abaixo de 80%.

A taxa de concordância do juiz sobe a cada lacuna de contexto preenchida.39:33
analogia

Agreement gate (trava de CI pela taxa de concordância do juiz). Um agreement gate é como a catraca do estádio que só libera a entrada quando o fiscal confere que o ingresso bate com a lista oficial na maioria das vezes.

  1. Antes de liberar uma nova versão do sistema, uma checagem automática decide se ela pode seguir ou se fica parada.
  2. A checagem compara as notas dadas por um juiz automático com as notas que uma pessoa já deu para os mesmos casos.
  3. O resultado vira uma taxa de concordância (agreement rate), ou seja, a porcentagem de casos em que juiz e humano deram o mesmo veredicto.
  4. Essa conta roda no CI (integração contínua, o processo que testa cada mudança no código). Abaixo de 80% o teste fica vermelho e nada vai para produção. Entre 80% e 90% fica verde.
  5. Para a trava continuar confiável, fixe a versão exata do modelo juiz. Um apelido como GPT-4o mini pode passar a apontar para outra versão sem aviso e mudar o resultado.
CASOS COM NOTA HUMANAConjunto de ouro com uns 30 casos
JUIZ AVALIA SEM NOTARecebe só pergunta e resposta
MEDE CONCORDÂNCIAPorcentagem de veredictos iguais
COMPARA COM 80%Limite mínimo definido no CI
LIBERA OU TRAVAVerde publica, vermelho bloqueia

Ajuda saber antes: Eval, LLM-as-a-judge, Conjunto de ouro (golden dataset), Integração contínua (CI)

leitura crítica

A demo usa 30 exemplos escritos pelo próprio palestrante, sem separar treino e teste. Ajustar a política até bater 80% é justamente o risco de overfitting que ele alerta. A garantia dele de que juiz com 80% protege contra o caso do Instagram não tem teste. O trecho do OpenRAG é divulgação de produto da IBM, onde ele trabalha. Os números sobre vieses (39% de fragilidade do pairwise) vêm de um estudo não citado, e o nome do modelo juiz vem de legenda automática, então confira antes de repetir.

O que fazer com isso

  • Comece pelas checagens baratas, como teste exato, regex e validação de JSON ou das chamadas de ferramenta, e só use juiz LLM no que sobrar.
  • Monte 30 casos reais com veredicto humano e meça a concordância do seu juiz antes de usá-lo. Mire em 80% a 85% e desconfie de 100%.
  • Passe a política vigente ao juiz, de preferência a mesma fonte usada pelo agente em produção, e use um juiz de família diferente da do agente.
  • Fixe a versão exata do modelo juiz no CI e adicione ao conjunto, a cada semana, exemplos novos do tráfego real rotulados por uma pessoa.

Your LLM Judge Is a Confident Liar: Building Better Verifiers

Juiz de LLM mal desenhado aprova agente que falhou. Com rubrica, evidência visual e validação humana, o verificador passa a merecer confiança.

Evals 21:14 nível ●●●○○ Browserbase Assistir no YouTube (abre em nova aba)

Em 3 frases

Os juízes de LLM que vêm com benchmarks de agentes web (como o WebVoyager) superestimam o sucesso. Para o mesmo agente, o juiz oficial deu 74% e o verificador novo deu 38%.

O Universal Verifier gera uma rubrica por tarefa, escolhe os screenshots mais relevantes para cada critério, isola erros e separa falhas controláveis das incontroláveis. Com isso, os falsos positivos caíram de quase metade para perto de zero.

Os autores validaram o verificador com rótulos humanos e com treino em dados filtrados por ele. Um loop de autoresearch recriou a ideia em um dia, mas chegou a só 70% da qualidade, então ainda precisa de humanos.

Antes de ler

Mais 2 termos

O juiz oficial infla o sucesso do agente

Os benchmarks populares de agentes web trazem juízes de LLM prontos, baseados em modelos menores como GPT-4o ou o4-mini. Ao conferir esses juízes com anotadores humanos, a equipe viu respostas erradas dadas com muita confiança. Treinar um agente com esse sinal produz um agente que mente melhor, não um agente melhor.

O mesmo agente cai de 74% para 38% quando o verificador é melhor.03:47

Como o Universal Verifier funciona

Dada uma tarefa, o sistema gera uma rubrica com cerca de 10 critérios. Para cada critério, ranqueia os screenshots da trajetória e usa os mais relevantes como evidência. Compara o que o agente disse ter feito com o que a tela mostra. A saída traz uma nota de processo (com crédito parcial) e um booleano de resultado.

O verificador julga critério a critério, com evidência da tela.05:18

Rubrica boa avalia só o que foi pedido

Na tarefa do hotel em Jacarta, uma rubrica ruim cobrava o preço total da estadia, que ninguém pediu. Isso derruba a nota do agente sem motivo. Os autores também isolam erros. Se o agente errou o sobrenome mais longo, ele não deve perder pontos no critério seguinte, que só pede o patrimônio da pessoa escolhida.

Critério extra inventado pela rubrica deflaciona a nota do agente.07:24
Mais 2 ideias deste talk

Falha controlável e incontrolável

Se o agente busca o brinquedo certo na Amazon e ele está sem estoque, recebe nota máxima de processo, mas o resultado continua falso. Se acha uma alternativa parecida, conta como sucesso. Erro que o agente podia evitar, ou alucinação, é penalizado. Os autores montaram um esquema com os modos de falha e o crédito de cada um.

Nota de processo e resultado final podem divergir de propósito.09:28

Validação com humanos e treino filtrado

Os humanos julgam a trajetória e depois dizem se concordam com o verificador. O Cohen's kappa ficou em 0.58, no nível da concordância entre dois humanos. O verificador chegou a corrigir anotadores. Como prova final, treinar com 3 mil trajetórias filtradas por ele gerou um modelo melhor que o filtrado por um verificador de base.

O verificador concorda com humanos tanto quanto humanos entre si.12:06
analogia

Cohen's kappa (medida de concordância entre avaliadores). Cohen's kappa é como conferir se dois juízes de uma competição de ginástica concordam de verdade, descontando as vezes em que dariam a mesma nota só no chute.

  1. Quando duas pessoas avaliam as mesmas coisas, como provas ou tarefas, queremos saber se elas concordam. O Cohen's kappa (kappa de Cohen) resume essa concordância em um único número.
  2. Contar só a porcentagem de acordos engana. Se quase toda tarefa é aprovada, dois avaliadores que aprovam tudo sem olhar concordam muito por pura sorte.
  3. Por isso o kappa estima quanto acordo viria do acaso. Ele usa a frequência com que cada avaliador costuma dizer sim ou não e desconta esse valor do acordo que realmente aconteceu.
  4. A conta é kappa = (acordo observado menos acordo por acaso) dividido por (1 menos acordo por acaso). O valor 1 indica acordo perfeito, 0 indica acordo igual ao do acaso e valores negativos indicam acordo pior que o acaso.
  5. No talk, o verificador teve kappa de 0.58 com os humanos, o mesmo nível medido entre dois anotadores humanos. Na escala mais usada, valores de 0.41 a 0.60 contam como concordância moderada.
CONTAR ACORDOSQuantas vezes os dois deram o mesmo voto
ESTIMAR O ACASOAcordo esperado se votassem no chute
DESCONTAR O ACASOTira o acaso e divide pelo que sobra
NOTA KAPPA1 perfeito, 0 acaso; no talk, 0.58

Ajuda saber antes: Probabilidade básica, Anotação humana (rótulos de referência), Verifier

leitura crítica

O talk também divulga o Browserbase e o Stagehand, e o verificador é do próprio grupo, que o compara com juízes antigos e fracos. O conjunto de validação é pequeno, 150 trajetórias, sendo cerca de 100 rotuladas por humanos externos. O kappa de 0.58 é moderado, não alto. O teste de autoresearch usou uma execução com um só modelo. A tarefa desktop ainda não tem resultados.

O que fazer com isso

  • Antes de confiar em um juiz de LLM, compare-o com rótulos humanos em uma amostra sua e meça o falso positivo, não só a taxa de acerto.
  • Gere uma rubrica por tarefa e cobre apenas o que a tarefa pediu. Revise as rubricas para tirar critérios extras.
  • Exija evidência concreta no julgamento, como screenshots ou logs, e compare com o que o agente afirmou ter feito.
  • Separe nota de processo de resultado final. Assim você distingue agente que errou de ambiente que bloqueou.

Advanced Workshop: Mastering AI Observability

Traces só viram qualidade quando sinal automático (scores e topics) alimenta evals e um coding agent propõe a correção em PR.

Evals 1:51:37 nível ●●●○○ Doug Guthrie, Braintrust Assistir no YouTube (abre em nova aba)

Em 3 frases

Doug Guthrie, da Braintrust, mostra num workshop prático como transformar traces de produção de um agente de suporte em melhorias medidas por evals (avaliações).

O sinal vem de duas fontes. Scores online (código ou LLM juiz) medem falhas já conhecidas, e Topics agrupa padrões em tarefas, sentimento e problemas que ninguém previu.

Um coding agent com a CLI da Braintrust consulta os traces via SQL, cria casos de teste e novos scores, roda os evals e abre um pull request para revisão humana.

Antes de ler

Mais 2 termos

Produção alimenta desenvolvimento num flywheel

Guthrie defende um ciclo em que a produção informa o desenvolvimento. Você muda o agente, roda evals para checar se melhorou ou piorou, publica e observa. Como o volume de traces é grande demais para leitura humana, o ciclo precisa de uma camada de inteligência que destaque o que importa.

O ciclo que liga produção, evals e mudanças no agente.08:05

Quatro tipos de score e calibração humana

Os scores vão de checagens em código (rápidas e baratas, como validar schema ou ordem de chamada de ferramentas) a LLM juízes e juízes alinhados com revisão humana. Dicas dele: score binário no começo, exemplos no prompt do juiz, modelo mais forte para julgar do que para gerar. Se tudo dá 100%, os testes são fracos.

Taxonomia de scores que o talk usa no resto do workshop.10:10

Topics encontra falhas que os evals não testam

O pipeline de Topics pré-processa o trace em uma conversa enxuta, resume com uma facet (tarefa, sentimento, problemas), gera um embedding e monta um topic map que rotula os traces. Serve para os desconhecidos que ninguém testou, inclusive pedidos de funcionalidade novos. O custo citado é de poucos centavos por milhão de tokens.

As etapas que transformam um trace bruto em rótulos filtráveis.18:34
Mais 2 ideias deste talk

Resultado no demo: falha de busca de pedido

Depois de importar 968 traces de exemplo, o painel de Topics mostra as tarefas mais frequentes e o sentimento. A facet customizada de workflow aponta uma falha de recuperação de pedido que os evals existentes não cobriam. A facet padrão de problemas não gerou dados, porque o prompt não combinava com o agente e faltaram 100 ocorrências.

Os padrões que o pipeline achou nos traces importados.1:07:58

Coding agent fecha o ciclo e abre o PR

Com a CLI (bt) e uma skill de melhoria, o Codex ou o Claude Code escreve SQL sobre os traces, cria dataset com os casos que falharam, adiciona scores, altera o agente e roda o eval. Uma GitHub Action empacota achados, explicação e evidência de eval num pull request, e o humano decide se aprova.

O PR automático traz a evidência para o revisor decidir.1:45:31
analogia

Topics e facets (agrupamento de padrões nos traces por facet). Topics e facets é como uma professora que lê todas as redações da turma e separa em pilhas por assunto, pelo humor do aluno e pelo tipo de erro, sem ter decidido as pilhas antes.

  1. Um agente em produção gera milhares de conversas, e ninguém consegue ler todas. Topics lê esses registros, agrupa os parecidos e mostra com que frequência cada padrão aparece.
  2. Uma facet (faceta, ou ângulo de leitura) define o que observar em cada conversa. As prontas são tarefa (o que o usuário quer), sentimento (como ele se sente) e problemas (onde o agente falhou). Você também pode criar a sua com um prompt próprio.
  3. Primeiro, um pré-processador (preprocessor) enxuga o trace, o registro passo a passo da execução, numa conversa curta entre usuário, assistente e chamadas de ferramenta. Depois um modelo resume essa conversa pelo ângulo da facet.
  4. Cada resumo vira um embedding (vetor de números que representa o significado). Resumos parecidos ficam próximos, e isso forma um topic map (mapa de tópicos) que rotula e classifica cada trace.
  5. Com os rótulos, você filtra o volume e acha falhas que seus evals não testavam, além de pedidos de funcionalidade novos. A Braintrust roda o pipeline em modelo próprio, a US$ 0,06 por milhão de tokens de entrada e US$ 0,40 de saída.
PRÉ-PROCESSAMENTOTrace vira conversa enxuta
FACETResume pelo ângulo escolhido
EMBEDDINGResumo vira vetor de números
TOPIC MAPAgrupa e rotula os traces

Ajuda saber antes: Trace, Embedding, Eval flywheel, Online scoring

analogia

Remote eval (eval exposto a um playground, executado no seu servidor). Remote eval é como um restaurante em que o cliente escolhe os temperos no balcão, o prato é feito na cozinha do dono e volta pronto para a mesa.

  1. Um eval (avaliação) roda o agente sobre um conjunto de casos de teste e dá nota às respostas. Normalmente só quem programa consegue rodar e mudar esse teste.
  2. O remote eval (avaliação remota) leva esse mesmo eval para um playground (área de testes visual) da Braintrust. Gerentes de produto e especialistas mudam o prompt de sistema ou a descrição de uma ferramenta e clicam em run.
  3. No código do eval, o engenheiro declara parâmetros. Eles indicam quais peças do agente a tela pode alterar, como o prompt e o modelo de cada subagente.
  4. Ao clicar em run, a Braintrust envia uma requisição POST ao endpoint exposto no seu servidor, local (localhost:8300 com a opção --dev) ou na sua infraestrutura. O código roda lá e os resultados voltam em streaming para o playground.
  5. Assim o engenheiro deixa de ser o gargalo para quem quer ajustar prompts, e o código e as ferramentas do agente continuam no seu ambiente.
PLAYGROUNDPessoa ajusta prompt e clica run
POST AO SERVIDORBraintrust chama seu endpoint
EXECUÇÃO NO SERVIDORCódigo roda na sua infraestrutura
RESULTADO NO PLAYGROUNDNotas do eval voltam em streaming

Ajuda saber antes: Eval, Eval flywheel, Prompt de sistema, Endpoint de API

leitura crítica

O talk é pitch da Braintrust. As comparações com LangSmith, Arize e ClickHouse vêm sem dados. O demo usa 968 traces sintéticos gerados por script, então ele não prova que Topics acha padrões úteis em tráfego real. A própria facet de problemas não gerou resultado nos dados de exemplo. O pipeline de Topics só roda em modelos hospedados pela Braintrust, o que cria dependência. A afirmação de que um cliente gera 5 a 10 PRs a mais por dia não traz medição nem nome. O PR automático ainda exige revisão humana e não mostra taxa de acerto.

O que fazer com isso

  • Ligue tracing no seu agente antes de qualquer outra coisa. Sem trace não há como saber onde a qualidade cai.
  • Comece com scores binários e casos difíceis. Se o eval dá 100%, endureça os testes e os critérios.
  • Leve para o dataset de eval os traces de produção que falharam, para que a correção não regrida depois.
  • Revise por amostragem as notas do seu LLM juiz com um humano e reduza a taxa de amostragem dos scores conforme o agente amadurece, para controlar custo.

The Transcript Looked Fine. The Call Wasn't.

Transcrição de texto esconde os piores erros de um agente de voz. Depure com áudio, trace e evals de áudio na mesma tela.

Evals 17:59 nível ●●●○○ Debugging Voice Agents, Arize Assistir no YouTube (abre em nova aba)

Em 3 frases

Fuad Ali, da Arize, mostra uma ligação de reembolso que parece correta na transcrição, mas teve 2,4 segundos de silêncio, interrupção e reembolso do pedido errado (40 no lugar de 14).

A solução proposta junta áudio, transcrição e trace (registro passo a passo da execução) em uma sessão só, usando as convenções abertas OpenInference, e roda evals (avaliações) direto sobre o áudio.

O fecho é o ciclo observar, avaliar e melhorar, com agentes de SRE (confiabilidade) que propõem correções, repetem as chamadas que falharam e abrem um pull request para aprovação humana.

Antes de ler

Mais 2 termos

A transcrição mente sobre a chamada

No exemplo, o texto mostra o agente se corrigindo. O áudio mostra 2,4 segundos de silêncio, o agente falando por cima do cliente, o número 14 ouvido errado e tom robótico. Quem lê só o log não vê nenhum desses problemas, porque latência, turnos de fala e erros de transcrição são fenômenos de áudio.

O texto parece correto, mas o áudio esconde silêncio, interrupção e erro de número.02:41

Uma sessão com áudio, transcrição e trace

A proposta é ver tudo no mesmo lugar: tocar o áudio dentro do trace, ler a transcrição, ver latência, tempo até o primeiro áudio, interrupções e custo de tokens de áudio. A conexão entre esses dados importa mais que cada um isolado, porque permite ligar uma fala ao momento exato da chamada de ferramenta.

Áudio, transcrição, latência e evals aparecem juntos em uma única visão.05:15

Um esquema aberto para vários provedores

O OpenInference é um conjunto aberto de convenções, compatível com OpenTelemetry, que traduz eventos de websocket de provedores como OpenAI Realtime e Gemini Live para um formato consultável. Isso evita parser próprio por fornecedor e facilita trocar de modelo quando um novo sai.

Um único esquema normaliza eventos de áudio de provedores diferentes.06:18
Mais 2 ideias deste talk

Achando a falha na chamada de ferramenta

Na demo, a chamada da ferramenta aparece alinhada ao áudio da sessão. Aplicado ao caso do reembolso, o trace mostra os três erros: 2,4 s até o primeiro áudio no turno 1, o agente falando por cima no turno 3 e o reembolso processado para o pedido 40.

O trace mostra os três erros que o log de texto escondia.09:00

Do eval ao pull request automático

Com os scores de eval gravados nos próprios spans, monitores podem acionar agentes de investigação. O cenário descrito: um agente de SRE acha a causa (resultados de ferramenta sem truncar sobrecarregavam o contexto), sobe a correção em dev, repete os traces que falharam e deixa um PR para o humano aprovar ou recusar.

Um agente propõe a correção e testa contra as chamadas que falharam.14:42
analogia

OpenInference (convenções abertas de rastreamento para IA). OpenInference é como um formulário padrão de ocorrência que todas as filiais de uma empresa preenchem do mesmo jeito, mesmo que cada filial use um sistema próprio no dia a dia.

  1. Cada empresa de IA, como OpenAI e Google, registra o que o modelo faz de um jeito diferente. Comparar esses registros dá trabalho, porque os campos têm nomes e formatos distintos.
  2. O OpenInference define um vocabulário comum e aberto para esses registros. Ele diz quais campos existem e como cada um se chama, como sessão, entrada de áudio, transcrição, resposta e contagem de tokens (pedaços de texto ou áudio que o modelo cobra).
  3. Um instrumentador automático (auto instrumenter) fica ligado ao seu agente e traduz os eventos de websocket (canal de comunicação contínua) de provedores como OpenAI Realtime e Gemini Live para esse vocabulário.
  4. O resultado são spans (trechos do trace) compatíveis com OpenTelemetry, o padrão aberto de telemetria. Por isso você pode enviar os dados para a Arize ou para outro back end, como o Grafana.
  5. Com um esquema único, você consulta e filtra milhares de chamadas de provedores diferentes da mesma forma. Trocar de modelo deixa de exigir um parser (leitor de formato) novo para cada fornecedor.
EVENTOS DO PROVEDORwebsocket da OpenAI ou do Gemini Live
INSTRUMENTADORtraduz para as convenções abertas
SPANS PADRONIZADOSsessão, áudio, transcrição, tokens
CONSULTA ÚNICAfiltra traces de qualquer provedor

Ajuda saber antes: Trace, Span, OpenTelemetry, Websocket

leitura crítica

O palestrante diz que não é pitch, mas o produto (Arize AX) aparece como solução em quase todos os trechos, e termina com código de um ano grátis do plano Pro. Não há dados de ganho: nenhuma taxa de erro, comparação antes e depois ou taxa de acerto dos evals de áudio. O caso do reembolso é uma chamada gerada por IA. O agente de SRE que corrige sozinho é descrito como futuro desejado, sem demonstração.

O que fazer com isso

  • Meça tempo até o primeiro áudio e número de interrupções nas chamadas do seu agente de voz antes de mexer em prompt ou modelo.
  • Guarde o áudio original junto com cada trace e use um identificador de sessão para juntar todos os turnos de uma chamada.
  • Crie um eval de tom ou de latência que rode sobre o áudio, não só sobre a transcrição, e compare com o que o eval de texto aponta.
  • Se já usa OpenTelemetry, teste o instrumentador open source OpenInference e envie os traces ao seu back end atual.

What Is an Inference Engine, Anyway?

O motor de inferência existe para manter a GPU sempre ocupada. O scheduler na CPU, a memória do KV cache e o tipo de carga decidem o desempenho.

Infraestrutura 59:58 nível ●●●●○ Charles Frye, Modal Assistir no YouTube (abre em nova aba)

Em 3 frases

Charles Frye, da Modal, abre o inference engine (motor de inferência) que roda por trás das APIs, usando SGLang e vLLM como referência.

Cada pedido passa por servidor, tokenizador, scheduler, execução do modelo na GPU e detokenizador, e o scheduler pode virar gargalo mesmo fazendo pouca conta.

KV cache, CUDA graphs e speculative decoding aceleram o motor, e em produção é preciso rodar evals no próprio deploy, registrar token IDs e coletar muitas métricas.

Antes de ler

Mais 2 termos

Um motor de inferência é um conjunto de processos

Um processo cuida da entrada e saída HTTP ou gRPC. Outros tokenizam o texto e o devolvem em texto no fim. No centro ficam o scheduler, que monta lotes de pedidos, e os processos que rodam o modelo na GPU. Frye diz que montar algo que recebe e devolve tokens leva uma ou duas horas com PyTorch. A parte difícil é extrair desempenho, e isso define a arquitetura.

O trabalho pesado fica no scheduler e no código que roda na GPU02:30

Cada tipo de carga pede um deploy diferente

Frye separa três cargas. O chatbot com ferramentas tem muito prefixo reaproveitado, saídas curtas e pouca tolerância a atraso. O agente em segundo plano reaproveita prefixo, mas pode levar minutos ou horas. O processador de documentos lê textos sempre novos, gera saídas curtas e precisa de vazão. As métricas são time to first token (tempo até o primeiro token) e inter-token latency (tempo entre tokens).

Chatbot, agente em segundo plano e processador de dados têm perfis de desempenho distintos13:10

O scheduler controla o acesso à GPU

A GPU é a peça cara e faz quase toda a conta. O scheduler roda em uma única thread, em Python, e decide o que entra em cada lote. Se ele atrasar, a GPU fica parada. Por isso Frye aponta o scheduler como bom candidato a ser reescrito em Rust. Conforme as GPUs ficam mais rápidas, a pressão sobre esse componente aumenta.

Um processo de uma thread só decide todo o trabalho que a GPU executa21:32
Mais 2 ideias deste talk

KV cache e CUDA graphs reduzem trabalho repetido

O KV cache guarda contas já feitas da atenção e permite reaproveitar prefixos comuns, como um system prompt longo compartilhado entre usuários. A gestão em páginas ou árvore radix migrou para kernels como o FlashAttention 4. Ao motor resta gerir a capacidade e o layout do cache. CUDA graphs juntam todos os kernels de uma passada do modelo em um grafo lançado de uma vez, o que corta o trabalho da CPU.

Um só lançamento na CPU dispara todos os kernels da passada do modelo50:30

Speculative decoding troca passos sequenciais por checagem em paralelo

Na fase de decode, cada token exige ler os pesos do modelo inteiro da memória. Um modelo menor, o speculator, chuta os próximos tokens. O modelo principal confere todos de uma vez, e a rejection sampling (amostragem por rejeição) mantém a mesma saída. Frye afirma que um speculator melhor dá ganho quase linear na vazão, enquanto outras otimizações rendem poucos pontos percentuais cada.

O decode vira uma série de pequenos prefills verificados em paralelo51:30
analogia

Time to first token (TTFT) (Tempo até o primeiro token). O TTFT é como o tempo entre fazer o pedido no restaurante e o garçom trazer o primeiro prato à mesa.

  1. Quando você manda uma pergunta para um chatbot, existe uma espera até a primeira palavra aparecer na tela. Essa espera tem nome, time to first token (tempo até o primeiro token).
  2. Nesse intervalo o motor lê o prompt inteiro de uma vez. Essa fase se chama prefill (pré-preenchimento) e termina com o primeiro token pronto.
  3. Prompts longos pedem mais conta no prefill e aumentam o TTFT. Reaproveitar um prefixo já calculado no KV cache encurta essa etapa.
  4. O TTFT anda junto com a inter-token latency (tempo entre tokens), que mede a velocidade das palavras seguintes. As duas formam o orçamento de latência do deploy.
  5. Para um chatbot com pessoas, Frye fala em poucas centenas de milissegundos no máximo. Um agente em segundo plano tolera minutos.
PEDIDO ENVIADOUsuário manda o prompt
FILA E LOTEScheduler encaixa o pedido
PREFILLModelo lê o prompt inteiro
PRIMEIRO TOKENFim da contagem do TTFT

Ajuda saber antes: Token, Prefill e decode, Latência, KV cache

analogia

Scheduler (Escalonador de trabalho para a GPU). O scheduler é como o chefe de cozinha que decide quais pedidos vão juntos para o fogão, para que o fogão nunca fique desligado esperando.

  1. Um modelo de IA atende muitos pedidos ao mesmo tempo, e alguém precisa decidir a ordem e o que vai junto. Esse papel é do scheduler (escalonador).
  2. Ele recebe os pedidos já convertidos em tokens, confere quanta memória cada um vai gastar e quanta está livre, e coloca o excedente em uma fila.
  3. Depois monta lotes (batches) de pedidos e os envia para a GPU, que rende mais quando processa vários pedidos em paralelo.
  4. No SGLang e no vLLM o scheduler roda em Python, em uma única thread (linha de execução). Ele faz pouca conta, mas toda tarefa da GPU passa por ele.
  5. Se o scheduler demora a preparar o próximo lote, a GPU, a peça mais cara, fica parada. Por isso ele vira gargalo e concentra boa parte do trabalho de otimização.
PEDIDO TOKENIZADOChega do tokenizador
CONFERE RECURSOSMemória livre e fila de espera
MONTA O LOTEJunta vários pedidos de uma vez
GPU OCUPADAModelo roda sem ficar ociosa

Ajuda saber antes: GPU, Token, Batching, Tokenizer

leitura crítica

Frye trabalha na Modal, e o talk fecha com a divulgação de um produto de deploy e das vagas da empresa. A demo de carga usa o próprio app de placas de museu com três réplicas e não mostra números. O ganho de 2x a 8x com speculative decoding chega sem benchmark e remete ao blog da Modal. A regra de que o tokenizador só pesa abaixo de cerca de 20 bilhões de parâmetros vem de terceiros (Crusoe), sem dados. O próprio palestrante admite incerteza sobre detalhes do tokenizador.

O que fazer com isso

  • Antes de escolher um provedor ou deploy, classifique sua carga: conversa com pessoa, agente em segundo plano ou processamento de documentos em lote.
  • Defina metas de time to first token e de tempo entre tokens e meça as duas no painel do seu provedor de inferência.
  • Coloque o system prompt longo e fixo no início do prompt para aproveitar o reaproveitamento de prefixo no KV cache.
  • Ao trocar de modelo ou motor, rode suas evals contra o endpoint real e registre os token IDs para pegar bugs de tokenizador e chat template.

Fim da edição

Termos novos no glossário: QAT (quantization-aware training), Elicitation, Cross App Access (XAA), Recall, Precision e recall, Signal, Agreement gate, Cohen's kappa, Topics e facets, Remote eval, OpenInference, Time to first token (TTFT), Scheduler.