Сценарный бот — диалоговая система, в которой все ответы и переходы заданы заранее. Пользователь движется по дереву: кнопки, пункты меню, распознавание ключевых фраз.
Подход считается устаревшим, и напрасно: на значительной части задач он до сих пор оптимален.
Механика: конечный автомат
Состояния и переходы. Внутри сценарный бот — конечный автомат: у него есть текущее состояние (шаг диалога), набор допустимых переходов и переменные — номер заказа, выбранный пункт, уже заданные вопросы. Никакой памяти сверх этого: поведение полностью определяется состоянием и вводом.
Обработка ввода на шаге. Кнопка — переход напрямую; текст — сначала распознавание: точное совпадение, ключевые фразы, иногда классификатор интентов как вход в дерево. Нераспознанный ввод — не ошибка, а ещё один переход: переспрос или выход на оператора.
Почему это надёжно. Количество путей в дереве конечно и обозримо, поэтому весь бот можно пройти целиком и протестировать. У генеративного бота пространство ответов бесконечно — и протестировать «всё» там невозможно в принципе; это фундаментальное различие, а не вопрос качества модели.
Чем он выигрывает
Предсказуемость. Ответ известен заранее и не меняется. Для юридически значимых формулировок, условий и цен это решающее свойство.
Отсутствие выдумок. Бот физически не может сказать то, чего в него не заложили.
Стоимость. Нет платы за обращения к модели, нет расходов на инфраструктуру.
Скорость. Ответ мгновенный.
Простота отладки. Понятно, почему бот ответил именно так: есть ветка сценария.
Комплаенс и аудит. Формулировки проходят согласование до публикации, а лог диалога воспроизводим: по паре «состояние — ввод» можно точно показать, что бот сказал и почему. В регулируемых процессах это ценится выше гибкости.
Где упирается
Всё, что не предусмотрено, остаётся без ответа. Пользователь, сформулировавший вопрос иначе, попадает в тупик.
Дерево растёт. Попытка покрыть сценариями разнообразные обращения приводит к структуре, которую невозможно ни изменить, ни проверить целиком.
Поддержка ложится на людей: каждое изменение условий требует правки веток, и они рассинхронизируются с реальностью.
Признаки, что сценариев достаточно
Обращения однородны: небольшой набор вопросов покрывает большую часть потока.
Ответы формализованы: режим работы, условия доставки, статус заказа, шаги оформления.
Цена ошибки в формулировке высока — цены, сроки, обязательства.
Нет подготовленной базы документов, а быстро её не собрать.
Гибридная схема
На практике чаще всего выигрывает сочетание. Частые и формализованные вопросы обслуживает сценарий — быстро, дёшево и без риска. Всё остальное уходит в модель по базе знаний. Если и она не уверена, диалог передаётся человеку.
Такая схема даёт предсказуемость там, где она нужна, и гибкость там, где нужна она. И позволяет начать с малого: сценарий на пять частых вопросов запускается за дни, а база знаний добавляется потом.
Свободный ввод внутри шага. Второй уровень гибрида: языковая модель не выбирает маршрут, а обслуживает отдельный шаг. Маршрут и формулировки остаются за автоматом, а модели отдан разбор ответа пользователя — «завтра после обеда» превращается в дату, которая валидируется правилами шага. Ошибку модельного шага видит автомат: значение не прошло проверку — шаг переспрашивает. Риск ограничен рамками одного поля, а не всего диалога.
Как проектировать дерево
Основная ошибка — строить сценарий от структуры компании, а не от вопросов пользователя. Меню «Продажи / Сервис / Бухгалтерия» понятно вам и бесполезно человеку, который не знает, к кому относится его вопрос.
Работает обратный порядок: собрать реальные обращения, сгруппировать по тому, что человек хочет получить, и назвать пункты его словами.
Глубина дерева редко должна превышать три уровня. Дальше человек теряется и уходит к оператору, что обесценивает весь сценарий.
Что обязательно предусмотреть
Выход на человека с любого шага, а не только из тупика.
Возврат на шаг назад и в начало.
Понятное поведение при неузнанной фразе: не молчание и не повтор меню, а предложение переформулировать или перейти к оператору.
Регулярный разбор точек, где люди чаще всего выходят из сценария: это карта того, чего в дереве не хватает.
Каналы различаются интерфейсом: кнопки из чата сайта не работают в SMS, а голосовому каналу нужен запас на ошибки распознавания речи. Дерево остаётся одним, представления каждого шага — свои для канала.
Метрики сценария. Доля диалогов, доведённых до результата, доля выходов на оператора по каждому шагу, доля «нераспознано» на текстовых шагах. Шаг с высоким «нераспознано» — первый кандидат на замену свободного ввода кнопками или на модельный разбор.
Инвалидация сценариев
Сценарий живёт не в вакууме. Он отражает условия: цены, сроки, регламенты. Изменилось условие — бот стал врать, причём юридически значимо. Главная эксплуатационная задача сценарного бота — не хостинг, а синхронизация с изменениями бизнеса.
Хозяин и процесс. У дерева должен быть владелец со стороны бизнеса и правило: изменение условия не считается завершённым, пока не обновлён бот. Без этого через полгода сценарий отвечает по прошлогодним ценам, и доверие к нему не восстановить.
Признаки устаревания. Рост выходов на оператора на прежних по объёму шагах, расхождение ответов бота с сайтом и документами, жалобы «бот сказал не то». При появлении — ревизия затронутых веток, а не точечные правки текста.
Версионирование. Дерево хранится как код или конфиг с версиями; при релизе прогоняются записанные ранее диалоги, и сравниваются пути. Это дёшево и ловит самые дорогие ошибки — молчаливо сломанные переходы.
Частые вопросы
Не устарели ли сценарные боты?
Нет, у них своя область. Там, где обращения однородны, а формулировки ответов критичны — цены, сроки, обязательства, — сценарий надёжнее и дешевле языковой модели, потому что не может сказать лишнего.
Когда сценариев перестаёт хватать?
Когда дерево разрастается настолько, что его нельзя проверить целиком и страшно менять, а пользователи всё равно регулярно попадают в тупик. Это признак, что вопросы разнообразнее, чем предполагалось, и пора добавлять поиск по документам.
Можно ли совместить сценарий и нейросеть?
Это самая работоспособная схема. Частые формализованные вопросы обслуживает сценарий, остальное уходит в модель по базе знаний, при неуверенности — передача человеку. Заодно позволяет запуститься быстро и наращивать постепенно.
Кнопки или свободный ввод?
Кнопки дают точность и мгновенный путь, свободный ввод — терпимость к тому, как человек говорит. Рабочий компромисс: текстовое поле с распознаванием и fallback на кнопки при неуверенности; на шагах, где цена ошибки высока, — только кнопки или подтверждение введённого.
Как тестировать изменения дерева?
Регрессом на записанных диалогах: история реальных сессий прогоняется через новую версию, и сравниваются пути. Расхождение в пути на рабочем сценарии — ошибка релиза, а не статистика. Дополнительно прогоняется ручной чек-лист критических веток: оплата, отмена, передача оператору.
Сколько стоит поддержка сценарного бота?
Основной расход — не инфраструктура, а сопровождение содержания: правки веток при изменении условий и разбор логов. Он пропорционален частоте изменений бизнеса, а не числу пользователей, и это надо закладывать в решение «сценарий или модель» честно.