Promptea.

Prompts para output estructurado: cómo obtener JSON, tablas y listas confiables de cualquier IA

Técnicas y plantillas para que la IA devuelva output estructurado y legible por máquinas de manera consistente — sin campos inventados, desviación de formato ni contaminación de texto plano.

Por qué fallan los prompts de output estructurado
  • Sin schema: pedir 'JSON con los datos extraídos' sin especificar nombres de campos exactos, tipos y anidamiento casi siempre produce resultados inconsistentes entre ejecuciones.
  • Filtración de prosa: el modelo agrega una explicación antes o después del bloque JSON. Esto rompe los parsers. Fix: 'Devolvé solo el objeto JSON. Sin explicación, sin code fences de markdown, sin otro texto.'
  • Campos inventados: el modelo inventa nombres de campos que cree que querés. Fix: proporcioná el schema exacto — nombres de campos, sus tipos, y qué poner cuando no se encuentra un valor ('null', string vacío, o un centinela como 'N/A').
  • Estructura anidada incorrecta: pedís una lista pero obtenés un dict, o viceversa. Fix: mostrá un output de ejemplo en el prompt — no solo una descripción, sino la estructura real con valores placeholder.
  • Formatos de fecha/número inconsistentes: el modelo formatea fechas de manera diferente entre respuestas. Fix: especificá el formato exacto ('ISO 8601: YYYY-MM-DD') y dá un valor de ejemplo.
Los cuatro elementos de un prompt de output estructurado confiable
  • 1. Descripción de la tarea: qué extraer o generar, y de qué input. 'Extraé todos los ítems de línea del texto de factura a continuación.'
  • 2. Schema exacto: la estructura JSON completa con nombres de campos, tipos e instrucciones para valores faltantes. Pegá el schema literalmente, no como descripción en prosa.
  • 3. Output de ejemplo: un ejemplo completo y rellenado con valores placeholder realistas. Los modelos aprenden el formato de los ejemplos más rápido que de las descripciones.
  • 4. Restricción de output: 'Devolvé solo el JSON. Sin comentarios, sin formato markdown, sin preámbulo.' Poné esto al final del prompt — es la última instrucción que ve el modelo antes de generar.
Plantillas
Extracción de datos estructurados a JSON
Extraé datos estructurados del texto a continuación y devolvelos como JSON.

Texto a procesar:
"""
[Pegá el texto de input acá — una factura, email, formulario, artículo, etc.]
"""

Devolvé un objeto JSON que coincida exactamente con este schema:
{
  "campo_uno": string,         // [describir qué contiene este campo]
  "campo_dos": string | null,  // [describir; null si no se encuentra]
  "campo_tres": number | null, // [describir; null si no se encuentra]
  "items": [
    {
      "item_campo_a": string,
      "item_campo_b": number | null
    }
  ]
}

Reglas:
- Usá null (no "N/A", no string vacío) para cualquier campo no encontrado en el texto
- Fechas en formato ISO 8601: YYYY-MM-DD
- Números como tipos numéricos, no strings
- No agregues campos que no estén en el schema
- Devolvé solo el objeto JSON — sin explicación, sin code fence de markdown, sin otro texto

Output de ejemplo (solo de referencia — usá los valores del texto real):
{
  "campo_uno": "Valor de ejemplo",
  "campo_dos": null,
  "campo_tres": 42,
  "items": [
    { "item_campo_a": "Ítem A", "item_campo_b": 19.99 }
  ]
}
Se abre en la home con el prompt precargado.
Abrir en Promptea
Tabla de comparación estructurada
Generá una comparación estructurada de los ítems listados a continuación y devolvé el resultado como un array JSON.

Ítems a comparar:
1. [Ítem A]
2. [Ítem B]
3. [Ítem C — agregá más según sea necesario]

Dimensiones a comparar (evaluá cada ítem en cada dimensión):
- [Dimensión 1, ej. "Facilidad de configuración"]
- [Dimensión 2, ej. "Costo"]
- [Dimensión 3, ej. "Escalabilidad"]
- [Agregá o quitá dimensiones según sea necesario]

Devolvé un array JSON en este formato exacto:
[
  {
    "item": string,
    "puntuaciones": {
      "dimension_1": { "nivel": "alto" | "medio" | "bajo", "nota": string },
      "dimension_2": { "nivel": "alto" | "medio" | "bajo", "nota": string },
      "dimension_3": { "nivel": "alto" | "medio" | "bajo", "nota": string }
    },
    "ideal_para": string,
    "evitar_si": string
  }
]

Reglas:
- Nivel debe ser exactamente "alto", "medio" o "bajo" — sin otros valores
- Nota: una oración, menos de 20 palabras, factual, sin superlativos
- ideal_para: una oración describiendo el caso de uso ideal
- evitar_si: una oración describiendo cuándo NO elegir este ítem
- Devolvé solo el array JSON — sin preámbulo, sin explicación, sin markdown
Se abre en la home con el prompt precargado.
Abrir en Promptea
Preguntas frecuentes
¿Qué modelo es mejor para output estructurado?
Los modelos GPT (especialmente clase GPT-4 y superior) tienen modo JSON confiable y uso de herramientas que produce output restringido a schema con casi cero fallos de formato. Claude también es fuerte para tareas estructuradas cuando el schema está explícito en el prompt — su seguimiento de instrucciones es preciso. Para pipelines de producción críticos, usá el modo JSON nativo del modelo o la API de function-calling en lugar de depender solo del prompt: aplica el schema a nivel de generación, no solo como un pedido.
¿Qué hago cuando el modelo sigue agregando prosa antes del JSON?
Dos cambios solucionan esto en la mayoría de los casos. Primero, mové la restricción de output al final de tu prompt: 'Devolvé solo el JSON. Nada antes, nada después.' Segundo, empezá tu mensaje de usuario con lo que querés que el modelo genere: algunos modelos tratan el primer token de la respuesta como la finalización de lo que empezaste. Si seguís obteniendo prosa, cambiá al modo JSON nativo del modelo si está disponible — aplica la restricción a nivel de muestreo, haciendo que la contaminación de prosa sea estructuralmente imposible.