Хабр показывает материалы как ленту соцсети: читают в основном свежее и обсуждают, а через пару недель статья уходит из поля зрения и может попасться читателю если на нее приведет внешний поисковик или по пользователь перейдет с внешнего ресурса. В ленте выигрывают частота публикации и объем. При этом за 20 лет на ресурсе накопилась редкая база знаний: некоторые старые статьи до сих пор отвечают на актуальные вопросы, их держат в закладках, а темы живут десятилетиями.

Я отлично понимаю что любой проект в этом мире пытается выжить и получать прибыль. К чести этого ресурса, у читателя есть возможность сконцентрироваться на контенте и не отвлекаться на мерцание рекламы и баннеров! Но в этом же плюсе Хабра кроется и минус - реклама становится не явной, а вплетенной в текст.

Начинаешь читать материал и получаешь ссылки на телеграм каналы в статьях независимых авторов призывающих подписаться. А в корпоративных блогах рекомендации виртуальных машин на хостинге, подписки на агрегаторы AI чатботов, дозы нейрослопа для поисковой оптимизации сайтов и продуктов с 2023 года, продвижение HR бренда компании для создания очереди кандидатов и тому подобное. И с этим вряд ли станет лучше. Не спасет читателя модерация и политики платформы.

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

Я не агитирую “пчел против мёда”! Но предложу свой подход, который позволяет искать нужную информацию среди десятков и сотен тысяч статей. На Хабре есть контент высочайшего качества: описания решений практических задач, фреймворков, технологий, фич и конструкций языков программирования, как выжить в корпорации или стартапе. И все это можно найти как человеку, так и автоматизированным агентам, нужно лишь обработать и подготовить этот массив информации. И да, здесь для обработки статей и их группировки используются нейросети и алгоритмы кластеризации.

Будем группировать 34 тысячи статьи Хабра по смыслу и каталогизировать их, читать похожие по теме не доверяя ключевым словам и хабам которые указал автор материала. Таким же образом вы можете создавать свою локальную базу знаний из личных материалов и записок на работе и дома, при желании не делясь этой информацией с облачными API сервисами нейросетей. Эту же структурированную информацию будет гораздо проще найти и AI агенту для решения ваших технических задач, где нужны точные решения, алгоритмы и “рецепты”.

Материал в статье, не скрывающийся под спойлером, написан вручную дедовским “ламповым” методом. Однако в этой статье многие свои утверждения буду подкреплять ссылками и статистикой под спойлером - это автоматизированная аналитика по базе знаний от “бездушной LLM машины”, которую буду добавлять сюда один в один.

База знаний из 34 тысячи статей с Хабра

Это моя субъективная подборка, считаю что самые интересные или резонансные материалы здесь набрали либо рейтинг от 100, либо у публикации от 100 комментариев, либо ее сохранили от 100 раз в закладки, либо прочитали более 100 тыс. раз. Итого в выборке оказалось около 10% от общего числа доступных статей на ресурсе на середину июня 2026.

Какие поля и данные извлекаются из каждого текста я уже рассказывал в своей прошлой публикации “Некорпоративный Хабр: семантический поиск и фильтрация по структурированным полям в браузере (llama.cpp в WebAssembly)”. В этот раз я увеличил охват материалов и расходы на их обработку c помощью Gemma-4-31B. На извлечение признаков из этих статей ушло 75$, на кластеризацию результатов тратится гораздо меньше, но экспериментов по группировки и измерения их качества было значительно больше.

Статистика по обработке статей и описание процесса
  1. Корпус.

    • 34 270 статей 2006–2026 годов. Каждая статья — markdown-файл с метаданными: заголовок, дата, автор, хабы, теги, просмотры, рейтинг, закладки, комментарии.

    • Приложение обходит папку и раскладывает метаданные по полям базы.

    • Отбор: рейтинг от 100, или от 100 комментариев, или от 100 закладок, или от 100 тысяч просмотров.

  2. Модель читает статью.

    • На каждую статью модель возвращает JSON по схеме, около 30 полей: заголовок, аннотация, смысл, TL;DR, ключевые слова, темы, ключевые выводы, аудитория, тональность, жанр, тип документа, предметная область, полнота, противоречия, приёмы демагогии, реклама, персональные данные, NSFW.

    • Результат анализа на английском; Причина этого - экономия токенов и лучшая работа с английским компактных локальных LLM моделей

    • Ответ проверяется по схеме.

    • Модель — google/gemma-4-31b-it через OpenAI-совместимый API. Приложение умеет работать и с локальными Ollama и llama.cpp.

    • На корпус ушло 266 млн входных и 52 млн выходных токенов, в среднем 7,8 тыс. и 1,5 тыс. на статью.

    • Анализ через OpenRouter обошёлся в $75,30 — около $0,002 за статью, или $2,20 за тысячу статей.

    • Прогон шёл в 30 параллельных потоков. Медианный вызов длился 53 секунды, весь корпус занял 30 часов активной работы, а с перерывами — двое суток.

  3. Эмбеддинги.

    • Отдельный вектор строится для аннотации, смысла и аудитории, а также для каждой темы, топика и вывода.

    • Модель — Qwen3-VL-Embedding-2B, всего 384 756 векторов размерности 2 048.

    • Всё лежит в одной базе DuckDB размером около 13,6 ГБ.

  4. Группы и названия.

    • HDBSCAN на видеокарте (CUDA или Vulkan) делит статьи на группы, в группе минимум 3 статьи.

    • Модель называет каждую группу по-русски, описывает общие признаки и может исключить чужие статьи. Исключённые статьи предлагаются соседним группам.

    • Затем названия групп сами группируются в уровни дерева, а статьи вне групп притягиваются голосованием ближайших соседей.

    • Качество проверяется метриками и LLM-судьёй: тест на лишний элемент, проверка заголовков.

    • LLM-вызовы для кластеризации обошлись в $33,92, так что весь эксперимент стоил около $109.

  5. Что получилось в пространстве «Смысл».

    • 30 300 статей (88%) разложены по 7 245 группам.

    • Дерево из экспорта habr_meaning: 7 245 → 1 516 → 203 → 19 разделов.

Группировка материалов

После того как из статей извлечены признаки и на них рассчитаны эмбеддинги, настает время кластеризации.

Создавая новую коллекцию выбираю поле “Смысл” и запускаю работу HDBSCAN алгоритма в своем приложении, который группирует семантически похожие статьи, используя их эмбеддинги. Для каждой группы с помощью LLM создается ее название и описание, какие общие черты у публикаций в группах и какие из кандидатов в группу нейронка считает не подходящими. Когда все листовые группы созданы алгоритмом, в ход вступает агломеративная кластеризация их в дерево.

Пример групп для регулярных выражений
Пример групп для регулярных выражений

А далее можно экспортировать иерархию групп статей в html, markdown, json или xml. В случае с markdown вы можете использовать привычный вам Obsidian и работать с подготовленной базой знаний в нем. Либо открыть/опубликовать вашу группировку материалов как статический веб сайт с возможностью просматривать в режиме 3D связи между группами.

Экспорт групп
Экспорт групп

Результаты группировки значений статей я выложил на github pages

Регулярные выражения в 3D режиме просмотра связей
Регулярные выражения в 3D режиме просмотра связей

Проблемы читателей и авторов технических публикаций

Лента в стиле соцсети позволяет удерживать аудиторию и возвращаться к чтению Хабра снова и снова. Но что хорошо для коротких новостей и фото пятничных котиков, противоположно по мотивации чтению сложных и объемных технических публикаций. После того как позиция в ленте вытесняется более новыми публикациями все меньше шансов что эту информацию вообще кто-либо прочтет и оценит/прокомментирует. Хочет ли проводить много времени за листанием ваша целевая аудитория или она появляется спонтанно на очень короткое время?

Немного из материалов Хабра на тему ленты

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

Статистика по 34 тысячам публикаций говорит что...

И вот тут начинается самое интересное. Заголовки статей иногда не соответствуют фактическому содержанию, публикация добавлена не в те хабы, ключевые слова добавлены “от балды” или шуточно. Ну и текущая система таксономии хабов - это лишь одна из возможных проекций тематической классификации. А ведь у статьи есть еще выводы, дополнительные темы и целевая аудиторий, по которым тоже хотелось бы искать. И эту работу лучше переложить на нейросеть, она может монотонно с незначительным разбросом от ожидаемого выдавать название статьи по смыслу, краткое содержание, ключевые слова и целевую аудиторию для каждого из материала. И инструментом для этого я поделился бесплатно четыре месяца назад.

Авторы часто не могут найти что уже написано по данной теме и снова и снова повторяются с минимальной новизной того что они пишут. А есть темы которые можно рассказывать снова и снова, если “упаковать” это в уникальную авторскую обертку

Замечание о вечных темах и статьях похожих по смыслу
  • Закладки. Статьи до 2015 года — это 53% выборки и 58% всех закладок. Статьи до 2020 года — 80% выборки и 84% закладок. Больше всего закладок у статей 2012–2014 годов. Оговорка: закладки копятся годами.

  • Тихие справочники. 5 218 статей (15% выборки) попали в неё только благодаря закладкам: рейтинг и комментарии у них ниже 100. Их мало обсуждали, зато сохраняли, и медиана просмотров у них самая высокая — 153 тыс. против 20 тыс. у статей, прошедших только по комментариям. Это справочный слой архива: к таким статьям возвращаются, но в ленте они не заметны.

  • Темы живут десятилетиями.

    • В 2 559 из 7 245 смысловых групп есть статьи и до 2015 года, и начиная с 2020-го. В этих группах 43% всех сгруппированных статей.

    • У трети статей до 2015 года (5 978 из 18 094) есть смысловой «сосед» из 2020-х.

  • Одну тему пишут заново. Группа «Регулярные выражения»:

    • 2011 — пособие для новичков, 924 тыс. просмотров;

    • 2018 — «в Python от простого к сложному», 1,8 млн;

    • 2021 — «основы», 1,3 млн;

    • 2024 — «простыми словами», две части.

Группа

Статей

Годы

До 2015 / с 2020

Медиана просмотров

Закладок всего

Язык программирования Rust

43

2012–2026

4 / 27

39 904

5 104

Эффективность работы в командной строке Linux/Unix

27

2011–2025

8 / 12

122 509

16 982

Парадокс Ферми

27

2012–2026

4 / 11

30 479

1 821

Оценка языка PHP

21

2008–2025

9 / 8

26 703

3 805

Методы эффективного изучения языков

20

2007–2025

9 / 6

108 574

9 029

Модульное тестирование и TDD

19

2008–2022

8 / 5

32 537

6 116

Архитектура и проектирование программного обеспечения

19

2013–2025

5 / 6

69 308

4 605

Настройка и использование SSH

16

2008–2023

8 / 4

190 016

13 901

Регулярные выражения

15

2009–2024

7 / 5

237 439

10 903

Алгоритмы на графах

12

2009–2024

8 / 4

122 293

3 351

Проектирование REST API и ресурсов

12

2011–2025

4 / 7

47 664

2 920

Арифметика чисел с плавающей запятой

12

2011–2025

4 / 5

53 911

4 109

Примеры статей из нескольких категорий, которые можно читать снова и снова:

Тема

Год

Статья

Просмотры

Закладки

Регулярные выражения

2011

Регулярные выражения, пособие для новичков. Часть 1

923 726

1 150

Регулярные выражения

2018

Регулярные выражения в Python от простого к сложному…

1 796 041

2 680

Регулярные выражения

2021

Регулярные выражения (regexp) — основы

1 295 113

1 334

Регулярные выражения

2024

Регулярные выражения простыми словами. Часть 1

64 983

819

Регулярные выражения

2024

Регулярные выражения простыми словами. Часть 2

29 847

404

SSH

2012

Памятка пользователям ssh

1 603 807

7 265

SSH

2017

Магия SSH

552 683

1 834

SSH

2022

Магия ssh

81 472

497

SSH

2023

SSH для новичков

435 238

231

Командная строка

2015

Искусство командной строки

252 130

2 313

Командная строка

2025

Терминал — ваш лучший друг: 5 утилит командной строки, которые заменят вам GUI

57 410

548

Вот ссылка на созданную программой группировку материалов для регулярных выражений.

Как это может улучшить Хабр

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

На основе этой же группировки можно было бы добавить блок “На эту тему писали раньше” под статьей, где автор мог бы понять что уже написано на эту тему и в чем именно ему стоит быть оригинальнее.

Добавить к статье поля “тон”, “приемы демагогии” итп чтобы читателю было заранее понятно стоит ли читать эту публикацию.

Классификацию и группировку 34тыс. статей Хабра по смыслу, вы можете открыть и смотреть семантические группы в режиме 3D навигатора https://igor-suhorukov.github.io/habr_articles/

Выводы

Интересного и полезного контента на Хабре много - не хватает навигации по тому что написано сообществом за последние 20 лет. Лента показывает свежее, а встроенный поиск находит только то что ты знаешь как искать, хабы созданы как исторически сложилось и ценные материалы ждут случайного перехода из гугла или яндекса. Группировка по смыслу статей закрывает именно этот разрыв. Модель обрабатывает статьи и извлекает из них структурированную информацию по заданным полям, эмбеддинги и алгоритмы кластеризации собирают похожее вместе и LLM дает этим группам осмысленное название, а агломеративная кластеризация собирает группы в дерево. По этому дереву может искать как человек, так и AI агент выполняя запрос пользователя

Причем это оказалось подьемно для одного человека - 34тыс. статей обошлись в 109$ включая множество экспериментов и устранения ошибок программы кластеризации. Этот же подход сработает и на ваших собственных текстах и заметках, документации и архивах материалов. Возможно даже сделать это на домашнем компьютере или ноутбуке с мощной видеокартой от 16Gb VRAM если вы не хотите отдавать личные данные в облачные API

Буду рад замечаниям в комментариях по качеству групп и их названий: какие темы разъезались, какие слиплись в одну группу и по какому критерию статьи вам бы было интереснее искать.