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
RadarQué 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: Trueen la definición de una herramienta: los argumentos deltool_usecumplen suinput_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
additionalPropertiesdebe serfalse. - 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
- Pasa tus extracciones a
output_config.formaty tus herramientas críticas astrict: Salida estructurada. - Mueve los rangos y longitudes que el esquema no admite a validación propia tras la respuesta.
- Mantén ejemplos de salida en el prompt para guiar el contenido: Formato y salidas estructuradas.
- Practica con la receta Extraer datos de facturas a JSON validado o el sistema Extracción documental a JSON.