Гайд · TNWS AI

Как сделать JSON-схему для ответа ИИ: поля, валидация и тестовые примеры

OpenAI APINode.jsPythonChatGPT#JSON#OpenAI API#разработка
5 мин

Практический гайд по проектированию JSON-ответов ИИ: определить поля, описать схему и проверить ошибки на реальных входах.

Что вы получите и когда метод полезен

Вы зададите предсказуемую структуру ответа модели и сможете проверить её до передачи в приложение. Этот сценарий нужен, когда недостаточно «спросить у нейросети»: результат должен быть проверяемым, воспроизводимым и пригодным для передачи коллеге. Работайте на одном реальном кейсе, а не на абстрактной теме. До начала выпишите критерий готовности: что именно должно появиться в результате, кто это будет использовать и какие ошибки недопустимы.

Входные данные

Подготовьте список полей, типы данных, пример корректного результата и два некорректных кейса. Не добавляйте в сервис пароли, ключи API, медицинские документы, реквизиты и другие данные, для которых нет разрешения владельца. Если документ содержит персональные сведения, замените их маркерами вроде «КЛИЕНТ_01» и сохраните таблицу соответствий отдельно. Это не формальность: модель не заменяет правила доступа вашей компании.

Пошаговый процесс

1. Зафиксируйте задачу и границы

Сформулируйте задачу одним предложением: «Нужно получить JSON-схему и набор примеров для валидации ответа модели». Затем перечислите три границы: какие источники разрешены, в каком формате нужен ответ и что модель обязана пометить как неизвестное. Не просите «сделать идеально» — это не критерий. Лучше заранее потребовать список допущений, ссылки на исходные фрагменты и пустое значение там, где подтверждения нет.

2. Выполните действие в сервисе

Начните не с промпта, а с контракта данных: какие поля обязательны, где строка, массив, число или null. В Structured Outputs OpenAI используется JSON Schema; в ней можно требовать нужные поля и ограничивать дополнительные. Опишите минимальную схему, а затем добавьте проверку на стороне приложения. Не парсите свободный текст регулярным выражением, если дальнейший процесс зависит от структуры.

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

3. Используйте копируемый шаблон

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

Верни только JSON, соответствующий этой схеме: [ВСТАВЬТЕ_JSON_SCHEMA]. Данные: [ВХОД]. Если значения нет во входе, используй null. Не придумывай поля и не добавляй пояснения вне JSON.

Шаблон намеренно просит не «найти лучший ответ», а показать опору на конкретные данные. Если модель не умеет создавать ссылки на фрагменты, потребуйте буквальную короткую цитату либо номер строки из подготовленной вами таблицы. Это проще проверять, чем уверенный пересказ.

Пример на реальном рабочем формате

Вход

Нужно извлечь из обращения поля topic, priority, deadline. В тексте есть тема и срок «до пятницы», но нет приоритета.

Какой результат считать хорошим

Ожидаемый объект содержит все три поля; priority равен null. Это лучше, чем выдуманный «high», потому что приложение может направить запись на уточнение. Хороший результат не скрывает пробелы: если во входе нет даты, ссылки или условия, в итоговой ячейке должно быть «нет данных», а не правдоподобная догадка. Откройте два-три указанных фрагмента вручную и проверьте, что вывод не меняет их смысл.

Проверка результата до публикации или передачи

Проверяйте в два прохода. Сначала смотрите на полноту: все ли обязательные поля, источники и ограничения присутствуют. Затем делайте выборочную проверку на точность: возьмите минимум три утверждения, в том числе число, имя и причинно-следственный вывод, и сравните с исходником. Если хотя бы одно утверждение не подтверждается, верните черновик в работу с конкретной пометкой, а не просите «исправить всё».

Чек-лист

  • У задачи есть измеримый итог и понятный получатель.
  • Использованы только разрешённые материалы; чувствительные данные удалены или заменены.
  • В ответе отмечены неизвестные данные и допущения.
  • Все числа, имена, URL и сроки сверены с первоисточником.
  • Формат результата совпадает с тем, который нужен следующему участнику процесса.
  • Исходный запрос и дата проверки сохранены рядом с результатом.

Как улучшить процесс после первого прогона

Не пытайтесь сделать шаблон универсальным после одного ответа. Соберите пять типичных сбоев: пропущенное поле, неверная дата, слишком общий вывод, неподтверждённая ссылка и нарушение формата. Для каждого сбоя добавьте отдельный пример в набор проверки. В следующем прогоне меняйте только один элемент — например, порядок инструкции или определение поля. Иначе нельзя понять, какое изменение действительно помогло.

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

Мини-проверка на устойчивость

Возьмите один вход без нужного факта, один вход с противоречащими данными и один обычный вход. Корректный процесс должен в первом случае оставить пробел, во втором — показать конфликт, а в третьем — выдать нужный формат. Если модель каждый раз отвечает уверенно, но одинаково игнорирует неопределённость, усилите инструкцию и добавьте автоматический или ручной стоп-критерий. Не путайте красивый текст с готовностью к использованию. Зафиксируйте также версию входных материалов: файл может быть обновлён уже после того, как вы получили ответ. При повторной проверке используйте ту же копию либо явно отмечайте, что вывод относится к новой редакции.

Ограничения

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

Источники и дата проверки

Сведения о функциях и ограничениях проверены 11 сентября 2026. Основной первоисточник: документация OpenAI по Structured Outputs.. Ссылку открывайте перед работой: интерфейс и условия доступа могут меняться. В статье не приводятся цены, тарифы и неподтверждённые лимиты — их следует смотреть только на странице сервиса в момент использования.

Частые вопросы

Можно ли сразу использовать результат в работе?

Только после проверки по исходным материалам и правилам вашей организации. Нейросеть готовит черновик, а не подтверждает факты.

Что делать, если данных не хватает?

Оставить поле пустым или отметить «нет данных», затем запросить первичный источник. Не заполнять пробел правдоподобной догадкой.

Как часто повторять проверку?

После изменения модели, промпта, источников, прав доступа или бизнес-правил, а для важных процессов — по установленному владельцем графику.

Читайте также

Комментарии

Пока тихо. Скажите первое слово