Сценарии диалога

Что такое сценарии общения, как бот ведёт себя по-разному в зависимости от источника клиента, и как настроить собственный сценарий: ANTI_LOOP, известные факты, приоритеты вопросов.

Обновлено 21 июня 2026 г.

Сценарий диалога — это «характер и линия поведения» бота для конкретной ситуации. Один и тот же AI-агент должен по-разному вести разговор с человеком, который написал вам сам, и с человеком, который уже оставил заявку через форму. Сценарии как раз отвечают за это: они задают тон, этапы разговора и правила, которым бот следует.

Главная идея простая: бот не сам решает, как себя вести — он следует сценарию, который вы настроили. Это делает ответы предсказуемыми и убирает «отсебятину».

Зачем это нужно

Представьте две ситуации:

  • Человек впервые написал боту в Telegram — он ещё ничего не знает, его нужно мягко расспросить о ребёнке и записать на пробное.
  • Человек уже заполнил форму на мероприятие — у бота уже есть его имя, телефон и возраст ребёнка. Если бот снова спросит «как вас зовут?», это выглядит глупо и раздражает.

Сценарии решают обе задачи. Для первого случая работает один сценарий (расспросить и записать), для второго — другой (не переспрашивать, а помочь и ответить на вопросы).

Откуда бот понимает, какой сценарий применить

Бот сам определяет «источник» клиента и подбирает подходящий сценарий. Логика такая — от более конкретного к более общему:

ИсточникКогда срабатываетЧто значит для клиента
Рассылка (campaign)Клиент пришёл из вашей рассылкиБот продолжает начатый разговор
Кастомный (custom)Клиент перешёл по специальной ссылке (?start=sc_...) или форма передала特ный тегСрабатывает именно ваш сценарий
Форма / Мероприятие (form)Клиент пришёл из формы/диплинка, данные уже естьБот не переспрашивает, а помогает
Прямое обращение (organic)Человек написал боту напрямуюБот знакомится и ведёт к записи

Если ни один специальный сценарий не подходит, бот использует сценарий по умолчанию или работает в базовом режиме. То есть без настройки всё уже работает — сценарии нужны, когда вы хотите тонко управлять поведением.

[скриншот: страница «Сценарии общения» — список слева с бейджами «Прямое обращение», «Форма / Мероприятие», «Рассылка»]

Из чего состоит сценарий

Когда вы открываете страницу Сценарии общения в дашборде, у каждого сценария есть:

  • Название — понятное вам имя, например «Летний лагерь».
  • Slug (идентификатор) — технический код латиницей, например summer_camp. Используется в ссылках и тегах.
  • Тип источника — для какой ситуации сценарий (прямое обращение, форма, рассылка, кастомный).
  • Активен — переключатель. Выключенный сценарий не применяется.
  • XML-профиль сценария — самое главное: текстовое описание поведения бота.

[скриншот: правая панель редактора сценария с полями Название, Slug, Тип источника, переключателем Активен и большим полем XML-профиля]

XML-профиль — «инструкция по поведению»

Поведение бота полностью описывается в XML-профиле. Это структурированный текст, разбитый на понятные блоки. Не пугайтесь слова «XML» — это просто текст с разделами в угловых скобках, например <STYLE>...</STYLE>. Внутри вы пишете обычными словами, что бот должен и чего не должен делать.

Вот ключевые блоки, которые встречаются в готовых сценариях:

<ROLE> — роль бота. Кто бот в этом разговоре. Например: «Ты — живой менеджер школы, общаешься как человек, не давишь, главная задача — записать ребёнка на пробный урок».

<STYLE> — стиль общения. Как именно писать: длина сообщений, можно ли эмодзи, разговорный или формальный тон, запрет на сухие списки.

<STAGE_GUIDELINES> — этапы разговора. Пошаговая логика: приветствие → выбор филиала → знакомство → подбор курса → запись. Для каждого этапа описано, что делать и когда переходить к следующему.

Три самых важных правила внутри сценария

В готовых сценариях зашиты три механизма, которые защищают от типичных проблем «ботов-роботов». Понимать их полезно — даже если вы не трогаете XML, это объясняет, почему бот ведёт себя именно так.

ANTI_LOOP — защита от зацикливания

Блок <ANTI_LOOP_RULES> запрещает боту топтаться на месте и переспрашивать одно и то же. Например:

  • Если клиент уже назвал город — бот не спрашивает его снова.
  • Если бот уже предложил курс — он не предлагает его повторно.
  • Если бот перечислил пронумерованный список (филиалы, курсы), а клиент ответил числом «2» — бот понимает это как выбор второго пункта, а не переспрашивает.
  • Если бот спросил город, а клиент вместо города рассказал про ребёнка — бот принимает эту информацию и работает с ней, а не возвращается к вопросу про город.

Это то, что отличает живой диалог от раздражающего «не понял, повторите».

Известные факты (KNOWN_FACTS / LEAD_DATA) — не переспрашивать то, что уже знаем

Если о клиенте уже что-то известно — город, филиал, возраст ребёнка, имя, телефон — эта информация передаётся боту как достоверные данные, и сценарий строго запрещает их переспрашивать.

В сценарии для прямых обращений за это отвечает блок <KNOWN_FACTS_RULE>, а в сценарии для форм/мероприятий — блок <LEAD_DATA_RULES>. Правило жёсткое: бот не должен спрашивать имя, возраст, телефон или город, если они уже есть в заявке. И тем более не предлагать «оставить заявку», если заявка уже создана.

Именно поэтому клиент, пришедший с формы, сразу слышит обращение по имени и рассказ о мероприятии — а не очередную анкету.

Приоритеты интентов — вопрос клиента важнее скрипта

Блок <INTENT_PRIORITY_RULE> устанавливает простое, но важное правило: вопрос клиента всегда важнее текущего этапа.

Если бот на этапе «знакомство» собирался узнать возраст ребёнка, а клиент вдруг спросил «сколько стоит?» — бот сначала отвечает про цену, и только потом мягко продолжает свою линию. Бот никогда не говорит «сначала скажите возраст», если клиент задал конкретный вопрос.

Когда правила в сценарии конфликтуют между собой, действует понятная очередность (блок <RULE_PRIORITY>): сначала «не переспрашивай известное», затем «не зацикливайся», затем «вопрос клиента важнее», и только потом — стиль оформления.

Как настроить свой сценарий

Перейдите в дашборде в раздел Сценарии общения.

  1. Если у вас несколько AI-агентов — вверху справа выберите нужного агента в выпадающем списке. Сценарии настраиваются для каждого агента отдельно.
  2. Нажмите Новый сценарий (кнопка с плюсом вверху справа).
  3. Заполните Название — понятное вам имя, например «Летний лагерь».
  4. Задайте Slug — латиницей, можно с подчёркиваниями, например summer_camp. Поле автоматически приводит ввод к допустимому виду.
  5. Выберите Тип источника:
    • Прямое обращение — для тех, кто пишет боту сам.
    • Форма / Мероприятие — для пришедших из формы.
    • Рассылка — для пришедших из рассылки.
    • Кастомный — для собственного сценария со своим триггером (см. ниже).
  6. Заполните поле XML-профиль сценария — описание поведения. Проще всего взять за основу готовый сценарий и поправить под себя (например, изменить тон в <STYLE> или задачу в <ROLE>).
  7. Убедитесь, что переключатель Активен включён.
  8. Нажмите Сохранить.

[скриншот: форма создания нового сценария с заполненными полями Название и Slug]

Триггер для кастомного сценария

Если вы выбрали тип Кастомный, появится отдельный блок «Триггер кастомного сценария» с двумя способами «включить» этот сценарий:

  • Deep Link префикс — специальная ссылка вида t.me/ваш_бот?start=sc_summer_camp. Любой, кто перейдёт по такой ссылке, попадёт именно в этот сценарий. Удобно для рекламы конкретной программы.
  • Тег формы — если форма передаёт значение scenario_tag, равное вашему тегу, сработает этот сценарий.

[скриншот: блок «Триггер кастомного сценария» с полями Deep Link префикс и Тег формы]

Системные сценарии: что можно и нельзя

Сценарии с идентификаторами organic, form и campaignсистемные. Это базовые сценарии для трёх основных источников. Их:

  • нельзя удалить (кнопка удаления для них не показывается);
  • нельзя переименовать slug (поле заблокировано).

Но вы по-прежнему можете редактировать их XML-профиль и включать/выключать их. То есть подстроить базовое поведение под свою школу — можно, а случайно сломать структуру — нет.

Кастомные сценарии (созданные вами) можно свободно редактировать и удалять.

Частые вопросы

Нужно ли вообще настраивать сценарии, чтобы бот работал? Нет. Без настройки бот работает в базовом режиме. Сценарии — это инструмент тонкого управления, когда вам нужно разное поведение для разных потоков клиентов.

Что будет, если два сценария подходят под одну ситуацию? Бот выбирает по приоритету: сначала точное совпадение по вашему триггеру (slug), затем по типу источника, затем сценарий по умолчанию. Среди сценариев одного типа берётся тот, у кого выше приоритет.

Я выключил сценарий — что произойдёт? Выключенный (неактивный) сценарий не применяется. Бот подберёт следующий подходящий или вернётся к базовому поведению. В списке такой сценарий показан полупрозрачным.

Можно ли «сломать» бота неправильным XML? Структура защищена: системные сценарии нельзя удалить или переименовать. Но содержимое XML-профиля вы пишете сами — если задать противоречивые инструкции, бот может вести себя неожиданно. Меняйте поведение небольшими шагами и проверяйте на тестовом диалоге.

Разделы