THREADQA
    THREADQA
    Главная
    Курсы
    Java QA AutomationNEW
    Новый курс · уже можно купить
    Python QA Automation
    Pytest, Playwright, Docker
    iOS QA Automation
    XCTest, XCUITest, Fastlane
    Все курсы
    Сравнить Java / Python / iOS
    Практика
    Мок собеседование
    Тренировка перед реальным интервью
    XPath Practice Hub
    Тренажёр XPath-запросов
    Roadmap
    Путь QA-инженера
    Тренажёры
    SQL, Git, Docker, Linux, тест-дизайн
    QA игры
    8 мини-игр для тестировщика
    XPath Dinner
    Практика XPath в игровом формате
    Каталог инструментов
    Инструменты тестирования и сравнения
    Глоссарий ИИ-тестирования
    LLM, RAG, метрики, evals
    С чего начать
    Блог
    FAQ
    Для компаний
    1. Домой
    2. Глоссарий тестирования ИИ
    3. Структурированный вывод (JSON Schema)
    Форматы и инфраструктура

    Структурированный вывод (JSON Schema)что это и как применять в тестировании ИИ

    Также: structured output, JSON от LLM, валидация JSON ответа модели

    Структурированный вывод — ответ языковой модели в заранее заданной структуре, чаще всего JSON, соответствующий схеме (JSON Schema). Формат нужен, когда результат разбирает код: вызов инструмента, извлечение данных, API. Проверять нужно не только то, что JSON разбирается, но и что он соответствует схеме и допустимым значениям.

    Автор: Олег Пендрак · Обновлено 19 сентября 2026 г.

    Как это работает

    Типичные поломки: модель добавляет пояснение до или после JSON, оборачивает его в блок разметки, пропускает обязательное поле, выдаёт значение не из списка допустимых или неверный тип. Часть провайдеров умеет ограничивать вывод схемой, но проверку на стороне приложения всё равно нужно оставлять.

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

    Пример

    Проверка JSON по схеме (pytest и jsonschema)
    1import json
    2from jsonschema import validate
    3
    4SCHEMA = {
    5    "type": "object",
    6    "required": ["intent", "confidence"],
    7    "properties": {
    8        "intent": {"enum": ["refund", "delivery", "other"]},
    9        "confidence": {"type": "number", "minimum": 0, "maximum": 1},
    10    },
    11    "additionalProperties": False,
    12}
    13
    14def test_answer_is_valid_json():
    15    raw = classify("Хочу вернуть куртку")
    16    validate(json.loads(raw), SCHEMA)      # бросит исключение, если схема нарушена

    Как применять в тестировании ИИ

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

    Типичные ошибки

    • Проверять только json.loads: разбор проходит, а обязательного поля нет.
    • Схема слишком мягкая: без required, enum и additionalProperties она пропускает мусор.
    • Не тестировать ситуации, когда модель добавляет текст вокруг JSON.

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

    Как проверить, что JSON от LLM не сломан?

    Разберите ответ парсером и проверьте его по JSON Schema: обязательные поля, типы, допустимые значения и запрет лишних полей. Отдельно тестируйте краевые случаи: лишний текст вокруг JSON, обрезанный ответ, пустое значение.

    Достаточно ли json.loads для проверки ответа?

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

    На странице

    • Как это работает
    • Пример
    • В тестировании ИИ
    • Типичные ошибки
    • Частые вопросы

    Читайте в блоге

    • Тестирование ИИ: что и когда тестировать в LLM-приложении

    Связанные термины

    • LLM evals
    • Trace id
    • MCP (Model Context Protocol)
    Все термины глоссария
    THREADQAПлатформа QA Automation

    О платформе

    Обучаем автоматизации тестирования на Java, Python и iOS. Практические курсы, roadmap, тренажёры и персональные мок-интервью.

    Онлайн 24/7

    Курсы

    • Java QA AutomationNEW
    • Python QA Automation
    • iOS QA Automation
    • Про ThreadQA

    Услуги

    • Мок-собеседования

    Инструменты

    • Roadmap QA
    • Тренажёры
    • QA игры
    • Тренажёр XPath
    • XPath Diner
    • Каталог инструментов
    • Глоссарий ИИ-тестирования

    Контакты

    • Email
      info@threadqa.ru
    • Telegram
      @penolegrus
    Публичная офертаПолитика конфиденциальностиУсловия использования
    © 2026·ThreadQA LMS·Все права защищены