Árbol de conocimiento
En esta página

Salidas estructuradas

Qué aporta generar una respuesta ajustada a un schema y qué comprobaciones siguen siendo responsabilidad de la aplicación.
Actualizado 6 oct 2026

Un JSON válido puede ser inútil para la aplicación. {"file":"src/app.ts","line":"12"} se puede parsear, pero line no es un entero. Hay varias formas de pedir y comprobar la estructura de una respuesta:

Cuatro mecanismos distintos

MecanismoJSON válidoAjuste al schemaCuándo aparece el error
Pedir JSON en el promptNo garantizadoNo garantizadoAl parsear o validar
JSON modePara una respuesta completa aceptada por la APINoAl validar el objeto
Generación restringida por schemaPara una respuesta completa aceptada, dentro del subset soportadoSí, para ese subsetAntes o durante la generación si el schema no se admite
Validación posteriorSolo si el parser la aceptaSolo si el validador la aceptaDespués de generar

El prompt actúa como instrucción. JSON mode y la generación restringida son controles de la API. Un validador posterior corre en la aplicación y también puede usarse después de cualquiera de los otros mecanismos. Ninguno evita que haya que manejar respuestas incompletas, negativas del modelo o errores de transporte.

Generación y validación

La generación restringida por schema puede limitar los tokens disponibles en cada paso para mantener la respuesta dentro de una gramática permitida. La validación posterior comprueba una respuesta ya generada. Un proveedor puede soportar solo un subset de JSON Schema durante la generación, aunque un validador general acepte más restricciones.

Cuando llega un valor, la aplicación debe parsearlo y validarlo en su propia frontera. Si falla, puede rechazarlo o reintentarlo con un error preciso. Tratar un objeto incompleto como correcto oculta el fallo.

Estructura y significado

Supongamos que el modelo devuelve {"file":"src/app.ts","line":12}. Puede cumplir el schema aunque la línea 12 no exista, contenga código irrelevante o quede fuera del alcance. La estructura se comprueba con el schema. El significado se contrasta con el fichero y la tarea. Son distinciones prácticas, no nombres de garantías universales.

Si ese valor acaba provocando una acción, hay más pasos:

  1. ¿Se puede parsear el valor?
  2. ¿Cumple el schema?
  3. ¿Se refiere a algo real y pertinente?
  4. ¿Está permitido y autorizado usarlo así?
  5. ¿Se ha ejecutado correctamente?

Un enum o un patrón pueden acotar valores, pero no demuestran la intención del usuario ni conceden permisos. La aplicación necesita datos y políticas propios para decidir si una acción está autorizada.

Argumentos de tools

Las tool calls aplican la misma idea con otro destino. El modelo puede generar argumentos estructurados para read_file(path="src/app.ts"). La aplicación valida los argumentos y decide si ejecuta la tool. Algunas APIs permiten exigir el schema de los argumentos de una tool por separado del formato de la respuesta final.

El schema facilita interpretar la llamada. La aplicación todavía debe comprobar el path, el alcance y la autorización antes de ejecutarla.

Referencias