Xの「おすすめ」に何が効いているのか。その数値が、いまはコードとして読める形で置かれている。
いいねは0.5、返信は5.0、報告は−234.0。xAIが公開しているリポジトリ「x-algorithm」の設定ファイルに、そのまま書かれている数字だ。
この数字は多くの解説記事で紹介されている。ただしその大半が、xAI自身が誤りだと明記した読み方をしている。
誤読のもとになっているのは、重みどうしの比を件数の等価に読み替える操作である。割り算そのものは合っているが、掛かる相手を取り違えている。
ここでは実際のファイルを行番号まで確認したうえで、数字と、その正しい読み方を並べる。参照日は2026年9月4日である。
公開は二度に分かれていた
リポジトリ「xai-org/x-algorithm」が作られたのは2026年1月19日である。翌20日の最初のコミットは「Open-source X Recommendation Algorithm」と題されている。
ライセンスはApache-2.0で、誰でも中身を読める。星の数は3万を超え、コードは本稿の執筆時点でも更新が続いている。
ただし、この時点で重みは入っていない。重みが記された `home-mixer/params/param.rs` が追加されたのは、2026年8月13日のコミットだ。
「Xがアルゴリズムを公開した」という一文は、この二つの出来事を一つに潰している。コードの公開と、数値の公開のあいだには7か月近い開きがある。
公開の範囲も限定されている。読めるのはホームタイムラインを組み立てる部分で、学習済みモデルそのものが置かれているわけではない。
ファイルの1行目には、設定のデフォルト値を写したものであることと、最終同期の日時が書かれている。つまり、この値は固定ではない。
記事や運用の判断でこの数字を使うなら、参照した日付を必ず添えるべきだ。翌週には別の値になっている可能性がある。
実際の重みを並べる
`param.rs` に書かれている主要な値は次の通りである。行番号は2026年9月4日時点のものだ。
- いいね:0.5(314行)
- 返信:5.0(315行)/相互フォロー相手の投稿への返信は+15.0の加算(316〜321行)
- リポスト:1.0(328行)
- 引用:5.0(364行)
- 共有:2.0(350行)/DMでの共有5.0/リンクをコピーしての共有20.0
- 滞在:0.05(363行)
- 興味なし:−43.2/ミュート:−58.8/ブロック:−31.2
- 報告:−234.0(474行)
目を引くのは、いいねの低さである。0.5という値は、リンクをコピーして共有する行動の40分の1にあたる。
閲覧に近い行動はさらに軽い。リンクを開くのは0.2、写真を広げるのは0.05、動画を開くのは0.07にとどまる。
値が0.0のまま置かれている項目もある。プロフィールへのクリックがその一つで、いまは順位に効いていない。
負の側はさらに極端だ。報告の−234.0は、絶対値でいいねの468倍になる。
ミュートは−58.8、興味なしは−43.2、ブロックは−31.2である。報告だけが桁を一つ超えている。
この「468倍」から、ある読み方が広まった。通報が1件つくと、いいね468件分が打ち消される、という説明である。
「通報1件はいいね468件分」は誤りだ
結論から書く。この読み方は誤りである。そう書いているのは第三者ではなく、xAI自身だ。
`param.rs` の285行から続くコメントに、こうある。それぞれの重みは、その行動が起きる「予測確率」に掛かるのであって、生のエンゲージメント数に掛かるのではない。
続けて、よくある誤解として「1件の報告が468件のいいねを打ち消す」という言明を名指しで挙げ、これは誤りだと書いている。同じ文面はREADMEにも載っている。
コードのコメントで特定の誤読を名指しする例は珍しい。それだけ広く出回っていた、ということでもある。

なぜ報告だけ桁が違うのか。同じコメントが理由を書いている。報告が起きる基礎確率は、いいねの1000分の1以下だからだ。
頻度の低い行動ほど重く配分する、という考え方だ。重みの大きさは、その行動の重大さだけを表しているわけではない。
確率が極端に小さい行動は、そのままでは最終的な順位にほとんど影響しない。順位に効かせるために、重みのほうを大きくしてある。
たとえば報告される確率が0.1%と予測された投稿は、いいねされる確率が高い投稿と比べても、寄与の絶対値はごく小さい。
スコアの計算式そのものも公開されている。各行動の予測確率に重みを掛けて足し合わせる、という形だ。実装は掛け算1行で書かれている。
予測確率は0から1のあいだの値である。重みが234でも、確率が0.001なら寄与は0.234にしかならない。
コメントは、組織的な大量通報についても触れている。予測しているのは「あなたがその行動を取る確率」であり、件数の合計ではない。
加えて、推薦は個人ごとに最適化されている。悪意ある通報は、主にその通報者と似た利用者への表示に影響し、全員の順位に同じように効くわけではない。
もう一点、集計の対象はホームタイムラインに表示された投稿での行動に限られる。投稿へ直接移動して行われた操作は、順位に影響しないと書かれている。
運用で効くのは相互フォローとリンクコピー
数字を運用に落とすとき、比率をそのまま件数に読み替えることはできない。それでも、設計者が何を重く見ているかは読み取れる。
重みは順位付けの入口にすぎない。それでも、公開された値を自分で読むことと、他人の要約を読むことは別の作業である。
最も高いのは、リンクをコピーしての共有で20.0である。表に見えない共有ほど強く評価されている、という設計になっている。
DMでの共有も5.0で、いいねの10倍にあたる。表に出る数字より、私信で回る動きのほうが強く見られている。
次に高いのが、相互フォロー相手の投稿への返信だ。基本の5.0に15.0が加算され、20.0になる。
加算の条件は実装で特定できる。相手が相互フォローであり、かつその投稿が返信でもリポストでもないオリジナルであることだ。
引用も5.0で、リポストの1.0より5倍高い。何も足さずに回すより、一言を足したほうが重く扱われる。
著者をフォローするという行動には4.0が置かれている。投稿単体ではなく、書き手そのものへ関心が移ったときの値だ。
これらは「予測確率に掛かる係数」であって、行動の報酬表ではない。ただし、どの行動が起きやすい投稿が伸びやすいかという傾向は読める。
注意点を二つ。これはホームタイムラインの「おすすめ」の重みであって、検索や通知やトレンドの重みではない。
対象が違えば設計も違う。おすすめの並び替えと、検索結果の並び替えは、別の仕組みとして動いている。
そしてこの加重和のあとに、著者の多様性、フォロー外の割引、新規著者の加点という三つの補正が入る。重みだけで順位が決まるわけではない。
表示の可否を決めるフィルタも別に動いている。重みが高い投稿が必ず前に出る、という話ではない。
公開されたのは、判断の材料であって答えではない。数字が読めるようになったぶん、読み違えの責任もこちら側に移った。
一次情報が公開されたときに、それをどう扱うかという問題は他の領域でも同じだ。生成AIが引用するプレスリリースの偏りも、オウンドメディアがAIの参照先になった件も、元の資料に当たれるかどうかで書けることが変わる。
Sources / 参考資料
