Что происходит, пока ассистент думает

«У нас работает AI-ассистент» — фраза, за которой может стоять что угодно: от кнопочного бота с тремя ответами до модели, которая читает баланс клиента и оформляет заявку. Разница видна не в демонстрации, а в цифрах за месяц: сколько обращений он закрыл сам и во что это обошлось.
Показываем изнутри: что происходит между вопросом клиента и ответом, и какие цифры получаются на рабочем сервере провайдера.
Не один бот, а шесть разных
Клиент приходит из разных мест, и ждёт разного. В личном кабинете он уже вошёл — значит известен, и уместно сразу сказать про его баланс. На сайте он аноним, и спрашивает, есть ли подключение по его адресу. В мессенджере пишет коротко и ждёт ответа в пару строк. По телефону говорит голосом, и ответ надо произнести.
Поэтому канал у ассистента не один, а шесть, и у каждого своя инструкция: личный кабинет, мобильное приложение, почта и обращения, виджет на сайте, голос, подсказка оператору. Инструкции правятся в панели без выкладки кода, у каждой — история версий и откат: сохранили, неделю посмотрели на результат, сравнили с предыдущей версией.
flowchart LR
A[Вопрос клиента] --> B[Инструкция канала<br/>ЛК, сайт, мессенджер, голос]
B --> C[Данные клиента<br/>баланс, тариф, блокировки]
C --> D[Статьи базы знаний<br/>по теме вопроса]
D --> E{Хватает?}
E -->|да| F[Ответ клиенту]
E -->|нет| G[Обращение к человеку]Откуда он знает про клиента
Модель сама по себе не знает ничего о вашем абоненте. Знание даёт биллинг: у ассистента есть набор инструментов, которыми он ходит в базу за фактами — баланс, тариф, дата ближайшего списания, активные блокировки, история платежей, состояние оборудования, зона покрытия по адресу, обещанный платёж.
Половина инструментов закрыта для неопознанного собеседника. Пока человек не подтвердил, что он — это он, ассистент не назовёт ни баланса, ни адреса: одиннадцать из двадцати двух инструментов ему просто не выдаются. Заодно это экономит деньги — их описания не уезжают в модель на каждый вопрос анонима.
Подтверждение личности встроено в разговор: код по СМС или звонок с проверкой номера. После него ассистент видит клиента и продолжает тот же диалог, уже с фактами.
Где он отвечает
Один и тот же ассистент работает в шести местах, и разница между ними не косметическая — меняется и то, что он знает о собеседнике, и то, чем может помочь.
| Канал | Кто на том конце | Что делает |
|---|---|---|
| Виджет на сайте | аноним | подбирает тариф, проверяет покрытие по адресу, принимает заявку на подключение |
| Личный кабинет | клиент вошёл | баланс, тариф, обещанный платёж, разбор списаний |
| Мобильное приложение | клиент вошёл | то же, что в кабинете, короткими ответами |
| ВКонтакте, Telegram, MAX | чаще неизвестен | отвечает, при необходимости подтверждает личность и продолжает предметно |
| Почта и обращения | клиент или новый | разбирает письмо, готовит ответ оператору |
| Голос | звонящий | слушает, отвечает голосом, оформляет заявку или обращение |
Разговор с сайта выглядит так — реальный диалог с рабочего сервера, вчерашний:
Клиент: Сколько стоит подключение и какие есть тарифы?
Ассистент: Сначала уточню, вы физическое или юридическое лицо? [кнопки: Физ. лицо · Юр. лицо]
Клиент: Для семьи. Назовите цены тарифов
Ассистент: Вот тарифы, которые подойдут для семьи: «Абсолют» — 100 Мбит/с, 899 ₽/мес; «Оптимум» — 60 Мбит/с, 799 ₽/мес…
Кнопки в ответе — не украшение: анониму быстрее ткнуть, чем печатать, а нам важно как можно раньше понять сегмент, потому что тарифы у физлиц и юрлиц разные. В мессенджерах те же кнопки приходят как обычные кнопки ВКонтакте или Telegram.
В личном кабинете человек уже известен, и разговор идёт с фактами:
Клиент: Я оплатил 1 200 рублей 13 августа и 100 рублей 23 августа, тариф 1 290. Почему у меня долг?
Ассистент: (смотрит операции по лицевому счёту) …у вас положительный баланс — 173,81 ₽, тариф…
Ответить так без доступа к биллингу невозможно — и в этом вся разница между «умным ботом» и ассистентом, который подключён к данным.
Боты в мессенджерах: почему это сложнее, чем кажется
ВКонтакте, Telegram и MAX выглядят как «то же самое, только в чате», но у них две особенности, из-за которых наивная реализация ломается.
Переписка вечная. Идентификатор чата один и тот же годами — если считать его «сессией», метрики начинают врать: в одном чате Telegram у нас накопилось 113 обращений подряд. Поэтому разговор закрывается паузой, а не закрытием окна.
Человек анонимен. Пока он не подтвердил, кто он, ассистент не назовёт ни баланса, ни адреса. Подтверждение встроено прямо в чат: код по СМС или звонок с проверкой номера. После этого чат привязывается к клиенту — и в следующий раз человека уже узнают, без повторной проверки. До того как мы это сделали, 78 % обращений из мессенджеров оставались анонимными: клиент подтверждался, но связь чата с карточкой не сохранялась.
Звонок: от гудка до карточки в CRM
Голос — отдельная история, потому что тут теряется больше всего. Разберём три случая.
Клиент дозвонился и говорит с ассистентом. Голосовой ассистент отвечает голосом, узнаёт клиента по номеру, отвечает на вопрос или оформляет обращение. Разговор пишется, расшифровывается и попадает в журнал.
Никто не ответил, клиент наговорил на автоответчик. Оператор связи присылает письмо с записью и расшифровкой. Дальше — разбор: телефон, номер линии (по нему понятно, чьё это обращение и в какую воронку), нормализация речи, определение типа. Пример из журнала, дословно:
Расшифровка: «улица приканальная дом шестьдесят подключите интернет пожалуйста»
Адрес: улица Приканальная, дом 60
Суть: подключите интернет
Итог: сделка в воронке подключений, клиенту SMS с номером обращения
Позвонил и бросил трубку. Если сообщения нет — создавать нечего, но звонок всё равно виден в отчёте о пропущенных: сколько обращений было в рабочее время, скольким перезвонили и с кем в итоге поговорили.
Лид, тикет или эскалация — кто решает
Из любого канала обращение уходит по одному из трёх путей, и выбор делается по сути разговора, а не по тому, куда человек написал.
| Путь | Когда | Что происходит |
|---|---|---|
| Лид в CRM | человек хочет подключиться и назвал адрес | сделка в воронке подключений, дедупликация по телефону, SMS клиенту |
| Тикет в поддержке | вопрос действующего клиента | обращение с историей, тегами и ответственным |
| Эскалация | ассистент не справился или клиент попросил человека | разговор передаётся оператору вместе с контекстом |
Ловушка тут в номере телефона. Если человек уже клиент, а звонит «по поводу подключения» — это, скорее всего, вопрос по его текущему интернету, а не новая заявка: такие обращения идут в поддержку. И наоборот, номер, которого нет в базе, с внятным адресом — это лид, даже если позвонил он на линию поддержки. Тип обращения определяется по расшифровке, а не по номеру, на который позвонили.
Свежий пример, как это ломается. У одной из линий был выключен флаг «Создавать лид» — из соображения «сюда звонят действующие клиенты». Разбор исправно помечал письма как заявки, тикеты заводились, а сделок в CRM не появлялось. За месяц так потерялась 51 заявка с адресом — живые люди, которые просили их подключить. Заметить по интерфейсу это было нельзя: в журнале всё выглядело нормально, пустой оставалась только колонка «Создано».
База знаний: восемь статей вместо сорока
Кроме данных клиента ассистенту нужны знания о самом провайдере: как оплатить, что делать при обрыве, чем отличаются тарифы, как настроить роутер. Это база знаний — её пишут сами сотрудники поддержки.
Раньше в модель уезжала вся база целиком, при каждом вопросе: сорок статей, почти семь тысяч токенов, из которых по делу одна-две. А статья, оказавшаяся сорок первой, не попадала в ответ никогда. Теперь под вопрос подбираются те статьи, что к нему относятся, — обычно восемь. Ответ от этого не хуже, а платить приходится за то, что действительно нужно.
Когда он зовёт человека
Здесь важно различать две разные вещи, которые обычно валят в одну кучу. «Ушло к оператору» — не значит «ассистент не справился». Клиент может сам попросить человека — это его право, и спорить бот не должен. Заявку на подключение мы принципиально доводим до сотрудника: адрес, сроки и деньги подтверждает человек. А вот если разговор ушёл к оператору без всякой причины — это провал, и его надо разбирать.
Август на рабочем сервере, 283 обращения:
| Что произошло | Обращений | Доля |
|---|---|---|
| Ассистент закрыл сам | 204 | 72,1 % |
| Клиент попросил человека | 16 | 5,7 % |
| Оформлена заявка (по регламенту — к человеку) | 11 | 3,9 % |
| Не подтвердил личность | 3 | 1,1 % |
| Не справился | 12 | 4,2 % |
Если считать «эскалацией» всё подряд, получится 40 обращений и картина «каждый седьмой разговор провален». По делу же провалов двенадцать — и именно они попадают в разбор.
Ещё одна ловушка счёта: что такое «обращение»
В мессенджерах переписка с человеком тянется годами: тот же чат, те же участники. Если считать разговором всю переписку, метрики начинают врать в разы — в одном чате Telegram у нас оказалось 113 обращений подряд, а «эскалация» одного вопроса красила всю историю целиком.
Поэтому обращение — это разговор до паузы: молчание больше тридцати минут закрывает его, следующее сообщение открывает новое. Порог настраивается. После этой поправки «решено без человека» честно опустилось с 94 % до 72 % — цифра стала хуже, зато перестала быть выдумкой.
Сколько это стоит
Расход считается по прайсу каждой модели: Gemini flash и Claude Sonnet отличаются на порядок, и одна усреднённая ставка на всех даёт произвольную сумму. За август по всем каналам — 626 ₽, это 2,21 ₽ за обращение. Для сравнения, минута работы оператора стоит дороже.
Цена разговора отличается по каналам: виджет на сайте — 2,09 ₽, личный кабинет — 3,02 ₽ (там больше данных клиента в контексте), голосовой ассистент — 0,29 ₽. Всё это видно на панели: расход по моделям, по каналам и прогноз до конца месяца с бюджетом, если он задан.
Отдельная статья — служебные разборы: нормализация голосовых сообщений, классификация обращений, подсказки оператору. Здесь легко переплатить незаметно: на задачу «переведи числительные в цифры и вынь адрес» у нас уходило 14 078 токенов, потому что модели отдавали полную инструкцию канала вместе со всей базой знаний. После правки — 186 токенов на ту же задачу. Качество разбора не изменилось.
Что делать с провалами
Двенадцать провалов в месяц — это не повод менять модель. Это двенадцать конкретных разговоров, которые надо прочитать. В панели для этого отдельный раздел: диалоги, где ассистент сдался не по просьбе клиента, с полным текстом и тем, что он в тот момент знал о человеке.
Дальше цикл простой: разбираете разговор, пишете «как надо», из этого собирается статья базы знаний или правка инструкции канала. Через неделю смотрите, стало ли меньше. Кнопки «палец вверх/вниз» для этого не годятся: за восемь месяцев их нажали пять раз. Недовольство видно и без них — клиент вернулся с тем же вопросом в течение суток, разговор шёл восемь реплик и ничем не кончился.
Когда провайдер падает
Модель — это чужая инфраструктура. В сентябре у нас Gemini начал отвечать «доступ проекту закрыт»: у платёжного аккаунта Google просрочилась оплата. Виджет, боты и разбор голосовой почты в этот момент просто молчали — ошибка не бросалась наружу, ответа не было.
Теперь при отказе провайдера (нет оплаты, кончилась квота, закрыт доступ) он уходит в карантин на пятнадцать минут, а запрос уходит следующему в очереди. Клиент получает ответ, а в журнале остаётся, кто и почему не ответил.
Что в итоге
| Вопрос | Ответ по нашим данным |
|---|---|
| Сколько закрывает сам | 72 % обращений |
| Сколько проваливает | 4,2 % |
| Сколько стоит разговор | 2,21 ₽ |
| Что делать с провалами | читать разбор и дописывать базу знаний |
| Что если модель недоступна | запрос уходит резервному провайдеру |
Главное, что стоит проверить у любого ассистента, — не качество формулировок, а честность его метрик. Пока «эскалация» означает всё подряд, а «сессия» — вечную переписку в мессенджере, красивые проценты не значат ничего.
Как это работает в СмИТ Биллинге
Раздел «AI-агент» — одна страница со всем: инструкции по каналам, база знаний, разбор провалов, тест-площадка и панель с расходом. Инструкция канала правится в редакторе, рядом видно, во что обходится один ответ и из чего он складывается.
Посмотреть на своих данных
Покажем платформу на живом стенде и разберём ваш случай. Или спросите ассистента прямо сейчас — он отвечает по документации и настройкам.


