Как я к этому пришёл
Если вас уже не впечатляют обычные RSS-ленты и хочется чего-то, что «умнее холодильника» и «красивее тёмной темы VS Code», то вы попали в правильную статью. Расскажу про инструмент, созданный для агрегации множества иностранных новостных лент, который собирает новости по ИИ, суммаризирует, генерирует иллюстрации и отправляет их в Telegram-канал.
Коротко о том, что вообще происходит
Идея проста: собираем новости из разных источников, фильтруем дубликаты, пропускаем через Gemini, рисуем картинку и отправляем красивое сообщение(но с глупой картинкой, ага) в Telegram.
Вдохновился я этой идеей глядя на темплейты к n8n. Конкретно я начал развивать вот этот.
Звучит просто, но на практике, как обычно, вылезают нюансы, о которых и поговорим.
Что под капотом
Вот так выглядит flow на холсте

Flow построен на n8n и состоит из:
RSS Reader: читает новости с множества иностранных источников (MIT, Nvidia, Microsoft, arXiv, KDnuggets).
Filter: удаляет дубликаты через Google Sheets (кто не любит костыли?).
LangChain + Google Gemini: суммаризирует новости и превращает их в краткие, дружелюбные сводки.
Imagen API: генерирует плоские иллюстрации.
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 размещена на домашнем сервере. Облачное решение было отвергнуто из-за его дороговизны, поэтому стабильность сети имеет особое значение.
Вся инсталляция крутится внутри докера, много не потребляет, но иногда память заканчивается и контейнер рестартует.

Морочиться с персистентным внешним относительно n8n хранилищем пока совсем не хочется.
Возможности улучшения flow
Оптимизация базы данных: Использовать Redis вместо Google Sheets.
Улучшение обработки ошибок: Дополнить систему логирования для быстрой диагностики проблем.
Кэширование изображений: Сохранять сгенерированные картинки, чтобы экономить API-запросы.
Итоги
Автоматизация новостей с ИИ – это удобно, красиво и модно. Не обошлось и без «ИТ-шаманизма», но результат оправдывает потраченное время. И уж тем более полученный опыт.
Можете испробовать мой канал с новостями про AI и канал просто с общими IT новостями и дать обратную связь! Не обещаю, что каналы будут обновляться после окончания триального периода у Google Cloud. Но с картинками что-то точно поменяется.
Особенно буду рад идеям по экономии токенов на генерации изображений. Стоимость отечественных генераторов изображений покрытам мраком тайны :(
Flow может расширяться и улучшаться бесконечно, ограничиваясь лишь моей фантазией и лимитами API. Happy automating!
P.S. Главное – не забывать следить за расходами на API, иначе сюрпризы прилетят быстрее, чем закончится билд Docker-образа.