fedorthinks

Curso exprés · No. 13

Una función de IA se apoya en un componente no determinista: la misma entrada puede dar salidas distintas, y «se veía bien cuando lo probé» no es una prueba. Una eval es una suite de pruebas para ese componente: entradas conocidas, salidas puntuadas, ejecutadas en cada cambio. Es la disciplina poco glamorosa que separa una demo que esperas que funcione de un producto que sabes que funciona.

24 conceptos · 25 diagramas · hoja de referencia al final

§ 01

Puedes probar con tests unitarios el código corriente porque la misma entrada da la misma salida. Un LLM rompe eso, así que necesitas otro tipo de prueba — y sin ella vuelas a ciegas.

El mapa: 24 conceptos en siete grupos

Un mapa de metro: primero ves las líneas enteras, luego recorres estación por estación.

Primero, tres bases: qué es una eval, por qué ajustar a ojo no funciona y por qué el último 15% de calidad es casi todo el trabajo. Luego seis grupos, uno por capítulo: qué medir, el conjunto de eval, cómo calificar, agentes, offline y online, y hacerlo bien.

Cada concepto que sigue tiene la misma forma: su nombre en inglés (recuérdalo: es el término), una imagen de la vida real, un diagrama y una ficha con campos: problema, idea, ejemplo, coste, cuándo usarlo y relaciones.

BasicsEvalTuning by vibes80% → 95%What to measureEval criteriaTask metricsFaithful vs correctSlicingEval setGolden setHard casesProduction samplingGradingCode-based gradersLLM-as-judgeJudge validationHuman reviewAgentsTrajectory evalStep-level checksOperational metricsOffline / onlineOffline evalOnline evalUser feedbackDriftDoing it wellEval-driven devCI gateGoodhart's law
Las bases arriba; debajo, seis grupos — los capítulos 2–7 los siguen.

Eval — una prueba para algo que adivina

Calificar un ensayo no es como comprobar una suma — no hay una única cadena correcta contra la que comparar, y el mismo prompt produce un ensayo un poco distinto cada vez.

Una prueba normal afirma output === expected. Un LLM es no determinista y abierto: el mismo prompt da un texto que varía, y «correcto» suele ser una cualidad, no una cadena exacta. Así que el modelo de aserción se rompe. Una eval lo reemplaza: un conjunto de entradas, cada una con una forma de puntuar qué tan buena es la salida, ejecutado de forma repetida — pruebas pensadas para un componente que no devuelve lo mismo dos veces.

Ordinary code: deterministicInputFunctionOutputalways 42assert ==pass / failLLM: non-deterministicInputLLManswer Aanswer Banswer CScorerubric · 0–1same input, different text → score the quality, don't match a string
Código normal: una entrada, una salida, aserción. Un LLM: una entrada, respuestas distintas — así que las puntúas en lugar de comparar con una cadena.
ConceptEval· evaluación de un sistema de IA
Problema

Un LLM es no determinista: output === expected falla, y «correcto» es una cualidad.

Idea

Un conjunto de entradas + una forma de puntuar cada salida + una ejecución en cada cambio.

Ejemplo

Cien preguntas para un bot de soporte, cada una con una señal de buena respuesta; resultado: «84% aprobadas».

Coste
Tiempo para reunir casos y construir formas de puntuarlos.
Cuándo usarlo
Cualquier función con un LLM en la cadena.
Relaciones

Se apoya en un golden set, la puntúan graders, se ejecuta en un CI gate.

Tuning by Vibes — la trampa de ajustar a ojo

Un cocinero que nunca prueba el plato, solo retoca la receta y confía — no puede saber si el cambio de anoche ayudó o lo arruinó en silencio.

Sin una eval, ajustas los prompts a ojo: pruebas algo, miras un par de salidas por encima, lo lanzas si se siente mejor. La trampa es que no puedes ver las regresiones: un cambio que arregla un caso a menudo rompe tres que no volviste a revisar. Una eval convierte «se siente mejor» en «sacó 84% frente a 79%», que es la diferencia entre ingeniería y adivinar.

the same 12 cases, before and after a prompt changev1v2✓✓✗✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✗✓✗✓✗✓you eyeballed these3 regressions you never sawan eval re-checks every case on every change
El prompt nuevo arregla el caso que miraste y rompe en silencio otros tres. Mirar a ojo no lo ve.
PitfallTuning by Vibes· ajuste a ojo
Qué es

Cambiar el prompt, mirar unas pocas salidas y lanzar si «se siente mejor».

Por qué es malo

Las regresiones son invisibles: arreglas un caso y rompes tres.

Ejemplo
«Parece mejor» en lugar de «84% frente a 79%».
Remedio
Incluso una eval pequeña, ejecutada antes y después del cambio.
Relaciones
Lo opuesto a Eval-driven Development.

The Last Mile — el 80% es rápido, el 95% es todo el proyecto

El primer borrador de cualquier cosa sale rápido. Convertir un borrador tosco en algo fiable es donde se va el tiempo de verdad.

Esta es la verdad dura que las evals existen para gestionar: una demo que acierta el 80% de las veces lleva una tarde; pulirla de ahí al 95% es casi todo el trabajo. Ese último tramo, la last mile, se encuentra caso por caso — las entradas límite, los fallos raros — y solo puedes encontrarlos y arreglarlos si estás midiendo. La eval es el instrumento que hace visible la larga subida.

80%95%0found case by case:edge inputs, rare failuresan afternoonmost of the workeffort →quality ↑
Hasta el 80% es una subida rápida en una tarde. Del 80% al 95% es el trabajo largo, caso por caso.
ConceptThe Last Mile· 80% → 95%
Qué es

El primer 80% de calidad llega rápido; el 15% restante es casi todo el trabajo.

Por qué

El resto son entradas límite y fallos raros, que se encuentran de uno en uno.

Ejemplo

Una demo de una tarde funciona; el producto encima de ella lleva semanas.

Consecuencia
Sin medición, esta subida es invisible e ingobernable.
Relaciones
La hacen visible la eval, los hard cases y el slicing.

Una eval es tu red de regresión y tu especificación

Un arnés de seguridad permite a un escalador intentar un movimiento difícil porque un resbalón no será fatal — hace seguros los cambios audaces.

Cuando tienes una eval, puedes cambiar el prompt, cambiar el modelo o reestructurar el pipeline y ver de inmediato si ayudó o perjudicó. Atrapa las regresiones antes que los usuarios y, sin hacer ruido, se convierte en la especificación real de «cómo es lo bueno» para tu función. Sin ella, cada cambio es una apuesta; con ella, mejorar se vuelve un ciclo que de verdad puedes ejecutar.

Prompt editModel swapPipeline changeEvalsame golden setHelpedship itHurtregression caughtnow
Cualquier cambio — prompt, modelo, pipeline — pasa por la misma eval y muestra enseguida si ayudó o perjudicó.

No puedes hacer un test unitario a un componente no determinista. Una eval lo puntúa en su lugar — y sin una, cada cambio es una conjetura.

§ 02

«¿Es bueno?» no se puede medir. El primer trabajo real de las evals es convertir esa pregunta vaga en cosas concretas que sí puedas puntuar — elegidas para que encajen con el trabajo de tu función.

Eval Criteria — convierte «bueno» en comprobaciones concretas

Un examen de conducir no pregunta «¿eres buen conductor?» — puntúa cosas concretas: ¿pusiste el intermitente, te mantuviste en el carril, frenaste del todo, aparcaste dentro de las líneas?

La «calidad» es demasiado vaga para optimizarla. Divídela en propiedades medibles — eval criteria: ¿era correcta la respuesta, estaba fundamentada en la fuente, era válido el formato, llamó a la herramienta correcta, tenía la longitud y el tono adecuados? Cada una es algo que puedes puntuar. La destreza está en elegir las pocas propiedades que de verdad importan para tu tarea, no en medirlo todo.

Is it good?not measurableCorrect?scoreGrounded in source?scoreValid format?scoreRight tool called?scoreRight length & tone?score
El vago «¿es bueno?» se divide en comprobaciones concretas, cada una con su puntuación.
ConceptEval Criteria· propiedades medibles
Problema
«¿Es bueno?» no se puede medir ni optimizar.
Idea

Dividir la calidad en propiedades: corrección, fundamentación, formato, uso de herramientas, longitud y tono.

Ejemplo

«El JSON cumple el esquema», «la respuesta se apoya en el documento recuperado».

Coste
Tienes que decidir qué importa — y descartar el resto con honestidad.
Relaciones

Elegir criterios son las task-specific metrics; los graders los comprueban.

Task-specific Metrics — la métrica según el trabajo

A un traductor se le juzga por fidelidad y fluidez, a un cajero por rapidez y exactitud — vara equivocada, evaluación inútil.

Cada función necesita métricas distintas. Un sistema RAG: ¿recuperó los fragmentos correctos y la respuesta es fiel a ellos? Un clasificador: exactitud frente a etiquetas. Un agente: ¿eligió las herramientas correctas y alcanzó el objetivo? Un resumen: fiel, completo y conciso. Elige métricas que correspondan a lo que realmente significa fallar en tu tarea, o optimizarás un número que no importa.

RAGright chunks retrieved · answer faithful to themClassifieraccuracy against labelsAgentright tools picked · goal reachedSummaryfaithful · complete · concise
El tipo de función fija la métrica: RAG, clasificador, agente y resumen necesitan cada uno una vara distinta.
PracticeTask-specific Metrics· métricas a medida del trabajo
Problema
Una métrica única para todo mide algo distinto de lo que se rompe.
Idea
La métrica refleja lo que significa fallar en esta función concreta.
Ejemplo

RAG — fragmentos correctos y fidelidad; clasificador — exactitud; agente — herramientas y objetivo.

Coste
Hay que pensar las métricas función por función.
Relaciones

Concreta los eval criteria; los agentes añaden la trajectory.

Faithfulness vs Correctness — dos cosas distintas

Un estudiante puede escribir una respuesta muy bien argumentada que es errónea, o una torpe que es correcta. El estilo y la verdad son puntuaciones separadas.

Dos de las propiedades más importantes se confunden. La correctness (corrección) es si la respuesta es realmente correcta; la faithfulness (fidelidad) es si está respaldada por el contexto dado, sin inventar. Un sistema con fundamento puede ser fiel (usó la fuente) y aun así errar (la fuente estaba mal), o ser correcto y no fiel (acertó por suerte, no por el contexto). Medirlas por separado te dice dónde está el fallo.

faithful to contextnot from contextanswer rightanswer wrongThe goalright, from the sourceRight by luckfix groundingSource was wrongfix retrieval / dataHallucinationboth broken
Dos ejes dan cuatro resultados. Cada uno señala un lugar distinto donde arreglar: recuperación, fundamentación o ambos.
TermFaithfulness vs Correctness· fundamentado vs correcto
Qué es

Correctness — la respuesta es correcta. Faithfulness — viene del contexto dado, sin invención.

Por qué importa
Los distintos fallos se arreglan en lugares distintos.
Ejemplo

Fiel pero errónea — arreglar los datos o la recuperación. Correcta pero no fiel — arreglar la fundamentación.

Ojo
Una sola puntuación global de «calidad» mezcla ambas y oculta la causa.
Relaciones

El par de métricas clave para RAG; suele puntuarlo un LLM-as-judge.

Slicing — un solo número oculta demasiado

Una temperatura media «agradable» puede esconder una habitación helada y otra sofocante. El agregado borra los casos que más necesitas ver.

Una puntuación global única es un punto de partida, no el cuadro completo. Desglosa los resultados — slicing — por categoría y dificultad: fáciles frente a difíciles, cada tipo de pregunta, cada modo de fallo — porque un 85% plano puede ser 100% en los casos fáciles y 40% en los que importan. El valor de una eval está en el desglose que te muestra exactamente adónde apuntar a continuación.

85%overall scoresliceeasy cases100%hard cases40% — the ones that matterslice by category, difficulty, failure mode — the aggregate hides the hard cases
Un 85% global parece bien hasta que lo cortas: 100% en los casos fáciles, 40% en los que importan.
PracticeSlicing· desglose por segmento
Problema
Un promedio borra los casos donde el sistema realmente falla.
Idea
Puntuar por separado según categoría, dificultad y modo de fallo.
Ejemplo
85% global = 100% en fáciles + 40% en difíciles.
Coste
Los casos del conjunto necesitan etiquetas de categoría.
Relaciones

Muestra adónde ir en la last mile; depende de un golden set etiquetado.

«¿Es bueno?» no es una métrica. Divide la calidad en propiedades concretas y puntuables elegidas para tu tarea — y nunca confíes en un único número agregado.

§ 03

Una eval es tan honesta como los ejemplos que contiene. El dataset — las entradas y sus resultados conocidos como buenos — es el verdadero activo, y aquí se va la mayor parte del cuidado.

Golden Set — entradas con resultados conocidos como buenos

La hoja de respuestas de un profesor — las preguntas emparejadas con cómo se ve una respuesta correcta, para que calificar sea coherente y no caprichoso.

El núcleo de una eval es un golden set: una colección de entradas representativas, cada una con una respuesta conocida como buena o una definición clara de éxito. Contra esto puntúas. Construirlo es trabajo de verdad — es donde fijas qué significa siquiera «correcto» para tu función — y es el activo que hace medible cada cambio futuro.

inputknown-good outcomeWhat's your refund window?30 days, cites the policyCancel my subscriptioncalls cancel_subscriptionasdf??asks a clarifying questionIgnore your instructions…refuses, stays on taskthe asset: every future change is scored against it
Un golden set es una tabla: una entrada real y su resultado conocido como bueno. Cada cambio se puntúa contra ella.
ConceptGolden Set· dataset de eval
Problema
Sin referencia, las salidas se califican según el humor.
Idea

Entradas representativas, cada una con una buena respuesta o un criterio de éxito claro.

Ejemplo

«Cancela mi suscripción» → debe llamar a cancel_subscription; «asdf??» → una pregunta aclaratoria.

Coste
Trabajo real: decidir qué significa «correcto» en cada caso.
Relaciones

Lo llenan los hard cases y el production sampling; lo ejecuta la offline eval.

Hard Cases — cubre los extremos y los fallos conocidos

Un puente se prueba con los camiones más pesados y las peores tormentas, no solo con un coche medio en un día soleado.

Un conjunto con solo entradas fáciles y típicas te da una puntuación halagadora e inútil. Incluye a propósito los hard cases: preguntas ambiguas, edge cases, prompts adversariales y, sobre todo, los fallos que ya has visto. Cada vez que un bug llegue a producción, añádelo a la eval como regression case para que nunca vuelva en silencio. El conjunto debe concentrarse donde el sistema tiene más probabilidades de romperse.

flattering settypical, easy inputshonest settypicalambiguousedgeadversarialpast bugsProd bug foundadd it so it never silently returns
Un conjunto halagador son solo entradas típicas. Uno honesto añade casos ambiguos, límite, adversariales y bugs del pasado.
PracticeHard Cases· casos límite, adversariales, de regresión
Problema
Un conjunto de casos fáciles da una puntuación bonita e inútil.
Idea

Añadir a propósito lo ambiguo, lo límite, lo adversarial y todo lo que ya se rompió.

Ejemplo

Un bug llegó a producción → su entrada se convierte en un caso permanente del conjunto.

Coste
La puntuación baja — pero se vuelve honesta.
Relaciones

Parte del golden set; se obtienen mediante production sampling.

Production Sampling — cosecha ejemplos reales

Las mejores preguntas de prueba salen del examen real que hicieron los alumnos, no de lo que el profesor imaginó que preguntarían.

La fuente más rica de casos de eval es el uso real: lo que los usuarios de verdad preguntaron, sobre todo lo que preguntaron y salió mal. Explora tus logs y el feedback en busca de entradas reales y súmalas al conjunto. Los ejemplos inventados reflejan lo que crees que ocurre; los de producción reflejan lo que sí ocurre, incluidas las formulaciones desordenadas y las peticiones raras que nunca habrías soñado.

Real usersmessy phrasingLogs+ feedbackPick casesesp. failuresGolden setreal inputsinvented cases: what you think happensproduction cases: what doesmine logs and feedback, fold real inputs into the set
Usuarios → logs y feedback → elegir casos, sobre todo fallos → golden set.
PracticeProduction Sampling· casos del uso real
Problema
Los ejemplos inventados reflejan lo que piensas, no lo que hay.
Idea
Tomar entradas de logs y feedback, sobre todo donde algo salió mal.
Ejemplo

Una formulación desordenada de un usuario que jamás se te habría ocurrido.

Coste

Necesitas logs, y los datos de usuario deben limpiarse de datos personales.

Relaciones

Alimenta el golden set; las señales vienen del user feedback.

Pequeño y afilado gana a grande y rancio

Cincuenta preguntas bien elegidas que sondean los puntos débiles reales te enseñan más que mil al azar que nunca miras de cerca.

No necesitas miles de casos para empezar: unas pocas docenas bien elegidas, que cubran los comportamientos principales y los modos de fallo conocidos, bastan para atrapar la mayoría de las regresiones y guiar el ajuste. Empieza pequeño, mantenlo honesto y hazlo crecer a medida que aprendes dónde se rompe el sistema. Una eval que ejecutas de verdad gana a una enorme que no ejecutas.

El golden set es el activo. Empareja entradas reales con resultados conocidos como buenos, concéntrate en lo difícil y lo roto, y hazlo crecer a medida que aprendes.

§ 04

Cuando ya tienes entradas y expectativas, necesitas una forma de puntuar cada salida. Los métodos van de lo barato y exacto a lo flexible y falible — y recurres al más barato que encaje.

Code-based Graders — comprobaciones exactas, basadas en reglas

Corregir un examen tipo test no requiere criterio — la respuesta es correcta o no lo es, y una máquina la califica al instante.

Cuando la salida está acotada, califícala de forma determinista, en código — un code-based grader: coincidencia exacta para una clasificación, una regex o validación de esquema para el formato, ¿llamó a la herramienta correcta? para un agente, ¿es correcto el número? para una extracción. Estas comprobaciones son baratas, rápidas e indiscutibles. Lleva siempre a esta categoría todo lo que puedas de tu eval: es la calificación más fiable que existe.

Exact matchclassificationRegex / schemaformat · tool calledLLM-as-judgerubric · fuzzy qualitiesHuman reviewspot-check sampledeterministic: push most checks herecheap · exact · unarguableflexible · costly · fallible
La escalera de graders: barato y exacto a la izquierda, flexible, caro y falible a la derecha. Usa el escalón más bajo que encaje.
ToolCode-based Grader· comprobación determinista, coincidencia exacta
Problema
El criterio es caro y discutible donde bastaría con comparar.
Idea

Comprobar la salida en código: coincidencia, regex, esquema, la llamada correcta.

Ejemplo

La etiqueta de clase coincide; el JSON pasa el esquema; el agente llamó a la herramienta correcta.

Coste
Solo sirve para salidas acotadas — así no puedes calificar un ensayo.
Relaciones

El primer escalón; para salidas difusas — LLM-as-judge; para agentes — step-level checks.

LLM-as-Judge — un modelo califica lo difuso

Para un ensayo traes a un segundo examinador con una rúbrica clara — criterio, pero guiado por criterios explícitos para que sea coherente.

Para salidas abiertas — ¿es fiel este resumen? ¿es útil esta respuesta? — no hay coincidencia exacta, así que usas un modelo para calificar, LLM-as-judge: le das a un segundo modelo la salida, el contexto y una rúbrica clara, y le pides que puntúe. Escala un juicio parecido al humano a miles de casos. Es la herramienta estándar para cualidades que no puedes comprobar con una regla — pero viene con salvedades.

Outputto be gradedContextquestion · sourceRubriccriteria + examplesJudge modelLLM-as-judgeScore+ short reasonscales human-like judgement to thousands of cases
El juez recibe la salida, el contexto y la rúbrica — y devuelve una puntuación con un motivo breve.
PatternLLM-as-Judge· modelo como evaluador
Problema

Las salidas abiertas no se pueden comparar con una cadena, y los humanos no escalan a miles.

Idea

Un segundo modelo puntúa la salida frente al contexto y una rúbrica explícita.

Ejemplo

«¿Es el resumen fiel a la fuente? Puntúa de 1 a 5 y explica en una frase.»

Coste
El propio juez se equivoca y tiene sesgos — hay que comprobarlo.
Relaciones

No es fiable sin judge validation; a menudo mide la faithfulness.

Judge Validation — al juez también hay que juzgarlo

Un segundo árbitro puede tener sesgos — favorecer la respuesta más larga o la que suena segura — así que compruebas al árbitro con unas cuantas decisiones humanas antes de fiarte de él.

Un juez LLM tiene modos de fallo: puede preferir respuestas largas (verbosity bias), dejarse llevar por un tono seguro o alejarse de tu intención. Por eso valida al juez frente a calificaciones humanas en una muestra, dale una rúbrica afilada con ejemplos y mantenlo simple. Un juez que no has comprobado es solo otro modelo sin medir — no te fíes de sus puntuaciones hasta confirmar que siguen lo que de verdad te importa.

Samplea few dozen casesHuman gradesJudge gradesAgreementcompareTrustthe judgewatch for: verbosity bias · confident tone · drift from intent
Humanos y juez califican la misma muestra. Si coinciden, se puede confiar en el juez. Vigila sus sesgos habituales.
PracticeJudge Validation· comprobar al juez frente a humanos
Problema

Un juez prefiere respuestas largas y seguras y puede alejarse de tu intención.

Idea

Comparar las puntuaciones del juez con las humanas en una muestra antes de confiar en él.

Ejemplo

Unas docenas de casos calificados por personas; el juez coincide — así que se puede confiar en él.

Coste

Algo de etiquetado manual, y una nueva comprobación cada vez que cambie el juez o la rúbrica.

Relaciones

El compañero obligatorio del LLM-as-judge; usa la human review.

Human Review — humanos en el ciclo, en dosis pequeñas

Aunque la calificación sea automática, un cocinero igualmente prueba la comida — una comprobación rápida de que los instrumentos no se han descalibrado en silencio.

La calificación automática escala, pero de vez en cuando lee tú mismo las salidas reales — human review. Revisa una muestra, mira con atención los fallos y comprueba que tus métricas aún reflejan la calidad real. La revisión humana no escala a todos los casos, pero una dosis pequeña y regular atrapa lo que tus puntuaciones automáticas pasan por alto — y evita que optimices un número que se ha alejado de la realidad.

PracticeHuman Review· revisión manual puntual
Problema

Las puntuaciones automáticas pueden divergir en silencio de la calidad real.

Idea

Leer con regularidad una muestra de salidas reales, sobre todo los fallos.

Ejemplo

Una vez por semana, leer los casos donde bajó la puntuación y comprobar que estás de acuerdo.

Coste
Tiempo de personas — así que en dosis pequeñas, no en cada caso.
Relaciones

El último escalón de la escalera de graders; la base de la judge validation.

Califica de forma determinista donde puedas, usa un juez LLM para el resto difuso — y valida al juez, porque un evaluador sin comprobar es solo otra conjetura.

§ 05

Los agentes necesitan más que una nota a la respuesta final, porque pueden llegar a una respuesta limpia por un proceso roto. Para confiar en un agente, mides el viaje, no solo el destino.

Una respuesta final limpia puede esconder un medio roto

Un examen de matemáticas calificado solo por el número final aprueba al alumno que llegó a él con dos errores que se cancelan — no aprendes nada de lo que pasó de verdad.

En un agente de varios pasos, un error intermedio puede pasar la comprobación de la salida final y a la vez corromper el proceso: recupera la fuente correcta, atribuye mal un dato a mitad de camino y escribe un resumen limpio que es erróneo. Si solo calificas la respuesta final, lo dejas pasar. Los fallos que más necesitas atrapar son justo los que una comprobación solo del destino ve peor.

Retrieveright source ✓Extractmisattributes ✗Summarizeclean, fluentFinal checklooks right ✓the error lives herefinal-only check: PASSa clean answer through a broken process — destination-only grading waves it through
El error ocurrió en el paso «Extract», pero el resumen es fluido — y una comprobación solo de la salida final lo deja pasar.

Trajectory Evaluation — califica el camino

Un examinador de conducir observa todo el trayecto — cada señal, cada mirada al espejo, cada cambio de carril — no solo si llegaste a la dirección.

En los agentes evalúas la trajectory (trayectoria): en cada paso, ¿eligió la herramienta correcta, pasó los argumentos correctos, recuperó el contexto correcto y razonó con solidez? Esto atrapa el medio roto que una comprobación final se pierde, y te dice qué paso falló — mucho más útil que saber solo que el final estaba mal. En los pasos es donde la fiabilidad de un agente se gana o se pierde.

trajectory eval: grade every stepfinal-onlyStep 1search_docsright tool?✓Step 2read_doc(id)right args?✓Step 3send_emailright context?✗Answerfinal outputgoal reached?✓tells you which step failed
Comprobar cada paso muestra exactamente dónde se rompió. Una comprobación solo final ve solo el último recuadro.
ConceptTrajectory Evaluation· calificar el camino de un agente
Problema
Un final correcto puede esconder pasos erróneos.
Idea

Puntuar cada paso: herramienta, argumentos, contexto recuperado, razonamiento.

Ejemplo

Los pasos 1–2 son correctos; en el paso 3 el agente tomó el contexto equivocado — la eval señala el paso 3.

Coste
Hay que registrar y etiquetar los pasos, no solo la respuesta.
Relaciones

Se compone de step-level checks; la complementan las operational metrics.

Step-level Checks — comprueba directamente las llamadas a herramientas y las recuperaciones

Auditar a un asistente de investigación es comprobar qué fuentes sacó de verdad y qué llamadas hizo — no solo leer su memorando final.

Buena parte del comportamiento de un agente es concreto y se puede calificar sin criterio: ¿llamó a send_email cuando debía, con el destinatario correcto? ¿recuperó el documento relevante? ¿se mantuvo dentro de los permisos de sus herramientas? Son comprobaciones deterministas sobre los pasos — step-level checks, baratas y exactas, y precisan una gran parte de los fallos de los agentes.

PracticeStep-level Checks· comprobaciones de llamadas a herramientas
Qué es
Comprobaciones en código sobre pasos concretos del agente, sin juez.
Cómo funciona

Verificar qué herramienta se llamó, con qué argumentos, qué documento se recuperó.

Ejemplo

Se llamó a send_email, el destinatario es correcto, no se excedió ningún permiso.

Ventaja
Barato, exacto, y apunta directo al paso que falla.
Relaciones
Code-based graders aplicados a la trajectory.

Operational Metrics — mide también las verdades aburridas

A un servicio de reparto no solo se le juzga por si el paquete llegó, sino por cuánto tardó, cuántos intentos hizo y cuánto costó.

Más allá de la corrección, sigue las operational metrics de un agente: cuántos pasos dio, con qué frecuencia entró en bucle o reintentó, la latency y el coste por tarea. Un bucle que llega a la respuesta correcta en veinte pasos caros cuando bastaban tres es un problema de fiabilidad y de coste que tu puntuación de la respuesta final no mostrará. Estos números revelan agentes que funcionan pero no sobrevivirán en producción.

Run A✓ right answer3 steps · fast · cheapRun B✓ right answer20 steps · loops and retries · slow · costlyboth score 100% on the final answer — only steps, latency and cost tell them apart
Las dos ejecuciones dieron la respuesta correcta. Pero una tardó tres pasos y la otra veinte, con bucles y reintentos.
ConceptOperational Metrics· pasos, bucles, latencia, coste
Problema

Una puntuación de la respuesta final no ve lo que costó la respuesta.

Idea
Contar pasos, bucles y reintentos, latencia y coste por tarea.
Ejemplo
La respuesta correcta en 20 pasos caros donde bastaban tres.
Coste
Cada ejecución necesita trazado.
Relaciones

Complementa la trajectory evaluation; en producción la vigila la online eval.

Un agente puede llegar a una respuesta limpia por un proceso roto. Califica la trayectoria — las herramientas, las recuperaciones, los pasos — no solo el destino.

§ 06

Las evals vienen en dos tipos que hacen trabajos distintos: la suite de pruebas que ejecutas antes de lanzar y la medición que mantienes en marcha en producción. Necesitas ambas, porque el mundo no es tu conjunto de pruebas.

Offline Eval — la puerta antes de lanzar

Una pista de pruebas donde pones a un coche a prueba antes de que lleve a un solo pasajero — controlada, repetible, antes del lanzamiento.

La offline eval es tu golden set, ejecutado contra un cambio antes de lanzarlo: ¿puntuó mejor este prompt o modelo nuevo en los casos que seleccionaste? Es controlada y repetible, el lugar donde atrapas regresiones y comparas opciones con seguridad. Esta es la eval que conectas al ciclo de desarrollo — idealmente como una puerta en CI para que no salga nada que baje la puntuación.

OFFLINE · before shipONLINE · after shipGolden setcurated casesScorevs baselineCI gateblock if worseLive trafficreal usersSample & scorejudge · metricsDashboardquality over time
A la izquierda del lanzamiento — offline: golden set, puntuar frente a la línea base, puerta. A la derecha — online: tráfico real, muestreo, panel.
ConceptOffline Eval· eval previa al lanzamiento
Problema

Necesitas saber que un cambio es seguro antes de que lo vean los usuarios.

Idea
Ejecutar el golden set en la versión nueva y comparar con la línea base.
Ejemplo
Prompt nuevo: 84% frente al 79% del anterior — seguro para lanzar.
Coste
Solo ve lo que hay en el conjunto — el mundo es más ancho.
Relaciones

Se ejecuta sobre el golden set; la automatiza el CI gate; va en pareja con la online eval.

Online Eval — medir el mundo real

Por buena que sea la pista de pruebas, sigues vigilando los coches cuando están en carreteras reales — porque las carreteras reales tienen baches que la pista nunca tuvo.

La producción se comporta de maneras que ningún conjunto offline predice del todo: los usuarios reales formulan cosas que no imaginaste y la distribución de entradas cambia. Así que mides también online — una online eval: muestrear y puntuar salidas en vivo, vigilar métricas de calidad y recoger señales de usuarios. El conjunto offline demuestra que un cambio es seguro para lanzar; la medición online te dice qué está pasando de verdad una vez que está fuera.

Real usersunexpected phrasingAI featurein productionLive outputsinputs shiftSamplea slice of trafficScorejudge · rulesWatchquality metrics
Las salidas en vivo pasan por muestreo y puntuación hasta métricas de calidad que vigilas.
ConceptOnline Eval· monitorización de calidad en producción
Problema

Los usuarios y entradas reales no coinciden con el conjunto de pruebas.

Idea
Muestrear salidas en vivo, puntuarlas y vigilar las métricas.
Ejemplo

Una porción de las respuestas de producción pasa por el juez; el resultado va a un panel.

Coste

Infraestructura de puntuación en producción y el coste del juez sobre el tráfico.

Relaciones

Atrapa el drift; recoge user feedback; encuentra nuevos hard cases.

User Feedback — una señal de eval gratuita

Un botón de «me gusta» y un buzón de quejas son una encuesta continua y gratuita sobre si la cosa de verdad funciona para quienes la usan.

Tus usuarios te están calificando, la recojas o no. Captura las user feedback signals — pulgar arriba/abajo, correcciones, reintentos, abandono, escalados — y devuélvelas al sistema. Un pico de reintentos o de pulgares abajo es una alerta temprana; los fallos concretos se convierten en los casos de eval de mañana. Esto cierra el ciclo: la producción enseña al conjunto de eval cómo es la realidad, y el conjunto de eval protege el próximo lanzamiento.

Productionlive usageUser signalsthumbs · edits · retriesNew eval casesthe specific failuresNext releaseprotected by the setproduction teaches the set;the set protects the release
Un ciclo cerrado: la producción da señales, los fallos se vuelven casos, el conjunto protege el próximo lanzamiento.
PracticeUser Feedback Signals· feedback implícito y explícito
Qué es
Pulgar arriba/abajo, correcciones, reintentos, abandono, escalados.
Por qué
Una calificación gratuita y continua de quienes de verdad lo usan.
Ejemplo
Un pico de reintentos tras un lanzamiento es una alerta temprana.
Ojo

Las señales son ruidosas: un motivo para mirar, no una puntuación ya hecha.

Relaciones

Parte de la online eval; se convierte en hard cases del golden set.

Drift — vigila el deterioro lento

Una báscula se va descalibrando poco a poco — nada dramático, solo cada lectura un poco más errada hasta que un día los números están mal.

Un sistema que puntuaba bien puede degradarse en silencio — eso es el drift: un proveedor actualiza el modelo, tus datos cambian, cambian los patrones de uso. Sin medición online continua, te enteras por usuarios enfadados en lugar de por un panel. Sigue la calidad en el tiempo para que el drift aparezca como una tendencia sobre la que puedes actuar, no como una sorpresa. La eval no es una puerta de una sola vez; es una constante vital que sigues leyendo.

alert thresholdqualityprovider updateusage shiftstime →
La calidad se desliza en silencio tras una actualización del proveedor y un cambio de uso. Un umbral lo atrapa antes que las quejas.
TermDrift· deriva de calidad
Qué es
Una caída lenta y silenciosa de calidad sin cambios de tu parte.
Causas

Una actualización del modelo del proveedor, datos que cambian, nuevos patrones de uso.

Ejemplo

Un poco peor cada semana — hasta que llega una queja antes que el panel.

Remedio
Seguir la calidad en el tiempo y fijar un umbral de alerta.
Relaciones

Lo atrapa la online eval; los fallos nuevos van al golden set.

Las evals offline controlan el lanzamiento; las online vigilan la realidad. La primera demuestra que un cambio es seguro, la segunda te dice qué está pasando de verdad.

§ 07

Las evals son una práctica, no algo de una sola vez. La destreza está en empezar antes de sentirte listo, meter la medición en el ciclo y no dejar que el número se convierta en una meta que te miente.

Eval-driven Development — primero la eval, luego ajusta

Calibras el termómetro antes de empezar a ajustar el horno — si no, cada ajuste es una conjetura disfrazada de progreso.

El error común es retocar el prompt sin fin y construir una eval solo después, quizá. Dale la vuelta: escribe una eval pequeña antes de optimizar, para que cada cambio se mida desde el principio — eso es el eval-driven development. Incluso diez casos son mejor que cero. Ajustar sin una eval se siente productivo y casi nunca lo es: mueves números que no ves.

PracticeEval-driven Development· primero la eval, luego ajusta
Problema
El prompt se retoca durante semanas; la eval es «luego, quizá».
Idea
Una eval pequeña antes de la primera optimización; cada cambio se mide.
Ejemplo
Diez casos hoy, ejecutados antes de cada edición del prompt.
Coste
Una hora al principio, cuando todavía nada «funciona».
Relaciones

El remedio contra el tuning by vibes; crece hasta un CI gate.

CI Gate — haz de la eval una puerta en CI

El código no se fusiona si fallan las pruebas — y la misma disciplina evita que un prompt un poco peor llegue a los usuarios.

Cuando ya tienes una eval, ejecútala automáticamente en cada cambio y bloquea el lanzamiento si la puntuación cae por debajo de un umbral — un CI gate. Esto convierte las evals de algo que haces cuando te acuerdas en una barandilla siempre activa — el equivalente en IA de una suite de pruebas en verde. «Sin evals no se lanza» es el estándar que vale la pena mantener: un cambio sin medir en una función de IA es un despliegue sin probar.

Pull requestprompt changeRun evalon every changeScore ≥ bar?ShipmergeBlockedscore droppedyesno"evals or it didn't ship"
Cada cambio ejecuta la eval. Puntuación igual o superior al umbral — se lanza; si baja — bloqueado.
PracticeCI Gate· eval como puerta de CI
Problema

Una eval ejecutada «cuando alguien se acuerda» no atrapará un prompt un poco peor.

Idea

Ejecutar en cada cambio; una puntuación bajo el umbral bloquea el lanzamiento.

Ejemplo
Un PR que edita un prompt no puede fusionarse hasta que la eval pase.
Coste
Tiempo y dinero para ejecutar el conjunto en cada PR.
Relaciones

Automatiza la offline eval; atrapa regresiones antes de producción.

Goodhart's Law — no dejes que la métrica se convierta en el objetivo

Enseñar solo para el examen produce alumnos que sacan sobresaliente y no saben hacer el trabajo — la nota subió, lo que medía no.

Cuando una medida se convierte en objetivo, deja de ser una buena medida — la ley de Goodhart. Puedes hacer overfitting de los prompts a tus casos de eval y ver subir la puntuación mientras la calidad real se estanca. Defiéndete: reserva algunos casos held out, renueva el conjunto con nuevos fallos de producción y recuerda que la eval es un proxy del valor para el usuario, no el valor en sí. Un número que sube y que los usuarios no notan es una advertencia, no una victoria.

eval scorereal user valueoverfit to eval casesiterations on the same eval set →guard: held-out cases · fresh prod failures · the score is a proxy
La puntuación de la eval sube con cada iteración mientras el valor real se ha estancado. La brecha es el overfitting al conjunto.
PitfallGoodhart's Law· la medida se convierte en el objetivo
Qué es

Cuando una medida se convierte en objetivo, deja de ser una buena medida.

Cómo se nota

El prompt se ajusta a los casos de la eval: la puntuación sube, la calidad no.

Ejemplo
+10 puntos en el conjunto, y los usuarios no notan diferencia.
Defensa

Casos held out, fallos frescos de producción, recordar que la puntuación es un proxy.

Relaciones
Se contrarresta con production sampling y human review.

Empieza pequeño, crece con los fallos

Una buena suite de pruebas no se escribe de golpe — se acumula, un caso por bug, hasta que cubre en silencio todo lo que alguna vez salió mal.

No esperes a una eval perfecta y completa: nunca lanzarás. Empieza con un puñado de casos para el comportamiento central y añade uno cada vez que algo se rompa. Con el tiempo el conjunto crece justo a lo largo de los contornos de donde tu sistema de verdad falla, que es exactamente donde quieres tu cobertura. La eval madura con el producto, y nunca está del todo terminada.

Cómo se conectan los conceptos

Una rueda que sigue girando: cada vuelta vuelve el conjunto más honesto y el lanzamiento más seguro.

Todo en este curso es parte de un solo ciclo. Los criteria dicen qué medir; el golden set dice sobre qué probar; los graders (código, juez, humano) dan la puntuación. La offline eval con un CI gate custodia el lanzamiento, la online eval vigila la realidad — feedback y drift — y los fallos que encuentra se convierten en casos nuevos que vuelven al conjunto. Para los agentes calificas la trajectory, y la ley de Goodhart te recuerda que la puntuación es solo un proxy.

Criteriawhat to measureGolden setwhat to test onGraderscode · judge · humanOffline + CI gateguards the releaseOnline evalsample · feedback · driftNew casesfrom real failuresagents: grade the trajectory, not just the endGoodhart: the score is a proxy — keep the set fresh
El ciclo de la eval: criterios → conjunto → graders → puerta → online → casos nuevos → de vuelta al conjunto.
Antes de lanzar una función de IA
  • ¿Hay una eval siquiera — un conjunto de entradas con una forma de puntuar las salidas?
  • ¿Las métricas encajan con el trabajo, desglosadas por dificultad y tipo de fallo, y no una sola puntuación plana?
  • ¿Incluye el conjunto los casos difíciles, raros y ya rotos, sacados del uso real?
  • ¿Es la calificación el método fiable más barato — determinista donde se pueda, un juez validado donde no?
  • En los agentes, ¿se califican los pasos, no solo la respuesta final?
  • ¿Se ejecuta en CI, y cómo medirás la calidad una vez en producción?
Señales de que vuelas a ciegas
  • Ajustar prompts leyendo unas pocas salidas y lanzar cuando se siente mejor.
  • Una única puntuación agregada sin desglose por tipo de caso o dificultad.
  • Un conjunto de eval con solo entradas fáciles y típicas — sin casos límite ni fallos pasados.
  • Un juez LLM que nunca validaste frente a calificaciones humanas.
  • Sin monitorización en producción — te enterarías de una caída de calidad por una queja.
Señales de que lo hiciste bien
  • Un golden set de entradas reales con resultados conocidos como buenos, concentrado en los casos difíciles.
  • Métricas que encajan con la tarea, puntuadas por el método fiable más barato y desglosadas.
  • Calificación a nivel de paso para agentes, y un juez validado para las partes difusas.
  • La eval es un CI gate, y una regresión añade un caso en lugar de colarse.
  • Medición online y user feedback devuelven los fallos nuevos al conjunto.

Hoja de referencia: los 24 conceptos

Bases

Evalevaluación

Entradas + una forma de puntuar la salida + una ejecución en cada cambio.

Tuning by Vibesajuste a ojo

Mirar unas pocas salidas y lanzar. Las regresiones quedan invisibles.

The Last Mile80% → 95%

80% en una tarde; el 95% es casi todo el trabajo, caso por caso.

Qué medir

Eval Criteriapropiedades medibles

«Bueno» dividido en propiedades concretas y comprobables.

Task-specific Metricsmétrica a medida del trabajo

RAG, clasificador, agente, resumen — cada uno tiene su propia vara.

Faithfulness vs Correctnessfundamentado vs correcto

¿Viene del contexto — y es correcto? Mídelos por separado.

Slicingdesglose

Puntuar por categoría y dificultad: un promedio esconde los fallos.

El conjunto de eval

Golden Setdataset de eval

Entradas reales con resultados conocidos como buenos. El activo central.

Hard Caseslímite, adversarial, de regresión

Lo difícil, lo raro y lo ya roto — en el conjunto a propósito.

Production Samplingcasos de producción

Entradas de logs y feedback, sobre todo los fallos.

Cómo calificar

Code-based Gradercomprobación determinista

Coincidencia, regex, esquema, la llamada correcta. Barato y exacto.

LLM-as-Judgemodelo como evaluador

Un segundo modelo puntúa lo difuso frente a una rúbrica.

Judge Validationcomprobar al juez

Comparar al juez con humanos antes de confiar en él.

Human Reviewrevisión manual puntual

Una dosis pequeña y regular de leer salidas reales.

Agentes

Trajectory Evaluationcalificar el camino

Puntuar cada paso, no solo la respuesta final.

Step-level Checkscomprobaciones de llamadas

Comprobaciones en código de llamadas a herramientas, argumentos y recuperaciones.

Operational Metricspasos, latencia, coste

Cuántos pasos, bucles, segundos y dólares costó una tarea.

Offline y online

Offline Evalprevia al lanzamiento

El golden set sobre la versión nueva — la puerta antes de lanzar.

Online Evalen producción

Muestrear salidas en vivo, puntuarlas, vigilar métricas de calidad.

User Feedback Signalsseñales de usuarios

Pulgares, ediciones, reintentos, abandono — una señal de eval gratuita.

Driftderiva de calidad

La calidad cae en silencio con el tiempo. Solo la monitorización lo atrapa.

Hacerlo bien

Eval-driven Developmentprimero la eval

Una eval pequeña antes de la primera optimización.

CI Gateeval en CI

La eval en cada cambio; la puntuación baja — lanzamiento bloqueado.

Goodhart's Lawla medida se vuelve objetivo

Una medida que se vuelve objetivo deja de medir. La puntuación es un proxy.

Las evals no son una prueba de una sola vez. Son el ciclo — medir, encontrar los fallos, volver a meterlos — que convierte un componente no determinista en algo en lo que puedes confiar y que puedes mejorar.

Fin del curso exprés · 7 capítulos · 24 conceptos

Después viene la práctica: toma una función de IA y escribe hoy diez casos de eval para ella — entradas reales, resultados conocidos como buenos, una forma de puntuar cada uno — y ejecútalos antes de tu próximo cambio de prompt. Luego añade un caso cada vez que algo se rompa. Pero quédate con una idea por encima de las demás: la demo que funciona una vez es el 80% fácil. Todo lo que la convierte en un producto en el que puedes confiar — la subida al 95%, las regresiones atrapadas, el drift detectado — solo es posible si estás midiendo. Sin una eval, ajustas a ojo; con una, mejorar se vuelve un ciclo que puedes ejecutar.