Anton MaynikAnton Maynik
Разработка · ИИ-агентыGlobalNet

GlobalNet — ИИ-ассистент продаж в Telegram

Telegram-бот, который сам консультирует клиентов магистрального оператора по услугам и ценам, квалифицирует заявку и передаёт её свободному менеджеру — с очередью, номерами заявок, архивом и аналитикой.

08

GlobalNet — ИИ-ассистент продаж в Telegram

Проект
GlobalNet — ИИ-ассистент продаж в Telegram
Тип проекта
Разработка · ИИ-агенты
Компания
GlobalNet
Год
2023 — н. в.
Моя роль
Разработка бота: архитектура, логика, ИИ, тестирование
Задача

GlobalNet продаёт сложные B2B-услуги: пиринг DATAIX, IP-транзит, магистральные каналы, защиту от DDoS. Вопросы клиентов приходили менеджерам вручную, в том числе ночью и в выходные. Нужен был бот, который отвечает круглосуточно по базе знаний компании, не выдумывает цены, ненавязчиво собирает данные для заявки и передаёт клиента свободному менеджеру так, чтобы ни один запрос не потерялся.

Мой вклад
Моя рольРазработка бота: архитектура, логика, ИИ, тестирование
Я отвечал за
  • Спроектировал и написал бота на Python (aiogram): сценарии, роли персонала, очередь менеджеров
  • Собрал базу знаний о продуктах и ценах и поиск по ней (RAG на TF-IDF) с синонимами и словоформами
  • Написал системный промпт и программные ограничители, которые не дают модели выдумывать
  • Построил стенд из 600+ автоматических проверок и прогонял через него правки
  • Сделал панель администратора: заявки, отчёты, статистика, рассылки, выгрузки в Excel
Команда
  • Продажи и поддержка передали типовые вопросы и прайс
  • Руководитель утверждал сценарии передачи клиента менеджеру
Ограничения
  • Бот не имеет права выдумывать цены и факты — ошибка стоит денег и репутации
  • Клиент не должен узнать о существовании внутренней базы знаний
  • Заявка не должна теряться, если менеджер не отвечает, а два менеджера — попадать в один диалог
  • Каждый прогон тестов на живой модели стоит денег — набор должен оставаться компактным
Решение

Вынес критичные правила из промпта в код. Модель отвечает только по найденным в базе фрагментам, а если факта нет — честно говорит, что уточнит менеджер. Передачу менеджеру проверяет отдельная функция-ограничитель, покрытая тестами, с исключением для срочных случаев вроде идущей DDoS-атаки.

Production

~8 500 строк Python, база знаний ~2 900 строк, 600+ автоматических проверок, 3 роли персонала, номера заявок, архив и выгрузки в Excel.

Итог

Бот работает с клиентами GlobalNet в Telegram и передаёт менеджерам уже квалифицированные заявки — с номером, сутью запроса и контактами.

ToolsPython · aiogram · DeepSeek API · scikit-learn · openpyxl · Claude Code
Как это устроено
8 500+
строк Python
600+
автотестов против галлюцинаций
88
точек присутствия в поиске
3
роли персонала
Инженерные решения
01Правила — в коде, а не только в промптеМодель иногда задавала вопрос и тут же передавала клиента менеджеру. Вместо бесконечной правки промпта я вынес проверку в отдельную функцию внутри получения ответа — теперь это правило невозможно обойти, и его покрывают тесты.
02Поиск, который понимает живую речьКлиенты пишут «питер», «какие у вас есть города», «можно посмотреть карту сети». Добавил расширение запроса синонимами, учёт русских падежей и отдельную нарезку прайса и списка из 88 точек присутствия, чтобы они не рвались на куски.
03Очередь без потерь и двойных диалоговАвтоэскалация к следующему менеджеру по таймауту, повтор при недоступном менеджере с уведомлением админам, блокировка устаревших кнопок, чтобы двое не взяли одного клиента, и менеджер «только по ручному назначению».
04Заявки, которые удобно читатьСквозная нумерация, переживающая перезапуск, архив на 60 дней с автоочисткой и Excel-выгрузка, где каждая заявка — вертикальная карточка, а переписка читается как чат. Отдельно — база тех, кто общался только с ИИ.
СтекPythonaiogramDeepSeek APIRAG / TF-IDFscikit-learnopenpyxlJSON-хранилища
Результат
Как устроен бот: от вопроса клиента до заявки у менеджера
Как устроен бот: от вопроса клиента до заявки у менеджера
Интерфейс менеджера: передача заявки, закрытие диалога, статистика (макет по реальным экранам бота, данные условные)
Интерфейс менеджера: передача заявки, закрытие диалога, статистика (макет по реальным экранам бота, данные условные)
Диалог с ботом: подбор услуги и расчёт стоимости порта DATAIX
Диалог с ботом: подбор услуги и расчёт стоимости порта DATAIX
Экран бота с ИИ-ассистентом
Экран бота с ИИ-ассистентом
Промо-постер ИИ-ассистента GlobalNet
Промо-постер ИИ-ассистента GlobalNet

Нужен похожий проект?