世界を動かす技術を、日本語で。

Xは最新のアルゴリズムをオープンソース化しました

2025年9月10日原文(github.com)

概要

  • Xのレコメンデーションアルゴリズム は、各種プロダクト画面で投稿やコンテンツのフィードを提供するサービス群
  • 共通データ・モデル・フレームワーク を基盤とするアーキテクチャ
  • For You TimelineRecommended Notifications など、主要な画面に適用
  • 候補選定、ランキング、フィルタリング などの複数コンポーネントで構成
  • オープンソース化とコミュニティ貢献 を推進

Xのレコメンデーションアルゴリズムの全体像

  • Xのレコメンデーションアルゴリズム は、For You Timeline、検索、Explore、通知など全プロダクト画面で投稿フィードを提供
  • 詳細な仕組み については公式エンジニアリングブログを参照
  • 共通基盤 としてデータ、モデル、ソフトウェアフレームワークを共有
  • このリポジトリ には主要な共通コンポーネントを収録

アーキテクチャと主要コンポーネント

  • tweetypie :投稿データの読み書きを担当するコアサービス
  • unified-user-actions :リアルタイムのユーザーアクションストリーム
  • user-signal-service :明示的・暗黙的ユーザーシグナルの一元取得
  • SimClusters :コミュニティ検出と疎な埋め込み
  • TwHIN :ユーザー・投稿の知識グラフ埋め込み
  • trust-and-safety-models :NSFWや不適切コンテンツ検出モデル
  • real-graph :ユーザー同士の相互作用予測モデル
  • tweepcred :Page-Rankアルゴリズムによるユーザー評価
  • recos-injector :GraphJet系サービス向けストリーム生成
  • graph-feature-service :ユーザーペアのグラフ特徴量提供
  • topic-social-proof :投稿に関連するトピック特定
  • representation-scorer :エンティティ間のスコア計算
  • navi :Rust製の高性能MLモデルサービング
  • product-mixer :フィード生成用フレームワーク
  • timelines-aggregation-framework :バッチ/リアルタイムで集約特徴量生成
  • representation-manager :SimClustersやTwHINの埋め込み取得
  • twml :TensorFlow v1ベースのレガシーMLフレームワーク

For You Timelineの仕組み

  • search-index :In-Network投稿の検索・ランキング(全体の約50%を占める)
  • tweet-mixer :Out-of-Network候補投稿の取得調整レイヤー
  • user-tweet-entity-graph (UTEG) :ユーザーと投稿の相互作用グラフ管理、GraphJetフレームワーク利用
  • follow-recommendation-service (FRS) :アカウント・投稿のフォロー推奨
  • light-ranker :search-indexで用いられる軽量ランキングモデル
  • heavy-ranker :候補投稿の選定後に使うニューラルネットワーク型ランキングモデル
  • home-mixer :Home Timeline生成・提供の主要サービス、product-mixer上に構築
  • visibility-filters :法令遵守・品質向上・信頼性確保・収益保護のためのコンテンツフィルタリング
  • timelineranker :Earlybird Search IndexやUTEGの関連度スコア投稿提供レガシーサービス

Recommended Notificationsの仕組み

  • pushservice :推薦通知の主要サービス
  • pushservice-light-ranker :候補選定のための軽量ランキングモデル
  • pushservice-heavy-ranker :通知開封・エンゲージ予測のマルチタスク学習モデル

ビルド・テスト・貢献

  • 多くのコンポーネントにBazel BUILDファイル を用意
  • トップレベルのBUILDやWORKSPACEファイルは未提供 (今後追加予定)
  • GitHub issueやPull Request によるコミュニティからの提案を歓迎
  • バグ報告やセキュリティ問題 はHackerOneの公式バグバウンティプログラム経由で受付
  • オープンソース化によりグローバルな知見を活用し、アルゴリズムの改善を目指す方針

まとめ

  • Xのレコメンデーションアルゴリズム は多層的なサービス・モデル・フレームワークで構築
  • 透明性・品質向上・コミュニティ貢献 を重視したオープンソースプロジェクト
  • 継続的な改善・拡張 を目指す姿勢

Hackerたちの意見

ずっと疑問に思ってたんだけど、非エンジニアの私がどうやってGHのコードが実際に彼らのサーバーでデプロイされてるか確認できるの?

確実に言えるのは、これが本番環境で動いてるコードじゃないってこと。

一般的に、オープンソースにすることの目的はそれじゃないと思う。

自分のCソースファイルから生成された機械語が、実際にその中にエンコードされた動作と一致しているかどうか、どうやって確認するの?

違うよ。最後の「アルゴリズム」リリースは、Twitterのリポジトリにあったコードのランダムな寄せ集めで、推薦やフィードに関連しているかもしれないものだった。ソース:TwitterでML/レコメンデーションシステムに関わってた。

RIP author_is_elon、君のことはあまり知らなかったよ。 https://github.com/twitter/the-algorithm/issues/236

共和党、民主党、そしてイーロン。すごいね。

該当のファイルは今ここにあるよ: https://github.com/twitter/the-algorithm/blob/main/home-mixe... author_is_elon、author_is_democrat、author_is_republicanは実際に消えてる。今はgrok_politics_neutral、grok_politics_left、grok_politics_rightがあるよ。これに加えて、grok_category_sportsやgrok_category_musicなどの他のカテゴリーもある。すべてGrokによる注釈に基づいてる。重要なのは、このファイルは推薦には使われてないってこと。ここにある情報は「さまざまな属性を持つ投稿をどれだけ頻繁に提供しているかを測るためのメトリクストラッキング目的」にのみ使われてるんだ。これもauthor_is_elonに当てはまるね。

まじで笑ったwww author_is_elon author_is_power_user author_is_democrat author_is_republican

前回のリリースと同じように、アーキテクチャだけ公開して重みは公開しなかったね。競合他社がシステムを分析するのには役立つかもしれないけど(私が前に調べた感じだと、業界の最先端の推薦システムの厳密なサブセットみたいだった)、新しく推薦システムやリトリーバルシステムに入る人にはいいかも。でも、これじゃTwitterのフィードの動きについてはほとんど何もわからないよ。

もし誰かが特定の重みでフィードが正常に動いてないことを示せれば、何か価値があるかもね。

欠点はあるけど、パラグたちがツイッターを運営してた頃よりはマシだね。

Hacker Newsで議論の続きを見る