Я устал читать 100+ сообщений в Telegram и написал бота, который делает саммари и отвечает как AI-ассистент

Я устал читать 100+ сообщений в Telegram и написал бота, который делает саммари и отвечает как AI-ассистент

Меня зовут Ян, я разработчик. Мне нравится участвовать в разных обсуждениях — от IT и devops до чатов друзей и собственников жилья. Все эти разговоры происходят в Telegram, и однажды я столкнулся с проблемой: утром в одном чате было 127 новых сообщений.

Проблема: потеря контекста и времени

Чтобы понять, о чём шла речь, пришлось:

  • Пролистать весь чат.
  • Прочитать десятки сообщений.
  • Восстановить контекст в голове.

Если вы в нескольких активных чатах, ситуация знакомая. За пару часов накапливается 100–300 сообщений. И если вы пропустили обсуждение, возникают две главные проблемы:

  • Потеря контекста: сложно въехать в разговор, не читая всё с начала.
  • Потеря времени: даже на незначимые темы уходит много минут, чтобы понять: «А стоит ли вникать?»

Решение: AI-бот с саммари и ассистентом

Я захотел получать краткую выжимку — как RSS-ленту для чатов. Пример:

Обсуждали, чем ARM отличается от x86. Вывод: ARM подходит для большинства задач. Также говорили о скорости сборки в Xcode — на M3 стало быстрее.

Всего несколько строк — и сразу ясно, о чём был разговор.

AI-ассистент прямо в чате

Во время обсуждений часто всплывают технические вопросы:

  • Чем ARM принципиально отличается от x86?
  • Какая архитектура быстрее в однопоточных задачах?
  • Есть ли свежие бенчмарки?

Обычно люди уходят в Google или ChatGPT. Я решил: почему бы не задать вопрос ИИ прямо в чате?

Теперь любой участник может использовать команду /ask_ai — и получить ответ от DeepSeek-V3.2 прямо в диалоге.

Техническая реализация

Использовал свой рабочий стек:

  • Backend: PHP
  • Framework: Symfony
  • Очереди: RabbitMQ
  • База данных: PostgreSQL
  • AI-клиент: Ollama

Выбор модели: тестирование локальных LLM

Сначала хотел всё запускать локально, без API. Протестировал несколько моделей (~5 ГБ):

  • T-Lite
  • Saiga YandexGPT
  • Qwen 2.5
  • Llama 3
  • YandexGPT-5-Lite (в GGUF-квант)

Тестировал на 300 сгенерированных сообщениях по трём темам. Оценивал:

  • Качество русского языка
  • Соблюдение промпта

Результаты:

  • Qwen2.5-7B: иногда отвечал на китайском
  • Saiga YandexGPT 8B: уходила в длинные рассуждения
  • T-Lite-it-2.1: не всегда возвращала результат
  • Llama 3 8B: переключалась на английский
  • YandexGPT-5-Lite: лучший результат, но с редкими галлюцинациями

Архитектурное решение: «Кирпич» (Brick Context)

1 кирпич = 50 сообщений.

Как работает:

  • Каждые 50 сообщений крон-задача отправляет в LLM.
  • Получаем краткий контекст — «кирпич».

Пример [Кирпич #1]:

ARM против x86 — есть ли разница. Sergey_it интересуется... В итоге ARM подходит для большинства. На сколько быстрее сборка в Xcode? Andrey_ios делится, что на M3 стало быстрее...

Зачем это нужно? Чтобы избежать проблемы Lost in the Middle. Для суточного саммари из 200 сообщений используем 4 кирпича + промпт.

AI-ассистент и экономика

Для /ask_ai подключил API DeepSeek-V3.2. Стоимость одного запроса — около $0.0000084.

Для саммари использую RunPod (Pay-as-you-go):

  • 50 сообщений: ~4.8 сек, $0.00019
  • 100 сообщений (2 кирпича): ~30 сек
  • 200 сообщений (4 кирпича): ~40 сек

Сравнение стоимости: RunPod vs GPT-4o mini

Расчёт для разных сценариев (в месяц):

  • 1 чат (500 сообщений): дёшево
  • 10 чатов (5 000): доступно
  • 100 чатов (50 000): всё ещё экономно
  • 1 000 чатов (500 000): масштабируемо
  • 10 000 чатов (5 000 000): при необходимости можно перейти на GPT-4o mini

Вывод: MVP получился дешёвым и быстрым. При росте легко масштабироваться.

Самое сложное

Заставить LLM стабильно следовать промпту и не галлюцинировать. Это потребовало множества итераций и тонкой настройки.

Функции бота

  • Анализирует Telegram-чаты
  • Делает качественные саммари
  • Хранит контекст в «кирпичах» и публикует в чат или в ЛС по подписке
  • Работает как AI-агент через команду /ask_ai
  • Экономит время

Бот доступен: @ContextChatAiBot
Исходный код: https://github.com/phantomas007/contextChatAiBot

Читать оригинал