Xのアルゴリズムとは?「おすすめ」フィード表示の仕組みを公式コードから解説
X(旧Twitter)の「おすすめ(For You)」フィードに何が表示されるかは、「Home Mixer」と呼ばれるオーケストレーション層と、xAIのGrokと同じtransformerアーキテクチャを使った推薦モデル「Phoenix」の組み合わせで決まっている。X社は2026年1月20日にこの仕組みのソースコード一式をGitHubリポジトリ「xai-org/x-algorithm」で全面公開し、以降も5月15日、8月13日と段階的に公開範囲を広げてきた。本記事では、この公式リポジトリのREADME(2026年8月24日時点で確認できる最新版)をもとに、候補集めからスコアリング、最終的な並び替えまで「おすすめ」表示が組み上がる流れを整理する。あわせて、企業アカウントの運用担当者がこの仕組みを踏まえて投稿頻度やエンゲージメント施策をどう組み立てるべきかも解説する。
「おすすめ」と「フォロー中」の違いをまず押さえる
Xのタイムラインには「おすすめ」と「フォロー中」の2つのタブがある。「フォロー中」はフォローしているアカウントの投稿を新しい順に並べる時系列表示だが、「おすすめ」はフォロー中・フォロー外を問わず、Home Mixerが候補を集めてPhoenixでスコアを付け、ユーザーごとに異なる順序で組み立てたフィードだ。一般に「Xのアルゴリズム」と呼ばれる際に問題になっているのは、この「おすすめ」側の仕組みである。
全体の流れ:Home Mixerが担う8つのステージ
公式READMEによると、「おすすめ」が組み上がるまでには次の8ステージがある。1件のリクエストに対してこの流れが毎回実行される。
| ステージ | 処理内容 |
|---|---|
| ①Query Hydrators | 直近のエンゲージメント履歴やフォロー中リストなど、ユーザーの文脈情報を取得する |
| ②Candidate Sourcing | ThunderとPhoenix Retrievalから表示候補の投稿を集める |
| ③Hydrators | 投稿本文、投稿者情報、メディア情報などを候補に付加する |
| ④Filters(事前) | 重複・古い投稿・自分の投稿・ブロック済み投稿者などを除外する |
| ⑤Scorers | Phoenixによる行動予測とスコアの重み付け合成を行う |
| ⑥Selector | スコア順に並べ、上位K件を選出する |
| ⑦Post-Selection Filters | 削除済み・スパム・暴力的表現などを最終チェックで除外する |
| ⑧Side Effects | 今回の配信結果をキャッシュし、次回の重複除外に使う |
このパイプラインは「candidate-pipeline」という再利用可能なフレームワークの上に構築されており、Source(候補取得)・Hydrator(情報付加)・Filter(除外)・Scorer(採点)・Selector(選出)・SideEffect(副作用処理)という役割ごとに部品が分かれている。独立したステージは並列実行され、エラーハンドリングも部品単位で設定できる設計だ。
候補集めの二本柱:フォロー中を追う「Thunder」、フォロー外を探す「Phoenix Retrieval」
「おすすめ」の候補は2つの経路から集められる。
**Thunder(インネットワーク)**は、フォロー中アカウントの投稿を扱うインメモリのリアルタイム収集基盤だ。Kafka経由で投稿の作成・削除イベントを受け取り、ユーザーごとに「通常投稿」「返信・リポスト」「動画投稿」を分けて保持し、保持期間を過ぎた古い投稿は自動で間引かれる。外部データベースに問い合わせずに済むため、ミリ秒未満での候補取得が可能になっている。
**Phoenix Retrieval(アウトオブネットワーク)**は、フォローしていないアカウントの投稿の中から関連度の高いものを探す仕組みで、Two-Tower(二塔)モデルを使う。ユーザーの特徴やエンゲージメント履歴を埋め込みベクトルに変換する「User Tower」と、全投稿を埋め込みベクトルに変換する「Candidate Tower」を用意し、両者の内積(類似度)が高い投稿から上位K件を取り出す。フォロー外のアカウントの投稿がタイムラインに混ざってくるのは、主にこの経路によるものだ。
スコアリングの心臓部:Phoenixが予測する15種類の行動確率
候補として集まった投稿は、Phoenixという単一のGrokベースtransformerモデルによってスコア付けされる。READMEが明記している設計思想として、Xは「投稿の関連性を判断するための手作業の特徴量エンジニアリングをほぼすべて排除した」としており、以前の手法(Heavy Ranker:エンジニアが数百の特徴量を手動で定義し、重みを調整していた方式)から、ユーザーの行動履歴をtransformerに直接学習させる方式へ転換したと説明している。
Phoenixは1件の候補ごとに、次の15種類の行動が起きる確率を予測する。
- P(favorite):いいねする
- P(reply):返信する
- P(repost):リポストする
- P(quote):引用する
- P(click):投稿をクリックする
- P(profile_click):投稿者のプロフィールを開く
- P(video_view):動画を視聴する
- P(photo_expand):画像を拡大表示する
- P(share):共有する
- P(dwell):投稿上に滞在する
- P(follow_author):投稿者をフォローする
- P(not_interested):「興味なし」を選ぶ(ネガティブ)
- P(block_author):投稿者をブロックする(ネガティブ)
- P(mute_author):投稿者をミュートする(ネガティブ)
- P(report):投稿を報告する(ネガティブ)
これらの予測確率は「Weighted Scorer」というステップで、最終スコア = Σ(重み×各行動の予測確率)という式でひとつのスコアに合成される。いいねや返信・共有などポジティブな行動には正の重みが、ブロック・ミュート・報告などネガティブな行動には負の重みが割り当てられ、ユーザーが不快に感じそうな投稿のスコアを押し下げる仕組みになっている。ただし、各行動にどれだけの重みが割り当てられているかという具体的な数値は、2026年8月24日時点のREADMEでも公開されていない。ネット上では「リポストは20倍」「返信への再返信は75倍」といった倍率がしばしば紹介されているが、これらは2023年に公開された旧アルゴリズム(Heavy Ranker世代)に関する情報が出典であることが多く、現行のPhoenixモデルの重み付けとして公式に確認できるものではない点には注意したい。
なお、算出後のスコアには「Author Diversity Scorer」による調整も加わる。同一投稿者のスコアを減衰させることで、同じアカウントの投稿ばかりが連続表示されるのを防ぐ設計だ。
フィルタリングは2段階:表示前の除外と表示後の安全性チェック
フィルタリングはスコアリングの前後2箇所で行われる。スコアリング前(Pre-Scoring Filters)では、重複投稿の除去(DropDuplicatesFilter)、投稿期限切れの除去(AgeFilter)、自分自身の投稿の除去(SelfpostFilter)、同一内容のリポストの重複排除(RepostDeduplicationFilter)、既読投稿の除去(PreviouslySeenPostsFilter)、直近セッションで既に配信済みの投稿の除去(PreviouslyServedPostsFilter)、ミュートキーワードを含む投稿の除去(MutedKeywordFilter)、ブロック・ミュート関係にある投稿者の除去(AuthorSocialgraphFilter)などが実行される。
スコアリング後(Post-Selection Filters)では、削除済み・スパム・暴力的表現・グロテスク表現などを検知して除外する「VFFilter」と、同一会話スレッドの重複枝を整理する「DedupConversationFilter」が最終チェックとして働く。X社は2026年8月13日、投稿やアカウントに付与された表示制限ラベルを本人が確認できる新ツール「Under the Hood」のテスト提供も発表しており、このフィルタリング工程で何が起きているかを自己診断する手段が初めて用意された(詳細は関連記事で解説している)。
公開の歩み:2023年の部分公開から2026年の全面刷新まで
| 時期 | できごと |
|---|---|
| 2023年3月 | Scalaベースの旧アルゴリズム「Heavy Ranker」のコードを部分的に公開(以降ほとんど更新されず形骸化したと指摘されていた) |
| 2026年1月10日 | イーロン・マスク氏が「7日以内に全面オープンソース化する」とXで表明 |
| 2026年1月20日 | Rust・Pythonで書き直した新アルゴリズム一式をxai-org/x-algorithmリポジトリで公開。Heavy RankerからPhoenix(Grokベースtransformer)へ全面移行 |
| 2026年5月15日 | Retrieval→Rankingを一気通貫で実行できるパイプライン、学習済みミニPhoenixモデル(256次元埋め込み・4アテンションヘッド・2層)、コンテンツ理解を担う新モジュール「Grox」、広告組み込みモジュールなどを追加 |
| 2026年8月13日 | シグナルの重み付けパラメータを含む形で公開範囲をさらに拡大。シャドウバンの有無を自分で確認できる新ツール「Under the Hood」のテスト提供を開始 |
2026年5月の更新では、フォロー中の話題や参加中のスターターパック、インプレッションの重複防止に使うブルームフィルタ、相互フォローグラフなどをユーザー文脈として読み込む「Query Hydrators」の拡張や、スパム検知・投稿カテゴリ分類・利用規約(PTOS)違反判定を担うコンテンツ理解基盤「Grox」の追加も行われている。前述の「Under the Hood」による表示制限ラベルの確認は、このGroxが下した判定結果を本人が閲覧できるようにしたものだと理解すると全体像がつながりやすい。

図解:「おすすめ」フィードのパイプライン全体像
【独自視点】企業アカウント運用者が踏まえるべき投稿頻度とエンゲージメント施策
ここまでの仕組みを踏まえ、企業アカウントの運用でどう動くべきかを整理する。
1. 「フォロー中」向けと「フォロー外」向けで狙う経路が違うことを意識する
Thunderは古い投稿を自動的に間引く設計であるため、既存フォロワーへのリーチを安定させたいなら、一定の投稿頻度を保ってThunderの保持期間内に新しい候補を供給し続けることが前提になる。一方、フォロー外への露出はPhoenix Retrievalの類似度検索に依存しており、単純な投稿頻度よりも「ユーザーの行動履歴と自社投稿の埋め込みベクトルがどれだけ近いか」が問われる。過去に反応してくれたユーザー層と似た関心を持つ潜在層に届けたいなら、投稿本数を増やすより、狙うテーマや語彙を一定期間ぶらさずに積み重ね、埋め込み空間上での「近さ」を作る方が理にかなっている。
2. ネガティブ行動を避ける設計を優先する
Weighted Scorerの仕組み上、いいねやリポストを増やす施策だけでなく、not_interested・block_author・mute_author・reportといったネガティブ行動をどれだけ避けられるかが最終スコアに直結する。連投気味の告知投稿やクリックベイト的な文面は、一時的なクリック数(P(click))は稼げても、ミュートや「興味なし」を誘発しやすく、中長期的なスコアを押し下げるリスクがある。投稿ごとの反応だけでなく、フォロワーからのミュート・ブロックの発生状況もあわせてモニタリングしたい。
3. dwell(滞在)とprofile_click(プロフィール遷移)を意識したコンテンツ設計
Phoenixが予測する15指標には、いいねや返信といった明示的なアクションだけでなく、投稿上での滞在時間(dwell)やプロフィールへの遷移(profile_click)、画像拡大(photo_expand)、動画視聴(video_view)も含まれている。テキストだけで完結させず、詳細を画像や動画、プロフィール欄の情報と組み合わせて設計し、ユーザーが投稿とその周辺に留まる時間を作る導線を意識すると、明示的なエンゲージメントが伸びにくい投稿でも評価材料が増える。
4. 返信欄の運用は別ロジックであることを踏まえて切り分ける
本記事で扱った「おすすめ」フィードのランキングと、個別の投稿にぶら下がる返信欄の並び順は別の仕組みで動いている。返信欄では2026年7月13日から相互フォロー関係が新たな評価軸に加わっており、フォロワーとの相互フォロー化やリプライ対応の優先順位づけは、この記事とは別の観点で運用ルールを組む必要がある。詳しくはXが返信欄アルゴリズムを調整、相互フォロワーの投稿を優先表示へで解説している。
よくある質問
Q. アルゴリズムは全ユーザー共通の1つの計算式ですか?
いいえ。Phoenixはユーザーごとのエンゲージメント履歴を入力として使うため、同じ投稿でも閲覧するユーザーによって予測される行動確率と最終スコアは異なる。ある特定の投稿が「誰から見ても同じ順位で表示される」設計にはなっていない。
Q. リポストやいいねの重みは具体的に何倍ですか?
現行の公式リポジトリでは重みの具体的な数値は公開されていない。「いいねの20倍」のような数字を紹介する記事は、2023年公開の旧世代アルゴリズムの情報や推測に基づいている場合が多く、2026年時点のPhoenixモデルの正式な数値として断定できる情報は確認できていない。
Q. 投稿を増やせば増やすほど「おすすめ」に表示されやすくなりますか?
そう単純ではない。PreviouslySeenPostsFilterやPreviouslyServedPostsFilterのように、同じユーザーへの重複配信を避ける仕組みがあるほか、Author Diversity Scorerが同一投稿者のスコアを減衰させる設計になっている。量よりも、ネガティブ行動を招きにくい内容と、狙うユーザー層との関連性の高さを積み重ねる方が結果につながりやすい。
まとめ
Xの「おすすめ」フィードは、Thunder(フォロー中の候補収集)とPhoenix Retrieval(フォロー外の候補収集)で集めた投稿を、Grokベースの単一モデル「Phoenix」が15種類の行動確率で採点し、重み付け合成したスコアで並べ替えるという構造で動いている。2026年1月20日の全面刷新以降、5月15日にはコンテンツ理解基盤「Grox」や広告組み込みモジュールが加わり、8月13日には重み付けパラメータを含む公開範囲の拡大とシャドウバン自己診断ツール「Under the Hood」が発表された。具体的な重み数値は非公開のままだが、公開されているパイプライン構造とフィルタ設計を理解しておくことで、投稿頻度やエンゲージメント施策を「なんとなく」ではなく仕組みに基づいて組み立てられるようになる。
出典
- xai-org「x-algorithm README」GitHub(最終更新2026年5月15日、2026年8月24日確認) github.com/xai-org/x-algorithm
- X Engineering公式アカウントによる発表(2026年1月20日、X上) x.com/XEng
- Sarah Perez「X open sources its ranking algorithm, letting users see if they’ve been ‘shadowbanned’」TechCrunch、2026年8月13日 techcrunch.com
あわせて読みたい:Xがランキングアルゴリズムを大規模オープンソース化、シャドウバンを自分で確認できる新ツール「Under the Hood」とは/Xが返信欄アルゴリズムを調整、相互フォロワーの投稿を優先表示へ/インプレゾンビとは?発生の仕組みと見分け方、企業アカウントの対策を解説
関連する記事