Crear un conjunto de pruebas de referencia
Seleccione entre 50 y 200 pares de alta calidad —entrada y salida esperada— que cubran la amplia variedad del uso real.
Crear un conjunto de pruebas de referencia es una lección gratuita de AI Agents en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Agents, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Agents incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
¿Qué es un conjunto de referencia?
Un «conjunto de pruebas de referencia» (o «gold set») es una colección seleccionada de pares (entrada, salida esperada) que define cómo es un comportamiento correcto.
Cada cambio se mide con respecto a este conjunto.
Propiedades de un buen conjunto de referencia
- Diverso — cubre casos comunes Y extremos
- Seleccionado por personas — no generado automáticamente
- Versionado — congelado en su repositorio
- Documentado — cada caso tiene una justificación
¿Cuántos casos?
Regla general:
- 50 casos — mínimo viable
- 200 casos — buena cobertura
- 1000 casos o más — producto maduro
La calidad es más importante que la cantidad. 50 casos bien elegidos superan a 500 casos aleatorios.
Obtención de casos
- Entrevistas con usuarios — qué preguntan los usuarios reales
- Registros de producción — preguntas que se han recibido
- Informes de errores — cada error se convierte en una evaluación
- Generación de casos adversarios — pida al LLM que rompa el agente
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)Salida esperada: exacta o heurística
Hay dos tipos de salida esperada:
- Coincidencia exacta — para extracción, clasificación y cálculos
- Heurística — para preguntas y respuestas abiertas; evalúe si aparecen los datos clave
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 adversarios
Incluya casos difíciles:
- Preguntas fuera de alcance («¿Qué tiempo hace en Marte?»)
- Consultas ambiguas
- Intentos de inyección de prompts
- Entradas en idiomas extranjeros
- Entradas muy largas
Versionado del conjunto de referencia
Guárdelo como JSON en su repositorio. Cada PR que actualice el conjunto debe explicar por qué:
// 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"
}
]Particiones de prueba y reserva
Para detectar el sobreajuste, divídalo en:
- Conjunto de desarrollo — para iterar (puede verlo)
- Conjunto de prueba — para medir (NO lo utiliza para ajustar el sistema)
- Conjunto de reserva — se utiliza solo antes de las versiones principales
Etiquetado de Pareto
Etiquete los casos por categoría para poder ver DÓNDE ha sufrido una regresión:
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")
Rúbricas de evaluación
Para salidas complejas, escriba una rúbrica: qué debe estar presente, qué NO debe estar presente y qué es preferible:
rubric = {
'must_include': ['30 days'],
'must_not_include': ['no refunds'],
'preferably_includes': ['receipt']
}
for k, v in rubric.items():
print(f"{k}: {v}")
Fuente de los casos
¿Cuál es la fuente con mayor señal para obtener casos de evaluación?
Resumen
Más de 50 casos seleccionados, obtenidos de usuarios reales y fallos de producción. Versione el conjunto, etiquételo y divídalo en desarrollo, prueba y reserva. Amplíelo con cada error.
Preguntas frecuentes
¿La lección «Crear un conjunto de pruebas de referencia» es gratis?
Sí — el texto completo de «Crear un conjunto de pruebas de referencia» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Agents, actualiza a CoddyKit PRO. El curso de AI Agents incluye 4 lecciones en total.
¿Qué aprenderé en «Crear un conjunto de pruebas de referencia»?
Seleccione entre 50 y 200 pares de alta calidad —entrada y salida esperada— que cubran la amplia variedad del uso real. Practicas AI Agents con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AI Agents?
No se requiere experiencia previa. AI Agents en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Crear un conjunto de pruebas de referencia»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AI Agents?
Sí. Cada lección de AI Agents incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Desarrollo de agentes guiado por evaluaciones
- Crear un conjunto de pruebas de referencia
- Problemas de los LLM como jueces
- Conjuntos de pruebas comparativas: SWE-Bench, GAIA y ToolBench