История, которую я сейчас расскажу, произошла с реальным бизнесом — небольшой сетью стоматологических клиник в Москве. Они решили добавить «умного ассистента» в свой Telegram-бот, чтобы отвечать на вопросы пациентов. Взяли популярный no-code конструктор, подключили GPT через встроенный модуль, загрузили прайс-лист и пару PDF с описанием услуг. Запустили.
Первые три дня всё шло отлично. Бот записывал на приём, отвечал на вопросы о ценах, объяснял разницу между имплантами разных производителей. Клиника радовалась: администраторы наконец-то перестали отвечать на одни и те же вопросы по сто раз в день.
А потом пациент спросил: «У меня болит зуб уже неделю, что делать?» И бот ответил. Подробно. С рекомендациями по обезболивающим, описанием возможных диагнозов и советом «пока не идти к врачу, если боль терпимая». Клиника узнала об этом, когда пациент пришёл с флюсом и претензией: «Ваш бот сказал, что можно подождать!»
Это не выдумка и не страшилка. Это реальность работы с LLM-модулями в конструкторах ботов, когда никто не подумал о том, какие данные давать модели и какие границы устанавливать. Сегодня разберёмся, как использовать мощь GPT и YandexGPT в no-code платформах, не превращая бота в источник проблем для бизнеса.
Прежде чем говорить об ограничениях, давайте разберёмся с возможностями. Современные no-code платформы — Smartbot Pro, Botmother, Salebot и другие — предлагают интеграцию с большими языковыми моделями. Обычно это OpenAI (GPT-3.5 и GPT-4) и YandexGPT, реже — GigaChat или Claude.
Технически это работает просто: когда пользователь пишет сообщение, конструктор отправляет его в API выбранной модели вместе с контекстом — вашим промптом, историей диалога, иногда дополнительными данными. Модель генерирует ответ, конструктор показывает его пользователю. Весь процесс занимает секунду-две.
Что это даёт на практике? Бот перестаёт быть тупым деревом сценариев, где на каждый вопрос нужно заранее прописать ответ. Он начинает «понимать» естественный язык: может ответить на вопрос, сформулированный по-разному, объяснить что-то своими словами, поддержать разговор. Для пользователя это выглядит как общение с живым человеком, а не с автоответчиком.
Но — и это важное «но» — модель не знает ничего о вашем бизнесе. Она обучена на огромном массиве текстов из интернета и знает много общих вещей: что такое CRM, как работает доставка, какие бывают зубные импланты. Но она понятия не имеет, какие у вас цены, какие акции сейчас действуют, как зовут вашего генерального директора и почему заказ №12345 задерживается.
Чтобы бот отвечал не общими фразами, а про вашу компанию — нужно дать ему контекст. Те самые данные, на которые он будет опираться при ответах. И вот тут начинается самое интересное.
Есть категории данных, которые не только можно, но и нужно передавать в модель. Без них бот будет бесполезен — он не сможет ответить ни на один конкретный вопрос о вашей компании.
Всё, что и так есть на вашем сайте: описание услуг, история компании, контактные данные, адреса офисов и филиалов, режим работы. Эта информация публична по определению — вы сами её разместили для всех желающих. Передавать её в промпт абсолютно безопасно.
Практический совет: не копируйте весь сайт в промпт. Выберите ключевую информацию, структурируйте её. Модель лучше работает с чётко организованными данными, чем с портянкой текста. Вместо «Мы работаем с 9 до 21 по будням, с 10 до 18 по субботам, в воскресенье выходной, но иногда работаем в праздники, кроме Нового года» напишите: «Режим работы: пн-пт 9:00-21:00, сб 10:00-18:00, вс — выходной».
Типичные вопросы и ответы — это золотая жила для бота. Соберите вопросы, которые чаще всего задают клиенты, и подготовьте на них ответы. Это могут быть вопросы о доставке, возврате, гарантии, способах оплаты — всё, что обычно спрашивают.
Хорошая практика — не просто копировать FAQ, а переформулировать его в инструкции для бота. Вместо «Вопрос: Какие способы оплаты? Ответ: Карты, наличные, СБП» лучше написать: «Клиенты могут оплачивать заказы банковскими картами (Visa, Mastercard, МИР), наличными при получении или через СБП. При оплате картой комиссия не взимается.» Так бот сможет ответить не только на прямой вопрос, но и на его вариации.
Если ваш бот должен помогать с выбором товара или записью на услугу — ему нужно знать, что вы продаёте. Название, краткое описание, цена, основные характеристики. Для интернет-магазина это может быть выгрузка из каталога, для клиники — список услуг с ценами.
Здесь есть нюанс. Полный каталог может быть слишком большим — тысячи позиций не влезут в контекст модели. Решения: либо передавать только релевантные товары (по запросу пользователя), либо использовать RAG-подход с векторным поиском, либо ограничиться топовыми категориями. Многие конструкторы уже поддерживают динамическую подгрузку данных из внешних источников — это как раз для таких случаев.
Чтобы бот не страдал амнезией и помнил, о чём вы говорили минуту назад, ему нужна история диалога. Большинство конструкторов делают это автоматически — передают последние N сообщений в контекст. Но иногда нужно контролировать этот процесс: например, не передавать слишком длинную историю (это дорого по токенам) или, наоборот, сохранять важную информацию между сессиями.
Некоторые платформы позволяют сохранять «память» о клиенте: его имя, предпочтения, историю заказов. Это делает общение персонализированным: «Иван, вы в прошлый раз интересовались красными кроссовками 43 размера. Они, кстати, появились в наличии!»
А теперь о грустном. Есть данные, которые категорически нельзя отправлять во внешние API — ни в OpenAI, ни в YandexGPT, ни куда-либо ещё. Это не паранойя, а здравый смысл и требования законодательства.
ФИО, телефоны, адреса, паспортные данные, email — всё, что позволяет идентифицировать конкретного человека. По 152-ФЗ вы обязаны получить согласие на обработку и гарантировать безопасность. Отправка в облачный API — это передача третьему лицу, и на неё нужно отдельное согласие. Получили его у всех клиентов? Скорее всего, нет.
Расскажу историю. Один SaaS-сервис для HR решил добавить «умного помощника» для рекрутеров. Бот должен был отвечать на вопросы о кандидатах: «Кто из откликнувшихся на вакансию знает Python?» Разработчики, не подумав, начали передавать в промпт резюме целиком — с ФИО, телефонами, местом работы. Узнали об этом, когда пришла проверка от Роскомнадзора по жалобе кандидата, чьи данные «утекли». Штраф и репутационный ущерб — отличный урок о том, чего делать не надо.
Номера карт, банковские реквизиты, суммы на счетах, детали транзакций. Даже если клиент сам написал боту номер своей карты — не передавайте это в LLM. Во-первых, это нарушение PCI DSS. Во-вторых, логи API могут храниться у провайдера, и вы не контролируете, кто к ним имеет доступ.
Хорошая практика — настроить фильтрацию на входе. Если пользователь отправил что-то похожее на номер карты (16 цифр) — не передавать это в модель, а вернуть заготовленный ответ: «Пожалуйста, не отправляйте платёжные данные в чат. Для оплаты перейдите по ссылке...»
Внутренние регламенты, договоры с контрагентами, финансовые отчёты, стратегические планы. Всё, что вы не вывесили бы на главной странице сайта. Загрузка таких документов в RAG-систему на базе внешнего API — это фактически их публикация.
И ещё одна неочевидная категория: данные других клиентов. Представьте: клиент А спрашивает «какие заказы я делал раньше?», бот лезет в базу и передаёт в LLM список заказов. Но из-за ошибки в логике он передал заказы клиента Б. Модель честно их озвучила. Поздравляю, вы только что устроили утечку данных.
Промпт — это инструкция для модели, её «должностная инструкция». От качества промпта зависит, будет ли бот полезным помощником или неуправляемым болтуном. Давайте разберём, как писать промпты для коммерческих ботов.
Эффективный промпт состоит из нескольких блоков, каждый из которых выполняет свою функцию. Вот проверенная структура:
Кто ты, где работаешь, какова твоя задача. «Ты — виртуальный ассистент компании X, помогаешь клиентам с выбором товаров и оформлением заказов.»
Информация о компании, каталог, FAQ — всё, что бот должен знать для ответов.
Что можно, что нельзя, как себя вести в спорных ситуациях.
Стиль общения, длина ответов, использование эмодзи (или их запрет).
Когда передавать на оператора и как это делать.
Важный момент: промпт — это не художественное произведение. Пишите чётко, конкретно, без воды. Модель лучше понимает инструкции, чем намёки. Вместо «будь дружелюбным и старайся помочь» напишите «отвечай вежливо, обращайся к клиенту на "вы", предлагай конкретные решения его проблемы».
Вот как может выглядеть реальный промпт для бота интернет-магазина одежды:
Ты — виртуальный консультант интернет-магазина «Модный стиль». Твоя задача — помогать клиентам с выбором одежды и оформлением заказов. ИНФОРМАЦИЯ О МАГАЗИНЕ: - Работаем по всей России, доставка 2-7 дней - Бесплатная доставка от 5000 рублей - Возврат в течение 14 дней, если товар не подошёл - Оплата: карты, СБП, наложенный платёж ПРАВИЛА: 1. Отвечай только на вопросы о нашем магазине и товарах 2. Если клиент спрашивает о товаре, которого нет в каталоге — честно скажи, что такого нет 3. Не выдумывай характеристики товаров, которых не знаешь 4. Если вопрос выходит за рамки твоих знаний — предложи связаться с оператором 5. Не обсуждай конкурентов, политику, религию и другие провокационные темы ФОРМАТ ОТВЕТОВ: - Пиши коротко и по делу, не больше 3-4 предложений - Обращайся к клиенту на «вы» - Используй эмодзи умеренно, только 😊 и 👍 - В конце ответа предлагай следующий шаг: посмотреть каталог, оформить заказ, задать уточняющий вопрос ЭСКАЛАЦИЯ: Если клиент: жалуется, недоволен, требует возврат денег, задаёт сложный вопрос о заказе — ответь: «Я передам ваш вопрос менеджеру, он свяжется с вами в течение 15 минут. Могу я чем-то ещё помочь?»
Обратите внимание: промпт структурирован, конкретен, содержит чёткие правила. Такой бот не будет советовать конкурентов, не станет выдумывать несуществующие товары и вовремя передаст сложный случай оператору.
Галлюцинации — это когда модель генерирует убедительный, но полностью выдуманный ответ. Спросите GPT про несуществующий товар — и он с удовольствием опишет его характеристики. Попросите процитировать закон — получите красивый текст, которого нет ни в одном кодексе. Это не баг, это особенность работы языковых моделей.
Для коммерческого бота галлюцинации — это бомба замедленного действия. Бот пообещал скидку, которой нет. Назвал неверную цену. Сказал, что товар в наличии, хотя его давно нет. Каждый такой случай — это недовольный клиент, потенциальный скандал, а то и судебный иск.
Языковая модель — это не база знаний. Она не «знает» факты в привычном смысле. Она обучена предсказывать, какое слово наиболее вероятно идёт следующим в данном контексте. Если контекста недостаточно, модель всё равно сгенерирует что-то правдоподобное — потому что так устроен её механизм генерации.
Представьте: клиент спрашивает «сколько стоит доставка в Новосибирск?» Если в промпте нет информации о тарифах на доставку, модель не скажет «я не знаю». Она посмотрит на контекст (интернет-магазин, доставка по России) и сгенерирует правдоподобный ответ: «Доставка в Новосибирск обойдётся в 350-500 рублей». Откуда эти цифры? Из ничего. Модель просто сгенерировала что-то похожее на правду.
Метод 1: Чёткие инструкции в промпте. Прямо напишите: «Если ты не знаешь ответа — честно скажи об этом. Не выдумывай информацию. Лучше предложить связаться с менеджером, чем дать неверный ответ.»
Метод 2: Ограничение темы. Явно укажите, на какие темы бот может отвечать. «Ты отвечаешь только на вопросы о товарах из каталога, доставке и оплате. На любые другие вопросы отвечай: "Извините, я могу помочь только с вопросами о нашем магазине."»
Метод 3: RAG (Retrieval Augmented Generation). Вместо того чтобы надеяться на «память» модели, подгружайте актуальную информацию из базы данных. Клиент спросил про товар — бот сначала ищет его в каталоге, получает реальные данные, и только потом формирует ответ на их основе. Многие конструкторы уже поддерживают такую интеграцию.
Метод 4: Fallback на оператора. Настройте логику: если уверенность модели низкая или ответ касается критичных тем (цены, сроки, гарантии) — автоматически передавайте на оператора. Лучше небольшая задержка, чем неверная информация.
Добавьте в промпт «страховочную» фразу, которую бот должен использовать при неуверенности: «Чтобы дать точный ответ, мне нужно уточнить информацию у менеджера. Могу я переключить вас на специалиста?» Это лучше, чем выдуманный ответ, и клиент не чувствует, что общается с тупым роботом.
Даже с идеальным промптом модель может сгенерировать что-то неподходящее. Поэтому нужен ещё один уровень защиты — фильтрация на выходе. Это как проверка орфографии, только для смысла.
Нецензурная лексика и оскорбления. Модель обычно не генерирует это сама, но может повторить, если пользователь спровоцировал. Простой словарь запрещённых слов + проверка перед отправкой.
Упоминание конкурентов. Вы точно не хотите, чтобы ваш бот рекомендовал купить у кого-то другого. Добавьте список конкурентов в фильтр — если модель упомянула их, замените ответ на нейтральный.
Юридически опасные фразы. «Гарантирую», «обещаю», «точно», «100%» — всё это может быть интерпретировано как обязательство. Для медицины — любые диагнозы и рекомендации по лечению. Для финансов — обещания доходности. Фильтруйте такие паттерны.
Слишком длинные ответы. Иногда модель увлекается и генерирует стену текста. Для мессенджера это плохо — пользователь не будет читать. Ограничьте длину ответа, например, 500 символами.
В большинстве конструкторов можно добавить пост-обработку ответа. Это может быть простой скрипт, который проверяет ответ перед отправкой пользователю. Если ответ не проходит проверку — либо модифицируется, либо заменяется на заготовленный текст, либо передаётся на оператора.
Более продвинутый вариант — использовать вторую модель для проверки. Первая генерирует ответ, вторая (маленькая и быстрая) классифицирует: «безопасно» / «требует проверки» / «опасно». Это добавляет задержку и стоимость, но для критичных применений оправдано.
В большинстве конструкторов есть выбор: какую модель использовать. Давайте разберёмся, чем они отличаются и когда какую выбирать.
| Критерий | GPT-3.5 Turbo | GPT-4 / GPT-4 Turbo | YandexGPT |
|---|---|---|---|
| Качество на русском | Хорошо | Отлично | Отлично |
| Следование инструкциям | Среднее | Высокое | Хорошее |
| Склонность к галлюцинациям | Выше | Ниже | Средняя |
| Скорость ответа | Быстро | Медленнее | Быстро |
| Стоимость | Дёшево | Дорого (в 10-20 раз) | Средне |
| Локализация данных | США | США | Россия |
GPT-3.5 Turbo — рабочая лошадка для большинства задач. Быстрый, дешёвый, достаточно умный для типичных сценариев: ответы на FAQ, помощь с выбором товара, простые консультации. Минус — чаще галлюцинирует и хуже следует сложным инструкциям.
GPT-4 (включая Turbo и Omni) — для случаев, когда важно качество. Лучше понимает контекст, точнее следует инструкциям, реже выдумывает. Но медленнее и значительно дороже. Имеет смысл для сложных диалогов, B2B-консультаций, случаев с высокой ценой ошибки.
YandexGPT — российская альтернатива. Главное преимущество: данные обрабатываются в России, что важно для соблюдения 152-ФЗ. Качество на русском языке хорошее, цена умеренная. Минус — меньше гибкости в настройках, экосистема интеграций пока слабее, чем у OpenAI.
Практический совет: начните с GPT-3.5 Turbo. Если видите проблемы с качеством — переключите на GPT-4 для конкретных сценариев (например, обработка жалоб). Если критична локализация данных в России — используйте YandexGPT.
Вы настроили бота, он работает. Как понять, что всё хорошо? И как вовремя заметить, если что-то пошло не так?
Расход токенов. Каждый запрос к LLM стоит денег. Следите, сколько токенов расходуется в день/неделю/месяц. Резкий рост — сигнал, что что-то изменилось: либо выросла нагрузка, либо промпт раздулся, либо кто-то злоупотребляет ботом.
Время ответа. Пользователи ожидают ответ в течение 2-3 секунд. Если бот стабильно отвечает за 5-7 секунд — это проблема. Мониторьте среднее время и 95-й перцентиль (время, за которое отвечают 95% запросов).
Доля переводов на оператора. Если бот переводит на оператора 50% диалогов — он бесполезен. Нормальный показатель — 10-20%, в зависимости от сложности темы. Отслеживайте тренд: рост может означать, что бот стал хуже справляться.
Негативные реакции. Если в конструкторе есть оценка ответов (палец вверх/вниз) — анализируйте негативные. Часто это указывает на системные проблемы: устаревшая информация, неработающий сценарий, грубый тон.
Раз в неделю (для начала — раз в день) просматривайте случайную выборку диалогов. Не все 500 штук, а 20-30 случайных. Оценивайте: бот ответил по существу? Информация верная? Тон подходящий? Были ли моменты, когда нужно было передать оператору, но бот этого не сделал?
Это скучно, но необходимо. Автоматические метрики не поймают смысловые ошибки. Только человеческий глаз может заметить, что бот вроде бы отвечает, но несёт какую-то чушь.
За время работы с разными проектами я насмотрелся на повторяющиеся ошибки. Вот топ-5 — и как их избежать.
«Ты — полезный ассистент, помогай клиентам.» И всё. Модель не понимает контекста, не знает ограничений, делает что хочет.
Решение: Детализируйте. Укажите, кто вы, что продаёте, какие правила соблюдать. Чем конкретнее промпт — тем предсказуемее поведение.
Промпт написан в январе, сейчас июнь. Цены поменялись, акция закончилась, условия доставки другие. Бот честно отвечает устаревшее.
Решение: Регулярный аудит промпта. Ставьте напоминание раз в месяц: проверить актуальность информации.
Клиент злится, жалуется, требует вернуть деньги. Бот продолжает бодро отвечать на вопросы, пока клиент не взрывается.
Решение: Опишите в промпте, когда переводить на оператора. Настройте триггеры: слова «жалоба», «верните деньги», «позовите менеджера».
Загрузили в промпт весь каталог на 10 000 позиций. Контекст переполнен, модель не может ответить или отвечает криво.
Решение: Следите за размером контекста. Используйте RAG для больших каталогов. Передавайте только релевантную информацию.
Настроили, запустили в бой. Первый же клиент нашёл косяк, который вы не заметили.
Решение: Перед запуском — минимум 50 тестовых диалогов. Попробуйте сломать бота: провокационные вопросы, неожиданные темы, пограничные случаи.
API OpenAI упал, бот молчит. Клиенты пишут в пустоту.
Решение: Настройте fallback: если LLM недоступен — переключение на простой сценарий или моментальный перевод на оператора.
Проведём аудит текущего бота или поможем настроить с нуля. Разберём промпты, настроим фильтрацию, подключим к вашим данным. Первая консультация — бесплатно.
Записаться на консультациюВернёмся к истории со стоматологией, с которой начали. Что они сделали после инцидента? Переписали промпт, добавив чёткие ограничения: «Ты не врач и не можешь давать медицинские рекомендации. На любые вопросы о симптомах, болях и лечении отвечай: "Для консультации по состоянию здоровья, пожалуйста, запишитесь на приём к врачу."» Добавили фильтр на слова «болит», «температура», «лечение», «лекарство» — при их наличии бот предлагает запись к врачу, а не пытается консультировать.
LLM в конструкторе бота может реально изменить качество общения с клиентами. Но и накосячить с ним можно капитально — если подходить без головы. Бездумное подключение «чтобы было умнее» приведёт к проблемам.
Правила простые: передавайте только безопасные данные, пишите детальные промпты, следите за галлюцинациями, фильтруйте ответы, мониторьте качество. Это требует усилий, но результат того стоит — бот, который реально помогает клиентам и не создаёт проблем бизнесу.
И помните: бот — это не замена человека. Это помощник, который берёт на себя рутину и освобождает людей для сложных случаев. Когда бот настроен правильно, клиенты получают быстрые ответы на простые вопросы, а операторы занимаются тем, что требует человеческого участия. Все в выигрыше.