English · Español
06 — La rúbrica de evaluación del capstone; cómo leer un desglose de score¶
La rúbrica del capstone es la misma que usa el módulo A4 del portal de la Fase 41 para evaluar respuestas de quiz y exam: cuatro dimensiones, cada una con puntuación binaria o por escala corta, ponderadas para producir un score 0-1. Si lees un breakdown, sabes en cuál dimensión hay deuda — no necesitas mirar los outputs uno a uno.
Por qué una rúbrica para capstone y portal¶
El exam del capstone de la Fase 39 (data/exams/phase-39-capstone.yaml y el opcional phase-39-capstone-extra.yaml) usa la misma forma que el evaluador de quiz/exam del portal de la Fase 41 (ver docs/phase-41-learner-portal/theory/04-quizzes-and-exams.md — no modificar). Compartir la rúbrica es deliberado:
- Una sola fuente de verdad. El score del exam del portal de un learner se calcula igual que el score de la puerta del capstone. Sin sorpresas en la puerta.
- Composabilidad. El portal puede repetir items del capstone en modo de spaced-repetition (planificador SM-2 de la Fase 41) y aplica la misma señal de corrección.
- Debuggability. Cuando un score es inesperadamente bajo, el desglose por dimensión te dice si es un problema de corrección, de normalización o de spanish-gloss.
Las cuatro dimensiones¶
La rúbrica puntúa cada salida del tutor en cuatro ejes. Máximo 1.0 por eje, ponderados para sumar 1.0 en total:
| Eje | Peso | Qué mide | Tipo |
|---|---|---|---|
| correctness | 0.60 | ¿La corrección en inglés coincide con la tabla ground-truth del §A13? | Binario (0 o 1) |
| spanish_gloss | 0.25 | ¿La traducción al español incluye la forma flexionada load-bearing? | Binario (0 o 1) |
| schema | 0.10 | ¿La respuesta se ajusta al JSON schema (Fase 30) — claves requeridas, tipos? | Binario (0 o 1) |
| conciseness | 0.05 | ¿La explicación está bajo el presupuesto de palabras (≤ 30 palabras)? | Binario (0 o 1) |
Score por item: \(s = 0.60 \cdot c + 0.25 \cdot g + 0.10 \cdot \sigma + 0.05 \cdot \kappa \in [0, 1]\).
Agregado del exam: media aritmética de los scores por item.
Por qué esta ponderación¶
- Correctness domina (0.60). El tutor existe para corregir gramática. Una respuesta gramaticalmente incorrecta no puede compensarse con un spanish-gloss precioso.
- Spanish gloss pesa (0.25). Es el segundo pilar de la política bilingüe del §A13 (A2). Una respuesta solo-en-inglés-correcto está incompleta.
- Schema es pequeño pero no-cero (0.10). La salida estructurada de la Fase 30 la fuerza el validador del schema; si la respuesta pasa el validador, schema suele ser 1. El peso existe para que las respuestas de fallback no estructurado cuesten algo.
- Conciseness es un desempate (0.05). Las explicaciones que divagan se penalizan para incentivar salidas concisas sin dominar el score.
Los pesos suman 1.0 por construcción. Cambiarlos es una puerta de un solo sentido — re-calibra contra scores históricos de exam si lo haces.
Cómo leer un desglose de score¶
El portal y el runner del capstone ambos emiten JSON por item:
{
"item": "e-39-01",
"prompt": "Conjugate 'eat' — past simple, 3rd singular.",
"expected": ["ate"],
"got": "Ate.",
"score": 0.95,
"breakdown": {
"correctness": 1.0,
"spanish_gloss": 0.0,
"schema": 1.0,
"conciseness": 1.0
},
"weighted": {
"correctness": 0.60,
"spanish_gloss": 0.00,
"schema": 0.10,
"conciseness": 0.05
}
}
Leyéndolo: - correctness = 1.0 → la respuesta en inglés coincidió (tras normalizar). - spanish_gloss = 0.0 → no se devolvió español para este item (o no contenía la subcadena esperada). - schema + conciseness = 1.0 → formato correcto. - Agregado = 0.95. El gap de 0.05 es enteramente el español que falta.
Ese es el nivel de insight que un desglose debe dar. Si solo ves un único número, no puedes arreglar el sistema; con el desglose, la acción es "el tutor deja de emitir español en items de past-simple, debuggear por qué".
Leyendo patrones entre items (la vista del dashboard)¶
Para un exam de N items, dibuja los cuatro sub-scores como una barra apilada por item. Patrones a buscar:
- Columna faltante en varios items → el modelo tiene un fallo sistemático (por ejemplo, todos los ceros en "schema" → el formateador JSON está roto).
- Fila de ceros para un verbo específico → el verbo está mal-aprendido (por ejemplo, todos los items de
gomal → revisar el corpus para ese verbo). - Conciseness sola tendiendo a la baja → el modelo es prolijo; la plantilla de prompt puede haber cambiado.
- Un item outlier → revisa la normalización (de eso trata el ejercicio
/break).
Reglas de normalización (la fuente de los falsos negativos)¶
Para los ejes binarios (correctness, spanish_gloss), la comparación se hace tras un paso de normalización:
- Strip whitespace al inicio/final.
- Lowercase la cadena.
- Strip a trailing period si está presente.
- Substring match sobre entradas
expected_contains— cada subcadena requerida debe aparecer en la salida normalizada.
Si alguno de estos pasos falta o está roto, una respuesta correcta puede puntuar cero. El ejercicio /break elimina el paso de case-fold y demuestra el efecto cascada de falsos negativos.
Calibrando la rúbrica¶
Una vez que tienes una rúbrica estable, deberías tener también una "distribución estable" — el score que el tutor actualmente en producción logra sobre el set de regresión. La puerta de eval (teoría 06 de la Fase 38) compara nuevas releases contra esta distribución estable:
- 0.95+ en el exam del capstone — el objetivo de producción.
- ≤ 2% de caída en el set de regresión — el umbral de la eval-gate.
Si una release salta de 0.95 a 0.98, es una mejora real — pero verifica que no sea un bug de la rúbrica (la Fase 38 también debería CI-ar la propia rúbrica). Si una release cae de 0.95 a 0.85, es una regresión — bloquear. El umbral del 2% deja espacio para ruido sin enmascarar problemas reales.
La puerta del capstone (la barra DoD del §A13)¶
Para que la Fase 39 cierre, el tutor debe puntuar ≥ 0.92 en el exam del capstone (data/exams/phase-39-capstone.yaml + phase-39-capstone-extra.yaml si existe). Esta es la puerta dura.
Puertas blandas (avisan pero no bloquean): - Latencia p50 ≤ 250 ms (del presupuesto de la teoría 05 de la Fase 33). - Cero fallos de schema en el set de regresión. - Eval-gate ≥ 0.93 en el set de regresión más amplio.
La puerta dura es binaria; las puertas blandas son señales para el pase de endurecimiento de la Fase 40.
Lo que este capítulo NO cubre¶
- Acuerdo inter-anotador para las etiquetas gold — irrelevante en el alcance del §A13; la tabla es canónica.
- Eval adversarial — la Fase 37 cubre eval de inyección de prompt por separado.
- Generación de items held-out del exam — ver
docs/phase-41-learner-portal/theory/04-quizzes-and-exams.mdpara el pipeline de contenido del portal. - Evaluación a nivel token (BLEU, ROUGE) — no se usa aquí; el alcance del §A13 es lo bastante pequeño para rúbricas de match exacto.
Referencias¶
- Liang et al., "Holistic Evaluation of Language Models (HELM)" (Stanford CRFM, 2022). El patrón de evaluación multi-eje que sigue esta rúbrica.
- Eberle et al., "On the Use of Aggregate Scores in NLP Evaluation" (2022). Por qué los desgloses por eje superan a los agregados únicos.
Siguiente: ../break/00-break-rubric-case-sensitive.md.