Loading...
    0
    • Руководство разработчика
    • Справочник API
    • MCP
    • Ресурсы
    • Примечания к выпуску
    Search...
    ⌘K
    Первые шаги
    Введение в ClaudeБыстрый старт
    Модели и цены
    Обзор моделейВыбор моделиЧто нового в Claude 4.5Миграция на Claude 4.5Снятие моделей с поддержкиЦенообразование
    Создавайте с Claude
    Обзор возможностейРабота с API MessagesКонтекстные окнаЛучшие практики создания промптов
    Возможности
    Кэширование подсказокРедактирование контекстаРасширенное мышлениеПотоковые сообщенияПакетная обработкаЦитированиеМногоязычная поддержкаПодсчет токеновЭмбеддингиЗрениеПоддержка PDFFiles APIРезультаты поискаСтруктурированные выходные данныеДополнение для Google Sheets
    Инструменты
    ОбзорКак реализовать использование инструментовЭкономное использование инструментов по токенамДетализированная потоковая передача инструментовИнструмент BashИнструмент выполнения кодаИнструмент компьютерного управленияИнструмент текстового редактораИнструмент веб-выборкиИнструмент веб-поискаИнструмент памяти
    Навыки агента
    Навыки агентаНачало работы с Agent Skills в APIЛучшие практики создания SkillsИспользование Agent Skills с API
    SDK для агентов
    ОбзорСправочник Agent SDK - TypeScriptСправочник Agent SDK - Python
    Руководства
    Потоковый вводУправление разрешениямиУправление сессиямиСтруктурированные выходные данные в SDKРазмещение Agent SDKИзменение системных промптовMCP в SDKПользовательские инструментыСубагенты в SDKСлэш-команды в SDKНавыки агента в SDKОтслеживание затрат и использованияСписки задачПлагины в SDK
    MCP в API
    MCP коннекторУдаленные MCP серверы
    Claude на сторонних платформах
    Amazon BedrockMicrosoft FoundryVertex AI
    Инженерия подсказок
    ОбзорГенератор промптовИспользование шаблонов промптовУлучшитель промптовБудьте ясными и прямымиИспользуйте примеры (мультишотовый промптинг)Позвольте Claude думать (CoT)Используйте XML-тегиНазначьте роль Claude (системные промпты)Предварительное заполнение ответа ClaudeЦепочки сложных промптовСоветы по длинному контекстуСоветы по расширенному мышлению
    Тестирование и оценка
    Определите критерии успехаРазработка тестовых случаевИспользование инструмента оценкиСнижение задержки
    Усилить защиту
    Уменьшение галлюцинацийПовышение согласованности выводаПредотвращение взломаhandle-streaming-refusalsУменьшение утечки промптаПоддержание характера Claude
    Администрирование и мониторинг
    Обзор Admin APIAPI использования и стоимостиClaude Code Analytics API
    Console
    Руководства

    Структурированные выходные данные в SDK

    Получайте проверенные результаты JSON из рабочих процессов агентов

    Получайте структурированные, проверенные JSON из рабочих процессов агентов. Agent SDK поддерживает структурированные выходные данные через JSON Schemas, гарантируя, что ваши агенты возвращают данные в точном формате, который вам нужен.

    Когда использовать структурированные выходные данные

    Используйте структурированные выходные данные, когда вам нужен проверенный JSON после того, как агент завершит многоходовый рабочий процесс с инструментами (поиск файлов, выполнение команд, веб-исследование и т. д.).

    Для одиночных вызовов API без использования инструментов см. API Structured Outputs.

    Почему использовать структурированные выходные данные

    Структурированные выходные данные обеспечивают надежную интеграцию, безопасную по типам, с вашими приложениями:

    • Проверенная структура: Всегда получайте корректный JSON, соответствующий вашей схеме
    • Упрощенная интеграция: Не требуется код для парсинга или валидации
    • Безопасность типов: Используйте с подсказками типов TypeScript или Python для полной безопасности
    • Чистое разделение: Определяйте требования к выходным данным отдельно от инструкций задачи
    • Автономия инструментов: Агент выбирает, какие инструменты использовать, гарантируя формат выходных данных

    Как работают структурированные выходные данные

    1. 1

      Определите вашу JSON схему

      Создайте JSON Schema, которая описывает структуру, которую должен вернуть агент. Схема использует стандартный формат JSON Schema.

    2. 2

      Добавьте параметр outputFormat

      Включите параметр outputFormat в параметры запроса с type: "json_schema" и определением вашей схемы.

    3. 3

      Запустите ваш запрос

      Агент использует любые инструменты, необходимые для выполнения задачи (операции с файлами, команды, веб-поиск и т. д.).

    4. 4

      Получите доступ к проверенному выходу

      Окончательный результат агента будет корректным JSON, соответствующим вашей схеме, доступным в message.structured_output.

    Поддерживаемые функции JSON Schema

    Agent SDK поддерживает те же функции и ограничения JSON Schema, что и API Structured Outputs.

    Ключевые поддерживаемые функции:

    • Все базовые типы: object, array, string, integer, number, boolean, null
    • enum, const, required, additionalProperties (должно быть false)
    • Форматы строк: date-time, date, email, uri, uuid и т. д.
    • $ref, $def и definitions

    Для полной информации о поддерживаемых функциях, ограничениях и поддержке регулярных выражений см. JSON Schema limitations в документации API.

    Пример: агент отслеживания TODO

    Вот полный пример, показывающий агента, который ищет TODO в коде и извлекает информацию о 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}`)
          }
        })
      }
    }

    Агент автономно использует правильные инструменты (Grep, Bash) для сбора информации и возвращает проверенные данные.

    Обработка ошибок

    Если агент не может создать корректный выход, соответствующий вашей схеме, вы получите результат ошибки:

    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')
        }
      }
    }

    Связанные ресурсы

    • JSON Schema documentation
    • API Structured Outputs - Для одиночных вызовов API
    • Custom tools - Определите инструменты для ваших агентов
    • TypeScript SDK reference - Полный API TypeScript
    • Python SDK reference - Полный API Python
    • Почему использовать структурированные выходные данные
    • Быстрый старт
    • Определение схем с помощью Zod
    • Быстрый старт
    • Определение схем с помощью Pydantic
    • Как работают структурированные выходные данные
    • Поддерживаемые функции JSON Schema
    • Пример: агент отслеживания TODO
    • Обработка ошибок
    • Связанные ресурсы

    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