Xがアルゴリズムの重みを実数値で公開しました。リンクのコピー共有は20.0、いいねは0.5。ところが公開の翌日、xAIはコードの中に「この数字をそう読むのは誤りだ」という注記を書き足しています。開いたはずの情報が、なぜ誤って伝わるのでしょうか。
xAIは2026年8月13日、Xの「For You」フィードを動かす推薦システムのコードを追加公開した。ランキングに使う重みの実数値、投稿を表示するかどうかを決める可視性フィルタリング一式、ランキングモデルPhoenixの学習コードなどが加わった。
重みはリンクをコピーしての共有が20.0、リプライが5.0、いいねが0.5、通報が−234.0と定められている。翌14日には、これらの重みは予測された確率に掛かるものであり、実際のエンゲージメント数に掛かるものではないとする注記がコード内に追加された。
あわせて、自分のアカウントや投稿に付いた可視性制限ラベルを確認できる「Under the Hood」の試験提供も始まっている。ライセンスはApache-2.0。
公開されたのは、重みの実数値だった
2026年1月、Xは推薦アルゴリズムをGitHubで公開しました。ただしその時点では、コードの構造は読めても、ランキングに使う主要な重みや設定値は含まれていません。仕組みの形は追えるが、実際の挙動を外から再現して確かめるのは難しい。そういう状態でした。
8月13日の更新は、その部分に手を入れたものです。
8月13日に追加されたもの
本稿で注目する追加点は主に3つ。ランキングの重みを含む設定パラメータ、投稿の表示可否に関わる可視性フィルタリング、そしてPhoenixの本番学習コードです。ほかに、フォロー外の投稿を見つける候補生成のSimClustersも加わりました。Phoenixについては、デモ用の模型ではなく実際にモデルを訓練しているコードが同梱され、小規模なモデルなら手元で学習から推論まで通せる状態です。
重みは、数値がそのまま書かれています。リンクをコピーしての共有が20.0、リプライと引用とDM共有が5.0、著者のフォローが4.0、リポストが1.0、いいねが0.5。ネガティブ側は通報が−234.0、ミュートが−58.8、「興味がない」が−43.2、ブロックが−31.2。
主要プラットフォームとしては異例の水準
推薦アルゴリズムの主要なシグナルや考え方を説明しているプラットフォームはあります。ただし少なくともMeta、TikTok、YouTubeの公式資料では、個々のランキング係数を実数値で並べた例は見当たりません。主要プラットフォームとしては異例の水準です。
公開の翌日、コードに誤読への答えが書き足された
興味深いのは、8月14日の追補です。
「通報1回はいいね468個分」はなぜ誤りなのか
数値が出た直後、「通報1回はいいね468個分に相当する」という読み方が広まりました。234を0.5で割った数字です。これに対してxAIは、コード内のコメントで明確に否定しました。
重みが掛かる相手は予測された確率であって、実際に何回その行動が起きたかではない。P(通報)に−234を掛けているのであり、通報された回数に掛けているのではない。そして通報が起きるベース確率はいいねの1000分の1以下しかないため、係数を大きくしないと予測値が最終スコアに反映されない。だから絶対値が大きい。
大量通報が効きにくい2つの理由
同じコメントには、悪意ある集団による大量通報が効きにくい理由も2点、書き添えられています。推薦は閲覧者ごとに個別化されているため、そうした通報は主に「通報した人たちに似た利用者」への推薦に影響すること。そして、ホームタイムラインに配信された投稿への行動しか計上されないため、グループチャットでURLを回して直接飛んだ先での行動はランキングに影響しないこと。
公開したコードに対する誤読を、同じコードの中で訂正する。これは珍しい形です。ドキュメントや広報発表ではなく、参照される場所そのものに答えを置いている。
それでも、古い数字は流通し続けている
一方で、公開の水準が上がったことと、世に出回る情報が正確になることは、別の話でした。
出所は3年前の、別のリポジトリ
いま検索すると、「リプライは13.5」「通報は−369.0」といった数字を載せた解説が数多く見つかります。これらの出所として確認できるのは、2023年に公開された旧Twitterの機械学習リポジトリ twitter/the-algorithm-ml です。同リポジトリのREADMEに、2023年4月5日時点の重みとして掲載されていました。現行コードでは、リプライが5.0、通報が−234.0です。
失われるのは、数値ではなく定義のほう
注意が要るのは、旧版の数値がそのまま現行の項目に対応しないことです。
たとえば75.0という大きな値がよく引かれますが、これは reply_engaged_by_author、つまり「利用者が投稿に返信し、その返信に元投稿者が反応する確率」に付いていた重みです。元投稿者が返信すること自体を指すわけではありません。12.0も同様で、単純なプロフィールクリックではなく good_profile_click、すなわち「著者プロフィールを開いたうえで、投稿にいいねまたは返信する」という複合的な行動でした。現行の ProfileClickWeight は0.0ですが、同じ予測項目を比べているわけではないので、12から0へ下がったという読み方はできません。
数値が独り歩きするとき、失われるのはたいてい定義のほうです。
古い情報が残り続ける構造
これは書き手の怠慢というより、構造の問題だと考えたほうが実態に合っています。旧数値の出所となった twitter/the-algorithm-ml とは別に、2023年公開の本体リポジトリ twitter/the-algorithm も、いまなおアーカイブされずに残っています。2026年8月17日の確認時点でStar数は約7.4万と、現行の約3.2万を上回る状態です。3年分の解説記事が旧版を前提に積み上がり、それを読んで書かれた記事がさらに積み上がる。一次情報が更新されても、二次情報の層は自動では入れ替わりません。
生成AIに尋ねた場合も、最新の情報を検索して参照しない設定であれば、旧版の説明が返ってくることがあります。どの版の情報が返るかは、モデルの学習時点や参照機能によって異なります。
透明性の水準を上げることと、正しい情報が行き渡ることの間には、まだ距離があります。コードを開いた側の努力とは別に、読む側の作法が問われる段階に入ったとも言えます。
READMEが前面に出すものも変わった
1月の公開時、この文書は冒頭からGrokベースのTransformerモデルであることを繰り返し説明していました。設計思想を並べた「Key Design Decisions」の1番目は「No Hand-Engineered Features」で、手作業で設計された特徴量を一つ残らず排除し、ヒューリスティックも大半を除いたことを強調しています。
8月13日版では、この項目とGrokへの言及が消えました。1月版で4番目だった「Multi-Action Prediction」が1番目へ繰り上がり、新たに4番目として「Ranking and Visibility Are Separate」——ランキングと可視性は別物である、という項目が加わっています。代わりに、透明性についての説明が各所に置かれました。
前面に出す論点が、アーキテクチャの刷新から、透明性と可視性の説明へ広がった。今回の公開内容そのものと対応した変化です。
一つの世代だけでできているわけではない
実装を見ると、公開されたシステムが単一の技術系統でできているわけではないことも分かります。
判定する側と、判断材料をつくる側
For Youを組み立てる home-mixer、表示可否を判断する visibility-filtering、違反への対処を担う abuse-enforcement-service は Rust です。一方、その判断に使うラベルやアカウントスコアを作る周辺には、ルールエンジンの botmaker、ルールを適用する scarecrow、アカウントを多面的に評価する agatha や user-cred-v2 など、ScalaやJavaを含むシステムがあります。
Twitter時代から使われてきたSimClusters
さらに、今回加わった候補生成の SimClusters は、旧Twitter時代から使われてきた仕組みです。2020年にKDDで論文が発表され、2023年公開の旧リポジトリにも実装が含まれていました。フォロー関係を二部グラフとして扱い、重なり合うコミュニティを見つけて、そこから推薦候補を引いてくる。新しいRust基盤に全面的に置き換わった、という単純な構図ではありません。
これは後ろ向きな話ではありません。長く運用されてきた仕組みには、それだけの理由があります。書き直すべきものと、そうでないものが分かれている。
ただし、言語やディレクトリ構成だけから、それぞれの実装が旧Twitter時代のコードをそのまま引き継いでいるとまで断定することはできません。公開コードから確実に読み取れるのは、役割も技術系統も異なる部品が組み合わされている、というところまでです。
透明性の形が「スナップショット」から「差分」に変わる
リポジトリには docs/BIDIRECTIONAL_BOOST_CHANGE.md という文書が置かれています。
相互フォロー優遇は、こう決められた
7月に話題になった、相互フォロー相手の投稿を優遇する変更の記録です。7月10日にA/Bテストを開始し、一部の利用者を5、10、15、20のいずれかにランダムに割り当てた。多くの利用者はこの時点では0、つまりブーストなしのままでした。13日には結果が良かったため20を多くの利用者に適用し、24日に15へ引き下げています。その理由として、ワールドカップの時期にフォロー外の投稿が多く、話題が流れてこないという声が挙がったことが書かれています。そして、実際のコードの差分がそのまま載っています。
これは「今どうなっているか」ではなく、「何がいつ、なぜ変わったか」を追える形です。READMEにも、今後の変更は差分で理解できるようになる、という趣旨が記されています。推薦アルゴリズムの変更履歴が外部から追跡できるようになれば、「なんとなく仕様が変わった気がする」という議論の仕方そのものが変わります。
ただし、リポジトリの値は本番の値ではない
もっとも、リポジトリの値がそのまま本番で動いているわけではありません。多くのパラメータは設定システム側から読み込まれ、リポジトリのデフォルト値は定期的な同期で主要な本番値に合わせている、と説明されています。タイムラインの一部トラフィックでは実験が定期的に行われているため、いま自分に適用されている値がこの通りとは限りません。Groxのプロンプトと一部のルールも、対策されることを避けるため非公開のままです。
その代わりに用意されたのが Under the Hood で、パイロット提供の参加者は、自分のアカウントや投稿に付いた可視性に影響するラベルの集計情報を確認できます。コードで仕組みを見せ、ツールで結果を見せる。二段構えの設計になっています。
これから開くもの
長く「シャドウバン」と呼ばれてきた現象は、噂と体感の領域にありました。今回、フォロー外への推薦時にのみ適用され、該当時には投稿を落とすことしかできない追加のルール群が存在することが、コードとして読める状態になっています。この追加ルール群はフォロワーには適用されません。ただし、それはフォロワーへの表示を保証するものではなく、ランキングや別のフィルタで届かないこともあります。俗称の全体がこれで説明できるわけでもありません。
それでも、疑うか信じるかの二択だったものが、読んで確かめ、必要なら異議を唱える対象になりました。議論の土俵が変わったことのほうが、個々の数値より大きな変化かもしれません。
xAIはREADMEで、監査や批評、あるいは改善への協力を歓迎すると書いています。開かれた側が何を返すのか。次はこちらの番です。
【関連記事】
X「x-algorithm」を解説|Grok基盤で変わった推薦設計
1月に公開されたリポジトリの内部構造を解説した記事。今回の追加公開が何の上に積まれたものなのか、その前提となる設計を扱っている。
xAI「x-algorithm」5月15日アップデート
5月15日の更新でGroxや広告モジュールが加わったことを報じた記事。1月の初回公開から8月の追加公開に至るまでの経緯が追える。
Musk、Xのレコメンドアルゴリズム全公開を宣言
アルゴリズムを全面公開するという1月の宣言を報じた記事。当時の受け止めと、公開範囲に対して寄せられた留保が記録されている。
【編集部後記】
旧リポジトリのREADMEを開いて、少し意外だったことがあります。スコアが「重み×予測された確率」の総和であることは、2023年の時点ですでに書かれていました。読み解く材料は3年前から揃っていたわけです。
それでも「通報1回はいいね468個分」という換算は広まりました。数字は運ばれやすく、その数字がどんな式のどこに入るのかは運ばれにくい。今回の公開で、あなたが最初に確かめたのはどちらでしたか。
【用語解説】
For You
Xの「おすすめ」タブ。時系列ではなく、機械学習モデルが投稿を選んで並べる表示面を指す。フォロー中のアカウントの投稿と、フォローしていないアカウントの投稿が混在する。
Phoenix
Xのランキングモデル。閲覧者ごとに「この投稿にいいねする確率」「返信する確率」といった複数の行動確率を予測する。予測された確率に重みを掛けて足し合わせたものが、最終的なスコアになる。
重み
予測された行動確率を、最終スコアにどれだけ反映させるかを決める係数。行動が実際に何回起きたかに掛かるものではない点に注意が要る。
可視性フィルタリング
投稿を閲覧者に見せてよいかどうかを判定する処理。投稿の順番を決めるランキングとは別のシステムとして設計されている。
SimClusters
フォロー関係を二部グラフとして扱い、重なり合うコミュニティを見つけて、そこから推薦候補を引き出す仕組み。2020年にKDDで論文が発表され、Twitter時代から使われてきた。
Under the Hood
自分のアカウントや投稿に付いた、可視性に影響するラベルの集計情報を確認できる透明性ツール。パイロット提供中。
ヒューリスティック
経験則に基づいて設計された簡便な判断規則。機械学習モデルが自動的に学習する規則とは対比される。
A/Bテスト
一部の利用者に異なる設定を適用し、結果を比較する試験。今回公開された相互フォローの優遇設定も、この手順で値が決められた。
Apache-2.0
オープンソースライセンスの一つ。改変や商用利用を認め、特許の扱いについても定めがある。
【参考リンク】
xai-org/x-algorithm(GitHub)(外部)
Xの「For You」フィードを動かす推薦システムのソースコード。重みの実数値、可視性フィルタリング、Phoenixの学習コードを含む。
Under the Hood(X)(外部)
自分のアカウントと投稿に付いた、可視性に影響するラベルの集計情報を確認できるページ。パイロット提供のため全員が使えるとは限らない。
Our Approach to Facebook Feed Ranking(Meta Transparency Center)(外部)
Metaがフィードのランキングを説明する公式ページ。予測モデルと入力シグナルの種類は示されるが、個々の係数の数値は公開されていない。
How TikTok recommends videos #ForYou(TikTok Newsroom)(外部)
TikTokがFor Youフィードの推薦の仕組みを説明した公式記事。考慮する要素の種類は列挙されるが、重み付けの数値は示されていない。
【参考記事】
Heavy Ranker(twitter/the-algorithm-ml)(外部)
いま流通する「リプライ13.5」「通報−369.0」などの出所。2023年4月5日時点の重みとして掲載され、算出式も明記されている。
SimClusters(twitter/the-algorithm)(外部)
2023年公開の旧リポジトリに含まれるSimClustersの説明。フォロー関係を二部グラフとして扱い、推薦候補を生成する仕組みを解説。
SimClusters: Community-Based Representations for Heterogeneous Recommendations at Twitter(外部)
SimClustersの原論文。数十億規模のネットワークに対応する、重なり合うコミュニティを発見するアルゴリズムを提案している。
Communities Recommendations(X Help Center)(外部)
X公式のヘルプページ。SimClustersの考え方を、フォロー関係を表す二部グラフの図を交えながら、平易に説明している。


















