Tu entorno de evaluación te mentirá antes que tu modelo
Tu marcador de evaluación decía que ambos motores fallaron.
Llama3.2 falló en 5 de 6 casos. Anthropic Sonnet falló en 6 de 6 casos.
La etiqueta era "malformed". Pero las causas eran diferentes.
Un fallo fue un error de API porque se agotaron los créditos. Un fallo fueron bytes de control de la terminal de un comando CLI que corrompieron el texto. Un fallo fue un JSON válido envuelto en delimitadores de markdown que el parser no pudo leer.
Si hubiera publicado ese primer resumen, habría mentido. Habría culpado a los modelos por fallos en mi propio código.
Encontré estos errores revisando los registros brutos en lugar de confiar en el resumen.
El primer error ocurrió porque utilicé un subproceso de CLI para llamar a Ollama. El comando produjo animaciones de terminal como spinners y movimientos de cursor. Estos bytes de control ANSI terminaron en mis datos. El parser detectó caracteres invisibles y falló.
La solución: Cambiar el subproceso de CLI por una API HTTP directa.
El segundo error ocurrió porque los LLM a menudo envuelven el JSON en delimitadores de markdown. Mi parser usaba json.loads() en la cadena bruta. Detectó las comillas invertidas y falló.
La solución: Añadir una función para eliminar los delimitadores de código antes de procesar.
Una vez que arreglé el flujo, aparecieron los resultados reales.
Los modelos no estaban "muertos". Simplemente estaban siendo distorsionados por el entorno de evaluación. Tras la solución, la brecha de calidad entre los dos modelos se volvió visible y medible.
Lecciones para tu pipeline de evaluación de IA:
- Conserva la salida bruta. Si el resumen dice "malformed", la salida bruta es tu única fuente de verdad.
- Registra el motivo del fallo. No digas simplemente "malformed". Di "error de API" o "error de parseo".
- Congela tus estándares de prueba. No cambies tus reglas para que los resultados parezcan mejores.
- Trata al entorno de evaluación como parte del sistema bajo prueba.
El modelo no es lo único que está a juicio. Tu código también lo está.
Fuente: https://dev.to/kenielzep97/your-harness-will-lie-to-you-before-your-model-does-662
Comunidad de aprendizaje opcional: https://t.me/GyaanSetuAi
