
2026年8月13日、XはFor Youフィードで投稿の表示機会に影響する主要コードを公開しました。
いいね、返信、リポスト、共有、報告などの予測へ使う標準係数に加え、候補取得、48時間フィルター、著者多様性、不正行動検出、可視性制限まで確認できる大規模な更新です。
公開直後から「返信はいいねの10倍」「リンクコピー1回はいいね40回分」「報告1回で投稿が終わる」といった解説が広がりました。
しかし、係数は実際の行動回数へ直接足す点数ではありません。
Phoenixがユーザーごと・投稿ごとに予測した行動確率へ掛ける値であり、候補に入らなければスコア計算にも進まず、可視性ルールで除外されれば順位が高くても表示されません。
この記事では、X公式の2026年8月13日公開リポジトリとX Open Sourceの発表を基準に、コードを読めない人でもアカウント育成へ反映できる形で整理します。
運用で最初に変えるべきなのは、投稿ごとに狙う行動を決めることです。
情報を短くまとめただけの投稿は、いいねで終わりやすく、返信、共有、フォローへ進む理由が弱くなります。
同じ情報でも「読者が自分のケースを判断できる比較」「同僚へ送りたくなるチェックリスト」「後から参照する手順」「意見を書きたくなる論点」に変えると、複数の行動が起きる可能性を高められます。
ただし、反応を要求するだけの文末や、対立を煽る投稿へ寄せる必要はありません。
Not Interested、ミュート、ブロック、報告には大きな負の係数が設定されています。
公開コードが示しているのは、反応量を最大化することより、適切な相手から価値のある反応を得ながら、拒否反応を減らす方が合理的だという構造です。
今回の公開範囲は、ランキング係数の一覧だけではありません。
公式READMEによると、For Youで投稿を集めるHome Mixer、行動確率を予測するPhoenix、興味コミュニティを扱うSimClusters、内容の類似を調整するVMRanker、可視性を判定するVisibility Filtering、ラベルを作るBotmaker・Agatha・BDSM・UserCredV2、本人向け透明性ツールUnder the Hoodまで含まれます。
公開値には「本番の主要デフォルト」が反映されていますが、コード冒頭には設定同期時刻があり、READMEにもXが少数トラフィックで継続的に実験を行うと書かれています。
したがって、2026年8月13日時点の基準設定を理解する資料としては有用でも、全ユーザーのライブ環境を完全に固定した仕様書ではありません。
また、Botmakerの一部ルールやGroxの具体的なプロンプトは非公開です。
公開されていない部分を推測で埋めて「これをすれば必ず伸びる」と結論づけるのは、今回の公開意図にもコードの読み方にも反します。
旧twitter/the-algorithmは、検索インデックス、Tweet Mixer、UTEG、Light Ranker、Heavy Ranker、Home Mixerなど、X全体の推薦基盤を広く説明する構成でした。
新xai-org/x-algorithmは、For Youの可視性へ影響する経路を中心に、Phoenixの学習・推論コード、最新の係数、Rust版Home Mixer、ラベル生成と可視性ルールまで一つの流れとして追いやすくなっています。
旧版は現在の係数を裏付ける資料ではありません。過去の解説に出てくる構成や重みを、2026年版へそのまま当てはめないことが大切です。
For Youは、投稿をすべて採点して上から並べるだけの仕組みではありません。
まず、閲覧者のフォロー関係、直近の行動履歴、ブロック・ミュート、既読投稿、興味トピックなどを取得します。
次に、Thunderがフォロー中アカウントの最近の投稿を、Phoenix retrievalとSimClustersが非フォロー投稿を候補として返します。
実装上はTweet Mixerなど追加ソースも定義されていますが、基準コミットの主要デフォルトではThunder、Phoenix、SimClustersが中心です。
候補取得後、PhoenixCandidatePipelineは、重複、48時間超、既読、ブロック、ミュート、対象外の購読投稿などを先に除外します。
その後、Phoenixが各行動の確率を予測し、標準係数で一つのスコアへまとめ、同一著者や非フォロー投稿への調整、新規著者の露出補助、VMRankerによる内容多様性の調整を行います。
最後に、候補ごと・閲覧者ごとに可視性判定を問い合わせます。
VFCandidateHydratorは、フォロー内投稿をTimelineHome、非フォロー投稿をTimelineHomeRecommendationsとして別の安全レベルで評価します。
順位が高いことと、表示可能であることは別です。
param.rsにある標準係数は次の通りです。
ranking_scorer.rsでは、Phoenixの各予測値と係数を組み合わせています。
係数の大きさだけで投稿方針を決めるのも危険です。
返信はいいねより係数が大きくても、すべてのユーザーが同じ確率で返信するわけではありません。
発生しにくい行動には大きな係数が設定されることがあり、コードにも「行動の価値とネットワーク全体での典型的な発生傾向の組み合わせ」と説明されています。
基本式は、最終スコア=Σ(行動iの予測確率×行動iの係数)です。
たとえば、ある閲覧者に対して「いいね20%、返信2%」と予測された投稿なら、単純化した寄与は0.2×0.5+0.02×5=0.2です。
返信係数はいいねの10倍でも、返信確率が低ければ寄与が10倍になるとは限りません。
報告も同じです。-234は実際に報告が1件付いた瞬間に234点を引く処理ではなく、その閲覧者が報告する確率へ掛ける負の重みです。
もちろん報告が学習データやラベル生成へ影響する可能性はありますが、「1回で投稿が終了する」という固定ルールは公開コードから確認できません。
さらに、加重合成後には非フォロー投稿の倍率、著者多様性、新規著者向け調整、VMRanker、可視性判定が続きます。
係数表だけで表示順位を逆算できない理由はここにあります。
非フォロワーへ届く入口は一つではありません。
PhoenixSourceは閲覧者の行動系列から候補を取得し、SimclustersSourceは、直近の明示・暗黙シグナルとなった投稿に近い投稿をクラスタ類似度から探します。
つまり、フォロワー数だけでなく「誰が、どのテーマで、どの投稿へ反応したか」が候補化の手掛かりになります。
運用では、発信テーマ、対象読者、語彙、事例の軸を揃えることが有効だと考えられます。これは「同じ文面を繰り返す」という意味ではありません。
AIツールを扱うなら、初心者向けの使い方、実務比較、料金、導入リスクなど、同じ関心領域の中で役割を変えます。
興味の近いユーザーが一つの投稿へ反応したとき、他の投稿も同じ領域の候補として理解されやすくなります。
非フォローの返信とリポストは、OONRetweetReplyFilterで除外されるため、フォロワー外へ広げたい局面では、単独で意味が通るオリジナル投稿が重要です。
返信で専門性を示すことは関係形成に役立ちますが、その返信がそのまま非フォロワー推薦の主力になるとは限りません。
RankingScorerの著者多様性処理は、同じ候補群で同一著者の投稿が複数並ぶ場合、2件目以降へ逓減倍率を掛けます。
標準の減衰率0.5、下限0.25では、1件目1.0、2件目0.625、3件目0.4375、4件目0.34375、5件目0.296875です。
これは「1日2投稿まで」という投稿上限ではありません。補正は日単位ではなく、特定の閲覧者へ出す候補群の中で働きます。
朝と夜で閲覧者や候補が変われば、同じ日に複数投稿しても必ず競合するわけではありません。
逆に、短時間に似たテーマ・似た構成の投稿を重ねると、同じ候補群へ入り、自分の投稿同士が競合しやすくなります。
VMRankerではDPPという方法を使い、埋め込みが似た候補を減らして内容の多様性を確保します。
したがって、投稿数を機械的に減らすより、各投稿の役割を「速報」「深掘り」「比較」「体験」「意見」に分け、同じ結論を言い換えただけの連投を避ける方が合理的です。
AgeFilterは、MAX_POST_AGE = 48 × 60 × 60秒を超える候補を除外します。
SimClustersの候補取得にも最大48時間が設定されており、古い投稿をFor Youの新規候補として延々と復活させる設計ではありません。
この構造から、対象読者が見ている時間に投稿し、最初の数時間で適切な相手へ届くことが重要だと推測できます。
ただし「投稿後30分がすべて」といった固定閾値は公開コードにありません。
投稿時間は一般論で決めず、自分の過去20〜30投稿を曜日・時刻・テーマで分け、表示回数あたりの返信率やリンククリック率で比較します。
48時間を過ぎた良い投稿は、同じURLや文面を何度も再掲するより、更新情報、失敗例、別の読者層、比較対象を加えて新しい投稿へ再編集します。
既読・提供済みフィルターもあるため、同一投稿を無理に再浮上させるより、新しい価値を加えた方が候補として扱いやすくなります。
UserCredV2は、フォローグラフにPageRankを適用し、直近7日間のいいね・リポスト関係をテレポート重みへ組み込みます。
関連アカウントとして把握された組み合わせのエッジは事前に除外されるため、複数の自分用アカウントで相互反応しても、その関係が信頼性へ素直に加算されるとは限りません。
BDSMは、アカウントの行動系列をTransformerで読み、FollowBot、LikeBot、EngagementAmplifier、ReplySpamBot、TweetSpamBot、RTBotなどを分類します。
入力には、行動間隔、バースト性、同一著者の連続、対象の反復、表示を伴わないエンゲージメント、端末やクライアント、滞在などが含まれます。公開版では、悪用防止のため実運用閾値が伏せられています。
Agathaは、投稿が受けたブロック、報告、スパム報告をいいね数などとの比率で扱い、アカウントのラベル生成に使うオフライン処理です。
つまり、見知らぬ相手への機械的返信や、毎回同じメンバーだけで反応を回す運用は、単純な反応数だけを見れば得に見えても、別系統の信頼性・不正検出で不利になる可能性があります。
一般に「シャドウバン」と呼ばれる現象は、公開コードでは一種類のスイッチではありません。
visibility-filteringのregistry.rsは、閲覧者、投稿、著者、ラベル、国・年齢、フォロー関係を組み合わせ、ALLOW、INTERSTITIAL、DROPのいずれかを返します。
ALLOW:通常どおり表示できるINTERSTITIAL:警告や内容表示前の操作を伴って表示するDROP:その面・閲覧者への候補から除外する
DROPも全Xから削除する意味とは限りません。
TimelineHomeRecommendationsにだけ追加されるルールでは、Spam High Recall、Malicious URL、Do Not Amplify、成人向け、なりすまし、侵害アカウントなどが非フォロワー推薦から除外されます。
同じ投稿がフォロワーのHomeでは許可される場合があり、「誰に、どこで、どの状態で見えるか」を分ける必要があります。
成人向けや残虐表現は、フォロー内では警告付き、非フォロー推薦では除外という処理があり得ます。
ヘイト、暴力的発言、虐待、法的削除、地域制限、DMCA対象メディア、保護アカウント、停止・削除済み著者などにも個別ルールがあります。
X公式ヘルプも、検索、トレンド、通知、For You、Following、プロフィール限定、返信順位など複数の制限方法を案内しています。
Under the Hoodは、本人の投稿とアカウントへ付いた可視性関連ラベルを月単位で集計する試験的な透明性ツールです。
基準コミットの配信コードでは、ログイン済み本人、アカウント開設1年以上、対象月の適格投稿10件以上という条件があり、前月またはデータ確定済みのさらに前月を表示します。
表示内容は投稿単位の一覧ではなく、ラベル別の投稿数、対象月の投稿総数、割合、アカウントラベルが有効だった日数などの集計です。
SPAM_HIGH_RECALL、MALICIOUS_URL、DO_NOT_AMPLIFY、成人向け、虐待・ヘイト関連など、公開許可リストにあるラベルの説明と影響を確認できます。
提供は機能スイッチで制御され、対象拡大中のため、すべてのアカウントで必ず表示されるとは限りません。
改善へ使う際は、月ごとにラベル名、投稿ラベル率、アカウントラベルの日数、発信テーマ、外部リンク先、投稿形式を記録します。
ラベルが付いた個別投稿をツールだけで特定できない場合は、該当期間の投稿をURL、文面、メディア、反応で絞り込み、同じ問題を繰り返さない運用へ変えます。
外部リンクの置き場所は目的で変わります。
X内の会話とフォローを優先する投稿では、本文を完結させ、詳しい記事を自己返信へ置く方法が合う場合があります。
一方、サイト流入が主目的なら、本文にリンクを置いてクリック率を正面から測るべきです。
リンクを隠して表示回数だけ増えても、事業目的を達成できなければ成功とは言えません。
検証では、同じテーマ、近い投稿時刻、似たフォロワー規模の投稿を最低5〜10件ずつ用意し、「本文リンク」と「自己返信リンク」を比較します。
表示回数、返信率、リポスト率、リンククリック率、最終的なサイトセッションを並べ、X側のクリックとWeb解析の訪問数が一致しない点も考慮します。
今後の更新を追う際は、第三者の要約より先にparam.rsの差分とregistry.rsのルール順を見ます。
係数が変わっていなくても、候補ソースの有効化、可視性ラベル、VMRankerの設定が変われば、投稿の届き方は変わります。
小規模アカウントには新規著者向けの露出補助処理がありますが、候補化される関連性や最低限のスコアが不要になるわけではありません。
フォロワーが少ない段階ほど、幅広い話題へ手を出すより、狭いテーマで「この人をフォローする理由」を作る方が改善点を特定しやすくなります。
Xの標準Analyticsで、表示回数、エンゲージメント率、リンククリック、リポスト、いいね、返信などは確認できます。
一方、正確な非フォロワー到達率、DM共有数、リンクコピー数、Phoenix予測値が常に提供されるわけではありません。
取得できない指標は推測値として作らず、見える指標とサイト側のアクセス解析を組み合わせます。
投稿時間やリンク位置を比べるときは、一度に複数条件を変えません。
テーマ、長さ、画像、時刻、リンク位置を同時に変えると、何が効いたか分からなくなります。
また、1投稿の結果は話題性や競合ニュースに左右されるため、最低でも5〜10件のまとまりで中央値を比較します。
最優先はhome-mixer/params/param.rsです。
返信、共有、否定的反応、OON倍率、著者多様性、VMRanker、新規著者向け処理の標準値が変われば、運用の判断軸も変わります。
次にhome-mixer/candidate_pipeline/で候補ソースとフィルター順、visibility-filtering/rules/registry.rsでフォロー内・非フォロー推薦のルール差を確認します。
PhoenixとSimClustersでは、入力する行動系列、候補の新鮮さ、類似度の閾値、ソースの有効化に注目します。BDSMとBotmakerでは、公開される検出カテゴリやラベル構造の変更を見ます。
ただし、不正検出の回避を目的に閾値を追うのではなく、正当な運用が誤検知される条件を理解し、機械的な反復を減らすために使うべきです。
Under the Hoodは提供範囲、対象期間、最低投稿数、表示ラベルが変わる可能性があります。
月1回、公式README、X Open Sourceの発表、Under the Hood画面を確認し、記事内の条件を更新してください。
公開コードから持ち帰るべき判断軸は明確です。
XのFor Youは、いいねの総数だけで決まらず、誰に候補として選ばれるか、どの行動が起きると予測されるか、同じ著者や似た内容が重なっていないか、可視性ルールを通れるかで決まります。
まず30日間、発信テーマを絞り、投稿ごとに狙う行動を決め、表示回数あたりの返信率、リポスト率、リンククリック率、フォロー増を比べてください。
外部リンクや投稿数の俗説に従うより、自分の目的に合う反応を再現できる投稿へ資源を寄せる方が、フォロワー、サイト流入、販売のいずれにもつながります。

