¿Qué se rompe cuando analizas la salida de un LLM en producción?
Share

In this article
Generalmente, son las suposiciones de tu código sobre el formato, no la respuesta del modelo. Tres errores recurrentes: JSON válido envuelto en bloques de código markdown que un analizador estricto rechaza, leyendas de tokens del prompt copiadas en la salida, y validadores que tratan formatos reparables como errores fatales. Valida estrictamente, normaliza con precisión y conserva la salida cruda.
¿Por qué falla el análisis de JSON válido generado por un LLM?
Los modelos suelen envolver JSON en bloques de código markdown para mejorar la legibilidad, por lo que un json.loads estricto sobre el texto crudo falla aunque el contenido sea válido. Elimina exactamente un bloque externo antes de analizar, conserva el texto original para auditoría y rechaza prosa o bloques anidados como salida realmente inválida.
¿Por qué el modelo copia la leyenda de tokens de mi prompt en la salida?
Si un prompt explica un marcador con una leyenda, como un token seguido de un signo igual y una descripción, los modelos a veces reproducen ese formato en el resultado. Indica claramente al modelo que los tokens deben estar solos en su propia línea y elimina etiquetas con símbolos o entre paréntesis cuando insertes el contenido real.
¿Qué problemas de salida debe rechazar un validador y cuáles debe reparar?
Rechaza lo que hace que la salida sea estructuralmente incorrecta: campos obligatorios faltantes, prosa en lugar de JSON, marcadores residuales. Repara lo que es cosmético y seguro: un bloque de código externo, espacios en blanco sobrantes, una etiqueta decorativa. Decide por regla, documenta y registra lo reparado para monitorear cambios en el comportamiento del modelo.
¿Por qué conservar la salida cruda del modelo?
La salida cruda te permite distinguir un problema del modelo de un problema de análisis. Cuando una respuesta es rechazada o reparada, guarda el texto original junto al resultado. Así, la depuración parte de evidencia y no de suposiciones, y puedes reproducirla con un analizador corregido sin llamar al modelo nuevamente.
Publicado originalmente en sakshamjain.codes/blog/llm-output-handling-bugs. ¿Necesitas esto implementado? Consulta mis servicios en NexoRush o contáctame.