Loading...
    • Guía para desarrolladores
    • Referencia de API
    • MCP
    • Recursos
    • Notas de la versión
    Search...
    ⌘K
    Primeros pasos
    Introducción a ClaudeInicio rápido
    Modelos y precios
    Descripción general de modelosElegir un modeloNovedades en Claude 4.5Migración a Claude 4.5Deprecación de modelosPrecios
    Construir con Claude
    Descripción general de característicasUsar la API de MessagesVentanas de contextoMejores prácticas de prompting
    Capacidades
    Almacenamiento en caché de promptsEdición de contextoPensamiento extendidoEsfuerzoStreaming de MessagesProcesamiento por lotesCitasSoporte multilingüeConteo de tokensEmbeddingsVisiónSoporte de PDFAPI de FilesResultados de búsquedaSalidas estructuradas
    Herramientas
    Descripción generalCómo implementar el uso de herramientasStreaming de herramientas de grano finoHerramienta BashHerramienta de ejecución de códigoLlamada de herramientas programáticaHerramienta de uso de computadoraHerramienta de editor de textoHerramienta de búsqueda webHerramienta de búsqueda webHerramienta de memoriaHerramienta de búsqueda de herramientas
    Agent Skills
    Descripción generalInicio rápidoMejores prácticasUsar Skills con la API
    Agent SDK
    Descripción generalInicio rápidoSDK de TypeScriptTypeScript V2 (vista previa)SDK de PythonGuía de migración
    Entrada de streamingManejo de permisosControlar la ejecución con hooksGestión de sesionesPunto de control de archivosSalidas estructuradas en el SDKAlojamiento del Agent SDKDespliegue seguro de agentes de IAModificar prompts del sistemaMCP en el SDKHerramientas personalizadasSubagentes en el SDKComandos de barra en el SDKAgent Skills en el SDKSeguimiento de costos y usoListas de tareasPlugins en el SDK
    MCP en la API
    Conector MCPServidores MCP remotos
    Claude en plataformas de terceros
    Amazon BedrockMicrosoft FoundryVertex AI
    Ingeniería de prompts
    Descripción generalGenerador de promptsUsar plantillas de promptsMejorador de promptsSer claro y directoUsar ejemplos (prompting multishot)Dejar que Claude piense (CoT)Usar etiquetas XMLDar un rol a Claude (prompts del sistema)Rellenar la respuesta de ClaudeEncadenar prompts complejosConsejos de contexto largoConsejos de pensamiento extendido
    Probar y evaluar
    Definir criterios de éxitoDesarrollar casos de pruebaUsar la herramienta de evaluaciónReducir latencia
    Fortalecer protecciones
    Reducir alucinacionesAumentar consistencia de salidaMitigar ataques de jailbreakRechazos de streamingReducir fuga de promptsMantener a Claude en personaje
    Administración y monitoreo
    Descripción general de Admin APIAPI de uso y costoAPI de Claude Code Analytics
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Guías

    Salidas estructuradas en el SDK

    Obtén resultados JSON validados de flujos de trabajo de agentes

    Obtén JSON estructurado y validado de flujos de trabajo de agentes. El SDK del Agente admite salidas estructuradas a través de Esquemas JSON, asegurando que tus agentes devuelvan datos exactamente en el formato que necesitas.

    Cuándo usar salidas estructuradas

    Usa salidas estructuradas cuando necesites JSON validado después de que un agente complete un flujo de trabajo de múltiples turnos con herramientas (búsquedas de archivos, ejecución de comandos, investigación web, etc.).

    Para llamadas de API únicas sin uso de herramientas, consulta Salidas Estructuradas de API.

    Por qué usar salidas estructuradas

    Las salidas estructuradas proporcionan integración confiable y segura en tipos con tus aplicaciones:

    • Estructura validada: Siempre recibe JSON válido que coincida con tu esquema
    • Integración simplificada: No se necesita código de análisis o validación
    • Seguridad de tipos: Úsalo con sugerencias de tipos de TypeScript o Python para seguridad de extremo a extremo
    • Separación limpia: Define requisitos de salida separados de las instrucciones de tareas
    • Autonomía de herramientas: El agente elige qué herramientas usar mientras garantiza el formato de salida

    Cómo funcionan las salidas estructuradas

    1. 1

      Define tu esquema JSON

      Crea un Esquema JSON que describa la estructura que deseas que devuelva el agente. El esquema utiliza el formato estándar de Esquema JSON.

    2. 2

      Añade el parámetro outputFormat

      Incluye el parámetro outputFormat en tus opciones de consulta con type: "json_schema" y tu definición de esquema.

    3. 3

      Ejecuta tu consulta

      El agente utiliza cualquier herramienta que necesite para completar la tarea (operaciones de archivos, comandos, búsqueda web, etc.).

    4. 4

      Accede a la salida validada

      El resultado final del agente será JSON válido que coincida con tu esquema, disponible en message.structured_output.

    Características de Esquema JSON admitidas

    El SDK del Agente admite las mismas características y limitaciones de Esquema JSON que Salidas Estructuradas de API.

    Características clave admitidas:

    • Todos los tipos básicos: object, array, string, integer, number, boolean, null
    • enum, const, required, additionalProperties (debe ser false)
    • Formatos de cadena: date-time, date, email, uri, uuid, etc.
    • $ref, $def, y definitions

    Para detalles completos sobre características admitidas, limitaciones y soporte de patrones regex, consulta Limitaciones de Esquema JSON en la documentación de API.

    Ejemplo: Agente de seguimiento de TODO

    Aquí hay un ejemplo completo que muestra un agente que busca TODOs en código y extrae información de git blame:

    import { query } from '@anthropic-ai/claude-agent-sdk'
    
    // Define structure for TODO extraction
    const todoSchema = {
      type: 'object',
      properties: {
        todos: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              text: { type: 'string' },
              file: { type: 'string' },
              line: { type: 'number' },
              author: { type: 'string' },
              date: { type: 'string' }
            },
            required: ['text', 'file', 'line']
          }
        },
        total_count: { type: 'number' }
      },
      required: ['todos', 'total_count']
    }
    
    // Agent uses Grep to find TODOs, Bash to get git blame info
    for await (const message of query({
      prompt: 'Find all TODO comments in src/ and identify who added them',
      options: {
        outputFormat: {
          type: 'json_schema',
          schema: todoSchema
        }
      }
    })) {
      if (message.type === 'result' && message.structured_output) {
        const data = message.structured_output
        console.log(`Found ${data.total_count} TODOs`)
        data.todos.forEach(todo => {
          console.log(`${todo.file}:${todo.line} - ${todo.text}`)
          if (todo.author) {
            console.log(`  Added by ${todo.author} on ${todo.date}`)
          }
        })
      }
    }

    El agente utiliza autónomamente las herramientas correctas (Grep, Bash) para recopilar información y devuelve datos validados.

    Manejo de errores

    Si el agente no puede producir una salida válida que coincida con tu esquema, recibirás un resultado de error:

    for await (const msg of query({
      prompt: 'Analyze the data',
      options: {
        outputFormat: {
          type: 'json_schema',
          schema: mySchema
        }
      }
    })) {
      if (msg.type === 'result') {
        if (msg.subtype === 'success' && msg.structured_output) {
          console.log(msg.structured_output)
        } else if (msg.subtype === 'error_max_structured_output_retries') {
          console.error('Could not produce valid output')
        }
      }
    }

    Recursos relacionados

    • Documentación de Esquema JSON
    • Salidas Estructuradas de API - Para llamadas de API únicas
    • Herramientas personalizadas - Define herramientas para tus agentes
    • Referencia del SDK de TypeScript - API completa de TypeScript
    • Referencia del SDK de Python - API completa de Python
    • Por qué usar salidas estructuradas
    • Inicio rápido
    • Definición de esquemas con Zod
    • Inicio rápido
    • Definición de esquemas con Pydantic
    • Cómo funcionan las salidas estructuradas
    • Características de Esquema JSON admitidas
    • Ejemplo: Agente de seguimiento de TODO
    • Manejo de errores
    • Recursos relacionados