← Все системы Кейс 02 · AI-агенты

Я не читаю новости.
Я смотрю аналитику по ним

Два сценария следят за изменениями в маркировке «Честный знак»: один обходит источники и молча копит реестр, второй раз в период приносит готовый разбор в телеграм.

2сценария: сбор и отчёт
50+шагов в сценарии сбора
3проверки смысла нейросетью
3 форматаисточников: RSS, телеграм, поиск
30 днейглубина периода в отчёте
1сообщение вместо обхода лент
Задача

Новость живёт сутки, а последствия месяцами

Правила маркировки меняются постоянно: новые товарные группы, сроки, разрешительный режим на кассах, автоматические штрафы по данным ГИС МТ. Пишут об этом в десятке мест: ленты информагентств, отраслевые сайты, телеграм-каналы ЦРПТ и юристов, поисковая выдача.

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

  • Источники разного формата: RSS, телеграм, поиск
  • Одну новость перепечатывают по пять раз
  • Пропустил день, и материал уже не найти
  • История изменений нигде не хранится
  • Узнаёшь постфактум, когда уже прилетело
Что построено

Два сценария и таблица между ними

Сценарий сбора в n8n: RSS-ленты, телеграм-каналы и поиск по ключевым словам сходятся в общую ветку фильтрации и записи в таблицу
СборщикСлева источники, каждый своей веткой: RSS отдаёт готовый фид, телеграм и поисковую выдачу приходится разбирать из HTML. Новый источник добавляется ещё одной веткой, поэтому список растёт без переделки логики. Дальше всё сходится в одну трубу: привести к общему виду, отбросить старое, отсеять по словам, показать нейросети, убрать повторы, записать строку в таблицу.
Сценарий отчёта в n8n: чтение таблицы, дайджест нейросетью, создание документа в Google Docs и отправка в телеграм
ОтчётЗаметно короче: забрать из таблицы записи за период, отдать нейросети, разобрать ответ, собрать документ в Google Docs, получить ссылку и отправить сообщение в телеграм. Семнадцать шагов против пятидесяти с лишним у сборщика.
Google-таблица «Маркировка Честный знак»: строки новостей с датой, источником, заголовком, текстом, ссылкой и ключом
РеестрКаждая отобранная новость становится строкой: дата сбора, период, источник, заголовок, текст, ссылка, дата публикации, ключ и отметка, попала ли она уже в дайджест. Это и есть та база, которой через полгода можно задать вопрос.
Сообщение бота в телеграме: дайджест по новостям «Честный знак» готов, период, глубина и количество новостей
Что приходит человекуОдно сообщение: период, глубина, сколько новостей вошло, ссылка на документ. Ничего листать не нужно: если тема не горит, достаточно взгляда на цифру.
Документ с дайджестом: краткий общий вывод за период и разбор по направлениям повестки
Сам дайджестНе список заголовков, а разбор: краткий вывод за период и направления, по которым двигалась повестка. В последнем это ускорение регуляторного контура, переход к реальному правоприменению и рост роли системы как источника рыночной аналитики. Ссылки на первоисточники внутри.
Главное решение

Сбор, отбор и отчёт без участия человека

Решение целиком автоматическое, собрано в n8n. Сценарий сам обходит источники, сам отбрасывает старое и нерелевантное, сам проверяет смысл нейросетью, сам пишет отобранное в реестр и к нужному времени присылает готовый аналитический отчёт. Человек не участвует ни в одном из шагов, он получает результат.

Дальше начинается инженерия: как эту автоматику собрать, чтобы она прожила дольше месяца. Здесь главное то, что сценариев два, а не один.

Соблазн сделать одним куском большой: сходил по источникам, сразу отдал нейросети, сразу прислал сводку. Так делают в первый раз, и так система остаётся одноразовой. Поэтому сбор и показ разнесены: сборщик ходит по источникам своим ритмом и пишет в таблицу, отчёт читает эту таблицу и собирается тогда, когда нужен человеку. Между ними стоит реестр: один пишет, второй читает, и ни один не зависит от расписания другого.

Первая причина: новости не ждут. Материал живёт в ленте сутки, дальше его вытесняют. Если сбор привязан к отчёту, всё, что было между отчётами, теряется навсегда.

Вторая причина: копится собственная база. Через полгода можно спросить «что вообще менялось за год» и получить ответ, потому что данные собирались всё это время. Задним числом такую историю не восстановить ничем: её или собирали, или нет.

Третья причина: отчёт становится дешёвым. Когда данные уже лежат в таблице, поменять период, глубину или формат сводки можно правкой одного сценария, а не пересборкой всего мониторинга.

Архитектура

Как это устроено

ИСТОЧНИКИ СБОРЩИК · ПО РАСПИСАНИЮ РЕЕСТР ОТЧЁТ · РАЗ В ПЕРИОД RSS-ленты Телеграм-каналы Поиск по словам ТАСС, РИА, VC, Zakon готовый фид ЦРПТ, «Честный знак», Право.ru разбор HTML-страницы выдача по запросам темы через поисковый API Сценарий сбора (n8n) · общий вид: дата, источник, ссылка · отбросить всё, что старше периода · черновой фильтр по ключевым словам · три проверки смысла нейросетью · дедупликация: повтор не пишется дважды · источник молчит → отваливается ветка, остальные доезжают, мне идёт сигнал Нейросеть в трёх шагах из пятидесяти Google-таблица · строка на каждую новость · источник, ссылка, дата · ключ против повторов · отметка «ушла в дайджест» пишет один, читает другой Сценарий отчёта · забрать записи за период · сводка нейросетью · собрать документ · Google Doc и ссылка · сообщение в телеграм · дубль на почту Одно сообщение в период реестр остаётся: на «что менялось за год» есть ответ N8N · GPT · GOOGLE SHEETS · GOOGLE DOCS · GOOGLE DRIVE · TELEGRAM BOT БЕЗ КОДА · В СЦЕНАРИЯХ СБОР И ПОКАЗ РАЗНЕСЕНЫ: КАЖДЫЙ СЦЕНАРИЙ ЖИВЁТ СВОИМ РАСПИСАНИЕМ

Каждая группа источников отдаёт данные по-своему: RSS приходит готовым фидом, телеграм-каналы читаются с публичной веб-версии и разбираются из HTML, поисковая выдача приходит через API. Поэтому у каждого источника своя ветка разбора, и только после приведения к общему виду начинается общая логика: фильтры, нейросеть, дедупликация, запись.

Инженерные решения

Что отличает рабочий сценарий от собранного на коленке

01

Ключ против повторов

Одну и ту же новость перепечатывают по пять раз, и в реестр она попробует лечь пять раз. У каждой записи есть свой ключ, по нему сценарий понимает, что материал уже был, и второй раз не пишет. Без этой мелочи реестр за месяц превращается в кашу, и никакая нейросеть из него сводку потом не соберёт.

02

Чужой сбой не роняет сбор

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

03

Нейросеть только там, где без неё никак

Сначала работают дешёвые фильтры: отсечь по дате, отсечь по ключевым словам. Нейросеть подключается в трёх шагах из пятидесяти с лишним: оценить, действительно ли материал про маркировку, и собрать итоговый разбор. Гонять модель по всему сырому потоку значит платить за токены без выигрыша в качестве.

04

Реестр как актив, а не буфер

Таблица не очищается после отчёта: у записи есть отметка, что она уже ушла в дайджест, а сама строка остаётся. Поэтому реестр отвечает и на разовый вопрос «что было на прошлой неделе», и на годовой «как менялись требования по нашей товарной группе».

05

Документ вместо простыни в чате

Разбор за месяц не влезает в сообщение мессенджера, да и читать его там неудобно. Сценарий собирает документ в Google Docs, открывает доступ по ссылке и присылает в телеграм только шапку: период, глубина, сколько новостей вошло, ссылка. Дубль уходит на почту, чтобы отчёт не терялся в переписке.

06

Период задаётся параметром

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

07

Ссылка на первоисточник в каждой строке

И в реестре, и в дайджесте рядом с выводом всегда стоит ссылка на исходный материал. Сводка нейросети работает как навигация, а решение по срокам и штрафам принимают по первоисточнику, и до него должен быть один клик.

Результат

Что изменилось

Было

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

Стало

Сбор идёт по расписанию и молча копит реестр. Раз в период приходит готовый разбор: отобранные новости, сведённые в направления повестки, со ссылками на первоисточники.

Для бизнеса

1 сообщение вместо ежедневного чтения лент. Главное, что узнаёшь не постфактум, когда уже прилетело, а пока ещё можно среагировать.

Переносимость

Так же мониторят что угодно

Здесь предметом оказалась маркировка, но схема к ней не привязана. Цены конкурентов. Упоминания компании в сети. Новые отзывы на маркетплейсах, особенно негативные. Тендеры по вашей теме. Остатки на складе. Заказы, зависшие в статусе дольше положенного.

Схема везде одна: регулярно проверяем → копим в таблице → раз в период показываем человеку только то, что изменилось. Меняются источники и слова-фильтры, а конструкция из двух сценариев и реестра между ними остаётся той же.

Стек

На чём собрано

Сбор

  • n8n
  • RSS-ленты
  • HTTP и разбор HTML
  • Поисковый API
  • Дедупликация по ключу

Отбор и разбор

  • GPT: оценка релевантности
  • GPT: аналитический дайджест
  • Фильтры по дате и словам

Хранение

  • Google Sheets
  • Реестр с историей
  • Отметка о попадании в отчёт

Доставка

  • Google Docs
  • Google Drive
  • Telegram Bot
  • Дубль на почту

Оба сценария собраны мной в n8n: разбор каждого источника, промпты, дедупликация, оформление документа. Нейросеть здесь не «пишет тексты», а стоит в трёх конкретных местах потока, где нужен смысл, а не правило.

На скриншотах рабочие сценарии и реальный реестр. Ссылка на внутренний документ в сообщении бота скрыта.

Нужен такой мониторинг?

Собираю системы наблюдения под вашу тему: источники, фильтрация, реестр и отчёт, который приходит сам.