Выбор ответа Junior ИИ-фичи в продукте спрашивают часто обновлено

Нужна ли валидация при structured output

Вопрос

API ограничивает ответ модели JSON-схемой. Нужно ли валидировать ответ на своей стороне?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

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

Варианты ответа

  1. Нет, схема на стороне провайдера гарантирует и формат, и смысл полей
  2. Да: значения могут быть пустыми, выдуманными или нарушать бизнес-правилаправильный ответ
  3. Нет, достаточно обернуть JSON.parse в try/catch и вернуть пустой объект
  4. Только в тестовом окружении, в проде проверка замедлит ответ пользователю

Разбор

Схема помогает с форматом, но не гарантирует смысл: модель может вернуть правдоподобную выдумку, пустую строку, дату в прошлом. Плюс бывают обрезанные ответы и отказы. Валидация (Zod, Pydantic, JSON Schema) и бизнес-проверки обязательны. Пустой объект при ошибке прячет проблему. Проверка схемы стоит микросекунды.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.