Cyber News

X выложила ранжирование «Для вас» почти целиком: веса алгоритма в открытом коде и проверка теневого бана

M
Markabus
·16 августа 2026 г.
Тёмное рабочее место разработчика: крупный монитор с исходным кодом и цветной подсветкой синтаксиса, рядом панель с числовыми параметрами и второй экран с графиками

13 августа 2026 года X опубликовала крупное обновление репозитория xai-org/x-algorithm — того самого, где лежит код ленты «Для вас». По оценке TechCrunch, открытая кодовая база выросла примерно в 10–15 раз относительно предыдущих выкладок. Главное отличие от прошлых релизов: вместе с кодом наконец опубликованы числовые веса ранжирования — коэффициенты, которые превращают предсказания модели в итоговую позицию поста в ленте. Лицензия — Apache 2.0.

Параллельно в настройках приложения появился раздел «Under the hood» («под капотом»), из которого пользователь может выгрузить JSON с метками, применёнными к его аккаунту и постам за прошедший месяц. Проще говоря — инструмент, который отвечает на вопрос «меня что, шедоубанят?» не догадками, а данными платформы.

Что именно лежит в репозитории

Это не «алгоритм» одним файлом, а несколько взаимодействующих сервисов. По документации проекта лента собирается так:

  • Home Mixer — оркестратор. Он запускает конвейер: подтягивает контекст запроса, собирает кандидатов, обогащает их данными, прогоняет фильтры, считает оценки и выбирает финальный набор.
  • Thunder — in-memory хранилище (данные держатся в оперативной памяти ради скорости) свежих постов от аккаунтов, на которые вы подписаны. Это источник «in-network»-кандидатов.
  • Phoenix — поиск и ранжирование постов от тех, на кого вы не подписаны («out-of-network»), плюс сама модель-ранжировщик. Это трансформер; в документации предыдущих версий указывалось, что архитектура портирована из языковой модели Grok-1, а хендкрафтовые признаки и большая часть эвристик убраны в пользу обучаемого представления.
  • SimClusters — второй источник out-of-network-кандидатов, работающий на кластеризации сообществ.
  • Candidate Pipeline — каркас, на котором всё это собрано.

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

Веса: сколько «стоит» каждое действие

Итоговая оценка поста считается по простой формуле, которую репозиторий приводит явно:

Final Score = Σ (weight_i × P(action_i))

Модель предсказывает вероятность каждого действия (лайк, ответ, репост, цитата, клик, дочитывание, а также негативные реакции), эти вероятности умножаются на коэффициенты и складываются. Сами коэффициенты лежат в файле home-mixer/params/param.rs. Вот ключевые из них.

Позитивные сигналы

  • Шеринг через «копировать ссылку» — 20,0
  • Ответ — 5,0; если автор и читатель подписаны друг на друга, к ответу добавляется бонус +15,0 (итого те же 20)
  • Цитата — 5,0; отправка в личные сообщения — 5,0
  • Подписка на автора после просмотра поста — 4,0
  • Обычный шеринг — 2,0
  • Репост — 1,0
  • Лайк — 0,5
  • Клик по посту — 0,4; переход по внешней ссылке — 0,2
  • Раскрытие фото или запуск видео — 0,05
  • Клик по профилю и время «залипания» (dwell) — 0,0, то есть в текущей конфигурации не влияют

Негативные сигналы

  • Жалоба (report) — −234,0
  • Мьют автора — −58,8
  • «Не интересно» — −43,2
  • Блокировка автора — −31,2

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

Почему «один репорт = 468 лайков» — неверное прочтение

Как только веса разошлись по сети, появилась эффектная арифметика: −234 делим на 0,5 — получаем, что одна жалоба стирает 468 лайков. Разработчики X специально добавили в документацию августовского обновления оговорку: веса умножаются на предсказанные вероятности, а не на количество событий. Модель не считает, сколько лайков собрал пост, — она оценивает, с какой вероятностью конкретный читатель совершит каждое действие. Поэтому «−234» не вычитается из накопленных лайков; он умножается на вероятность жалобы, которая для нормального поста близка к нулю и заметной становится только для контента, который модель и так считает проблемным.

Практический вывод из этого спокойнее, чем вирусная формула: одна жалоба от случайного читателя не «убивает» пост. Но если модель видит, что для вашей аудитории вероятность жалоб, мьютов и «не интересно» устойчиво повышена, отрицательный вклад начинает доминировать — и вытащить это лайками действительно почти невозможно.

Помимо самой суммы, к оценке применяются три корректировки: затухание для автора, который часто попадается в одной ленте (author diversity decay), понижающий множитель для постов не из подписок и, наоборот, бустинг показов для новых авторов.

«Under the hood»: как проверить метки своего аккаунта

Вторая часть релиза — инструмент прозрачности в самом приложении. В настройках появился раздел «Under the hood», где можно выгрузить JSON-файл с агрегированной статистикой: какие метки применялись к аккаунту и его постам за прошлый календарный месяц. Условия на момент запуска:

  • нужно не менее 10 постов за последний месяц;
  • пилот раскатывают на аккаунты, зарегистрированные не менее года назад, полный доступ обещают позже.

Файл — машинный, читать его вручную неудобно. X прямо предлагает нетехническим пользователям скормить JSON языковой модели вместе с ссылкой на репозиторий и попросить объяснить. Вице-президент по продукту Кит Коулман сформулировал цель так: пользователь должен получить ответ на вопросы «меня шедоубанят?» и «почему я вижу этот пост?». По его словам, «люди будут довольно шокированы тем, что мы это выкладываем».

Что осталось закрытым

Полной прозрачности не случилось, и компания этого не скрывает. Не опубликованы:

  • промпты, по которым Grok классифицирует контент и предсказывает нарушения правил — их придержали, чтобы модерацию не обходили;
  • часть правил botmaker;
  • обученные веса самой модели и обучающие данные — в репозитории есть код обучения и генератор синтетических данных для proof-of-concept, но не боевая модель.

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

Почему это важно

Для разработчика рекомендательных систем это редкий случай, когда продакшен-конвейер крупной платформы можно читать целиком, а не по научным статьям: видно, как устроен candidate sourcing, где стоят фильтры, как разнесены ранжирование и visibility, как выглядит конфигурация весов в реальном сервисе. Репозиторий уже собрал около 27,5 тыс. звёзд и 4,7 тыс. форков, а внешние исследователи, по данным TechCrunch, сумели самостоятельно запустить скоринг Phoenix.

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

Не менее важен и прецедент. Публикация коэффициентов — это добровольная сдача части «коммерческой тайны» ради проверяемости: теперь заявления платформы о нейтральности ленты можно сверять с кодом. В августовское обновление, к слову, попал и код фильтрации, связанный с соблюдением требований к выборам в Бразилии — то есть регуляторная логика тоже стала видимой. Насколько за этим последуют другие площадки — вопрос открытый, но планка прозрачности поднялась.

Частые вопросы

Q.Где посмотреть сами веса ранжирования?

В открытом репозитории xai-org/x-algorithm на GitHub, файл home-mixer/params/param.rs. Там лежат константы вроде FavoriteWeight (0,5), ReplyWeight (5,0), ShareViaCopyLinkWeight (20,0) и негативные — ReportWeight (−234,0), MuteAuthorWeight (−58,8), NotInterestedWeight (−43,2), BlockAuthorWeight (−31,2). Код опубликован под лицензией Apache 2.0.

Q.Правда ли, что одна жалоба перекрывает 468 лайков?

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

Q.Как проверить, есть ли на моём аккаунте метки?

В настройках приложения появился раздел «Under the hood», откуда можно выгрузить JSON с метками, применёнными к аккаунту и постам за прошлый календарный месяц. Нужно минимум 10 постов за месяц; на старте функцию раскатывают на аккаунты старше года. Файл можно разобрать самостоятельно или передать языковой модели вместе со ссылкой на репозиторий.

Q.Что осталось закрытым?

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

Источники

Предыдущая
Tensor G6 в Pixel 11 оказался 3-нанометровым: Google не стала первой на 2 нм, но прибавила 50% к ИИ-ускорителю

Читайте также

Макросъёмка кремниевого кристалла процессора на антистатическом коврике лабораторного стенда, позади — пластина кремния с синим переливом. Иллюстрация · изображение не отражает реальный продуктCyber News
15 августа 2026 г.

Tensor G6 в Pixel 11 оказался 3-нанометровым: Google не стала первой на 2 нм, но прибавила 50% к ИИ-ускорителю

Google представила Pixel 11 и процессор Tensor G6, а на следующий день подтвердила: чип сделан на улучшенном 3-нанометровом техпроцессе TSMC, а не на 2 нм, как обещали слухи. Разбираем, что это меняет и почему главный прирост поколения — в ИИ-ускорителе, а не в универсальных ядрах.

Читать →
Крупный план монитора на рабочем столе разработчика: на тёмном экране плотные строки кода с цветной подсветкой синтаксиса, рядом в расфокусе клавиатура, кабели и второй экран с терминаломCyber News
15 августа 2026 г.

PHP 8.6 Beta 1: состав релиза зафиксирован — частичное применение функций, Time\Duration и безопасные сессии по умолчанию

13 августа вышла первая бета PHP 8.6 — и в тот же день закрылось окно для новых возможностей. Разбираем, что войдёт в релиз: частичное применение функций в паре с пайп-оператором, класс Time\Duration, полинг-API для асинхронных фреймворков, новые значения по умолчанию для сессий и длинный список устаревших функций.

Читать →
Крупный план монитора на тёмном графитовом столе: слева текстовый редактор с абзацем текста, справа панель метаданных о происхождении контента; рядом клавиатура, кабель и накопитель в расфокусе. Иллюстрация · изображение сгенерировано ИИCyber News
13 августа 2026 г.

Claude начал ставить невидимый водяной знак на весь текст: что это значит для тех, кто пишет и кодит с ИИ

Anthropic объявила, что весь текст, который выдаёт Claude, теперь несёт невидимый водяной знак, а файлы подписываются метаданными C2PA. Метка работает во всех продуктах — от API до Claude Code — по всему миру, и отключить её нельзя. Разбираемся, как это устроено, что метка на самом деле доказывает и о чём стоит подумать разработчикам и владельцам сайтов.

Читать →