Чат-бот на сайте: дерево вопросов и ветвление
Единый скрипт, написанный для чат-бота на сайте, всегда оказывается неподходящим примерно для половины посетителей. Человек, застрявший на странице тарифов, ждёт не того же вопроса, что читатель блога, а вернувшийся клиент, которого просят повторить уже сказанное, просто уходит. Решение не в том, чтобы удлинить скрипт, а в том, чтобы его разветвить. Статья разбирает три входа, с которых начинается ветвление, пять веток, нужных большинству сайтов, и второй вопрос каждой из них, таблицу маршрутизации и четыре цифры, показывающие, где дерево ломается.
Почему один скрипт не подходит
Большинство проектов чат-бота на сайте начинается с одного скрипта: приветствие, два-три вопроса, просьба оставить контакт. Неделю это работает, потому что автор держал в голове одного типичного посетителя. К концу второй недели расшифровки показывают, что на типичного посетителя приходится, может быть, треть диалогов.
Остальные — другие люди. Тот, кто двадцать минут провёл на странице тарифов и пишет «сколько в месяц?». Тот, кто пришёл из статьи блога с общим вопросом. Действующий клиент, оформивший заказ неделю назад и спрашивающий, где он. Конкурент, собирающий информацию. Один скрипт задаёт всем одинаковый второй вопрос, и как минимум для троих он неуместен.
Обратите внимание: дело не в количестве вопросов. Бот с пятью вопросами ничем не лучше бота с двумя, если второй вопрос не зависит от ответа на первый и от того, где посетитель стоит. Дерево вопросов — это ровно тот механизм, который создаёт такую зависимость.
Три входа в дерево
На практике дерево вопросов начинается с трёх фрагментов информации, и все три доступны до начала разговора или в первом же сообщении. Держать их раздельно важно: каждый открывает свою ветку.
- Контекст страницы — где посетитель сейчас?Страница тарифов, карточка товара, «о компании», статья блога, оформление заказа. Это самый дешёвый и самый надёжный сигнал о намерении, потому что он ничего не стоит посетителю. Диалог, открытый на странице оплаты и начинающийся с «что вас интересует?», — упущенная возможность: там почти всегда есть конкретное препятствие.
- Первое сообщение — что человек написал?Первая фраза обычно сама объявляет намерение. «Цена», «как это работает», «мой заказ», «есть ли вакансии», «жалоба» — это пять разных веток, и ни одной из них не подходит второй вопрос соседней. Первая задача бота — классифицировать это сообщение, вторая — на него ответить.
- История — этот человек был здесь раньше?Для вернувшегося посетителя или узнанного клиента дерево начинается совсем в другом месте. Спрашивать у них заново имя, отрасль и задачу — одно из самых раздражающих поведений, потому что оно прямо объявляет: система вас не знает.
Эти три входа пересекаются, и порядок приоритета надо зафиксировать заранее. Общее правило: признак действующего клиента перекрывает всё, явное намерение в первом сообщении перекрывает контекст страницы, а контекст страницы используется, когда больше ничего не известно.
Пять веток и второй вопрос каждой
Для большинства сайтов достаточно пяти веток. Сделать больше — соблазнительно и почти всегда ошибочно: шестая ветка обычно та, которая не срабатывает никогда, но требует сопровождения при каждом изменении.
- Намерение купить — цены, возможности, сравнения. Второй вопрос: один открытый вопрос о задаче. Цель — не телефон, а фраза, которую можно положить в CRM.
- Намерение по поддержке — существующий заказ, аккаунт, техническая неисправность. Второй вопрос: идентификация — номер заказа или телефон. Задавать здесь вопрос о продаже — худший из возможных ходов.
- Информационное намерение — «как это работает», общие вопросы, приход из блога. Второй вопрос не задаётся: даётся ответ, и разговор остаётся открытым. Попытка квалифицировать здесь слишком рано разгоняет посетителей.
- Непрофильное намерение — вакансии, партнёрство, пресса, студенческий запрос. Второго вопроса нет: даётся правильный адрес, и разговор вежливо закрывается. Именно эта ветка убирает пустые звонки.
- Жалоба или недовольство. Второго вопроса нет: сразу человек или очередь. Любой квалифицирующий вопрос раздражённому человеку делает хуже.
Пример: диалог со страницы тарифов
Ниже — форма реального разговора, открытого на странице тарифов. Обратите внимание, что контакт запрашивается только на пятом ходу, когда посетитель уже получил два полезных ответа.
- Посетитель: «Сколько это стоит в месяц?»Бот называет опубликованную структуру цены — либо саму цифру, либо то, от чего цифра зависит. «Давайте подготовим вам предложение» не является ответом на этот вопрос и обрывает значительную часть диалогов прямо здесь.
- Бот: «Зависит от числа подключённых каналов и месячного объёма переписки. На каких каналах вы сейчас получаете сообщения?»Этот вопрос одновременно уточняет цену и устанавливает соответствие. Посетитель отвечает, потому что это полезно ему, а не потому, что его квалифицируют.
- Посетитель: «Instagram и WhatsApp. Примерно 50-60 сообщений в день.»Теперь у бота есть и масштаб, и каналы. Два поля извлекаются и пишутся в карточку. Никакой формы не заполнено.
- Бот: уточняет цифру, затем: «Это то, что вы смотрите на этот месяц, или пока на стадии изучения?»Вопрос о сроках. Два варианта, оба приемлемы. Ответ определяет сортировку очереди.
- Бот: «Можем коротко созвониться и показать, как это выглядит на ваших каналах. На какой номер?»Просьба о контакте приходит только сейчас и звучит как естественное продолжение уже идущего разговора. Заданная раньше, она вытеснила бы ответ о цене на втором ходу.
Ни на одном из пяти ходов бот не спрашивает «как вас зовут?». Имя приходит из расшифровки или из последующего звонка. Ранний вопрос об имени ничего не решает и объявляет, что разговор — это форма.
Таблица маршрутизации: куда ведёт каждая ветка
Вторая половина дерева вопросов — это маршрутизация. Конечная точка каждой ветки должна быть записана, потому что незаданная конечная точка на практике означает «никуда».
- Продажи + близкий срок + подходящий профиль → немедленное уведомление в группу продаж, высокий приоритет в очереди обратных звонков.
- Продажи + далёкий срок → запись в CRM без уведомления, добавление в список прогрева. Звонить по этой ветке — сжигать неделю команды.
- Продажи + неподходящий профиль → вежливо закрыть, лид не создавать. Отсутствие этой ветки — главный источник пустых звонков.
- Поддержка → очередь поддержки без уведомления продажам. Один диалог, попавший в обе очереди, означает, что клиенту напишут двое.
- Жалоба → человек немедленно, а вне рабочих часов — приоритетная утренняя очередь.
- Непрофильное → ответ, и ни в какую очередь.
Строк в таблице должно быть немного, но у каждой нужен названный владелец. Строка без владельца через несколько недель превращается в молчащую очередь, и этого никто не замечает, потому что никто туда не смотрит.
Какие данные и интеграции нужны
Дерево вопросов — это конфигурация, а не код. Но под ним должны быть четыре вещи.
- Материал, из которого бот отвечает: логика цен, описания продуктов и услуг, что поддерживается и что нет, сроки. Без ответа на втором ходу остальная часть дерева никогда не запускается.
- Передача контекста страницы боту. Виджет должен знать, на каком URL он открыт: самый дешёвый сигнал о намерении и чаще всего просто неподключённый.
- Узнавание клиента по телефону или почте. Без него ветки «вернувшийся клиент» не существует.
- Адрес для результата: карточка CRM, уведомление в группу продаж или оба — с приложенной расшифровкой, чтобы принимающий не начинал с нуля.
Чего в списке нет — так это отдельной модели машинного обучения для классификации намерения. Для большинства сайтов ключевых слов первого сообщения вместе с контекстом страницы достаточно, чтобы развести пять веток; более тяжёлый классификатор добавляют, когда этого требует объём, а не заранее.
Когда хватает ИИ, а когда нужен человек
Одна из важнейших веток дерева — та, что из него выводит. В четырёх ситуациях бот должен остановиться и передать разговор человеку.
- Прямая просьба о человеке — сразу, без вопроса «почему» и без встречного предложения.
- Начало коммерческих переговоров: скидки, особые условия, договор. Бот может назвать опубликованную цену, но не торговаться вокруг неё.
- Видимая жалоба или открытое недовольство.
- Всё, чего нет в материале. Правильно — честно сказать и предложить человека; правдоподобный выдуманный ответ особенно дорого обходится в вопросах соответствия требованиям и права.
Вместе с передачей должен передаваться и сам разговор. Если оператор не видит переписку, клиент повторяет всё заново, и автоматизация добавила шаг, а не убрала.
Что измерять
Считать диалоги бессмысленно, если вы оцениваете дерево вопросов. Четыре цифры показывают, где именно оно ломается.
- Распределение по веткамКакая доля диалогов попадает на каждую ветку. Резкое расхождение с ожиданием обычно означает, что классификация сбоит или что одна ветка нарисована слишком широко.
- Доходимость по веткеСколько диалогов на каждой ветке доходит до её конечной точки. Резко низкая цифра на одной ветке указывает на конкретный вопрос в ней — обычно на слишком ранний запрос контакта.
- Доля неверной маршрутизацииПродажи, попавшие в очередь поддержки, и наоборот. Измерить это можно, только если операторы это фиксируют, поэтому фиксация должна быть в одну кнопку.
- Доля повторных вопросовДиалоги, где бот спросил то, что посетитель уже сказал. Самый прямой признак, что память дерева не работает, и самая частая причина ухода.
Чтение брошенных диалогов раз в месяц учит большему, чем все четыре цифры. Точка обрыва почти всегда — один конкретный вопрос, и чинится он обычно переносом этого вопроса на один ход позже.
Частые ошибки
- Задавать вопрос сразу после приветствия. Бот просит, ничего не дав, и самый большой отток происходит именно здесь.
- Ставить один и тот же запрос контакта в одно место на всех ветках. На ветке поддержки телефон — это идентификация, на ветке продаж — продолжение. Тот же вопрос, другой момент.
- Строить слишком много веток. Дерево из десяти веток на практике — это три живых и семь мёртвых, но проверять при каждом изменении приходится все десять.
- Не использовать контекст страницы. Самый дешёвый сигнал забывают чаще всего.
- Не узнавать вернувшегося клиента — самый заметный способ показать, что у системы нет памяти.
- Построить дерево один раз и забыть. Продукт меняется, цены меняются, сезон меняется — ветка, верная полгода назад, сегодня отвечает неправильно.
Как это устроено в Vexvon
В Vexvon отвечающая половина дерева работает из базы знаний: сайт сканируется до 4 500 страниц, PDF принимаются до 25 МБ, подключается каталог с вариантами и изображениями, записи добавляются вручную или пакетами до 200 за запрос. Материал разложен по тринадцати типам — FAQ, цены, продукт, каталог, филиал, кампания, часы работы, политика и другие, — и именно это позволяет разным веткам отвечать из разных наборов материала.
Виджет на сайте поддерживает анонимный диалог, потоковый ответ, распознавание голосовых сообщений и приём изображений, а переход на живого оператора происходит прямо внутри разговора. Лимиты — 20 запросов в минуту и 300 в сутки. Память диалога охватывает последние пятнадцать сообщений, а перестроение запроса превращает обрывок вроде «а красный?» в полноценный запрос — это и есть механизм, снижающий проблему повторных вопросов.
На стороне маршрутизации телефон определяется пятиступенчатым процессом, фильтр покупательского намерения отсекает ложные сигналы до создания лида, а собственные номера компании исключаются. Созданный лид уходит в группу продаж уведомлением в Telegram с кнопкой «Начать», попадает в девятиступенчатую воронку встроенной CRM или передаётся в Bitrix24.
К вмешательству оператора ведут три пути: явная просьба посетителя поднимает уведомление, стоп-символ, введённый агентом, ставит ИИ на паузу в этом диалоге на тридцать минут, и ИИ можно полностью выключить для конкретного разговора. Ни один из трёх не молчалив — все пишутся в журнал.
Частые вопросы
- Чем дерево вопросов отличается от скрипта?Скрипт задаёт вопросы в фиксированном порядке. В дереве следующий вопрос зависит от предыдущего ответа, от страницы, на которой стоит посетитель, и от того, узнан ли он. Практическая разница в том, что дерево не спрашивает то, что уже знает.
- Сколько должно быть веток?Для большинства сайтов пять: продажи, поддержка, информация, непрофильное и жалоба. Шестую добавляйте, только если уверены, что она получит несколько диалогов в неделю.
- Когда спрашивать имя и телефон?Телефон — в конце ветки продаж и в начале ветки поддержки, где он служит идентификацией. Имя часто можно не спрашивать вовсе: оно придёт из звонка или из расшифровки.
- Какие интеграции нужны?Материал, из которого бот отвечает, виджет, передающий адрес страницы, узнавание клиента по телефону или почте и канал CRM или уведомления для результата.
- Как измерять дерево вопросов?Распределение по веткам, доходимость по ветке, доля неверной маршрутизации и доля повторных вопросов. Общее число диалогов не заменяет ни одну из четырёх.
- Когда должен подключаться человек?При прямой просьбе, в коммерческих переговорах, при жалобе и всегда, когда материал не покрывает вопрос. Оператор должен видеть переписку целиком.
Начните со своих расшифровок
Не проектируйте дерево на чистом листе. Возьмите диалоги за последний месяц, отнесите каждый к одной из пяти веток выше и посчитайте, сколько попало в каждую. Распределение обычно отличается от ожидаемого, и именно эта цифра показывает, какая ветка на самом деле важна.