Надоело читать духоту и копипасту: как я собрал автономного ИИ-редактора для Telegram на базе GigaChat за 5 рублей в день [Моё]
Каждый, кто подписан хотя бы на пару техно- или авто-каналов, знает эту боль: выходит новость про новый китайский кроссовер или процессор — и следующие два часа десятки пабликов как под копирку постят один и тот же заголовок с обрубленным текстом из пресс-релиза. Читать это физически больно: сплошная вода, кликбейт и ноль полезной сути.
На выходных мне это окончательно надоело, и я решил провести эксперимент: собрать полностью автономного бота на Python, который сам агрегирует 14 профильных изданий, отсекает дубликаты по смыслу, переписывает новости через нейросеть человеческим языком и публикует в канал.
Делюсь тем, как устроена эта кухня изнутри, с какими неожиданными граблями пришлось столкнуться и что из этого вышло.
1. Архитектура: как не превратить ленту в помойку
Главная проблема любого агрегатора новостей — это мусор и дубликаты. Если несколько изданий одновременно пишут про новую видеокарту Nvidia, бот не должен постить эту новость трижды с разницей в 15 минут.
Как я это решил:
Сборщик (Харвестер): слушает RSS-потоки 14 профильных порталов (гаджеты, авторынок, ПК-железо).
Семантический антидубликат: перед отправкой бот сравнивает заголовок новой статьи со всеми постами за последние 7 дней с помощью коэффициента сходства Жаккара и n-грамм. Если совпадение сути выше 30% (например: «Logitech представила мышь Pebble» и «Беспроводная мышь-трансформер от Logitech») — бот понимает, что инфоповод уже был, и тихо отправляет дубль в корзину.
2. Подключение Сбер GigaChat: прощай, шаблонный робот
Поначалу бот выдавал классическую «нейросетевую духоту»: «Главное: ... Характеристики: ... Цены: ...». Выглядело так, будто текст писал робот-бухгалтер.
Чтобы оживить подачу, я написал 5 разных динамических промптов, которые выбираются на лету под тему новости:
Для авто: бот пишет как въедливый автоэксперт — сразу смотрит на двигатель, коробку, клиренс, наличие зимних обогревов и в конце ехидно спрашивает: «Взяли бы за 3 млн или лучше поискать 3-летнего японца на вторичке?».
Для гаджетов: живой молодежный стиль без шаблонных списков — выделяет только реальные фишки и цены.
Для утечек и инсайдов: хлесткая «молния» на 20 секунд чтения.
Плюс обязательный фильтр: бот на корню пресекает фразы «информация отсутствует» и вычищает недописанные предложения с троеточиями на конце.
3. Грабли: битва за оперативку на сервере
Чтобы всё работало 24/7 без включенного ПК, я развернул проект в облаке на минимальном тарифе (выходит буквально около 5 рублей в день).
И тут проект начал падать с ошибкой нехватки памяти (OOM). Оказалось, что когда автопостер, база данных SQLite и фоновые процессы работали раздельно, они вылетали за лимит в 300 МБ оперативки.
Решение: пришлось пересобрать всю архитектуру в единый легковесный процесс (Single Process), где фоновый демон, бот и сборщик мусора делят одну память. Потребление упало с 350 МБ до скромных 75 МБ, и бот теперь живет на сервере стабильно и без перезапусков.
4. Бонус: Карманный AI-консультант в личке
Раз уж GigaChat всё равно подключен, я прикрутил к боту фичу для читателей — бесплатного AI-консультанта по подбору техники и авто.
Ему можно написать в чат человеческим языком:
«Посоветуй надежный семейный кроссовер до 2.5 млн рублей»
«Подбери смартфон до 40 000 руб с упором на камеру»
«Собери игровой ПК под 2K-гейминг за 80к»
И бот за 3 секунды раскладывает 2–3 конкретные лучшие модели на рынке РФ с их честными плюсами и минусами, без заумных терминов.



































