Кейсы

Динамические кнопки + AI-интеграция. Кейс от Алексея Санкина

7 июля 2026 г. · Алексей Санкин

Алексей Санкин

Эксперт по чат-ботам для бизнеса, экспертов и ивентов, автоматизатор

Задача

Представим интернет-магазин рюкзаков и сумок, в котором представлено 15 моделей. Показывать все варианты сразу — плохая идея. Сообщение становится слишком длинным, а кнопки с названиями моделей не помещаются и мало что говорят пользователю.

Кроме того, большое количество вариантов часто приводит к обратному эффекту: человеку становится сложно сделать выбор, и вместо покупки он просто закрывает диалог.

Как будем решать

Гораздо эффективнее сначала узнать предпочтения пользователя, а затем предложить только 2–4 наиболее подходящие модели.

Соберём схему чат-бота, в котором интеграция с AI Assistant проанализирует ответы пользователя и подберёт наиболее подходящие модели, а затем Сенлер автоматически сформирует для них динамические кнопки, чтобы пользователь увидел только релевантные варианты, а не весь каталог. При желании всегда можно добавить кнопку «Посмотреть весь ассортимент».

Результат

Мы получим чат-бота, который рекомендует пользователю только те модели, которые с высокой вероятностью ему подойдут. При этом стоимость одного такого подбора через нейросеть составляет меньше 1 рубля.

Пользователь не теряется в большом ассортименте, а получает персональную подборку из нескольких моделей. Это делает общение с ботом более естественным и помогает быстрее привести клиента к покупке.

Начинаем!

1. Интеграция с AI Assistant

Стартуем с середины бота, чтобы сразу определить основное рабочее ядро – 2 блока интеграции с нейросетями.

Первый обрабатывает результат опроса и выдает варианты подходящих моделей исходя из ответов.

Интеграцию делаем через ProxiApi. Пусть и будет небольшая переплата, зато избегаем проблем с доступами и оплатами OpenAI. Запрос одиночный, длинных диалогов не выстраиваем, а описание ассортимента небольшое. Следовательно, описание ассортимента добавляем в инструкцию, а не крепим отдельным файлом.

На входящее сообщение подаем переменную {%bag_dialog%}. В нее предварительно будем собирать опрос пользователя в формате вопрос-ответ.

Ответ от нейросети сохраняем в переменную bag_gpt_1.

У нее в дальнейшем две задачи:

  • именно этот текст получит пользователь в качестве предложения;

  • содержание будет передано во вторую интеграцию нейросети для формирования JSON динамических кнопок.

Второй обработчик принимает на вход переменную bag_gpt_1 и формирует готовый JSON согласно правилам динамических кнопок. В нем указаны названия выбранных моделей – только названия, чтобы было видно. Для того, чтобы нейросеть не придумывала лишнее, перечисляем все модели в инструкции и велим использовать только их.

На выход отдаем переменную bag_gpt_2. Её необходимо будет разместить в настройках динамических кнопок.

Важно: в обоих блоках проставляю ожидание выполнения вебхука. Иначе выходные переменные будут неактуальными.

Для того, чтобы пользователь видел, что идет подбор, а не просто все зависло, проставляю связку сообщение-удаление с текстом «ожидайте» и т.п.

2. Формирование сообщения и динамические кнопки

Теперь необходимо сформировать сообщение для пользователя и предоставить ему выбор прохода по кнопкам.

В тело сообщения добавляем переменную bag_gpt_1.

А в кнопки — bag_gpt_2.

Осталось обработать результат нажатия. Здесь приходится делать набор проверок через блок условия. Можно, конечно, разместить это все в одном блоке и дать различные ветки, но для быстроты делаем одиночные и просто копируем.

В сообщении даем возможность пользователю перейти к покупке и вернуться к сообщению с выбором.

3. Опрос пользователя в начале сценария

Создаем 7 сообщений с вопросами.

  • 5 закрытых, с вариантами ответов;

  • 2 открытых.

Ответы сохраняем не в разные переменные, а в 1 переменную: сначала вопрос, а затем вариант, который выбрал человек, или то, что он написал. Причина – для краткости передачи данных в блок с нейросетью.

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

Кнопки в вопросах также делаем динамическими. Это опять же ускоряет процесс копирования. Сами строки JSON создаем одним запросом в любой текстовой нейросети – в моем случае ChatGPT. И просто копируем строчки, а не меняем названия 25 кнопок вручную. Тем более здесь нужно просто сохранение ответа, а не выбор пути в зависимости от нажатия.

Что ещё можно доработать

  1. Пустить ветку дожима в случае, если человек после предложения не купил, и предложить ему другие варианты. Возможно весь модельный ряд.

  2. Поставить проверку через регулярное выражение: соответствует ли JSON правилам. На всех тестах, которые были проведены, нейросеть ни разу не ошиблась и кнопки формировались как нужно. Но вдруг...


← Все статьи

7 июля 2026 г. · Алексей Санкин