← Ко всем open source проектам

The Algorithm

twitter/the-algorithm

The Algorithm — опубликованный исходный код рекомендательной системы X/Twitter для For You Timeline и Recommended Notifications.

Форки 13,280
Автор twitter
Язык Scala
Лицензия AGPL-3.0
Обновлено 2026-06-11

Что это такое

The Algorithm — репозиторий с опубликованным исходным кодом рекомендательной системы X, ранее Twitter. Он интересен не как готовая библиотека, которую можно поставить в свой продукт, а как редкий публичный взгляд на архитектуру крупной социальной платформы.

Репозиторий twitter/the-algorithm появился на GitHub в 2023 году. Основной язык — Scala, лицензия AGPL-3.0. Официальная публикация связана с инженерным блогом Twitter/X и описывает продуктовые поверхности For You Timeline и Recommended Notifications.

Что внутри

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

Упрощенная схема рекомендательной ленты

Фрагмент не копирует код X. Он показывает общий принцип многоступенчатой системы: сначала кандидаты, затем признаки, ранжирование и финальные ограничения продукта.

Язык: Plain text
candidate sources
  -> feature hydration
  -> ranking models
  -> filtering and safety rules
  -> timeline assembly

Где он полезен

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

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

Сильные стороны и ограничения

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

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