>_toolkitbox

~/tools / Structured Output Schema Checker

Structured Output Schema Checker — Проверка JSON Schema по ограничениям OpenAI, Anthropic и Gemini

Проверьте JSON Schema на соответствие документированным ограничениям структурированного вывода OpenAI, Anthropic и Gemini. Узнайте, какие ключевые слова отклоняются, игнорируются или нигде не документированы, до отправки схемы в API. Ничего не покидает ваш браузер.

Правила сверены с документацией каждого вендора на 2026-10-23.

Не проверяется: глубина вложенности, ограничение для длинных enum и всё, что вендоры не документируют. Вендоры меняют эти правила, поэтому сверяйтесь с актуальной документацией.

Всё выполняется в вашем браузере. Схема не загружается.

API ИИ-моделей могут заставить модель отвечать по JSON Schema, но каждый вендор принимает лишь часть JSON Schema, и эти части различаются. Схема, которая работает у одного вендора, может быть отклонена другим или принята, при этом часть её правил будет тихо отброшена. Инструмент читает вашу схему и сверяет её с тем, что сказано в документации каждого вендора: обязательные правила, например additionalProperties со значением false, неподдерживаемые ключевые слова, ключевые слова, которые принимаются, но не применяются, и опубликованные ограничения по размеру. Находки делятся на три вида, чтобы вы могли отличить документированную ошибку от ключевого слова, которое в документации просто не указано. Правила сверялись с документацией вендоров на дату, указанную под инструментом.

Когда пригодится

  • Проверить схему до отправки запроса со структурированным выводом, чтобы не узнавать о проблеме из ошибки 400
  • Найти ключевые слова, которые нужно убрать из схемы и перенести в собственный код проверки
  • Сравнить, что принимают OpenAI, Anthropic и Gemini для одной и той же схемы

Как пользоваться

  1. Вставьте JSON Schema, которую собираетесь отправить, или загрузите пример.
  2. Прочитайте результат для каждого вендора. «Не принимается» означает, что по документации схема не пройдёт или её нужно изменить. «Игнорируется» означает, что ключевое слово принимается, но не применяется. «Не документировано» означает, что ключевого слова нет в списке поддерживаемых у вендора.
  3. Исправьте всё, что отмечено как «Не принимается», а остальное проверьте реальным запросом.

Вопросы

Означает ли чистый результат, что API примет мою схему?

Нет. Инструмент проверяет правила, которые документируют вендоры. Он не обращается ни к какому API, а документация описывает не всё, поэтому схема всё равно может быть отклонена. Считайте чистый результат ответом «известных проблем нет» и проверьте схему реальным запросом.

Что означают «Не принимается», «Игнорируется» и «Не документировано»?

«Не принимается»: в документации сказано, что ключевое слово не поддерживается или что нужно соблюдать правило, например additionalProperties должно быть false. «Игнорируется»: в документации сказано, что ключевое слово принимается, но не применяется, поэтому модель может нарушить его. «Не документировано»: ключевого слова нет в списке поддерживаемых у вендора, поэтому оно может быть отклонено или проигнорировано, и документация не уточняет, что именно произойдёт.

Почему OpenAI требует, чтобы все свойства были обязательными?

В режиме strict OpenAI требует, чтобы все свойства были перечислены в required, а additionalProperties было равно false. Чтобы сделать поле необязательным, в документации предлагается использовать объединение с null, например type со значением ["string", "null"].

Моя схема использует minimum, maxLength и подобные ключевые слова. Что делать?

Anthropic не поддерживает числовые ограничения и ограничения длины строк, а Gemini не применяет ограничения длины. Уберите их из схемы, опишите ограничение в поле description и проверьте значение самостоятельно после получения ответа. Такую проверку может выполнить инструмент JSON Schema Validator.

Проверяет ли инструмент рекурсию?

Да, для Anthropic: в его документации рекурсивные схемы указаны как неподдерживаемые. OpenAI и Gemini документируют рекурсивные схемы, поэтому для них они не отмечаются.

Что не проверяется?

Глубина вложенности, ограничение для длинных enum и всё, что вендоры не документируют. Инструмент также не знает о новых моделях и возможностях, появившихся после даты проверки, поэтому в важных случаях сверяйтесь с актуальной документацией.

Отправляется ли моя схема на сервер?

Нет. Проверка выполняется в вашем браузере.

Похожие