AI / LLM Dev Tools

Схема структурированного вывода: проверка

Вставьте JSON Schema или содержимое parameters и выберите целевой профиль. Пути в диагностике укажут, какие определения нужно пересмотреть.

Схема структурированного вывода

JSON Schema

Отчёт проверки

Вставьте JSON Schema для начала проверки.

Данные и ссылки обрабатываются в этом браузере: ничего не отправляется на проверку и удалённые ссылки не загружаются.

Вставьте саму схему. Для функции нужен только объект внутри parameters.

Правила проверены: 2026-09-15. Официальные правила

Локальная предварительная проверка не гарантирует принятие API или поддержку конкретной моделью.

Вставьте JSON Schema для начала проверки.

Схема структурированного вывода может пройти обычную проверку и всё же не соответствовать ограничениям провайдера модели. Здесь структура схемы проверяется отдельно от правил выбранного профиля. Так проще понять, где достаточно исправить синтаксис, а где требуется изменить сам контракт данных.

Проверка JSON Schema перед интеграцией включает больше, чем поиск пропущенной запятой. Валидация схемы для OpenAI учитывает строгий режим, обязательные ключи и закрытые объекты. Вызов функций также использует эти ограничения. Переключение на Gemini позволяет сравнить результаты, сохранив исходный текст и дату проверенных правил.

Зачем нужна схема структурированного вывода с проверкой

Разделить структуру и требования цели

Необязательные поля и дополнительные ключи часто допустимы в обычном контракте. Схема структурированного вывода для OpenAI strict требует дополнительных условий. Результат метасхемы показан отдельно от замечаний профиля. Каждый пункт содержит путь и направление исправления, чтобы вернуться к нужному объекту, а не угадывать причину отказа.

Одно дерево схемы проходит общую проверку, а другая проверка отмечает две проблемные ветви.

Сравнивать, сохраняя исходный контракт

При смене OpenAI на Gemini диагностика вычисляется заново, а исходный текст остаётся прежним. Инструмент не добавляет required и не удаляет неизвестные ключевые слова ради положительного результата. Сначала можно оценить, как предложение повлияет на принимающий код, и только затем изменить разрешённую форму данных.

Неизменённая схема направлена к двум целевым профилям с разными отметками диагностики.

От правильного фрагмента к актуальному отчёту

01

Извлеките тело parameters

Для профиля функции OpenAI нужен только объект внутри parameters. Имя функции, strict и полная оболочка запроса относятся к интеграционному коду. Профиль отражает назначение схемы в отчёте, но не проверяет функцию целиком, не формирует готовый запрос и ничего не выполняет на стороне модели.

02

Сравните два примера

Корректный пример содержит обязательное поле, допускающее null. В проблемном примере отсутствуют условия закрытых объектов OpenAI. Затем переключитесь на Gemini и посмотрите, какие замечания зависят от цели. Перед заменой отображаются новый текст и количество затрагиваемых символов; исходный ввод меняется только после применения.

03

Экспортируйте после последней правки

Автопроверка запускается через 350 мс после редактирования. Если её выключить, доступны кнопка и Ctrl/Cmd + Enter. Изменение ввода или профиля сразу блокирует старый отчёт. Отмена применения восстанавливает ввод, выбранную цель и предыдущее заключение вместе, чтобы результат не оторвался от проверяемых данных.

Понятные основания для изменения контракта

Проверка метаструктуры

Встроенная метасхема 2020-12 проверяет форму ключевых слов и типы их значений. Парсер отклоняет повторные ключи и числа, которые JavaScript округлил бы без предупреждения. Комментарии, завершающие запятые и ограждения Markdown считаются синтаксическими ошибками; исходный текст не исправляется незаметно для пользователя.

Пути и локальные определения

Диагностика использует JSON Pointer, включая экранирование слешей и тильд в именах свойств. Локальная ссылка должна указывать на существующую позицию схемы. Свойство с именем allOf не считается ключевым словом композиции, а буквальные значения внутри enum или default не обходятся как правила.

Явные границы покрытия

Два профиля OpenAI предназначены для strict без дообучения. Для Gemini используется проверенный документированный набор JSON Schema. Неизвестные ключевые слова и форматы остаются отмеченными для ручной проверки. Такое предупреждение означает пробел покрытия, а не обещание поддержки или утверждение, что API обязательно отклонит схему.

Полный отчёт для совместной проверки

JSON-отчёт содержит профиль, дату правил, результат метаструктуры, счётчики и коды диагностики. Длинные списки сначала показывают 50 пунктов с возможностью открыть следующие. Копирование и скачивание включают весь отчёт, даже если часть пунктов ещё не раскрыта на экране. Контекст проверки сохраняется при передаче коллеге.

Границы предварительной проверки

Это не сертификация API
Правила проверены 2026-09-15. Права аккаунта, конечная точка, нормализация SDK, ответы с отказом и конкретные версии моделей требуют реального теста. Профилей для дообученных OpenAI, Anthropic, вызовов функций Gemini и сторонних прокси здесь нет. Отсутствие локальных замечаний не подтверждает эти условия интеграции.
Один диалект и локальные указатели
Метаструктура проверяется по 2020-12. Явно объявленная старая версия отмечается без автоматической миграции. Внешние ссылки и именованные якоря не разрешаются. Рекурсивные определения анализируются конечным обходом, без раскрытия всех возможных ответов и без доказательства соответствия их сложности ограничениям удалённого сервера.
Раздельные лимиты работы
Ввод ограничен 500000 символами, 50000 разобранными узлами и 40 уровнями JSON. Worker останавливается через пять секунд; более 1000 диагностик прерывает проверку без частичного успеха. Эти ограничения браузера отделены от бюджетов OpenAI для свойств, вложенности, перечислений и строковых значений.
Без автоматической смены смысла
Добавление required, разрешение null или запрет дополнительных ключей меняют контракт. Инструмент только предлагает направление правки. Допустимый null не разрешает отсутствие ключа; при наличии enum нужно проверить и список значений. Согласуйте изменения с принимающим кодом до редактирования и повторного запуска проверки.
Значения ответа проверяются отдельно
Страница анализирует определение, отправляемое модели, а не готовый ответ. Она не выводит схему из примера, не генерирует ответ и не восстанавливает повреждённый JSON. Полученные данные всё ещё нужно проверять по контракту и бизнес-правилам: корректный тип значения не доказывает его содержательную правильность.

Схема структурированного вывода: частые вопросы

Как проверить схему до отправки в API провайдера?

Начните с синтаксиса и метаструктуры, затем выберите нужный профиль и разберите пути диагностики. Не пропускайте предупреждения о непокрытых правилах. Завершите проверку реальным запросом к выбранной модели и конечной точке: локальный анализ находит типичные проблемы, но не подтверждает, что конкретная API примет запрос.

Почему OpenAI strict требует все поля в required?

Строгий режим ограничивает форму создаваемого объекта, поэтому объявленные ключи должны присутствовать. Неизвестное значение можно передать как null, если это предусмотрено контрактом. При использовании enum null должен допускаться и этим списком. Отсутствующий ключ и обязательный ключ со значением null имеют разную семантику.

Почему недостаточно JSON.parse() или линтера?

Парсер проверяет грамматику JSON, но не структуру properties и required, наличие цели ссылки или поддержку ключевого слова провайдером. Поэтому синтаксически корректный документ может содержать ошибки схемы или вызывать замечания выбранного профиля. Проверка бизнес-значений в фактическом ответе также остаётся отдельной задачей приложения.

Можно ли взаимозаменять форматы OpenAI, Anthropic и Gemini?

Они используют близкие понятия JSON Schema, но отличаются подмножествами и оболочками запросов. Здесь есть профили OpenAI strict и вывода Gemini; Anthropic не проверяется. Заключение для одной цели не подтверждает остальные. Интеграционный код должен отдельно выбрать правильное поле и упаковку схемы в API-запросе.

Можно вставить пример JSON вместо полной схемы?

Пример не определяет, какие поля разрешено пропускать, допустимы ли дополнительные ключи и каковы диапазоны значений. Нужна схема с явными типами и ограничениями. Встроенный пример можно взять за основу, но каждое условие следует адаптировать к реальному контракту данных и ожиданиям принимающего кода.

Не хватает нужного случая?

Начните с первого замечания

Схема структурированного вывода описывает договорённость с принимающим кодом. Выберите нужный профиль и вернитесь к первому пути диагностики. Перед правками required, null и дополнительных ключей сохраните исходную версию и оцените изменение допустимого набора данных.