Проблема: Личный Telegram-аккаунт специалиста по автоматизации завален входящими сообщениями клиентов, партнёров и лидов. Ручные ответы занимают часы в день, теряются важные диалоги, а повторяющиеся вопросы отвлекают от проектной работы.
Решение: Система из двух Telegram-ботов: пользовательский AI-автоответчик, который отвечает от лица владельца аккаунта с опорой на базу знаний, и админ-бот для удобного управления этой базой знаний через Telegram-интерфейс.
📋 Задача
Нужно было создать систему, которая берет на себя первичную коммуникацию и ответы на типовые вопросы в личном Telegram, но при этом сохраняет «живой» стиль общения и учитывает специфику проектов (Bitrix24, интеграции, автоматизация, API и т.д.). Основные проблемы:
- Ручные ответы на однотипные вопросы — запросы про Битрикс24, интеграции, стоимость работ и типовые технические моменты приходят постоянно
- Отсутствие централизованной базы знаний — полезные ответы и пояснения «рассыпаны» по чатам и файлам, их сложно переиспользовать
- Невозможность быстро обновлять контент — при изменении услуг/подходов сложно оперативно менять формулировки во всех каналах
- Нет истории диалогов в разрезе пользователей — тяжело видеть контекст прошлых обсуждений и опираться на него в новых сообщениях
- Риск неответов — при высокой загрузке некоторые сообщения остаются без реакции или с большой задержкой
Нужен был инструмент, который отвечает как владелец аккаунта, использует структурированную базу знаний и при этом дает удобный интерфейс управления прямо из Telegram.
⚙️ Что сделано
🔹 Ключевой функционал системы:
- AI-автоответчик в личном аккаунте — отвечает на входящие личные сообщения через Telegram-клиента, имитируя стиль хозяина аккаунта
- Двухботовая архитектура — пользовательский бот для диалогов с клиентами и отдельный админ-бот для управления базой знаний и тестирования ответов
- База знаний с семантическим поиском — хранит статьи по Битрикс24, интеграциям, REST API и другим темам; поиск не по ключевым словам, а по смыслу
- Автоматическая инициализация базы знаний — при первом запуске база заполняется готовыми материалами по Битрикс24
- Семантический RAG-контекст — при каждом запросе AI получает топ-5 релевантных записей базы знаний и использует их при генерации ответа
- Хранение истории диалогов — сохраняются и сообщения пользователя, и ответы ассистента; используются последние 6 реплик для контекстных ответов
- Фильтрация по чёрному списку — система игнорирует сообщения от определенных username (управление списком через админ-панель)
- Управление знаниями через Telegram — просмотр, добавление, редактирование, удаление и поиск записей прямо из админ-бота
- Импорт знаний из файлов — загрузка структурированных текстовых файлов с авторазбором категории, темы и контента
- Статистика по базе знаний — количество записей в разрезе категорий, быстрый обзор наполненности базы
- Тестовый режим AI — отдельный сценарий, где администратор может писать вопросы в админ-бот и видеть, как AI будет отвечать реальным пользователям
- Краткие «человеческие» ответы — системный промпт настраивает стиль: до 500 символов, неформальное общение, русскоязычный тон
🔹 Технологии:
Python 3.10+ Telethon python-telegram-bot OpenRouter (Google Gemini 2.5 Flash) SQLite SentenceTransformers NumPy asyncio
🔄 Как это работает
- Пользователь пишет личное сообщение в Telegram-аккаунт разработчика — событие перехватывается через Telethon-клиент
- Система проверяет: это не бот и не пользователь из чёрного списка; если в списке — сообщение логируется, но не обрабатывается
- Текст сообщения передаётся в AI-сервис, который сначала делает семантический поиск по базе знаний и выбирает несколько наиболее релевантных записей
- Формируется системный промпт: стиль общения + сжатый контекст из базы знаний + история последних 6 реплик конкретного пользователя
- Через OpenRouter вызывается модель Google Gemini 2.5 Flash, которая генерирует короткий, естественный ответ на русском языке
- И вопрос пользователя, и ответ ассистента сохраняются в таблицу истории диалогов для дальнейшего контекстного общения
- Готовый ответ отправляется в чат от имени личного аккаунта, создавая эффект «живого» присутствия владельца
🧠 Интеллектуальные возможности
Интеллектуальная работа с знаниями и диалогами:
- Семантический поиск по базе знаний — использование эмбеддингов SentenceTransformers для поиска по смыслу, а не по точному совпадению слов
- RAG-подход (Retrieval-Augmented Generation) — AI всегда отвечает с опорой на реально сохранённые знания, а не только на общую модель
- Персонализированный контекст диалога — подгружается история общения с конкретным пользователем, чтобы ответы не были «обнулёнными» каждый раз
- Гибкое управление чёрным списком — добавление/удаление username через админ-бот; изменения применяются без перезапуска системы
- Структурированный импорт знаний — парсер текстовых файлов извлекает категорию, тему и контент, что упрощает массовое наполнение базы
📊 Результаты
до 70%
типовых входящих сообщений обрабатывается без участия человека
24/7
непрерывная обработка сообщений в личном Telegram-аккаунте
2-5 сек
среднее время генерации ответа через AI
1 база
централизованное хранилище знаний по проектам и технологиям
минуты
на добавление/обновление знаний через админ-бота
0
зависимости от сторонних интерфейсов для управления базой знаний
💡 Техническая изюминка
🎯 Комбинация RAG и персональной истории диалогов:
Система объединяет семантический поиск по базе знаний и историю конкретного пользователя в один промпт. Это позволяет отвечать не «обезличенно», а с учётом того, о чём уже говорили раньше, и при этом опираться на проверенные тексты. В результате AI-ответы звучат естественно и соответствуют реальному экспертному опыту владельца аккаунта.
⚙️ Архитектурные особенности
- Модульная архитектура — отдельные модули для работы с Telegram, AI, базой знаний, историей диалогов и административной панелью
- Единый event loop — оба бота (пользовательский и админский) запускаются параллельно в одном асинхронном цикле через asyncio.gather()
- Инкапсуляция доступа к БД — все операции с SQLite вынесены в сервисы (DatabaseService, KnowledgeService, ConversationService), что упрощает поддержку и расширение
- Семантические эмбеддинги — использование модели paraphrase-multilingual-MiniLM-L12-v2 и NumPy для расчёта косинусного сходства и ранжирования знаний
- Гибкая конфигурация — токены, ID администраторов, чёрный список и параметры AI вынесены в отдельный конфигурационный модуль config.py
- Автоматическая генерация эмбеддингов — при добавлении или редактировании знаний векторные представления пересчитываются автоматически
- Защита от падений — обработка ошибок при запросах к AI и Telegram, возврат понятных сообщений пользователю при сбоях внешних сервисов
🔧 Дополнительные возможности
🔹 Функции административной панели:
- Многошаговые диалоги — добавление знаний происходит через интерактивный диалог (категория → тема → содержание)
- Редактирование с дополнением — при редактировании новая информация добавляется к существующей, а не заменяет её
- Просмотр с пагинацией — показ первых 10 записей при просмотре всей базы для избежания перегрузки интерфейса
- Поиск по ключевым словам — быстрый поиск по теме и содержанию через LIKE-запросы
- Статистика по категориям — количество записей в каждой категории для контроля наполненности базы
- Тестирование AI в реальном времени — возможность задавать вопросы и видеть ответы с информацией об использованном контексте
- Управление чёрным списком — добавление/удаление username с подсказками о необходимости сохранения изменений в config.py
📈 Сценарии использования
- Личный бренд разработчика/эксперта — автодополнение ответов на типовые вопросы по услугам, технологиям и условиям работы
- Консультанты и интеграторы — быстрые ответы на вопросы по CRM, ERP, автоматизации без постоянного ручного ввода
- Поддержка клиентов через личный аккаунт — когда коммуникация идёт не только через ботов, но и через «личку»
- Обучающие проекты — база знаний как основа для автоответчика по курсам и обучающим материалам
- Внутренние ассистенты — использование такой же схемы для внутренних команд (поддержка, сейлз, PM) с отдельными базами знаний
✅ Этот проект подойдёт вам, если:
- Вы активно коммуницируете в личном Telegram и хотите разгрузить себя от рутинных ответов
- Нужно, чтобы ответы выглядели «человечески», а не как сухой бот
- У вас уже есть накопленные материалы/ответы, которые можно превратить в базу знаний
- Важно сохранять историю диалогов и использовать её при последующих обращениях клиентов
- Нужен удобный способ управлять знаниями и чёрным списком прямо из Telegram
- Вы хотите построить AI-слой поверх своего личного бренда или консультационного бизнеса
Нужен AI-автоответчик для вашего Telegram?
Разработаю систему с базой знаний и семантическим поиском, которая будет отвечать за вас: умно, по делу и в вашем стиле
Обсудить проект →