Construindo um conjunto de testes de referência
Selecione de 50 a 200 pares de alta qualidade (entrada, saída esperada) que cubram a cauda longa do uso real.
Construindo um conjunto de testes de referência é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Agents, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Agents inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
O que é um conjunto de referência?
Um "conjunto de testes de referência" (ou "conjunto de referência") é uma coleção selecionada de pares (entrada, saída esperada) que define como é um bom comportamento.
Cada alteração é medida em relação a esse conjunto.
Propriedades de um bom conjunto de referência
- Diversificado — abrange casos comuns E casos extremos
- Selecionado por pessoas — não gerado automaticamente
- Versionado — congelado no seu repositório
- Documentado — cada caso tem uma justificativa
Quantos casos?
Regra prática:
- 50 casos — mínimo viável
- 200 casos — boa cobertura
- 1000 ou mais casos — produto maduro
Qualidade > quantidade. 50 casos bem escolhidos são melhores que 500 casos aleatórios.
Fontes dos casos
- Entrevistas com usuários — o que os usuários reais perguntam
- Registros de produção — perguntas que chegaram
- Relatórios de erros — cada erro se torna uma avaliação
- Geração adversarial — peça ao LLM para fazer o agente falhar
Mining Bad Production Traces
for trace in last_week_traces():
if trace.has_thumbs_down or trace.had_error:
case = {
'input': trace.input,
'why_bad': trace.feedback_comment,
'expected': None # to be filled by human reviewer
}
save_to_review_queue(case)Saída esperada: exata versus heurística
Há dois tipos de saída esperada:
- Correspondência exata — para extração, classificação e cálculos
- Heurística — para perguntas e respostas abertas; avalie se os fatos principais aparecem
Heuristic Scoring
def score_answer(actual, expected_facts):
return sum(1 for f in expected_facts if f.lower() in actual.lower()) / len(expected_facts)
case = {
'input': 'What is our refund policy?',
'expected_facts': ['30 days', 'unopened', 'receipt required'],
'min_score': 0.66 # at least 2 of 3 facts mentioned
}
actual_answer = "You can return items within 30 days if they are unopened."
score = score_answer(actual_answer, case['expected_facts'])
print(f"Score: {score:.2f} (min required: {case['min_score']})")
Casos adversariais
Inclua casos difíceis:
- Perguntas fora do escopo ("Qual é o clima em Marte?")
- Consultas ambíguas
- Tentativas de injeção de instruções
- Entradas em idiomas estrangeiros
- Entradas muito longas
Versionamento do conjunto de referência
Armazene-o como JSON no seu repositório. Cada PR que atualizar o conjunto deve explicar o motivo:
// gold-set.json
[
{
"id": "refund-policy-001",
"input": "What is your refund policy?",
"expected_facts": ["30 days", "unopened", "receipt required"],
"added_by": "alice@",
"added_at": "2025-08-12",
"reason": "Top customer support question"
}
]Divisões entre teste e retenção
Para detectar sobreajuste, divida os dados em:
- Conjunto de desenvolvimento — itere nele (você o vê)
- Conjunto de teste — faça as medições nele (você NÃO o ajusta)
- Conjunto de retenção — usado somente antes de lançamentos importantes
Classificação de Pareto
Classifique os casos por categoria para ver ONDE você regrediu:
tag1 = {'tags': ['policy', 'common-question']}
tag2 = {'tags': ['math', 'edge-case']}
print(tag1)
print(tag2)
# Run eval and report:
print("Category 'policy': 0.92")
print("Category 'math': 0.68 <- regression here")
Rubricas de avaliação
Para saídas complexas, escreva uma rubrica: o que deve estar presente, o que NÃO deve estar presente e o que é preferível:
rubric = {
'must_include': ['30 days'],
'must_not_include': ['no refunds'],
'preferably_includes': ['receipt']
}
for k, v in rubric.items():
print(f"{k}: {v}")
Fonte dos casos
Qual é a fonte de maior sinal para casos de avaliação?
Recapitulação
Mais de 50 casos selecionados, provenientes de usuários reais e falhas de produção. Faça o versionamento; classifique-os; divida-os em desenvolvimento, teste e retenção. Amplie o conjunto a cada erro.
Aprenda AI Agents com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 60
- Aulas
- 239
Perguntas Frequentes
A aula “Construindo um conjunto de testes de referência” é grátis?
Sim — o texto completo de “Construindo um conjunto de testes de referência” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Agents, atualize para CoddyKit PRO. O curso de AI Agents inclui 4 aulas no total.
O que vou aprender em “Construindo um conjunto de testes de referência”?
Selecione de 50 a 200 pares de alta qualidade (entrada, saída esperada) que cubram a cauda longa do uso real. Você pratica AI Agents com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar AI Agents?
Nenhuma experiência prévia é necessária. AI Agents no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Construindo um conjunto de testes de referência”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de AI Agents?
Sim. Cada aula de AI Agents inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Desenvolvimento de agentes orientado por avaliações
- Construindo um conjunto de testes de referência
- Armadilhas do LLM como avaliador
- Conjuntos de referência: SWE-Bench, GAIA, ToolBench