AI Agents · Aula

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.

Aula 2 de 414 etapas

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

  1. Entrevistas com usuários — o que os usuários reais perguntam
  2. Registros de produção — perguntas que chegaram
  3. Relatórios de erros — cada erro se torna uma avaliação
  4. 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.

Grátis para começar

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

  1. Desenvolvimento de agentes orientado por avaliações
  2. Construindo um conjunto de testes de referência
  3. Armadilhas do LLM como avaliador
  4. Conjuntos de referência: SWE-Bench, GAIA, ToolBench
← Voltar para AI Agents