← capítulo

Construye un harness de evaluación

Capítulo 17 · convierte "mejor" en un número

La hora

Todo el harness

def run_eval(system):
    passed = 0
    for c in CASES:
        out = ask(system, c["q"])
        passed += c["expect"].lower() in out.lower()
    return passed / len(CASES)     # the number you compare

Esa tasa es el punto.

Escribe casos que atrapen regresiones

{"q": "Capital of Australia?", "expect": "Canberra"}

No Sídney. Las trampas son lo que un prompt "más seguro" falla — inclúyelas a propósito.

Cuando el código no puede puntuarlo

Resúmenes, tono, explicaciones → promueve un modelo a juez:

"Score 1-5 on accuracy and clarity.
 Reply 'score: N - reason'."

Trabajo estrecho, rúbrica fija, salida estructurada.

Los jueces están sesgados

Amárralos, una dimensión a la vez, y contrástalos contra calificaciones humanas primero.

Ponlo a trabajar — tres apps

Las mismas tres piezas, acomodadas de tres maneras.

Lo que te llevas

Casos, un scorer, una tasa de aprobación — la línea entre ingeniería y vibes. Escribe las trampas dentro; valida tu juez. Constrúyelo antes de necesitarlo. Siguiente: el trabajo más importante del harness — la seguridad.