MODULO 3.6

๐Ÿ“Š Avaliacao Automatizada (Evals)

Crie pipelines de avaliacao automatizada para medir e melhorar a qualidade sistematicamente.

6
Topicos
30
Minutos
Avancado
Nivel
Qualidade
Tipo
1

๐Ÿ“Š Por que Automatizar Evals

Avaliacao manual nao escala. Quando voce tem dezenas de prompts em producao e cada um precisa ser testado com multiplos cenarios, a unica saida e automacao. Evals automatizados sao o "teste unitario" da engenharia de prompts.

๐Ÿ“‹ Limitacoes da Avaliacao Manual

  • โœ—Inconsistencia: Dois avaliadores podem discordar sobre a qualidade da mesma resposta
  • โœ—Velocidade: Avaliar 100 respostas manualmente leva horas; automatizado, segundos
  • โœ—Cobertura: E impossivel testar todos os edge cases manualmente a cada mudanca
  • โœ—Regressao: Sem evals automatizados, voce nao sabe se uma mudanca quebrou algo que funcionava

๐Ÿ’ก ROI da Automacao

Investir em evals automatizados parece caro no inicio, mas o retorno e exponencial. Uma suite de 50 testes que roda em 2 minutos substitui horas de revisao manual e detecta regressoes que humanos perderiam. O custo de um bug em producao e sempre maior que o custo de um eval.

2

๐Ÿ“ Metricas e Criterios

Antes de avaliar, voce precisa definir o que medir. Metricas vagas como "qualidade" nao servem โ€” voce precisa de criterios especificos, mensuraveis e relevantes para o caso de uso.

๐Ÿ“Š Tipos de Metricas

Quantitativas

  • โ€ขExatidao (match com golden answer)
  • โ€ขLatencia (tempo de resposta)
  • โ€ขCusto por query (tokens consumidos)
  • โ€ขComprimento da resposta (dentro do range)

Qualitativas

  • โ€ขRelevancia (responde a pergunta?)
  • โ€ขCoerencia (logica e fluida?)
  • โ€ขTom adequado (formal, casual?)
  • โ€ขSeguranca (sem conteudo proibido?)

โš–๏ธ Metricas Compostas

Combine metricas com pesos para criar um score unico:

score_final = (

exatidao * 0.35 +

relevancia * 0.25 +

formato * 0.15 +

seguranca * 0.15 +

tom * 0.10

)

3

โš–๏ธ LLM-as-Judge

A tecnica mais poderosa para evals qualitativos: usar um LLM como juiz para avaliar saidas de outro LLM. O juiz recebe uma rubrica e atribui scores de forma consistente e escalavel.

๐Ÿ“‹ Prompt de Juiz (Template)

Voce e um avaliador especialista.

Avalie a resposta abaixo usando esta rubrica:

- 5 (Excelente): Completa, precisa, bem formatada

- 4 (Bom): Correta com pequenas omissoes

- 3 (Adequado): Parcialmente correta, faltam detalhes

- 2 (Fraco): Erros significativos ou incompleta

- 1 (Ruim): Incorreta ou irrelevante

Pergunta: {pergunta}

Resposta: {resposta}

Output: JSON com score e justificativa

๐Ÿšจ Cuidados com LLM-as-Judge

  • Vies de posicao: O juiz tende a preferir a primeira ou ultima opcao โ€” randomize a ordem
  • Vies de verbosidade: Respostas mais longas tendem a receber scores maiores sem serem melhores
  • Calibracao: Valide o juiz contra avaliacoes humanas โ€” busque agreement rate acima de 80%
  • Custo: Cada eval e uma chamada extra ao LLM โ€” considere usar modelo menor como juiz
4

๐Ÿ“ Datasets de Teste

Evals sao tao bons quanto os dados de teste. Um dataset bem construido cobre o caminho feliz, edge cases, inputs adversariais e cenarios do mundo real.

Tipos de Casos de Teste

  • โœ“Golden set: Perguntas com respostas ideais conhecidas
  • โœ“Edge cases: Inputs ambiguos, muito longos, vazios
  • โœ“Adversariais: Tentativas de injection e jailbreak
  • โœ“Reais: Perguntas reais coletadas de usuarios

Boas Praticas

  • โœ“Tamanho minimo: 30-50 casos para significancia
  • โœ“Diversidade: Cobrir todos os cenarios de uso
  • โœ“Versionamento: Tratar como codigo (Git)
  • โœ“Manutencao: Atualizar quando o dominio muda

๐Ÿ’ก Formato Recomendado

Armazene datasets em JSONL (uma linha JSON por caso): {"input": "...", "expected": "...", "tags": ["edge_case"], "metadata": {}}. Facil de versionar, filtrar e expandir.

5

๐Ÿ”„ CI/CD para Prompts

Integrar evals no pipeline de CI/CD garante que nenhuma mudanca em prompt vai para producao sem passar por testes automatizados. E o mesmo principio de software engineering aplicado a prompts.

๐Ÿ”ง Pipeline de CI/CD para Prompts

1
Commit โ€” Desenvolvedor altera prompt ou system message no repositorio
2
Trigger โ€” GitHub Actions detecta mudanca e inicia pipeline de evals
3
Run โ€” Executa suite de testes: dataset completo + metricas definidas
4
Gate โ€” Compara scores com thresholds minimos (ex: exatidao >= 0.85)
5
Report โ€” Gera relatorio com diff de performance vs versao anterior
6
Deploy/Block โ€” Aprova deploy se passou nos gates, bloqueia se regrediu

๐Ÿ“Š Thresholds e Alertas

  • Hard gates: Score abaixo do minimo bloqueia o deploy automaticamente
  • Soft gates: Degradacao pequena gera alerta mas permite deploy com aprovacao manual
  • Trend alerts: Degradacao gradual ao longo de N deploys dispara investigacao
  • Rollback automatico: Se metricas em producao caem apos deploy, reverter para versao anterior
6

๐Ÿงช Exercicio: Pipeline de Evals

Construa um pipeline simples de avaliacao que testa um prompt com 10 casos de teste, calcula metricas e gera um relatorio. Voce vai vivenciar o ciclo completo de eval.

๐Ÿ“‹ Tarefa do Exercicio

Passo 1 โ€” Dataset: Crie 10 casos de teste para um prompt de classificacao de sentimento

- 4 casos positivos, 3 negativos, 2 neutros, 1 ambiguo

- Cada caso: input + expected output + tags

Passo 2 โ€” Metricas: Defina 3 metricas

- Exatidao: match com label esperado

- Formato: resposta no JSON correto

- Confianca: modelo indica nivel de certeza

Passo 3 โ€” Automacao: Execute o prompt nos 10 casos e colete resultados

Passo 4 โ€” Relatorio: Calcule scores e identifique padroes de falha

Use promptfoo ou um script simples em Python. O importante e o processo, nao a ferramenta.

๐Ÿ“ Resumo do Modulo

โœ“
Manual nao escala โ€” Automacao e essencial para consistencia, velocidade e cobertura
โœ“
Metricas precisam ser especificas โ€” Quantitativas + qualitativas com pesos definidos
โœ“
LLM-as-Judge e poderoso โ€” Mas precisa de calibracao e cuidado com vieses
โœ“
Datasets bem construidos โ€” Golden sets, edge cases, adversariais, versionados
โœ“
CI/CD para prompts โ€” Gates, thresholds, reporting e rollback automatico

Proximo Modulo:

3.7 โ€” Pipelines e Orquestracao: conecte multiplos LLMs e ferramentas em pipelines robustos