Перейти к основному содержимому

Постобработка и проверки ответа

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

Она работает в два этапа:

  1. Чистка — приводит ответ в порядок, ничего не отбраковывая.
  2. Проверки — решают, годится ли ответ. Не годится — выполняется выбранное действие.

В свёрнутом виде секция показывает сводку в три строки, например «Чистка: не нужна», «Проверка: от 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)». Там же можно раскрыть «Сырой ответ модели» — что именно вернула модель.
  • Ошибки рабочих прогонов видны на дашборде и в диагностике.