Loading...
    0
    • Guía del Desarrollador
    • Referencia de API
    • Protocolo de Contexto del Modelo (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.5Deprecaciones de modelosPrecios
    Construir con Claude
    Descripción general de característicasTrabajar con la API de MessagesVentanas de contextoMejores prácticas de prompting
    Capacidades
    Almacenamiento en caché de promptsEdición de contextoPensamiento extendidoTransmisión de MensajesProcesamiento por lotesCitasSoporte multilingüeConteo de tokensEmbeddingsVisiónSoporte para PDFAPI de ArchivosResultados de búsquedaSalidas estructuradasComplemento de Google Sheets
    Herramientas
    Descripción generalCómo implementar el uso de herramientasUso de herramientas eficiente en tokensStreaming de herramientas de grano finoHerramienta BashHerramienta de ejecución de códigoHerramienta de uso de computadoraHerramienta de editor de textoHerramienta de obtención webHerramienta de búsqueda webHerramienta de memoria
    Habilidades del Agente
    Habilidades del AgenteComenzar con Agent Skills en la APIMejores prácticas para la creación de SkillsUso de Agent Skills con la API
    SDK de Agente
    Descripción general del Agent SDKReferencia del SDK del Agente - TypeScriptReferencia del SDK del Agente - Python
    Guías
    Entrada de StreamingManejo de PermisosGestión de SesionesSalidas estructuradas en el SDKAlojamiento del Agent SDKModificación de prompts del sistemaMCP en el SDKHerramientas PersonalizadasSubagentes en el SDKComandos Slash en el SDKHabilidades de Agente 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
    ResumenGenerador de promptsUsar plantillas de promptsMejorador de promptsSé claro y directoUsar ejemplos (prompting multishot)Deja que Claude piense (CoT)Usar etiquetas XMLDarle un rol a Claude (avisos del sistema)Prefill de la respuesta de ClaudeEncadena prompts complejosConsejos para contexto largoConsejos de pensamiento extendido
    Probar y evaluar
    Definir criterios de éxitoDesarrollar casos de pruebaUsando la Herramienta de EvaluaciónReducir la latencia
    Fortalecer protecciones
    Reducir las alucinacionesAumentar la consistencia de la salidaMitigar jailbreakshandle-streaming-refusalsReducir la filtración de promptsMantener a Claude en personaje
    Administración y monitoreo
    Descripción general de la API de administraciónAPI de Uso y CostoAPI de Análisis de Claude Code
    Console
    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

    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