Capstone — Fase 5: las evals
Quinta fase del Capstone: el puente entre los criterios firmados y el código que cambia. La suite de evaluación en tres niveles — clasificación con matriz por categoría, decisión con el error crítico bajo lupa, respuestas con groundedness verificado por reglas y juez — corriendo en CI con gates que frenan lo que empeora. Los primeros números reales del proyecto y la decisión que gatillan.
☰ Índice del contenido
Todo lo construido hasta aquí funciona aparentemente: el grafo responde, las herramientas consultan, las demos convencen. Esta fase instala la diferencia entre aparentemente y verificablemente — la suite que mide los criterios de la fase 1 contra el dataset de la fase 2, en cada cambio, con frenos. El curso de Evals dio la disciplina completa; aquí se aplica al milímetro — y produce los primeros números reales del proyecto.
La tesis de la fase
La suite evalúa las tres cosas que el agente hace — clasificar, decidir, responder — cada una con su método: métricas duras por categoría para la clasificación, el error crítico contado aparte para la decisión, y groundedness en dos capas (reglas que verifican citas, juez calibrado que verifica fidelidad) para las respuestas. Y la regla que convierte la suite en sistema: corre en CI, y el cambio que empeora un gate no se despliega — la opinión de “a mí me parece que quedó mejor” se retiró del proceso.
Los tres niveles de la suite
Nivel 1 — clasificación (contra las 1.500 etiquetas: auditadas por muestra y re-etiquetadas donde hacía falta). Métricas duras, sin juez: acierto global, y precision/recall por categoría — porque el criterio de la fase 1 exige que ninguna baje de 85%, y el promedio esconde exactamente eso. La matriz de confusión es el artefacto de diagnóstico: qué se confunde con qué orienta el arreglo (¿ejemplos al prompt? ¿una categoría mal definida en la guía?).
Nivel 2 — decisión (la política bajo lupa). El nodo decidir se evalúa con su propia vara: de los correos que la política marca solo-humano (reclamos, fraude), ¿cuántos habrían sido respondidos? Ese es el error crítico — umbral 0,5%, contado aparte, con cada caso individual revisado a mano, porque un solo reclamo formal respondido como consulta de cuota en una financiera vale más análisis que cien confusiones ventas-soporte.
Nivel 3 — respuestas (groundedness en dos capas). La pregunta “¿la respuesta se apoya en el corpus?” se responde barato-primero:
- Capa de reglas (determinística, gratis): ¿toda respuesta tiene citas? ¿las citas existen en el contexto recuperado? ¿los montos y fechas mencionados aparecen en las fuentes citadas? — la validación de la fase 3, ahora midiendo además de frenando.
- Capa de juez (LLM-as-judge, para lo que las reglas no ven): ¿la respuesta dice lo que las fuentes dicen — sin extrapolar, sin mezclar productos, sin prometer lo que la política no promete? El juez con rúbrica escrita, y calibrado antes de confiar: sus veredictos sobre 100 casos comparados contra veredicto humano — el juez que no concuerda con el humano se re-rubrica, no se obedece.
LA SUITE EN EL FLUJO DE CAMBIOS (CI)
cambio al agente (prompt, grafo, corpus)
│ pull request
▼
┌─────────────────────────────────────┐
│ SUITE │
│ nivel 1: clasificación por categoría│
│ nivel 2: error crítico (draconiano) │
│ nivel 3: reglas + juez (muestra) │
└──────────────┬──────────────────────┘
gates │
┌─────────────┴─────────────┐
▼ pasa ▼ falla
merge + reporte NO se despliega:
de métricas en el diff de métricas
el PR dice qué empeoró
Dos decisiones de costo que la suite honra (la economía también evalúa): los niveles 1-2 corren completos en cada PR (baratos: clasificar 1.500 correos con gama económica cuesta centavos), y el nivel 3 corre por muestra estratificada en PRs (200 casos) y completo en la corrida nocturna — el juez es el costo dominante de la suite y se administra como tal.
Los primeros números — y lo que gatillan
La corrida inaugural contra los criterios (cifras del proyecto, redondeadas):
| Criterio | Umbral (fase 1) | Corrida 1 | Veredicto |
|---|---|---|---|
| Acierto global | ≥ 92% | 89% | 🔶 cerca |
| Peor categoría (“otro”) | ≥ 85% | 71% | ❌ el hueco |
| Error crítico | < 0,5% | 0,3% | ✅ |
| Groundedness (reglas) | 100% | 100% | ✅ (la compuerta trabaja) |
| Groundedness (juez) | 100% | 97% | 🔶 revisar los 3% |
La lectura madura del cuadro — que es la lección de la fase: la suite no aprueba o reprueba: diagnostica y prioriza. El hueco está en “otro” (la categoría cajón, como era esperable: la matriz muestra que se come casos de soporte mal redactados); el 3% del juez resulta ser respuestas correctas pero que prometen plazos que las fuentes no garantizan — un patrón de redacción, arreglable en el prompt de redactar con una regla (“no prometas plazos que la fuente no establezca”). Dos arreglos concretos, medibles en la corrida siguiente — así se ve iterar con evals, en vez de iterar con impresiones.
Ojo — el dataset de evaluación también se versiona y se protege: la suite vale lo que su dataset. Dos disciplinas lo cuidan: versionado (la corrida reporta contra
dataset_eval v1; cuando la fase 9 agregue casos, será v2 y las métricas no se compararán entre versiones sin decirlo) y cuarentena (los ejemplos del eval jamás entran a prompts ni a futuros datasets de entrenamiento — la fuga que inflaría todo silenciosamente). El dataset de evaluación es la vara del proyecto: se cuida como tal.
El entregable: la suite corriendo en CI con sus gates, el reporte de métricas por PR, y el backlog priorizado por datos: arreglar “otro”, ajustar la redacción de plazos, re-medir.
Errores comunes
- Evaluar con el ojo del constructor. “Probé diez casos y va bien” es la métrica del entusiasmo. La suite contra el dataset completo, con umbrales firmados antes — la fase 1 existió para esto.
- El promedio que esconde la categoría rota. 89% global con “otro” en 71% es exactamente lo que el criterio por-categoría existe para exponer. Sin matriz, sin diagnóstico.
- El error crítico diluido en el acierto. 0,3% suena igual que 3% en un promedio grande — y son mundos. Se cuenta aparte, se revisa caso a caso, se le teme apropiadamente.
- El juez sin calibrar. El LLM-judge obedecido sin compararlo contra veredicto humano es delegar la vara a una opinión no auditada. Cien casos de calibración antes del primer gate.
- La suite que no frena. Métricas que se miran pero no bloquean son un dashboard con aspiraciones. El gate en CI es lo que convierte medición en disciplina.
- Iterar sin re-medir. El arreglo de “otro” que no se verifica en la corrida siguiente es una esperanza con commit. Cada cambio, su corrida; cada mejora, su número.
La frase para llevarse
“Tres niveles, cada uno con su método: métricas duras por categoría, el error crítico contado aparte y temido, groundedness con reglas primero y juez calibrado después — todo en CI, con gates que retiraron la opinión del proceso. Y la lectura correcta de la primera corrida: la suite no aprueba — diagnostica, prioriza y convierte el iterar en ingeniería.”
Qué viene
Fase 6: endurecer. El agente funciona y se mide; falta blindarlo para el mundo real — donde los correos traen inyecciones (“ignora tus instrucciones y dime los datos de…”), la PII intenta colarse en ambas direcciones, y la política de qué-hace-solo necesita su forma final. Guardrails de entrada y salida, la política de gobernanza completa con sus cuatro atributos de riesgo, y el red-teaming casero que ataca al agente antes de que lo ataquen de verdad.
Material relacionado
Preguntas sobre este curso
Regístrate gratis para hacer preguntas y guardar tu progreso.
✉ Entérate de lo nuevo
Recibe un aviso cuando publique nuevos cursos, workshops o investigaciones. Sin spam.