【2026年8月】Xのおすすめアルゴリズムが公開されました|わかったことまとめ
2026年8月14日、X(旧Twitter)がおすすめタイムラインを動かしているプログラムそのものを公開しました。
「なぜ自分の投稿は伸びないのか」を、推測ではなく書かれているとおりに確認できるようになった、ということです。
この記事では、公開されたコードから読み取れることを、専門用語をできるだけ使わずにまとめます。数字はすべて実際のファイルから引いていて、末尾に出典を置いています。
先に結論だけ
長い記事なので、大事なところを最初に3つ書いておきます。
1. 返信とリポストは、おすすめに出ません
「おすすめ」に載せる候補を選ぶ段階で、返信とリポストは判定すらされずに除外されます。フォロワーのタイムラインには出ますが、知らない人に届く経路がありません。
2. 連投すると、自分の投稿同士で潰し合います
同じ人の投稿が続くと、2投稿目は0.625倍、3投稿目は0.4375倍まで点数が下がります。
3. 一番重いのは「いいね」ではありません
「リンクをコピーして共有」が、いいねの40倍の価値を持っています。
タイムラインは4段階で作られる
アプリを開いてスクロールしたとき、裏側では毎回この4段階が走っています。
段階1|候補を集める(約3000件)
3つの経路から、まとめて候補を持ってきます。
| 経路 | 件数 | 何を持ってくるか |
|---|---|---|
| Thunder | 1200件 | フォローしている人の投稿 |
| Phoenix | 1000件 | あなたの興味に近い投稿(未フォロー含む) |
| SimClusters | 800件 | 似た興味を持つ人が反応した投稿 |
合計で約3000件。ここから絞り込みが始まります。
ちなみに Thunder は新しい順に並べているだけで、ランキングは一切していません。フォロー中タブが時系列なのはこのためです。
段階2|18個のフィルタを通す
集めた候補を、18個の条件で順番にふるいにかけます。主なものを挙げます。
- 投稿から48時間以上経っている
- すでに表示したことがある(直近10分・100件を記憶しています)
- ミュートしたキーワードを含む
- 未フォローの人のリポスト・返信である
- 自分自身の投稿である
「同じ投稿が何度も出てこない」のは、2番目の仕組みによるものです。
段階3|点数をつけて上位50件を選ぶ
ここが本体です。候補ひとつひとつについて、
「あなたがその投稿に対して、どんな行動を取りそうか」
をAIが予測します。いいねしそうな確率、返信しそうな確率、通報しそうな確率……といった具合です。
そしてその予測確率に、行動ごとの重みを掛けて合計します。
点数 = Σ ( 重み × その行動が起きる予測確率 )重みの一覧は後半に載せます。
段階4|似た投稿を落として35件にする
最後に、内容が似ている投稿を落とします。ここは「順位を下げる」のではなく、点数を0にして落とすという処理でした。
そこに広告・おすすめユーザー・アンケートを挿し込んで完成です。おすすめユーザーは必ず6番目に入ります。
こうして、3000件が最終的に35投稿になります。
行動ごとの重み
段階3で使われる重みです。いいね(0.5)を基準にすると、こうなります。
| 行動 | 重み | いいね比 |
|---|---|---|
| リンクをコピーして共有 | 20.0 | 40倍 |
| 相互フォローの投稿への返信 ※ | 20.0 | 40倍 |
| 返信 / 引用 / DMで共有 | 5.0 | 10倍 |
| 作者をフォロー | 4.0 | 8倍 |
| 共有 | 2.0 | 4倍 |
| リポスト | 1.0 | 2倍 |
| いいね | 0.5 | 基準 |
| 投稿をクリック | 0.4 | — |
| リンクを開く | 0.2 | — |
| プロフィールクリック | 0.0 | — |
| ブックマーク | 項目なし | — |
マイナス側です。
| 行動 | 重み |
|---|---|
| 通報 | −234.0 |
| 作者をミュート | −58.8 |
| 「興味がない」 | −43.2 |
| 作者をブロック | −31.2 |
| 滞在せずにスクロール | −0.02 |
※ 相互フォローの相手のオリジナル投稿に返信した場合、返信の重み5.0に15.0が加算されます。2026年7月24日に20.0から引き下げられました。
ここを間違えている記事が多いです
「通報1件はいいね468件分を打ち消す」という説明を見かけますが、これは誤りです。公式の説明書に、名指しで否定が書かれています。
重みは、その行動が起きる確率に掛かるものであって、エンゲージメントの件数に掛かるものではありません。
−234 ÷ 0.5 = 468 という割り算自体は合っていますが、意味が違います。「通報される確率が高い投稿は大きく減点される」ということであって、「通報1件でいいね468件が消える」ではありません。
伸ばしたい人が押さえるべき4点
1. オリジナル投稿を書く
冒頭のとおり、返信とリポストはおすすめ用のインデックスに登録されません。
コミュニティ投稿? → スキップ
返信? → スキップ
リポスト? → スキップ
それ以外 → ここで初めて索引に登録インデックスに入らないということは、未フォローの人向けの検索対象にならないということです。リプライで伸ばす、という戦略には構造的な限界があります。
なお、検索用のインデックスだけは例外で、返信も登録されます。「おすすめには出ないが、検索では出る」が正確な理解です。
2. 連投しない
1回のタイムラインの中で、同じ人の投稿が続くと倍率が下がります。
(1 − 0.25) × 0.5 ^ n + 0.251投稿目 1.0倍 → 2投稿目 0.625倍 → 3投稿目 0.4375倍 → 最終的に0.25倍。
投稿数を増やしても、増やした分だけは伸びません。
3. 48時間以内が勝負
投稿から48時間を過ぎた候補は、フィルタの段階で落とされます。それ以降に伸びることはありません。
4. 始めたばかりなら、追い風があります
新しいアカウントを助ける仕組みが実装されています。条件は具体的です。
- オリジナル投稿である(返信・リポストは対象外)
- 作者のフォロワーが1000人以下
- 投稿の表示回数が1000回未満
- 投稿から24時間以内
これらを満たす投稿が、35件中15〜16番目に1件だけ差し込まれます。全体的な優遇ではなく、1リクエストにつき1件です。
届かなくなる仕組みについて
いわゆる「シャドウバン」に関わる部分も公開されています。
判定の結果は3種類しかありません。
- Allow(表示する)
- Drop(表示しない)
- Interstitial(警告をかぶせて、タップで見られる)
重要なのは、ルールが2つのリストに分かれていることです。
| リスト | 適用先 |
|---|---|
| 基本ルール | すべての表示 |
| 推薦専用ルール | おすすめに出すときだけ |
アカウント単位の制限は、ほぼすべてが推薦専用リストに入っています。
つまり——
- フォロワーのタイムラインには、これまでどおり出る
- 未フォローの人のおすすめには出ない
- 投稿した本人にも、いつもどおり見えている
「自分では普通に見えるのに、新しいフォロワーが増えなくなった」という状態は、この仕組みで説明がつきます。
そして、アカウントに付いたラベルには7日間の有効期限が設定されています。原因になった投稿をやめれば、7日で自動的に外れる設計です。解除申請の窓口はコード上に存在しません。
注意点
公開されたのはおすすめタイムライン部分です。以下は含まれていません。
- 検索、トレンド、通知の並び順
- 学習済みのモデルそのもの(構造だけ公開)
- 一部の判定しきい値(意図的に伏せられています)
- 実際に本番で使われている設定値の一部
また、コード内の値には「2026年8月12日時点の同期」と注記があります。今後変わる可能性があります。
実際、相互フォローへの返信の重みは、公開の3週間前(7月24日)に20.0から15.0へ引き下げられています。数値を見るときは日付を確認してください。
出典
すべて xai-org/x-algorithm から引用しています。
| 内容 | ファイル |
|---|---|
| 重みの数値 | home-mixer/params/param.rs |
| 候補の件数・48時間 | home-mixer/params/config.rs |
| 処理の順序 | phoenix_candidate_pipeline.rs |
| 連投の減衰・コールドスタート | home-mixer/scorers/ |
| 返信・リポストの除外 | phoenixRankAllCandidateProcessor.strato |
| 表示判定の3種類 | visibility-filtering/models/mod.rs |
| ルールの2リスト構成 | visibility-filtering/rules/registry.rs |
| フォロー中タイムライン | thunder/config.rs |