Бот, который сам собирает ИИ-новости: 2546 заголовков → 5 в выпуске
Конвейер из 43 источников: сбор, дедупликация, ранжирование и выжимка LLM. Выпуск обходится в $0,0006 — около 22 центов в год.
Мой Telegram-канал ведёт бот: три раза в неделю он сам собирает новости про ИИ и разработку, отбирает пять штук и публикует пост. Я не участвую — только смотрю отчёт.
Как устроен конвейер
43 источника — блоги OpenAI, Anthropic, Google DeepMind, Mistral, аналитика, новостные ленты и Hacker News с порогом в 150 очков. У каждого источника свой вес (tier), категория и набор ключевых слов.
Дальше по шагам:
- Сбор. Все ленты опрашиваются параллельно; падение одного источника не ломает выпуск.
- Фильтры. Окно 36 часов, блок-лист рекламы и подборок, отдельный ИИ-фильтр для непрофильных лент.
- Дедупликация. Канонический URL плюс мера Жаккара по стеммированным токенам заголовка. При совпадении выше 0,55 побеждает первоисточник, остальные уходят в пометку «(+2)».
- Ранжирование. Вес источника × свежесть + темы + подтверждения других лент − штраф за кликбейт.
- Отбор. Не больше двух новостей с одного сайта плюс чередование: два пункта подряд из одного блога — это уже не обзор, а реклама.
Живой прогон: 2546 сырых заголовков → 115 после фильтров → 113 после дедупа → 5 в выпуске. Двенадцать секунд.
Где проходит граница ответственности модели
Модель не касается разметки и ссылок. Она получает список и возвращает JSON вида {intro, items:[{i, title, why}]} — только текст и индексы. HTML собирает код, URL берётся из собранных данных.
Смысл простой: галлюцинация не должна уметь подменить ссылку на источник или сломать вёрстку. Если модель придумает несуществующий адрес, он просто никуда не попадёт — его негде подставить.
Сколько это стоит
Один выпуск — $0,0006. Три выпуска в неделю дают около 22 центов в год. Дороже обходится трафик на скачивание лент.
Главный вывод не про деньги, а про архитектуру: чем меньше зона ответственности модели, тем стабильнее система. LLM здесь — источник формулировок, а не точка отказа.