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

от автора

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

Однажды утром я проснулся и увидел в чате друзей 127 новых сообщений.
Чтобы понять, о чём вообще был разговор, мне нужно было:

● Пролистать весь чат.

● Прочитать десятки реплик.

● Восстановить контекст обсуждения в своей голове.

В какой-то момент появилась простая мысль:
«Почему нельзя просто получить краткое саммари обсуждения прямо в личку по подписке или увидеть сводку в чате? Чтобы бот прочитал всё за меня и выдал краткую, но понятную выжимку».

Проблема Telegram-чатов

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

Потеря контекста. Если вы не участвовали в разговоре с самого начала, въехать в суть сложно. Нужно читать десятки сообщений, чтобы понять, кто кому что ответил.

Потеря времени. Даже если обсуждение не особо важное, вы всё равно тратите драгоценные минуты, чтобы понять: «А о чём тут вообще трещат? Стоит ли вникать?»

Мне хотелось получать что-то вроде этого сразу в лс:

Пример саммари:

Всего несколько строк — но сразу понятно, что происходило в чате. По сути, это аналог RSS-ленты, только для мессенджеров.

Почему я решил добавить AI-ассистента прямо в чат?

Идея не нова, но всё же. Во время обсуждений часто возникают технические или фактологические вопросы:

● Чем ARM принципиально отличается от x86?

● Какая архитектура быстрее в однопоточных задачах?

● Есть ли свежие бенчмарки?

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

Так появилась вторая функция бота. Любой участник чата может выбрать команду:
/ask_ai или обратиться в личку бота, и получить ответ от DeepSeek-V3.2 придёт прямо в чат.

Реализация и проблемы, с которыми я столкнулся

Я выбрал свой рабочий стек:

● Backend: PHP

● Framework: Symfony

● Очереди: RabbitMQ

● База данных: PostgreSQL

● AI-клиент: Ollama

Почему я выбрал бесплатные модели для старта

Сначала я хотел разрабатывать всё локально и не тратить деньги на API.
Для локальной разработки отлично подошёл клиент Ollama.

Какие модели я тестировал локально

● T-Lite (~5GB)

● Saiga YandexGPT (~5GB)

● Qwen 2.5 (~5GB)

● Llama 3 (~4.7GB)

● YandexGPT-5-Lite (GGUF-квант)

Как я тестировал модели

Сгенерировал через ChatGPT 300 рандомных сообщений для трёх разных тематических чатов. Проверял саммаризацию на 50, 100, 200 и 300 сообщений.

Ключевые критерии:

1. Качество русского языка

2. Строгое следование промпту

Результаты тестирования:

● 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-ассистент (DeepSeek-V3.2)

Реализуете API к DeepSeek-V3.2.
Цена одного запроса ≈ $0.0000084.

Масштабирование и хостинг моделей (RunPod)

Использовал RunPod с Pay-as-you-go.
Один запрос на 50 сообщений ≈ $0.00019.

Показатели генерации:

● 50 сообщений: ~4.8 сек

● 2 кирпича (100): ~30 сек

● 4 кирпича (200): ~40 сек

Экономика проекта (RunPod vs GPT-4o mini)

Стоимость генерации саммари (RunPod + YandexGPT-5-Lite):

 Сообщений

 Цена

 50

 $0.00019

 100

 $0.00038

 200

 $0.00076

 500

 $0.0019

 1 000

 $0.0038

Сценарии использования в месяц:

 Чатов/Сообщений

 RunPod YandexGPT-5-Lite

 GPT-4o mini

 1 чат (500)

 $0.002

 $0.04

 10 чатов (5 000)

 $0.02

 $0.40

 100 чатов (50 000)

 $0.19

 $4.00

 1 000 чатов (500 000)

 $1.90

 $40.00

 10 000 чатов (5 000 000)

 $19.00

 $400.00

Вывод: MVP дешёвый и быстрый, при необходимости легко перейти на GPT-4o mini.

Что оказалось самым сложным

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

Итог

Бот:

● Анализирует Telegram-чаты

● Делает качественные саммари

● Сохраняет контекст в «кирпичах» — публикует его в чат или по подписке лс

● Отвечает как ИИ агент через /ask_ai

● Экономит время

Попробовать и посмотреть можно: @ContextChatAiBot
GitHub ссылка прикладывается — https://github.com/phantomas007/contextChatAiBot

Продолжаем топить во славу автоматизации!
Если есть идеи, пишите в комментарии 👇

ссылка на оригинал статьи https://habr.com/ru/articles/1026656/