Как остановить зацикливание WhatsApp чат-бота: лимит повторов, запасной путь и выход к человеку
«Извините, я не понял. Выберите вариант из списка». Один раз терпимо. Три раза, и клиента уже нет. Счетчик, запасная ветка и правило передачи превращают бота, ходящего по кругу, в бота, который знает, когда остановиться.
Команда MonoChat Обновлено: 6 мин чтения
На этой странице
WhatsApp чат-бот зацикливается, когда не может сопоставить ответ клиента с вариантами и снова задает тот же вопрос. Чтобы это остановить, дайте каждому вопросу запасную ветку для неожиданных ответов, считайте, сколько раз бот уже спросил, и после двух-трех попыток передавайте диалог человеку вместе с историей переписки. В MonoChat для этого нужны три узла: Вопрос и ответ с выходом Для прочего, Задать переменную потока для счета и условие Если по счетчику, которое ведет к Назначить диалог.
В этом руководстве разберем, почему боты в WhatsApp зацикливаются, как продумать запасной путь и как шаг за шагом собрать лимит повторов.
Почему зацикленный бот обходится дороже, чем экономит
Бот экономит деньги на каждом завершенном диалоге и теряет их на тех, в которых застрял клиент. В статье California Management Review за апрель 2026 года Юйцин Жэнь (Yuqing Ren) и Жунцзинь Чжан (Rongjin Zhang) свели исследования вместе:
- по данным нескольких опросов, 53–77% респондентов сталкивались с плохим или раздражающим опытом общения с чат-ботом;
- опрос Gartner среди 5 728 клиентов показал, что 64% предпочли бы, чтобы компании не использовали ИИ в клиентском сервисе, а 53% из-за этого задумались бы о переходе к конкуренту;
- тот же опрос Gartner показал, что лишь 14% обращений в клиентский сервис полностью решаются самообслуживанием;
- 70–80% клиентов предпочитают общаться с живым оператором.
Авторы называют «петлю чат-бота» одним из главных источников раздражения: вместо передачи диалога бот продолжает задавать вопросы, повторять информацию или извиняться. Еще один раздражитель, по их словам, — «отсутствие простого пути к человеку»: именно он превращает мелкое неудобство в потерю доверия.
Все это не довод против ботов. Это довод за ботов, которые знают, когда остановиться.
Почему боты в WhatsApp застревают
Большинство ботов в WhatsApp — это меню: вопрос с кнопками ответа или списком. Форму им задают ограничения Meta. Сообщение с кнопками ответа содержит до 3 кнопок по 20 символов максимум, а сообщение со списком — до 10 строк во всех разделах вместе, при этом заголовок строки не длиннее 24 символов. Но даже в этих рамках клиенты делают четыре вещи, которых меню не ожидало:
- Пишут текстом вместо нажатия. «второй вариант», «доставка», «2».
- Отвечают на другой вопрос. Бот просит номер заказа, а клиент присылает фото посылки.
- Пишут то, чего в меню нет. «Заказ пришел сломанным» при меню «Отследить / Вернуть / Связаться с нами».
- Возвращаются позже к вопросу, который бот задал вчера.
Бот, который в каждом из этих случаев отвечает «неверно, выберите еще раз», зацикливается. Бот, у которого на каждый случай есть план, — нет.
Правила самого WhatsApp ведут в ту же сторону. Business Messaging Policy допускает автоматизацию в 24-часовом окне, но требует, чтобы у компаний были «быстрые, понятные и прямые пути эскалации»: передача диалога оператору в чате, номер телефона, электронная почта, веб-поддержка, визит в офлайн-точку или форма обращения в поддержку.
Как MonoChat читает ответ
Прежде чем строить лимит, полезно понимать, что узел Вопрос и ответ делает с ответом клиента:
- Нажатая кнопка или строка списка уходит на выход этого варианта.
- Введенный текст сравнивается с названиями вариантов. Если он достаточно близок к одному из них, считается, что выбран этот вариант: «Отследить мой заказ» совпадет с кнопкой «Отследить заказ».
- Число выбирает вариант на этой позиции: «2» означает вторую кнопку или строку.
- Все остальное (текст, который ни с чем не совпал, фото, голосовое сообщение) уходит на выход Для прочего этого узла.
Значит, петля возникает не в распознавании, а в том, что вы подключили к выходу Для прочего. Если оставить его ведущим обратно к тому же вопросу без ограничения, бот будет спрашивать бесконечно.
Собираем лимит повторов шаг за шагом
Пример — меню вопросов о доставке для интернет-магазина. Клиент выбирает Отследить заказ, Вернуть товар или Другое.
1. Задайте вопрос
- Откройте Настройки › Автоматизация › Сценарии и выберите сценарий вашего бота или создайте новый.
- Добавьте узел Вопрос и ответ с вашим вопросом и тремя кнопками. Делайте названия кнопок короткими и непохожими друг на друга: близкие названия мешают сопоставлять введенный текст.
- Подключите выход каждой кнопки к ветке своей темы.
2. Считайте попытки
- Добавьте узел Задать переменную потока и подключите к нему выход Для прочего вашего вопроса.
- Добавьте строку: имя
attempts, операция Увеличить на, значение1. Пустое значение тоже считается как 1, а переменная, которой еще нет, начинает с 0, так что первый неверный ответ даст 1. - Строки выполняются по порядку. Если хотите сохранить, что написал клиент, добавьте вторую строку, которая через Задать записывает
last_answerкак Текст из{{message.text}}.
3. Решите: спросить снова или передать
- После Задать переменную потока добавьте узел Если.
- В условии откройте группу Сценарий и выберите Значение переменной потока:
attempts, Больше или равно,2. - Подключите Ложь к узлу Отправить сообщение, который спрашивает еще раз, понятнее, а затем вернитесь к узлу Вопрос и ответ.
- Подключите Истина к передаче диалога из шага 4.
Вторая попытка не должна дословно повторять первую. Скажите, чем бот может помочь, и покажите варианты снова:
Простите, здесь я могу помочь с тремя вещами. Нажмите на кнопку или напишите номер: 1 Отследить заказ · 2 Вернуть товар · 3 Другое
4. Передайте диалог как следует
- Добавьте узел Назначить диалог на ветку Истина и выберите команду или оператора, которые занимаются вопросами доставки.
- Перед ним добавьте Отправить сообщение, которое объясняет клиенту, что будет дальше: «Передаю вас коллеге. Он видит нашу переписку, поэтому повторять ничего не придется».
- Если у вас есть рабочие часы, сначала добавьте узел Если с условием В рабочее время. Вне рабочего времени скажите, когда ответит человек, а не обещайте ответ прямо сейчас.
Оператор видит всю переписку в общих входящих команды, включая ответы, которые бот не смог распознать.
5. Дайте кнопке «Другое» настоящий выход
«Другое» — кнопка, которая чаще всего приводит к зацикливанию: она открывает вопрос в свободной форме, на который меню ответить не может. Подключите ее сразу к Назначить диалог или к ИИ-шагу, который умеет читать свободный текст, а не к очередному меню.
Как выглядит диалог
Клиент: здравствуйте, посылка пришла помятая
Бот: Здравствуйте, Алия! Здесь я могу помочь с заказами. Что вам нужно? [Отследить заказ] [Вернуть товар] [Другое]
Клиент: она сломана
Бот: Простите, здесь я могу помочь с тремя вещами. Нажмите на кнопку или напишите номер: 1 Отследить заказ · 2 Вернуть товар · 3 Другое
Клиент: (присылает фото коробки)
Бот: Передаю вас коллеге. Он видит нашу переписку, поэтому повторять ничего не придется.
Оператор: Алия, здравствуйте, меня зовут Данияр. Сожалею, что посылка пришла поврежденной, фото вижу. Сейчас оформлю замену.
Две попытки, одна понятная передача, и фото уже перед глазами оператора.
Когда бот — ИИ-агент
ИИ-агенты читают свободный текст, поэтому реже буксуют на кнопках, но тоже могут ходить по кругу: запрашивать данные, которые клиент уже назвал, или повторять ответ, который не помог. Два правила остаются в силе:
- Ограничьте выполнение. Узел AI-агент в MonoChat работает в рамках бюджета выполнения и продолжает сценарий по выходам Завершено, Бюджет превышен, Время ожидания истекло или При ошибке. Подключите к человеку все выходы, кроме Завершено.
- Считайте реплики. Тот же счетчик на Задать переменную потока работает вокруг ИИ-шага: увеличивайте
ai_turnsпри каждом ответе клиента и передавайте диалог после выбранного вами числа. Наше руководство по передаче от ИИ человеку подробнее рассказывает о сообщении при передаче и маршрутизации, а статья о тестировании ИИ-агента перед запуском показывает, как найти вопросы, на которые он не может ответить, раньше клиентов.
Чек-лист
- У каждого узла Вопрос и ответ подключен выход Для прочего.
- Узел Задать переменную потока на этой ветке увеличивает счетчик
attempts. - Узел Если со Значение переменной потока решает, спрашивать снова или передавать (2 или 3 попытки).
- Вторая попытка сформулирована иначе и показывает варианты с номерами.
- «Другое» ведет прямо к человеку или к ИИ-шагу, а не к очередному меню.
- Назначить диалог отправляет чат нужной команде, а сообщение объясняет, что будет дальше.
- Вне рабочего времени бот говорит, когда ответит человек.
- ИИ-шаги отправляют Бюджет превышен, Время ожидания истекло и При ошибке к человеку.
Начните сейчас
Лимиты повторов собираются в no-code конструкторе автоматизации сценариев. Начните с бесплатного тарифа Basic на app.monochat.ai или прочитайте наше руководство по созданию WhatsApp чат-бота и обзор интерактивных сообщений WhatsApp.
Источники
- Yuqing Ren and Rongjin Zhang, “Chatbot Frustration is Real: Hidden Costs and Best Practices”, California Management Review Insights, 28 апреля 2026 (открыто 3 ноября 2026)
- WhatsApp Business Messaging Policy (открыто 3 ноября 2026)
- Интерактивные сообщения с кнопками ответа (Meta for Developers) (открыто 3 ноября 2026)
- Интерактивные сообщения со списком (Meta for Developers) (открыто 3 ноября 2026)
- Справочный центр MonoChat: Flows, Set Flow Variable and Flow Variables (открыто 3 ноября 2026)
Применяйте это на практике с MonoChat