Как я к этому пришёл

Если вас уже не впечатляют обычные RSS-ленты и хочется чего-то, что «умнее холодильника» и «красивее тёмной темы VS Code», то вы попали в правильную статью. Расскажу про инструмент, созданный для агрегации множества иностранных новостных лент, который собирает новости по ИИ, суммаризирует, генерирует иллюстрации и отправляет их в Telegram-канал.

Коротко о том, что вообще происходит

Идея проста: собираем новости из разных источников, фильтруем дубликаты, пропускаем через Gemini, рисуем картинку и отправляем красивое сообщение(но с глупой картинкой, ага) в Telegram.

Вдохновился я этой идеей глядя на темплейты к n8n. Конкретно я начал развивать вот этот.

Звучит просто, но на практике, как обычно, вылезают нюансы, о которых и поговорим.

Что под капотом

Вот так выглядит flow на холсте

AI Flow
AI Flow

Flow построен на n8n и состоит из:

  1. RSS Reader: читает новости с множества иностранных источников (MIT, Nvidia, Microsoft, arXiv, KDnuggets).

  2. Filter: удаляет дубликаты через Google Sheets (кто не любит костыли?).

  3. LangChain + Google Gemini: суммаризирует новости и превращает их в краткие, дружелюбные сводки.

  4. Imagen API: генерирует плоские иллюстрации.

  5. Telegram Node: отправляет новости и картинки подписчикам.

Подробности flow

Шаг 1: Сбор данных

Новости стекаются с зарубежных топовых(ну мне так кажется) площадок. Используем ноды типа RssReadи Split Out.

Шаг 2: Ф��льтрация повторов

Чтобы не спамить одним и тем же контентом, используем Google Sheets для хранения ранее отправленных ссылок. Это, конечно, не Redis или Postgres, но тоже работает. Дубликаты фильтруются небольшим скриптом на JavaScript. Всё любезной навайбкожено в Gemini.

Шаг 3: Магия Gemini

Берём новости, суммаризируем и переводим на русский. LangChain прекрасно справляется с этим, используя модели Gemini:

  • Gemini 2.5 Flash: мощная модель для сложных текстов и высокоточной суммаризации новостей. Интересный инсайт: не все модели умеют работать с т.н. инструментами и я потратил день времени чтобы осознать это. Модель никак не хотел обращаться к базе с RSS новостями.

  • Gemini 1.5 Flash: более доступная модель, оптимизированная по стоимости, для менее сложных задач вроде суммаризации для создания промпта картинки.

Используемые промпты:

  • Для суммаризации и перевода:

    • «Переведи на русский язык, суммаризируй самые интересные новости, выдай сводку, которая влезает в одно сообщение Telegram».

Стоимость токенов варьируется: Gemini 2.5 Flash дороже, но обеспечивает высокое качество работы с текстами, а Gemini 1.5 Flash – бюджетный вариант для повседневных задач вроде обобщения.

🎁 Гранты Google для новых пользователей

Сейчас flow работает за счёт грантов от Google Cloud для новых пользователей. При регистрации предоставляется:

  • $300 кредитов на 90 дней.

  • Доступ к полному спектру сервисов Google Cloud, включая Gemini API и Imagen API.

  • После 90 дней или исчерпания кредита остаётся доступен Always-Free слой, но с ограничениями. И тут я решу - или прикрывать ��авочку или переползать на OpenAI или что-то ещё. Ну пока используем халяву по-полной.

Это отличная возможность начать работу без начальных затрат и протестировать все возможности платформы и нейросетей. А что ещё нужно для стартапера-нищеброда?

Шаг 4: Иллюстрации

Здесь Gemini/Imagen API получает краткое описание новости и рисует картинку в flat-дизайне. Если кратко, выходит красиво, хоть иногда и абстрактно или даже слишком (ИИ же!).

Пример изображения
Пример изображения

Используемый промпт:

  • Для генерации изображения:

    • «Draw a picture for news flat vector cover in flat-design style. Don't use words and be precise with symbols: {описание новости}».

Тут новый инсайт: промпт для картинок надо писать на иностранном :)

Imagen API генерирует картинки по фиксированной цене - 0,03$ за штуку. Я глянул - дешевле, кажется, нет.

Но! Эта опция сжирает колоссальное количество денег. Вот разбивка такая примерно.

Стоимость генерации изображений

Прайс за картинки
Прайс за картинки

Стоимость генерации текста

Прайс за текст
Прайс за текст

Шаг 5: В Telegram

Отправляем полученные новости и изображения в Telegram. Выглядит приемлемо и привлекательно, особ��нно если поставить Telegram SendPhoto с HTML-разметкой.

Не осилил я отпарвку в Markdown и сошлись на том, что буду использовать HTML.

🛠️ Обработка ошибок (последнее обновление)

Вся эта история крайне не стабильна. Постоянно то отваливается генератор изображений, то какой-то RSS поток, то суммаризация. То AI-агент вдруг игнорирует часть промпта и забывает переводить заголовки, то 2 картинки генерируется, а 3-я не хочет. Даже не знаю нормально ли это вообще или нет.

Последним дополнением к нашему flow стал модуль обработки ошибок. Этот отдельный флоу фиксирует проблемы на каждом сетевом этапе и отправляет уведомления в отдельный Telegram-канал для мониторинга. В сетевых узлах (таких как RSS Reader, Imagen API, Google Sheets) активирована настройка автоматического повторения действий при неустойчивой связи, что ��овышает общую надёжность.

Стоит отметить, что инсталляция n8n размещена на домашнем сервере. Облачное решение было отвергнуто из-за его дороговизны, поэтому стабильность сети имеет особое значение.

Вся инсталляция крутится внутри докера, много не потребляет, но иногда память заканчивается и контейнер рестартует.

Потребление памяти за 20 дней
Потребление памяти за 20 дней

Морочиться с персистентным внешним относительно n8n хранилищем пока совсем не хочется.

Возможности улучшения flow

  • Оптимизация базы данных: Использовать Redis вместо Google Sheets.

  • Улучшение обработки ошибок: Дополнить систему логирования для быстрой диагностики проблем.

  • Кэширование изображений: Сохранять сгенерированные картинки, чтобы экономить API-запросы.

Итоги

Автоматизация новостей с ИИ – это удобно, красиво и модно. Не обошлось и без «ИТ-шаманизма», но результат оправдывает потраченное время. И уж тем более полученный опыт.

Можете испробовать мой канал с новостями про AI и канал просто с общими IT новостями и дать обратную связь! Не обещаю, что каналы будут обновляться после окончания триального периода у Google Cloud. Но с картинками что-то точно поменяется.

Особенно буду рад идеям по экономии токенов на генерации изображений. Стоимость отечественных генераторов изображений покрытам мраком тайны :(

Flow может расширяться и улучшаться бесконечно, ограничиваясь лишь моей фантазией и лимитами API. Happy automating!

P.S. Главное – не забывать следить за расходами на API, иначе сюрпризы прилетят быстрее, чем закончится билд Docker-образа.