Una salida estructurada obliga a que la respuesta siga un schema: campos, tipos, valores permitidos y relaciones básicas. Es la diferencia entre integrar texto que «parece JSON» y recibir datos que tu programa puede procesar con un contrato conocido.
Un bloque JSON puede ser sintácticamente válido y aun así:
Cuando la plataforma ofrece structured outputs o tool calling con schema, úsalo. El modelo queda limitado a una gramática compatible y reduces fallos de parseo. Aun así, la corrección semántica requiere validación.
| Campo | Tipo | Regla |
|---|---|---|
| decision | enum | aprobar, revisar o rechazar |
| confidence | número | entre 0 y 1 |
| evidence | lista | referencias a entradas existentes |
| reason | texto | explicación breve |
El schema garantiza forma. No garantiza que la confianza esté bien calibrada ni que la evidencia respalde la decisión.
No parses con expresiones regulares un párrafo esperando encontrar JSON en medio. Tampoco ejecutes directamente código o argumentos generados.
El schema nace de Prompts e instrucciones, se protege con Validación y también es el contrato de una tool.