Xのオープンソースコードが示すリーチの仕組み(2026年10月)
2026年10月16日に読んだXの公開コード:おすすめに載るのは48時間、小規模アカウントの新しい投稿への後押し、連投の減点、フォロー外への返信の除外。

2026年10月16日、Xの「おすすめ」(For You)のオープンソースコードを読みました。そこには、すべての投稿のリーチを左右する5つのルールがあります。
投稿がおすすめされるのは最大48時間です。小規模アカウントの新しいオリジナル投稿は、1回の後押しを受けられます。同じタイムラインに並ぶ同じ作者の2件目以降は減点されます。閲覧者がフォローしていないアカウントの返信とリポストは取り除かれ、それ以外のフォロー外の投稿は割り引かれます。
これらはどれもシャドウバン(shadowban)ではありません。毎日、すべてのアカウントに適用されるルールです。
Xのオープンソースコードには何が入っているのか
Xの公開リポジトリ xai-org/x-algorithm には、閲覧者が「おすすめ」でどの投稿を見るかを決めるコードが入っています。READMEによると、タイムラインはフォロー中のアカウントの投稿と、機械学習が見つけた投稿を組み合わせ、フィルターをかけてから、transformer モデルで順位を付けます。
多くの値は設定システムから読み込まれます。XのREADMEは、定期実行のスクリプトがコード内のデフォルト値を「主要な本番値」に合わせていると書いています。以下の数値はその公開デフォルト値で、2026年10月15日のコミット 92f0918 で確認したものです。
リポジトリはほぼ毎日公開し直されるため、同じ値でもコミットごとに変わることがあります。
投稿は「おすすめ」にどのくらい残るのか
無料、ログイン不要、数秒で結果表示。
投稿がXの「おすすめ」に表示されるのは最大48時間です。「おすすめ」の処理はスコア計算の前に AgeFilter を実行し、MAX_POST_AGE = 48 * 60 * 60 秒を過ぎた候補投稿をすべて取り除きます。TweetMixer のソースにも同じ48時間の上限が書かれています。
48時間を過ぎても投稿は消えません。作者のプロフィール、検索、会話、リンクからは見られます。ただ、新しいおすすめの候補ではなくなります。
Xは小規模アカウントを後押しするのか
はい。Xのコードにはコールドスタートの段階があり、タイムラインの読み込みごとに1件の投稿のスコアを、そのタイムラインで16位の投稿のスコアまで引き上げられます。XのREADMEはこれを New-Author Boost(新しい作者への後押し)と呼んでいます。
Xが公開している本番のデフォルト値では、次の条件をすべて満たす投稿だけが対象です。
| 条件 | 公開デフォルト値 |
|---|---|
| 投稿の種類 | オリジナル投稿(返信でもリポストでもない) |
| 作者のフォロワー数 | 50,000人以下(ColdStartFollowerCap) |
| 投稿からの時間 | 2時間未満(ColdStartMaxPostAgeSecs = 7200) |
| これまでのホームでの表示回数 | 200未満(ColdStartImpressionThreshold) |
| 現在の順位 | 閲覧者のスコア付き投稿の上位97%以内 |
この段階はデフォルトでオンです(EnableViewerColdStart)。テストグループに入っていない閲覧者には、どの作者も対象になります。テストグループに入っている閲覧者には、対応するグループの作者だけが対象になります。
コードは条件を満たす投稿の中から1回に1件だけを選び、そのスコアを少なくとも16位のスコアまで引き上げます。下げることはありません。
連投するとリーチは下がるのか
連投すると、同じ閲覧者のタイムラインで2件目以降の投稿のスコアが下がります。Xはこれを Author Diversity(作者の多様性)と呼んでいます。コードは同じ作者の1件目より後の投稿に (1 - floor) × decay^k + floor を掛けます。k は、その作者の投稿がすでに上位に何件あるかです。
公開デフォルト値では、decay が0.5、floor が0.25です。
| 1つのタイムラインでの同じ作者の投稿 | 係数 |
|---|---|
| 1件目 | 1 |
| 2件目 | 0.625 |
| 3件目 | 0.4375 |
| 4件目 | 0.34375 |
| それ以降 | 0.25を下回らない |
この係数は1回のタイムライン読み込みの中だけで働き、アカウントへのペナルティではありません。閲覧者があなたの投稿を5件見るより、1件見る可能性のほうがずっと高い、ということです。
返信やリポストはフォローしていない人に届くのか
閲覧者がフォローしていないアカウントの返信とリポストは、スコア計算の前にその閲覧者の「おすすめ」から取り除かれます。Xの OONRetweetReplyFilter は、フォロー外のリポストをすべて、フォロー外の返信も設定で許可されない限りすべて落とします。
返信の例外は2つの設定で決まります。
EnablePhoenixOonRepliesは、Xの検索モデルが見つけた返信を通します。公開デフォルト値はオフです。PhoenixOonRepliesRootOnlyは2026年10月にコードへ加わり、その例外を会話の元の投稿への直接の返信に限ります。公開デフォルト値はオフです。
同じフィルターは、親の投稿が見つからない返信も取り除きます。
すでにあなたをフォローしている人は、「おすすめ」であなたの返信を見られます。会話そのものでは誰でも見られます。ただし、ghost ban(返信の非表示)や reply deboosting(返信の順位下げ)のような制限がかかっている場合は別です。
フォローしていないアカウントの投稿は割り引かれるのか
公開デフォルト値では、閲覧者がフォローしていないアカウントの投稿に0.75が掛けられます(OonWeightFactor)。XのREADMEによると、フォロー中のアカウントの返信とリポストにも同じ割引がかかります。
アカウントが新しい閲覧者には、別の係数 NewUserOonWeightFactor(値は0.00001)を使うことがあります。ただ、「新しい」とみなすアカウント年齢の基準はデフォルトで0秒なので、公開デフォルト値ではこの係数は誰にも適用されません。
成人向けコンテンツのフラグが付いたアカウントは
Xの OONNsfwSimclustersFilter は、成人向けコンテンツのフラグが付いた作者の投稿を、フォロー外の投稿のソースの1つである SimClusters から来たもので、閲覧者が作者をフォローしていない場合に取り除きます。フォロワーはこのフィルターの影響を受けません。
成人向けコンテンツは、Xの可視性フィルタリングの別のルールでも扱われます。用語集の「センシティブなメディア」の項目では、センシティブな内容のアカウントラベルが、フォローしていない人から投稿を隠す仕組みを説明しています。
コードから言えること
以下は公開コードだけから言えることです。各ルールが順位付けモデルの予測に対してどれだけ効くかは、Xは公開していません。
- 新しい人に届けたいならオリジナル投稿を。あなたの返信とリポストは、フォローしていない人の「おすすめ」から取り除かれます。
- 小規模アカウントにとっては、最初の2時間がいちばん大事です。コールドスタートの後押しには、投稿から2時間未満で、ホームでの表示回数が200未満であることが必要です。
- 投稿の間隔を空けましょう。同じ閲覧者のタイムラインで、2件目のスコアは62.5%、3件目は約44%になります。
- 「おすすめ」での寿命は48時間と考えましょう。それを過ぎると、いいねが増え続けていてもおすすめから外れます。
アカウントが制限されているかを確かめるには
リーチの低い状態が数日以上続くなら、Xがアカウントを制限していないか確かめましょう。上の5つのルールは誰にでも同じです。シャドウバン(shadowban)は違い、Xの可視性フィルタリングが1つのアカウントに課す制限です。
Shadowban Radar の無料チェックは、ログインなしで、どの公開アカウントでも4つの制限を調べます。search suggestion ban(検索候補からの除外)、search ban(検索からの除外)、ghost ban(返信の非表示)、reply deboosting(返信の順位下げ)です。シャドウバンの期間ガイドでは、それぞれがふつうどのくらい続くかを説明しています。
出典
2026年10月16日、xai-org/x-algorithm リポジトリのコミット 92f0918(2026年10月15日公開)で確認しました。
- README.md:公開デフォルト値と本番値の関係。
- config.rs:
MAX_POST_AGE = 48 * 60 * 60。 - phoenix_candidate_pipeline.rs:48時間のフィルターを含む、スコア計算前のフィルターの順序。
- author_cold_start.rs:コールドスタートの後押しの対象と、スコアの引き上げ方。
- param.rs:コールドスタートのデフォルト値。
- scoring.rs:Author Diversity の式とフォロー外の係数。
- vm-ranker/params.rs:Author Diversity とフォロー外の係数のデフォルト値。
- oon_retweet_reply_filter.rs:フォロー外の返信とリポストのフィルター。
- param.rs:返信に関する2つの設定とそのデフォルト値。
- oon_nsfw_simclusters_filter.rs:成人向けコンテンツの作者のフィルター。
Shadowban RadarはX Corp.とは関係ありません。X自身のラベル報告とリアルタイムのチェックの関係については、XのUnder the Hoodをご覧ください。


