Что болело до нас
Бот первой линии продаж отвечает клиентам в двух каналах. Дальше начинается обычная история любого бота: он что-то сказал не так. Поменялась цена на кровлю, добавилась услуга, всплыла тема, которую боту трогать нельзя. Каждая такая мелочь означала письмо исполнителю.
Дальше по цепочке: правка файла, сборка, выкатка. Всё это время бот работает по старым данным и продолжает называть старые цифры. Владелец видит проблему прямо в переписке и ничего не может сделать сам.
Отдельно стояли ключи доступа. Токены ВКонтакте, Авито и языковой модели лежали в файле на сервере. Ключ ВК истёк в пятницу вечером: бот молчит до момента, пока мы не зайдём на сервер. Заказчик в этой схеме зритель.
Что сделали
Внутри рабочего окна менеджера появился раздел «Настройки бота»: обзор и шесть вкладок. Ни git, ни доступа к серверу, ни релиза для правки не нужно.
Устроено это просто. Всё, что бот считает правдой о компании, вынесено из кода в базу данных, и движок читает её на каждом шаге разговора. Правка знаний и цен действует со следующего ответа, настройки поведения подхватываются за минуту. Код при этом не пересобирается, сервис не перезапускается. Файлы в репозитории остались заводским значением: они наполняют пустую базу при первом запуске.
Раздел видит только администратор, и открывается он повторным вводом личного пароля на тридцать минут. Общий «пароль разработчика» делать не стали: его нельзя отозвать при увольнении и нельзя привязать к автору правки. Так в журнале остаётся имя человека и адрес, с которого правка сделана.
- Знания: карточки о компании, географии, гарантиях, возражениях. Черновик в ответах бота не участвует.
- Цены: отдельная таблица согласованных сумм. Бот называет только их, каждая строка со ссылкой на письменное согласование.
- Стоп-темы: слова-ловушки, которые заказчик заводит сам, с обязательной проверкой перед сохранением.
- Поведение: 27 настроек. Когда просить телефон, когда возвращаться к молчащему клиенту, когда отдавать заявку в CRM, предел расхода на модель в сутки и в месяц.
- Подключения: 7 ключей внешних служб. Значения шифруются, наружу видно только хвост вида «…aBc9», кнопка «Проверить» рядом.
- Журнал: кто, когда и что менял, обязательно с прежним значением и человеческими названиями настроек.
Стоп-слова искались как обычная подстрока, без границы слова. Прогон десяти живых диалогов дал результат сразу: первый же клиент пишет «Крыша течет, срочно нужен мастер», слово «течет» стоит в списке гарантийных споров, и бот отвечает «передала обращение руководителю». Протечка при этом главный вход в кровельные работы. Нашли ещё шесть мин: «сделайте смету» ловилось на «смет», «дайте контакт» на «акт», «фасад торгового центра» на «торг», «оптимальный материал» на «опт». Детектор починили, совпадение теперь ищется только с начала слова. Вывод для конструктора оказался важнее самой починки: раз слова заводит заказчик, окно обязано не дать ему завести мину. Каждое новое слово прогоняется по пятнадцати типовым обращениям клиентов. Поймалось на обычной фразе, сохранить нельзя, и в ошибке написано, на какой именно фразе оно сработало.
Где споткнулись
Конструктор чуть не оказался бессмысленным. Скрипт наполнения при каждом старте контейнера заливал заводские файлы в базу поверх всего. Заказчик правит цену, видит «сохранено», через два дня выходит обновление сервиса, и правка исчезает. Молча, без ошибки и без следа. Поймали до запуска.
У каждой строки появилась отметка «правили руками», и скрипт наполнения такие строки пропускает. Рядом хранится снимок заводского файла, к нему возвращает кнопка «вернуть исходный текст». Проверили прогоном на сервере: в логе «оставлено как есть: 1», правка выжила.
Второй слой граблей: рычаги, которые ничего не делали. Настройка «Спрашивать телефон после N вопросов» стояла в окне красивая и движком не читалась. Рубильник «Бот отвечает клиентам» дублировал автопилот: человек выключал его, бот продолжал отвечать. Первую подключили, второй убрали и записали правило: один рубильник на одно действие.
Кнопка «Проверить ключ» тоже врала. Она спрашивала у поставщика список моделей, а список отдают и при нулевом балансе. «Ключ рабочий» показывалось ровно тогда, когда бот отвечать не мог. Поймали на живом переносе. Теперь проверка делает настоящую генерацию на шестнадцать токенов, а ошибки переведены на человеческий: «ключ рабочий, но на счёте нет средств».
Помощник, который отвечает по вашей же базе
Отдельная страница, где заказчик спрашивает своими словами. «Клиент написал про гарантию, а бот передал его менеджеру, почему?» Ответ приходит по его собственной базе знаний: какую карточку открыть и что в ней заменить.
Сначала помощник жил разделом внутри инструкции, и его просто не находили. Вынесли на отдельную страницу с кнопкой в шапке. Один вопрос стоит около тридцати копеек, лимит тридцать вопросов в сутки, то есть до десяти рублей в день. Запрос весит 5 077 токенов, 98% из них берутся из кеша поставщика, за счёт этого цена держится на копейках.
Что получилось
Базовый конструктор собрали за один день, 7 августа 2026 года: знания, цены, стоп-темы, поведение, журнал. Дальше раздел рос по запросам заказчика: рубильник сценария продаж, вкладка «Подключения», помощник по настройке, два тона разговора о деньгах по просьбе отдела продаж. Всего раздел настроек затронули 35 коммитов из 171 по проекту.
На итоговой приёмке закрыто 9 из 9 пунктов приложения к договору, включая пункт «база знаний правится заказчиком из окна». Приёмочный прогон из 35 сценариев прошёл 79 обязательных проверок из 79 – это уже про бота целиком.
Главное изменение звучит буднично. Цена, новая услуга, запретная тема и истёкший ключ перестали быть поводом писать разработчику и ждать выкатки.
Частые вопросы
Можно ли менять тексты и цены в чат-боте самому, без программиста?
Да. В рабочем окне есть раздел «Настройки бота»: знания, цены, стоп-темы, поведение, подключения и журнал. Правка знаний и цен действует со следующего ответа бота, настройки поведения подхватываются за минуту. Доступ к серверу и релиз для этого не нужны.
Сколько ждать, если после запуска бота поменялась цена или добавилась услуга?
Столько, сколько занимает правка строки в таблице цен. Бот называет только согласованные суммы из этой таблицы и читает её на каждом ответе. Ноль релизов на смену цены, услуги или ключа доступа.
Как один AI-бот работает и на Авито, и во ВКонтакте?
Бот ведёт первую линию продаж сразу в двух каналах и отдаёт заявку в CRM. Ключи ВКонтакте, Авито и языковой модели заказчик держит во вкладке «Подключения», всего там 7 ключей внешних служб. Значения шифруются, наружу видно только хвост вида «…aBc9». Кнопка «Проверить» делает настоящую генерацию и по-русски пишет, если на счёте нет средств.
Бот ответил клиенту не то. Как это исправить?
Внутри есть помощник, которому вопрос задают своими словами. Он отвечает по вашей же базе знаний: какую карточку открыть и что в ней заменить. Один вопрос стоит около тридцати копеек, лимит тридцать вопросов в сутки. Правки видны в журнале: кто, когда, что менял и каким было прежнее значение.
Опасно ли пускать сотрудников в настройки бота?
Раздел видит только администратор. Открывается он повторным вводом личного пароля на тридцать минут, общего «пароля разработчика» в системе нет. В журнале остаётся имя человека и адрес, с которого сделана правка. Новое стоп-слово перед сохранением прогоняется по пятнадцати типовым обращениям клиентов, чтобы оно не отшивало живые заявки.
