Борьба за экранное время в рекомендательных системах давно упёрлась в потолок банального тематического матчинга. Когда платформа уже понимает, что пользователь любит автомобили или путешествия, дальнейший рост метрик упирается в компоновку разнородных форматов и фильтрацию скрытого шума в данных. Как сообщил руководитель группы рекомендаций ленты «ВКонтакте» (AI VK) Степан Малькевич, за прошедшие месяцы 2026 года время пользователей в ленте выросло на 11% — исключительно за счёт инженерной перестройки ранкера и блендера.
Алгоритм из растровой графики в блендере ленты
За финальную сборку ленты отвечает блендер — компонент, объединяющий разнородный контент в единый пользовательский поток. Команда «ВКонтакте» внедрила ML-модели, которые рассчитывают персональный баланс коротких клипов и стандартных текстовых публикаций. Если два пользователя интересуются одной темой, один может предпочитать лонгриды, а второй — исключительно видео. Система строит индивидуальную пропорцию выдачи на основе истории их взаимодействий.
Раньше за чередование форматов отвечал стохастический алгоритм: тип следующей карточки разыгрывался с заданной вероятностью. Из-за дисперсии случайная генерация постоянно ломала баланс на коротких экранных отрезках. Чтобы убрать перекосы, вероятностный розыгрыш заменили классическим алгоритмом Брезенхема.
«Его придумали для растровой графики: он решает, какие пиксели закрасить, чтобы наклонная линия на сетке выглядела ровной».
В рекомендательной ленте алгоритм выполняет аналогичную задачу: аккумулирует отставание по каждому формату и на каждом шаге отдает позицию наиболее отставшему типу контента, гарантируя жесткую геометрию выдачи на каждом экране устройства.
Композитный мультитаргет и очистка сигналов
Второй пласт оптимизации затронул ранкер, определяющий очередность показа публикаций. Модель перевели с классического мультитаргета на композитный: вместо независимого суммирования изолированных действий рассчитывается единая интегральная оценка взаимодействия.
В новой схеме пользовательские события строго сегментировали на три группы: однозначно положительные (лайк, подписка, репост, закладка), однозначно отрицательные (скрытие, жалоба, отписка) и неоднозначные (пересылка в сообщении, переход в сообщество или профиль автора). При этом микродействия вроде открытия фотографии или разворачивания текста полностью исключили из положительных сигналов: клики слишком часто маскируют кликбейт, искажая функцию потерь. Время просмотра стало модификатором: сверхкороткий просмотр пенализирует скор как скип, а длинный — повышает. Противоречивые действия (например, одновременный лайк и скрытие поста) целиком вырезаются из обучающей выборки, ликвидируя шум.
Кейс наглядно демонстрирует переход от монолитных рекомендаций к динамическому смешиванию форматов. Рост удержания достигается не экстенсивным раздуванием моделей, а строгой математической раскладкой выдачи и бескомпромиссной очисткой обучающей выборки от паразитных кликов.