Открытый код раскрыл бонусы для новых авторов, штрафы за негативные реакции и борьбу с однообразной лентой.
<div class="articl-text-cover" style="position:relative;width:100%;max-width:800px;margin-left:auto;margin-right:auto;aspect-ratio:1024/572;margin-bottom:2rem;overflow:hidden">
<div itemprop="articleBody">Алгоритм ленты X перестал быть почти полной чёрной коробкой. Команда соцсети выложила на GitHub производственный код системы рекомендаций «Для вас», включая модель Phoenix, реальные коэффициенты ранжирования, фильтры видимости и механизмы, которые решают, показать публикацию незнакомому человеку или незаметно убрать её из рекомендаций. Августовский релиз оказался намного содержательнее прежних публикаций исходного кода, а некоторые параметры объясняют странности X лучше многолетних догадок маркетологов и авторов.
Главное изменение появилось 13 августа 2026 года. X добавила конфигурацию с рабочими весами сигналов, код фильтрации публикаций, системы оценки спама и злоупотреблений, SimClusters и полноценную версию Phoenix. Ранние публикации содержали в основном демонстрационную реализацию рекомендательной модели. Теперь в репозитории находится код, которым обучают и обслуживают Phoenix в production, включая JAX-модели, обучающий код и серверную часть на Rust. Для экспериментов разработчики добавили синтетические данные и уменьшенные конфигурации, которые можно запустить без внутренней инфраструктуры X. Код распространяется по лицензии Apache 2.0.
Лента «Для вас» собирается заново при каждом запросе пользователя. Система Thunder приносит свежие публикации аккаунтов, на которые человек подписан. Phoenix и SimClusters ищут материалы за пределами круга подписок. Phoenix сначала сокращает миллионы потенциальных кандидатов до небольшой выборки, затем трансформер прогнозирует реакцию конкретного пользователя на каждую публикацию. Модель пытается угадать вероятность лайка, ответа, репоста, цитирования, перехода по ссылке, открытия фотографии или видео, подписки на автора, отправки публикации в личные сообщения, копирования ссылки, длительного просмотра, жалобы, блокировки, отключения автора и нажатия «Не интересно».
После прогноза X превращает вероятности в общий рейтинг. Именно здесь августовский код раскрыл самые интересные цифры. Базовый коэффициент ожидаемого лайка равен 0,5, репоста 1, обычного шаринга 2, ответа 5, цитирования 5, отправки через личные сообщения 5, подписки на автора 4. Самый большой положительный коэффициент среди привычных действий получила отправка публикации через скопированную ссылку, 20. Прогнозируемый переход по публикации получает 0,4, переход по внешней ссылке 0,2, открытие фотографии или видео 0,05. Получается, вероятность того, что человек скопирует ссылку и отправит её кому-то вне стандартного интерфейса X, влияет на формулу в 40 раз сильнее вероятности лайка.
У негативных сигналов значения намного крупнее. «Не интересно» имеет коэффициент −43,2, блокировка автора −31,2, отключение публикаций автора −58,8, жалоба −234. На первый взгляд можно решить, что одна жалоба уничтожает эффект 468 лайков. Именно такую трактовку начали распространять после публикации кода, поэтому 14 августа разработчики специально дописали пояснение. Коэффициенты умножаются не на реальное число лайков, жалоб или блокировок, а на вероятность того, что конкретный зритель совершит соответствующее действие. Вероятность жалобы в среднем более чем в тысячу раз ниже вероятности лайка, поэтому системе нужен крупный отрицательный коэффициент, чтобы редкий сигнал вообще влиял на итоговый балл.
По той же причине массовые жалобы не работают как простая кнопка для уничтожения чужих охватов. X пишет в комментариях к коду, что реакция влияет прежде всего на рекомендации людям с похожим поведением. Кроме того, алгоритм учитывает негативное действие для ранжирования только тогда, когда публикация попала человеку в домашнюю ленту. Если группа пользователей получила ссылку в чате, открыла публикацию напрямую и начала массово жаловаться, такие переходы не должны давать тот же эффект рекомендательной системе.
После основного расчёта X дополнительно меняет позиции. Публикации одного автора постепенно получают понижающий коэффициент, чтобы лента не заполнялась одним аккаунтом. В опубликованной конфигурации каждое следующее появление автора получает множитель с затуханием 0,5, но не ниже 0,25. Материалы аккаунтов, на которые пользователь не подписан, получают коэффициент 0,75. Затем отдельный VMRanker переставляет публикации так, чтобы соседние записи меньше походили друг на друга. X сознательно немного жертвует математическим рейтингом ради разнообразия ленты.
В коде присутствует и механизм помощи небольшим авторам. README прямо описывает New-Author Boost, который поднимает публикации с небольшим числом показов ближе к заданной позиции. В текущих параметрах cold start фигурируют порог в 1000 показов, лимит в 1000 подписчиков, максимальный возраст публикации в 24 часа и целевая область примерно около 15-й и 16-й позиции. Логика сложнее простого «всем новичкам дадут охваты», поскольку часть параметров зависит от экспериментальных групп, но сам механизм продвижения малоизвестных авторов теперь виден в исходном коде.
До ранжирования система выкидывает дубликаты, публикации старше 48 часов, уже показанные записи, материалы заблокированных или отключённых аккаунтов, публикации с заглушёнными пользователем словами и закрытый контент для подписчиков. Отдельная система Visibility Filtering работает уже с метками безопасности. Spam High Recall, вредоносные ссылки, некоторые разновидности NSFW-контента и другие категории могут оставаться доступными подписчикам автора, но перестают показываться незнакомым пользователям через рекомендации. Такая архитектура хорошо объясняет ситуации, когда автор продолжает видеть публикацию в профиле и получает реакции от постоянной аудитории, однако приток новых просмотров внезапно исчезает.
Список меток оказался большим. X различает спам, вредоносные ссылки, сексуальный контент, жестокие изображения, оскорбления, разжигание ненависти, насильственные высказывания, нарушения правил гражданской добросовестности, скомпрометированные аккаунты и подражание другим людям. В коде сохранилась даже метка <code>FOR_EMERGENCY_USE_ONLY</code>, предназначенная для чрезвычайных ситуаций. Публикации с такой меткой показываются за предупреждением и не попадают в домашнюю ленту. Для <code>FOSNR_CIVIC_INTEGRITY</code> видимость может ограничиваться страницей самого автора.
Одновременно X запустила экспериментальный инструмент Under the Hood. Участники теста могут выгрузить JSON со сводной статистикой меток, которые за последний месяц применялись к аккаунту и публикациям и могли ограничивать видимость. По данным TechCrunch, пилот сначала охватывает случайную группу подходящих аккаунтов возрастом не менее года, которые опубликовали минимум десять записей за последний месяц. Отчёт пока не показывает полноценную историю по каждой отдельной публикации, поэтому назвать Under the Hood точным «детектором теневого бана» нельзя. Инструмент скорее позволяет увидеть, накладывала ли система ограничения и какие категории сработали.
Августовская публикация раскрыла и менее очевидные источники данных. В текущей конфигурации включены контекстные признаки, географические признаки, подготовка данных о приложениях, установленных у пользователя, и поле с предполагаемым полом пользователя. Также включены явные и неявные сигналы вовлечённости, а максимальная длина последовательности для retrieval и scoring установлена в 1024 элемента. Само наличие включённого параметра не доказывает, что каждый такой признак напрямую меняет рейтинг каждой публикации, но код показывает, что рекомендательный конвейер умеет подготавливать подобные данные для дальнейшей обработки.
Полностью открытой система всё же не стала. X намеренно не публикует конкретные промты Grox и часть правил Botmaker, поскольку готовые инструкции позволили бы спамерам подстраиваться под защиту. Не опубликована и вся внутренняя инфраструктура, включая production-потоки данных, оркестрацию кластеров и телеметрию. TechCrunch также сообщает, что часть систем на базе Grok, которые определяют возможные нарушения правил, осталась закрытой. Поэтому репозиторий позволяет достаточно подробно понять путь публикации через рекомендации, но не воспроизводит весь X с точностью до последнего решения.
Есть ещё одна оговорка. Значения в GitHub нельзя считать вечными правилами X. Компания постоянно проводит эксперименты, а часть параметров приходит из внутренней конфигурационной системы. X заявляет, что заметные эксперименты примерно от 10% трафика хочет отражать в открытом репозитории, а cron-задачи периодически синхронизируют публичные значения с основными production-настройками. Файл с коэффициентами, опубликованный сейчас, содержит отметку о последней синхронизации 12 августа 2026 года. Поэтому советы вроде «ответ всегда ровно в десять раз полезнее лайка» быстро превращаются в псевдонауку. Коэффициенты показывают устройство текущей формулы, но X может изменить значения без изменения общей архитектуры.
История публикации алгоритма тоже получилась менее регулярной, чем обещал Илон Маск. В январе Маск говорил, что X будет выкладывать обновлённый алгоритм каждые четыре недели вместе с подробными заметками разработчиков. Публичная история нынешнего репозитория показывает коммиты 20 января, затем 15 мая и только после этого 13 и 14 августа. Ежемесячного ритма по GitHub не получилось. Зато августовский выпуск действительно дал намного больше информации, чем прежние версии, а TechCrunch оценивает новый объём открытого кода примерно в 10–15 раз выше предыдущего.
Самый практический вывод из кода выглядит проще любых «секретов вирусности». X пытается предсказать не количество реакций вообще, а ценность публикации именно для конкретного человека. Лайк оказался сравнительно слабым сигналом. Ответы, цитаты, личные отправки, новые подписки и особенно копирование ссылки система ценит гораздо выше, а желание скрыть автора или пожаловаться резко снижает прогнозируемую ценность. При этом охват зависит не только от рейтинга. Отдельный слой правил способен оставить публикацию доступной существующим подписчикам и одновременно перекрыть рекомендации незнакомой аудитории. Именно разделение ранжирования и видимости превращает опубликованный репозиторий из очередной красивой схемы алгоритма в довольно подробную инструкцию по тому, как X решает судьбу каждого поста.
<div class="articl-text-cover" style="position:relative;width:100%;max-width:800px;margin-left:auto;margin-right:auto;aspect-ratio:1024/572;margin-bottom:2rem;overflow:hidden">
<div itemprop="articleBody">Алгоритм ленты X перестал быть почти полной чёрной коробкой. Команда соцсети выложила на GitHub производственный код системы рекомендаций «Для вас», включая модель Phoenix, реальные коэффициенты ранжирования, фильтры видимости и механизмы, которые решают, показать публикацию незнакомому человеку или незаметно убрать её из рекомендаций. Августовский релиз оказался намного содержательнее прежних публикаций исходного кода, а некоторые параметры объясняют странности X лучше многолетних догадок маркетологов и авторов.
Главное изменение появилось 13 августа 2026 года. X добавила конфигурацию с рабочими весами сигналов, код фильтрации публикаций, системы оценки спама и злоупотреблений, SimClusters и полноценную версию Phoenix. Ранние публикации содержали в основном демонстрационную реализацию рекомендательной модели. Теперь в репозитории находится код, которым обучают и обслуживают Phoenix в production, включая JAX-модели, обучающий код и серверную часть на Rust. Для экспериментов разработчики добавили синтетические данные и уменьшенные конфигурации, которые можно запустить без внутренней инфраструктуры X. Код распространяется по лицензии Apache 2.0.
Лента «Для вас» собирается заново при каждом запросе пользователя. Система Thunder приносит свежие публикации аккаунтов, на которые человек подписан. Phoenix и SimClusters ищут материалы за пределами круга подписок. Phoenix сначала сокращает миллионы потенциальных кандидатов до небольшой выборки, затем трансформер прогнозирует реакцию конкретного пользователя на каждую публикацию. Модель пытается угадать вероятность лайка, ответа, репоста, цитирования, перехода по ссылке, открытия фотографии или видео, подписки на автора, отправки публикации в личные сообщения, копирования ссылки, длительного просмотра, жалобы, блокировки, отключения автора и нажатия «Не интересно».
После прогноза X превращает вероятности в общий рейтинг. Именно здесь августовский код раскрыл самые интересные цифры. Базовый коэффициент ожидаемого лайка равен 0,5, репоста 1, обычного шаринга 2, ответа 5, цитирования 5, отправки через личные сообщения 5, подписки на автора 4. Самый большой положительный коэффициент среди привычных действий получила отправка публикации через скопированную ссылку, 20. Прогнозируемый переход по публикации получает 0,4, переход по внешней ссылке 0,2, открытие фотографии или видео 0,05. Получается, вероятность того, что человек скопирует ссылку и отправит её кому-то вне стандартного интерфейса X, влияет на формулу в 40 раз сильнее вероятности лайка.
У негативных сигналов значения намного крупнее. «Не интересно» имеет коэффициент −43,2, блокировка автора −31,2, отключение публикаций автора −58,8, жалоба −234. На первый взгляд можно решить, что одна жалоба уничтожает эффект 468 лайков. Именно такую трактовку начали распространять после публикации кода, поэтому 14 августа разработчики специально дописали пояснение. Коэффициенты умножаются не на реальное число лайков, жалоб или блокировок, а на вероятность того, что конкретный зритель совершит соответствующее действие. Вероятность жалобы в среднем более чем в тысячу раз ниже вероятности лайка, поэтому системе нужен крупный отрицательный коэффициент, чтобы редкий сигнал вообще влиял на итоговый балл.
По той же причине массовые жалобы не работают как простая кнопка для уничтожения чужих охватов. X пишет в комментариях к коду, что реакция влияет прежде всего на рекомендации людям с похожим поведением. Кроме того, алгоритм учитывает негативное действие для ранжирования только тогда, когда публикация попала человеку в домашнюю ленту. Если группа пользователей получила ссылку в чате, открыла публикацию напрямую и начала массово жаловаться, такие переходы не должны давать тот же эффект рекомендательной системе.
После основного расчёта X дополнительно меняет позиции. Публикации одного автора постепенно получают понижающий коэффициент, чтобы лента не заполнялась одним аккаунтом. В опубликованной конфигурации каждое следующее появление автора получает множитель с затуханием 0,5, но не ниже 0,25. Материалы аккаунтов, на которые пользователь не подписан, получают коэффициент 0,75. Затем отдельный VMRanker переставляет публикации так, чтобы соседние записи меньше походили друг на друга. X сознательно немного жертвует математическим рейтингом ради разнообразия ленты.
В коде присутствует и механизм помощи небольшим авторам. README прямо описывает New-Author Boost, который поднимает публикации с небольшим числом показов ближе к заданной позиции. В текущих параметрах cold start фигурируют порог в 1000 показов, лимит в 1000 подписчиков, максимальный возраст публикации в 24 часа и целевая область примерно около 15-й и 16-й позиции. Логика сложнее простого «всем новичкам дадут охваты», поскольку часть параметров зависит от экспериментальных групп, но сам механизм продвижения малоизвестных авторов теперь виден в исходном коде.
До ранжирования система выкидывает дубликаты, публикации старше 48 часов, уже показанные записи, материалы заблокированных или отключённых аккаунтов, публикации с заглушёнными пользователем словами и закрытый контент для подписчиков. Отдельная система Visibility Filtering работает уже с метками безопасности. Spam High Recall, вредоносные ссылки, некоторые разновидности NSFW-контента и другие категории могут оставаться доступными подписчикам автора, но перестают показываться незнакомым пользователям через рекомендации. Такая архитектура хорошо объясняет ситуации, когда автор продолжает видеть публикацию в профиле и получает реакции от постоянной аудитории, однако приток новых просмотров внезапно исчезает.
Список меток оказался большим. X различает спам, вредоносные ссылки, сексуальный контент, жестокие изображения, оскорбления, разжигание ненависти, насильственные высказывания, нарушения правил гражданской добросовестности, скомпрометированные аккаунты и подражание другим людям. В коде сохранилась даже метка <code>FOR_EMERGENCY_USE_ONLY</code>, предназначенная для чрезвычайных ситуаций. Публикации с такой меткой показываются за предупреждением и не попадают в домашнюю ленту. Для <code>FOSNR_CIVIC_INTEGRITY</code> видимость может ограничиваться страницей самого автора.
Одновременно X запустила экспериментальный инструмент Under the Hood. Участники теста могут выгрузить JSON со сводной статистикой меток, которые за последний месяц применялись к аккаунту и публикациям и могли ограничивать видимость. По данным TechCrunch, пилот сначала охватывает случайную группу подходящих аккаунтов возрастом не менее года, которые опубликовали минимум десять записей за последний месяц. Отчёт пока не показывает полноценную историю по каждой отдельной публикации, поэтому назвать Under the Hood точным «детектором теневого бана» нельзя. Инструмент скорее позволяет увидеть, накладывала ли система ограничения и какие категории сработали.
Августовская публикация раскрыла и менее очевидные источники данных. В текущей конфигурации включены контекстные признаки, географические признаки, подготовка данных о приложениях, установленных у пользователя, и поле с предполагаемым полом пользователя. Также включены явные и неявные сигналы вовлечённости, а максимальная длина последовательности для retrieval и scoring установлена в 1024 элемента. Само наличие включённого параметра не доказывает, что каждый такой признак напрямую меняет рейтинг каждой публикации, но код показывает, что рекомендательный конвейер умеет подготавливать подобные данные для дальнейшей обработки.
Полностью открытой система всё же не стала. X намеренно не публикует конкретные промты Grox и часть правил Botmaker, поскольку готовые инструкции позволили бы спамерам подстраиваться под защиту. Не опубликована и вся внутренняя инфраструктура, включая production-потоки данных, оркестрацию кластеров и телеметрию. TechCrunch также сообщает, что часть систем на базе Grok, которые определяют возможные нарушения правил, осталась закрытой. Поэтому репозиторий позволяет достаточно подробно понять путь публикации через рекомендации, но не воспроизводит весь X с точностью до последнего решения.
Есть ещё одна оговорка. Значения в GitHub нельзя считать вечными правилами X. Компания постоянно проводит эксперименты, а часть параметров приходит из внутренней конфигурационной системы. X заявляет, что заметные эксперименты примерно от 10% трафика хочет отражать в открытом репозитории, а cron-задачи периодически синхронизируют публичные значения с основными production-настройками. Файл с коэффициентами, опубликованный сейчас, содержит отметку о последней синхронизации 12 августа 2026 года. Поэтому советы вроде «ответ всегда ровно в десять раз полезнее лайка» быстро превращаются в псевдонауку. Коэффициенты показывают устройство текущей формулы, но X может изменить значения без изменения общей архитектуры.
История публикации алгоритма тоже получилась менее регулярной, чем обещал Илон Маск. В январе Маск говорил, что X будет выкладывать обновлённый алгоритм каждые четыре недели вместе с подробными заметками разработчиков. Публичная история нынешнего репозитория показывает коммиты 20 января, затем 15 мая и только после этого 13 и 14 августа. Ежемесячного ритма по GitHub не получилось. Зато августовский выпуск действительно дал намного больше информации, чем прежние версии, а TechCrunch оценивает новый объём открытого кода примерно в 10–15 раз выше предыдущего.
Самый практический вывод из кода выглядит проще любых «секретов вирусности». X пытается предсказать не количество реакций вообще, а ценность публикации именно для конкретного человека. Лайк оказался сравнительно слабым сигналом. Ответы, цитаты, личные отправки, новые подписки и особенно копирование ссылки система ценит гораздо выше, а желание скрыть автора или пожаловаться резко снижает прогнозируемую ценность. При этом охват зависит не только от рейтинга. Отдельный слой правил способен оставить публикацию доступной существующим подписчикам и одновременно перекрыть рекомендации незнакомой аудитории. Именно разделение ранжирования и видимости превращает опубликованный репозиторий из очередной красивой схемы алгоритма в довольно подробную инструкцию по тому, как X решает судьбу каждого поста.
- Источник новости
- www.securitylab.ru