Blog
Para quem já sabe o básico e quer ir fundo. Aqui o assunto é como os modelos funcionam em produção: memória, roteamento, ferramentas, agentes. O lado técnico que pouca gente explica direito.
Software tradicional: input X → output Y determinístico. LLM: estocástico, sem ground truth em tasks criativas, métricas (BLEU/ROUGE) ruins pra semantic. Eval é research-like: hipóteses, dataset, métrica, resultados. "Vibes-based testing" não escala.
Golden set: 100-500 exemplos (query, contexto, resposta ideal) curados por expertos. Evolve: add casos quando user reporta issue, remove quando task muda. Stratified (edge cases, easy, medium, hard). Annotator agreement: 2-3 humans, reconcilie discordance.
GPT-4/Claude avaliando outputs é prático mas enviesado. Bias conhecidos: position bias (prefere primeiro), verbosity bias (mais longo = melhor), self-enhancement (prefere mesmo modelo), família bias. Mitigações: pairwise A-vs-B com order swap, rubric estruturada, cross-model validation, human calibration.
Promptfoo: YAML-driven, open, bom pra CI. Braintrust: platform pro eval, viz top. Langfuse: open-source, traces + evals combinados. Inspect (UK AI Safety Institute): research-grade. Quando usar cada: time pequeno (Promptfoo), startup (Langfuse), enterprise (Braintrust).
Feature flag direciona % user pro prompt novo. Métricas: completion rate, user satisfaction (thumbs up/down), cost per request, latency. Statistical significance com sample size adequado. Guard rails: se error rate spike, rollback automático.
Agent tem estado complexo: tool selection, multi-turn, memory. Regression cases: "antes resolvia X, agora não". Suite de cenários end-to-end com golden answer. Rodar em cada commit de prompt/tool. Captura user sessions falhas, vira regression test automático.
Projeto: app LLM real (RAG, agent, ou assistant). Monte harness: 200+ golden set stratified, LLM-as-judge com pairwise, A/B em prod com feature flag, regression suite em CI, dashboard em Langfuse. Rodar hypothesis: "reranker melhora accuracy?" com dado estatístico.