Всем привет, меня зовут Ян, я разработчик. Мне интересно следить и участвовать в дискуссиях на разные темы: разработка, 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

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

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

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