ИИ-агент, который отвечает на входящий
Задача агента поймать звонок, разобрать ответ и поставить перед лидом человека, пока лид тёплый.
ИИ-агент снимает входящий звонок, ведёт разговор и после звонка отдаёт отчёт в систему. Система проверяет общий секрет, смотрит длительность, чтобы отличить разговор от ошибки номера, находит карточку лида по номеру и присылает владельцу уведомление в Telegram, пока лид ещё тёплый. Дальше говорит человек. Агент не двигает сделку сам: он классифицирует, маршрутизирует и уведомляет. Процента точности я не публикую, потому что честного числа у меня нет.
ЛИСТ-02Разбор
Как устроен входящий звонок
На входящей линии стоит ассистент Vapi. Он снимает трубку и разговаривает. Когда звонок заканчивается, Vapi присылает в систему отчёт, и дальше начинается неинтересная, но важная часть. Первое, что делает обработчик, это проверяет общий секрет: без него отчёту не верят вообще, потому что открытый вебхук это открытая дверь. Второе, он читает длительность разговора, чтобы отличить настоящий разговор от ошибки номера и от сброса на втором гудке. Третье, он ищет карточку лида по номеру звонившего. И только после этого владелец получает уведомление в Telegram. Короткие звонки и неотвеченные записываются, но не объявляются. Уведомление, которое приходит на всё подряд, перестают читать через неделю, и тогда пропускают именно тот звонок, ради которого всё строилось.
Под агентом Twilio, потому что звонок это не вебхук
Настоящая телефония держится на шести маршрутах, и они существуют потому, что звонок это состояние, а не событие. Есть маршрут выдачи токена, чтобы звонок можно было инициировать прямо из браузера. Есть голосовой маршрут, который отвечает на входящую ногу разговора. Есть колбэк статуса, из которого система узнаёт, чем звонок закончился: ответили, сбросили, ушёл в голосовую почту. И есть отдельный обработчик того момента, когда запись разговора дописалась на диск, потому что запись становится доступной позже, чем заканчивается звонок, и код, который об этом не знает, читает пустоту.
Движок догона: двенадцать модулей, и большая часть про осторожность
Автоматический догон легко построить и легко испортить так, что никто не заметит месяц. Каждый модуль здесь написан после конкретной поломки, и поломка записана в шапке файла. Классификатор ответов отличает четыре случая, которые раньше считались одним: отбойник почтового сервера, автоответ «в отпуске» и крик «отпишите меня» одинаково засчитывались как «человек ответил», тихо ставили последовательность на паузу и переводили лида в статус, который потом разгребали руками. Горячие ответы это отдельный список: лид, который ответил и не получил ничего в ответ, самая дорогая вещь во всей воронке. Адаптивный лимит опускает дневную норму отправки сам, когда объём высокий, а живых ответов мало: стучаться сильнее в папку «спам» стоит домена, а домен это единственный актив здесь, который нельзя заменить. Любое ожидание считается в рабочих днях, и шаг, попавший на субботу, переезжает на понедельник. Почта настоящая: отправка по SMTP, чтение ответов по IMAP из реального ящика, и в каждом письме есть работающая отписка.
Тринадцать задач по расписанию
Части рабочей недели, которые зависят от того, вспомнит ли о них человек, в занятый месяц просто перестают происходить. Поэтому они висят на расписании: движок догона и его статистика, спасение забытых лидов, чистка входящих, утренняя сводка и вечерний разбор дня, недельная выручка, напоминания, истечение пробных периодов, статистика доставки писем, мониторинг конкурентов, дневная сводка по обзвону и дымовой тест, который просто проверяет, что система жива. Тринадцать задач, ни одна из которых не требует, чтобы кто-то о ней помнил.
Когда на линии человек
Обзвон устроен с другого конца. Человек открывает одну страницу по токену, без выдачи логина в CRM, и работает список: следующий номер, кто это, что было в прошлый раз и куда девать результат. За этой страницей стоят восемь серверных эндпоинтов: кампания, лид, лог звонка, перезвоны, календарь, лента активности, история и запись исходящей работы. Ничего не генерируется для звонящего посреди разговора. Задача софта в том, чтобы человеку ни разу не пришлось ничего искать.
Чего эта страница не обещает
Процента точности здесь нет, потому что у меня нет числа, которое я готов защищать. Показать могу код, который принимает решение, и поломку, после которой каждое правило было написано. Агент не заменяет сотрудника и не для этого построен: весь смысл голосового агента в передаче разговора человеку. Агент не двигает сделку сам, он классифицирует, маршрутизирует и уведомляет, а отправить смету или принять депозит это осознанное действие человека, и это решение при проектировании, а не временное ограничение. ИИ есть не в каждой системе: в CRM для строителя саун его нет намеренно.
ЛИСТ-03Контроль качества
Что реально работает.
Три системы в продакшене, 557 автотестов, 352 миграций базы и 13 guard-тестов, написанных после ошибок, которые типы поймать не могли. Код и база принадлежат клиенту с первого коммита.
557
автотестов
352
миграций базы
13
guard-тестов
3
системы в проде
ЛИСТ-04Общие примечания
Вопросы, которые задают на самом деле.
- N01Какая у агента точность?
- Числа не назову, потому что честного у меня нет, а нечестное придумать легко. Могу показать код, который решает, что считать разговором, и объяснить, после какой поломки написано каждое правило. Проверяется это на твоих настоящих звонках в первые дни, а не обещанием заранее.
- N02Агент заменит администратора на телефоне?
- Нет, и он не для этого построен. Весь его дизайн это передача: снять звонок, понять, что разговор настоящий, и поставить перед лидом человека, пока лид тёплый. Обзвон устроен зеркально: говорит человек, а софт ведёт запись.
- N03Может ли агент сам отправить смету или взять депозит?
- Нет, он к этому не подключён. Агенты классифицируют, маршрутизируют и уведомляют. Двинуть проект, отправить смету или принять деньги это отдельное действие человека. Это проектное решение, а не ограничение, которое я жду возможности снять.
- N04Агент нужен без CRM?
- Агент, который отвечает на звонок и пишет в никуда, это аттракцион. Передача работает потому, что на другом конце есть система: лид, смета, депозит, расписание. Начать можно с агента, но маршрут записи проектируется сразу.
- N05Он умеет писать в WhatsApp и Telegram?
- Да, боты в Telegram и WhatsApp это часть той же работы. В системе для строителя саун бот принципиально принимает только кнопки, без свободного текста и голосовых: одно неправильно распознанное слово сдвинуло бы реальный проект.
- N06Разговоры записываются?
- Запись выключена по умолчанию. Если её включают, обе стороны предупреждаются до начала записи, а завершение записи обрабатывается как отдельное событие, потому что файл становится доступен позже, чем заканчивается звонок.
ЛИСТ-05Дальше
Своя CRM вместо аренды чужой
Система, собранная под то, как реально работает твой бизнес, а не логин, под который бизнес подгоняют.
Сколько стоит своя CRM, сайт и ИИ-агент
Опубликованная лестница целиком, с сроками и условиями оплаты. Без «свяжитесь для расчёта».
Сайт, который отдаёт заявку в систему
Входная дверь, за которой есть здание. Форма не пишет тебе письмо, она создаёт запись.