Empezar aquí
Radar · Herramientas

Salidas estructuradas garantizadas por esquema

La API puede garantizar que la respuesta o los argumentos de una herramienta cumplen un JSON Schema; cambia cómo pides y validas JSON.

Fuente: Documentación de la API de Claude

Publicado 1 min de lectura

Qué es

Pedir JSON en el prompt y rezar ya no es la única opción. En la API de Claude tienes dos mecanismos de salida estructurada con garantía de esquema:

  • output_config={"format": {"type": "json_schema", "schema": {...}}}: la respuesta llega en el bloque de texto como JSON válido según el esquema.
  • strict: True en la definición de una herramienta: los argumentos del tool_use cumplen su input_schema.

Con Pydantic, client.messages.parse(..., output_format=MiModelo) devuelve el objeto en .parsed_output.

Qué cambia en la práctica

  • Desaparecen los errores de parseo y los campos que faltan. Puedes quitar reintentos por «JSON roto».
  • El esquema tiene limitaciones: sin esquemas recursivos, sin restricciones numéricas ni de longitud, y additionalProperties debe ser false.
  • Que el JSON sea válido no lo hace correcto. Una fecha bien formada puede ser la fecha equivocada. La validación de negocio sigue en tu código.

Qué hacer

  1. Pasa tus extracciones a output_config.format y tus herramientas críticas a strict: Salida estructurada.
  2. Mueve los rangos y longitudes que el esquema no admite a validación propia tras la respuesta.
  3. Mantén ejemplos de salida en el prompt para guiar el contenido: Formato y salidas estructuradas.
  4. Practica con la receta Extraer datos de facturas a JSON validado o el sistema Extracción documental a JSON.