- BrainTools - https://www.braintools.ru -

iitog.ru — ежедневный дайджест мировых новостей об ИИ

TL;DR: Представляю вам iitog.ru [1] — дайджест мировых новостей об ИИ, разбавленных оффтопом, с разбором. Сделал для себя, чтобы просматривать на большом экране как газету, но решил поделиться с рунетом. Заходить раз в день, минут на пять-десять. Если зайдёт — пользуйтесь. Есть критика — давайте.

ИИтог: дневной выпуск свёрстан как газетный разворот

ИИтог: дневной выпуск свёрстан как газетный разворот

Уже много лет я ищу для себя источники информации [2] из мира технологий, чтобы быть в курсе, но поверхностно, не проваливаясь в чтение на весь день. С приходом ИИ это стало критически важно: значимые события теперь могут произойти буквально за один день.

Когда-то таким источником был Хабр. Сейчас он, простите, уже не самый свежий. Я подписан на десяток email-рассылок (Python Weekly, PyCoder’s Weekly, JavaScript Weekly, Founder Weekly, дайджесты DEV.to [3], The Rundown AI и ещё несколько с Substack), но открываю их нерегулярно. Последний год стал ходить на Hacker News, но от его удобства хочется плакать глазам: UX не даёт возможности пробежаться и ухватиться за что-то важное или интересное.

И там же, на Hacker News, я однажды наткнулся на презентацию The Front Page [4] — те же новости, но свёрстанные как газетный разворот. Мне сразу зашло: на такой странице взгляд быстро цепляется за важное или интересное. Из нескольких десятков заголовков внимание [5] привлекают два-три за день. Ровно то, что мне надо.

Я захотел такое под себя — и сделал ИИтог (https://iitog.ru [6]). Заодно повесил на каждую новость ответы на вопросы, которые я и так задаю себе, когда разбираю агентом: почему это важно, кому важно, есть ли основания доверять. И отдельно альтернативный взгляд от лица критика. По этим ответам фильтрация происходит у меня в голове с минимальными усилиями: решаю, идти ли в источник, чтобы копнуть глубже и/или поискать другие версии. В ходе разработки к Hacker News добавил ещё несколько источников как эксперимент, давно хотел разобраться, что вообще годится в качестве источников. Оставил в итоге те, с которых новости выходили качественными.

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

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

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

Внутри жёсткая граница между чёткой логикой [7] и языковой моделью.

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

Языковая модель — только там, где нужен язык и суждение: оценить новостную ценность, сгруппировать заметки об одном событии, пересказать текст по-русски, написать редакторскую врезку. Страницу модель не собирает, заголовки в URL не транслитерирует, метрики не пересчитывает.

Базовый стек: Scrapy на сборе, Python-скрипты на механике, сайт на Next.js (в большей мере SSG), новости лежат каждая в отдельном markdown-файле, деплой через CI; из моделей — Haiku и Opus от Anthropic.

Пайплайн целиком:

Scrapy → фетч фронтпейджей, полный текст и картинки, дедуп по URL → пул кандидатов
Haiku  → оценка каждой новости: шесть осей новостной ценности
Haiku  → кластеризация: одно событие с пяти сайтов = одна группа
Скрипт → свёртка осей в importance, топ-N, потолки на событие/компанию/разбавление
Haiku  → пересказ на русский: суть, ключевые пункты, пять глав разбора
Opus   → редакторские врезки к фактам и главам
Скрипт → валидация → сборка markdown → build → коммит → деплой

Пройдусь по неочевидным местам.

Сбор (Scrapy, без LLM). Краулер берёт живой снимок фронтпейджей: Hacker News, HuggingFace daily papers, arXiv плюс редакционные бандлы — блоги лабораторий (OpenAI, DeepMind, Google Research, Microsoft Research, BAIR) и техпресса (MIT Tech Review, Ars Technica, The Register, TechCrunch, The Verge, IEEE Spectrum, Wired, The Decoder, VentureBeat и отдельные авторы вроде Simon Willison). Берёт с запасом, сразу тянет полный текст статьи и og-картинку, считает возраст и скорость набора. Тут же схлопывает точные дубли по URL: одна и та же статья, пришедшая и с Hacker News, и из редакционного RSS, становится одним кандидатом.

Событийная дедупликация (Haiku). Совпадение URL ловит только очевидные дубли. Один инфоповод, поданный пятью редакциями разными словами, точным сравнением не поймать, поэтому отдельный проход группирует новости про одно событие в кластеры. У кластера потолок: не больше заданного числа постов на событие. В контекст этому проходу подаётся список уже опубликованных сегодня постов, так что повторный прогон в громкий день не добавит третью заметку про то же самое.

Пересказ (Haiku, по одной новости на подзадачу). Главный критерий — полнота: читатель должен понять суть, не открывая источник. Что произошло, кто, цифры, центральный тезис, чем подкреплён, чем кончилось. Второй критерий, равный по важности, достоверность: пересказ опирается только на текст источника, без выдуманных фактов, цифр и выводов. Всё по-русски, включая цитаты. Значимость этот шаг уже не трогает, она посчитана раньше.

Редакторские врезки (Opus). Вот здесь, и только здесь, модели разрешены вольности: оценка, ирония, заострение. К ключевым фактам и к каждой из пяти глав разбора дописывается по одной сухой врезке «от редакции».

Почему две разные модели. Оценка и пересказ это массовая механическая работа, её тянет Haiku. Редакторский голос — штука тонкая, её пишет Opus. Гонять дорогую модель на оценке сотни кандидатов бессмысленно, а дешёвая на врезках выдаёт плоско.

Сборка и деплой (скрипты). Валидатор проверяет каждый JSON-артефакт: валиден ли, на месте ли пять глав, тег из закрытого словаря, три–пять пунктов. Дальше детерминированный сборщик клеит markdown по фиксированному шаблону, делает слаги транслитом, проставляет метрики, вытаскивает og-картинки в webp. Затем build как компайл-гейт, коммит, push, а прод пересобирается в CI. Выпуск публикуется сразу.

Оценка и отбор новостей

Каждая новость оценивается по шести осям, каждая 0–100:

- impact -- масштаб последствий;
- novelty -- насколько это новое, а не переупаковка известного;
- relevance -- релевантность теме ИИ;
- surprise -- неожиданность;
- prominence -- вес игрока и площадки;
- credibility -- достоверность.

Оценку выставляет Haiku отдельным проходом на каждую новость. Дальше уже не модель, а скрипт: свёртка шести осей в единый importance по настраиваемым весам, отсечка ниже порога, топ-N.

Изначально отбор строился на хайпе — очках Hacker News, апвотах, скорости набора, но на практике сработало так себе.

Не-AI новости я при этом не выжигаю полностью. У «разбавления», историй с низкой relevance, жёсткий потолок доли выпуска: ИИ доминирует, но пара сторонних сюжетов остаётся, чтобы лента не превратилась в пресс-службу трёх компаний.

## Что не идеально

Пара Haiku + Opus, вероятно, не самый эффективный выбор: я взял их на обкатку, потом, может, оптимизирую на чём-то попроще. Человека в ежедневном цикле нет, поэтому промахи я замечаю постфактум. Но я делал ИИтог для себя, так, чтобы меня как пользователя устраивало, и на этом остановился. Если у вас будет фидбек, конечно рассмотрю: пишите здесь, в личку или на email с сайта (Клод поймает).

Автор: arezvov

Источник [8]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/32621

URLs in this post:

[1] iitog.ru: http://iitog.ru

[2] источники информации: http://www.braintools.ru/article/8616

[3] DEV.to: http://DEV.to

[4] The Front Page: https://thefrontpage.dev

[5] внимание: http://www.braintools.ru/article/7595

[6] https://iitog.ru: https://iitog.ru

[7] логикой: http://www.braintools.ru/article/7640

[8] Источник: https://habr.com/ru/articles/1055306/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1055306

www.BrainTools.ru

Rambler's Top100