Постобработка и проверки ответа
Нейросеть — не идеальный исполнитель. Иногда она начинает ответ с «Конечно! Вот ваш текст:», оборачивает HTML в блок кода, пишет вдвое длиннее, чем просили, или вдруг отвечает по-английски. Чтобы такой ответ не попал на сайт, в каждом шаге есть секция ② «Обработка ответа».
Она работает в два этапа:
- Чистка — приводит ответ в порядок, ничего не отбраковывая.
- Проверки — решают, годится ли ответ. Не годится — выполняется выбранное действие.
В свёрнутом виде секция показывает сводку в три строки, например «Чистка: не нужна», «Проверка: от 120 до 300 символов, без HTML-разметки», «Если нет: остановить с ошибкой».

Кнопка «Изменить» раскрывает настройки:

Включайте только нужное — выключенное не применяется. Если шаг создан из пресета, он уже подобрал чистку и проверки под задачу. Менять стоит, если ответы приходят с мусором или неподходящей длины — это видно на странице «Тестирование».
Чистка: «Перед проверкой очистить ответ»
| Чистка | Что делает | Пример |
|---|---|---|
Убрать обёртку ```html … ``` | Модели часто оборачивают ответ в блок кода. Чистка снимает эту обёртку и оставляет содержимое | Было: ```html <p>Текст</p> ``` → стало: <p>Текст</p> |
Оставить только содержимое <body>, если пришла целая HTML-страница | Если модель вернула полный HTML-документ с <html>, <head>, чистка оставит только содержимое <body> | В поле попадёт фрагмент, а не целая страница |
В «Тонкой настройке» можно уточнить поведение: снимать обёртку, только если весь ответ — один блок кода, или брать первый блок кода в ответе; для <body> — только у полного HTML-документа или всегда, когда есть <body>.
Если чисток несколько, они выполняются по очереди сверху вниз. Нет ни одной чистки — ответ уходит в проверки как есть.
Благодаря чистке не нужно обвешивать промпт оговорками «не оборачивай в markdown»: модель всё равно иногда их игнорирует.
Проверки: «Принимать ответ, только если»
Проверки выполняются все, порядок не важен. Ответ принят, только если пройдены все включённые проверки.
Длина
Ограничение «от … до …» в символах или словах. Пустое поле — без ограничения с этой стороны.
| Задача | Разумные значения |
|---|---|
| Meta description | от 150 до 160 символов |
| Описание товара | от 200 до 1500 символов |
| Короткий анонс | до 300 символов |
Отсекает и однострочные «отписки», и простыни текста.
Формат
| Значение | Что считается правильным ответом |
|---|---|
| текст | Простой текст без HTML-тегов и без Markdown-разметки (#, *жирный*, ссылки, блоки кода) |
| HTML | В ответе есть хотя бы один HTML-тег |
| JSON | Ответ — корректный JSON |
Проверка HTML не оценивает правильность вёрстки: ей достаточно, чтобы в ответе был хотя бы один тег.
Язык ответа
Выберите язык — русский или английский — и порог «не меньше N% букв этого алфавита» (по умолчанию 50%). Модуль считает, какая доля букв в ответе написана нужным алфавитом. Цифры, знаки и HTML-теги не учитываются.
- Пара английских названий брендов среди русского текста проверку не провалит, пока их меньше порога.
- Порог 100% — ни одной буквы другого алфавита.
- Русский от украинского или болгарского проверка не отличит: для неё всё это кириллица.
Пригодится, чтобы не пропустить ответ на английском, когда модель «перешла» на язык характеристик.
Нужные и запрещённые фразы
- Должны быть — ответ обязан содержать каждую из этих фраз. Например, название бренда.
- Запрещены — если найдена хоть одна, ответ отбраковывается. Например: «как ИИ-модель», «Конечно!», «Извините», «купить».
Регистр букв не учитывается. Пустой список — не проверять.
«Ничего не проверяет»
Проверка без условий (например, «Длина» с пустыми полями) помечается «ничего не проверяет», а у секции появляется бейдж с числом таких проверок. Она пропускает любой ответ — задайте условия или удалите её.
Если ответ не прошёл
Что делать, если ответ не прошёл хотя бы одну проверку:
| Вариант | Что происходит |
|---|---|
| Пропустить элемент | Обработка этой карточки прерывается без ошибки: следующие шаги не выполняются, в карточку ничего не пишется |
| Пропустить шаг | Ответ этого шага не записывается, следующие шаги выполняются. Шаги, которые используют его ответ, получат пустое значение |
| Остановить (по умолчанию) | Шаг запрашивается заново, пока не кончатся попытки (см. ниже). Если и последняя попытка не прошла проверки — обработка карточки останавливается с ошибкой, в карточку ничего не пишется |
Как выбрать:
- шаг необязательный (например, дополнительный абзац) — «Пропустить шаг»;
- без ответа шага карточку нет смысла заполнять (например, на его ответе строятся все следующие шаги) — «Пропустить элемент»;
- хотите видеть каждую проблему как ошибку, чтобы разобраться, — «Остановить».
Ответ модели каждый раз немного другой, поэтому при варианте «Остановить» рабочая генерация не сдаётся сразу: шаг запрашивается заново, без паузы, пока не кончится «Количество попыток» из строки «Соединение с провайдером». Каждая попытка — оплаченный запрос, токены всех попыток складываются.
При вариантах «Пропустить шаг» и «Пропустить элемент» повтора нет — действие выполняется сразу. На странице «Тестирование» каждый шаг запрашивается один раз, без повторов.
Если проверки проваливаются часто — уточните промпт или ослабьте порог, а не увеличивайте число попыток.
Если шаг создан из пресета, чистку, проверки и действие при провале можно вернуть кнопкой «Вернуть как в пресете». Запрос, модель и запись она не трогает.
Где посмотреть, почему ответ забракован
- На странице «Тестирование» шаг, не прошедший проверку, получает статус «Ошибка», а в блоке «Ошибка шага» написана причина, например «Валидация не пройдена (ошибка): Текст слишком короткий: 98 символов (минимум 150)». Там же можно раскрыть «Сырой ответ модели» — что именно вернула модель.
- Ошибки рабочих прогонов видны на дашборде и в диагностике.