La salida de un LLM local rompe un esquema JSON válido cuando la generación, el manejo de restricciones, las reglas de detención y la validación no aplican el mismo contrato.
Un flujo de trabajo autoalojado puede proporcionar un esquema conforme a los estándares para metadatos de archivos, acciones del hogar inteligente, extracción de documentos o argumentos de herramientas y aun así recibir una salida malformada o rechazada. «Esquema válido» describe el documento del esquema, no toda la ruta de ejecución. El modelo debe comprender la tarea, el decodificador debe admitir las funciones pertinentes del esquema, la generación debe finalizar antes de que una condición de detención la interrumpa, el analizador debe recuperar un valor JSON completo y el validador de la aplicación debe aplicar las reglas de borrador y coerción esperadas.
El JSON válido y el JSON válido según el esquema son resultados distintos
Un objeto puede analizarse correctamente y aun así infringir campos obligatorios, tipos, enumeraciones, límites de matrices o ramas condicionales. También puede contener nombres de campo correctos, pero añadir propiedades que el esquema prohíbe.
El módulo JSON de Python define la capa sintáctica para decodificar un documento JSON, pero el análisis no aplica un contrato independiente de JSON Schema.
Esta causa se reconoce cuando la salida se carga sin un error de sintaxis, pero falla únicamente después de la validación del esquema. Falta de una llave o una explicación final son fallos de serialización; una cadena donde se requiere un entero es un fallo del contrato.
La composición del esquema puede crear ramas difíciles de satisfacer
Palabras clave como allOf, anyOf, oneOf y not combinan restricciones. Una rama puede ser válida de forma aislada, mientras que el objeto combinado no satisface ninguna o satisface varias de las alternativas permitidas.
La guía de JSON Schema explica cómo las palabras clave de composición del esquema modifican si deben coincidir uno o varios subschemas.
Un modelo local suele manejar una lista plana de propiedades con más fiabilidad que una lógica condicional anidada. Si los fallos se concentran en uniones o formas de objetos mutuamente excluyentes, la presión principal proviene de la selección de ramas y no de la puntuación básica del JSON.
El decodificador restringido puede admitir solo una parte del esquema
Los motores de salida estructurada traducen los esquemas a restricciones de tokens, gramáticas, expresiones regulares o reglas específicas del backend. No todos implementan cada borrador o palabra clave de JSON Schema.
vLLM expone varios backends de salida estructurada, lo que muestra que las restricciones mediante esquema JSON, gramática, expresiones regulares y opciones fijas son modos de ejecución independientes.
Esta causa aparece cuando el mismo esquema se valida correctamente en un validador conforme a los estándares, pero falla únicamente con un backend de inferencia. La recursividad, las referencias, los patrones o las palabras clave condicionales no compatibles pueden simplificarse, ignorarse o rechazarse antes de que el modelo genere nada.
Las instrucciones del prompt pueden entrar en conflicto con el esquema
El prompt del usuario puede solicitar comentarios, citas, explicaciones, omisiones opcionales o incertidumbre expresada en lenguaje natural, mientras que el esquema exige un único objeto con campos fijos.
Entonces el modelo tiene dos criterios de éxito contrapuestos: responder al usuario de forma conversacional y emitir únicamente tokens permitidos por el contrato de la máquina. Un modelo local más pequeño puede seguir la instrucción más reciente o llamativa en lugar de conciliar ambas.
Estos fallos suelen añadir un preámbulo, un bloque Markdown, una explicación después del objeto o un valor que satisface la solicitud en prosa, pero infringe la enumeración declarada. El esquema es válido; la jerarquía de instrucciones es incoherente.
El truncamiento puede convertir un plan correcto en una salida no válida
Las matrices y los objetos anidados requieren suficientes tokens generados para cerrar todas las estructuras. Un límite de tokens, una cadena de detención, una solicitud cancelada o un flujo interrumpido pueden finalizar la respuesta antes de que lleguen los delimitadores finales.
Transformers expone controles de tokens máximos y detención que determinan cuándo termina la generación.
Esta causa se distingue por prefijos válidos que terminan abruptamente, especialmente en matrices grandes o campos de texto largos. Las infracciones repetidas de tipos al principio apuntan a otra causa; la falta de corchetes de cierre cerca del límite de salida indica una generación incompleta.
La semántica del validador puede rechazar valores que el modelo consideraba equivalentes
Un modelo puede emitir "3" para un entero, null para un campo omitido, una enumeración en minúsculas o una fecha ISO que la aplicación espera en otro formato.
Pydantic documenta distintas categorías de errores de validación para valores ausentes, JSON no válido, discrepancias de enumeración, campos adicionales prohibidos y tipos incompatibles.
Si todos los fallos llegan al mismo campo con un valor analizable, pero rechazado, la causa no es una ruptura aleatoria del esquema. Es un desacuerdo sobre coerción, estrictitud, nulabilidad, uso de mayúsculas y minúsculas o formatos definidos por la aplicación.
Las restricciones gramaticales pueden preservar la sintaxis, pero no el significado empresarial
Una gramática puede bloquear llaves y claves ilegales, pero seguir permitiendo una combinación semánticamente imposible, como una fecha de finalización anterior a la de inicio o una ruta de archivo inexistente.
llama-cpp-python proporciona generación restringida por gramática como control de inferencia, pero la gramática regula la estructura de tokens permitida, no la verdad externa.
Un fallo del esquema causado por reglas entre campos puede aparecer únicamente en una segunda capa de validación. La salida puede ser sintáctica y estructuralmente válida, pero seguir siendo inutilizable para el flujo de trabajo del servidor doméstico.
El posprocesamiento puede dañar una salida del modelo que era válida
Las aplicaciones a veces eliminan Markdown, extraen el primer bloque delimitado por llaves, combinan fragmentos de un flujo, reparan comas o convierten valores antes de la validación.
Una respuesta válida del modelo puede volverse no válida cuando se duplica un fragmento del flujo, se decodifica incorrectamente Unicode, se elimina una secuencia de escape o una función de reparación modifica contenido anidado. Por el contrario, una etapa de reparación puede ocultar que la salida sin procesar del modelo era inválida.
La explicación de ZimaSpace sobre por qué los modelos locales pequeños alucinan al generar JSON ofrece el contexto adyacente: la validez del esquema y la corrección factual deben medirse por separado, y la respuesta sin procesar debe conservarse antes de las transformaciones de la aplicación.
Preguntas frecuentes
¿El JSON válido demuestra que la salida coincide con el esquema?
No. El análisis de JSON comprueba la sintaxis. La validación del esquema comprueba por separado las propiedades obligatorias, los tipos, las enumeraciones, las ramas, los límites y otras restricciones declaradas.
¿La temperatura cero evitará los fallos del esquema?
No. Puede hacer que una ruta de decodificación sea más repetible, pero no añade funciones de esquema no compatibles, evita el truncamiento ni resuelve instrucciones contradictorias.
¿La decodificación restringida garantiza un registro de automatización utilizable?
No. Puede garantizar las restricciones estructurales compatibles, pero las reglas empresariales, la fundamentación en fuentes, la existencia de archivos, los permisos y la coherencia entre campos aún requieren validación por parte de la aplicación.
Centro de Tecnología e IA
Más para leer

¿Qué funciones permiten establecer un límite de confianza de IA doméstica alrededor de archivos confidenciales?
Un límite de confianza para la IA doméstica combina cifrado en reposo, permisos de mínimo privilegio, aislamiento del entorno de ejecución y recuperación con...

¿Qué hace que los resultados de búsqueda privados favorezcan los archivos editados con frecuencia?
Los archivos editados con frecuencia obtienen ventajas de posicionamiento cuando cada actualización añade señales de frescura, fragmentos, versiones o interacción sin normalizarlas por fuente.

¿Qué hace que los modelos de presencia del hogar inteligente confundan a los invitados con los residentes?
Los invitados pueden parecer residentes cuando el sistema observa patrones de actividad del hogar, pero carece de una señal de identidad estable de la...

