X「For You」演算法完整解析 by claude

更新 發佈閱讀 8 分鐘

這篇內容是把 xai-org/x-algorithm: Algorithm powering the For You feed on X 餵給claude Opus4.5之後請AI彙整出來的結果。

X「For You」演算法完整解析

給內容創作者的實用指南|根據 xai-org/x-algorithm 開源程式碼整理


這份文件是什麼?

X(前 Twitter)已將「For You」動態牆的推薦演算法開源,程式碼放在 GitHub 上的 xai-org/x-algorithm 儲存庫。這份文件將該程式碼中的技術架構,翻譯成創作者能理解且能實際應用的知識。


核心概念:演算法如何決定你看到什麼

根據開源程式碼,For You 動態牆的內容來自兩個來源:

  • 站內內容(Thunder):你追蹤的帳號所發布的貼文
  • 站外內容(Phoenix Retrieval):透過機器學習從全平台內容中挖掘出你可能感興趣、但你尚未追蹤的帳號的貼文

這兩種內容會被混合在一起,然後由 Phoenix 模型(基於 Grok Transformer 架構)進行評分與排序。


評分機制:演算法在預測什麼?

Phoenix 模型的核心任務是:預測用戶看到這則貼文後,會做出什麼行為

根據程式碼,模型會預測以下 15 種行為的機率:
P 是 Probability(機率)

正面行為(加分)

  • 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,最終分數的計算方式是:

Final Score = Σ (weight × P(action))

簡單來說:

  • 正面行為有正的權重,會增加分數
  • 負面行為有負的權重,會降低分數
  • 最終分數越高,貼文在動態牆的排名越前面

過濾機制:什麼貼文會被擋掉?

在評分之前和之後,演算法會執行多道過濾器。以下是程式碼中列出的過濾條件:

評分前過濾(Pre-Scoring Filters)

  • DropDuplicatesFilter — 移除重複的貼文 ID
  • CoreDataHydrationFilter — 移除無法載入核心資料的貼文
  • AgeFilter — 移除太舊的貼文
  • SelfpostFilter — 移除用戶自己的貼文(你不會在 For You 看到自己的文)
  • RepostDeduplicationFilter — 移除重複的轉發內容
  • IneligibleSubscriptionFilter — 移除用戶無權觀看的付費內容
  • PreviouslySeenPostsFilter — 移除用戶已經看過的貼文
  • PreviouslyServedPostsFilter — 移除本次瀏覽已經顯示過的貼文
  • MutedKeywordFilter — 移除包含用戶已靜音關鍵字的貼文
  • AuthorSocialgraphFilter — 移除被用戶封鎖或靜音的作者的貼文

評分後過濾(Post-Selection Filters)

  • VFFilter — 移除被刪除、標記為垃圾、暴力、血腥等內容
  • DedupConversationFilter — 移除同一對話串的重複分支

四個關鍵設計決策

根據程式碼的 README,以下是演算法的核心設計理念:

1. 完全移除手工特徵工程

"We have eliminated every single hand-engineered feature and most heuristics from the system."

意思是: 演算法不再依賴人工設定的規則(例如「圖片貼文加 10 分」這種),而是完全讓 Grok Transformer 模型從用戶的互動歷史中自行學習什麼內容是相關的。

2. 候選隔離(Candidate Isolation)

"During transformer inference, candidates cannot attend to each other—only to the user context."

意思是: 每則貼文的評分是獨立計算的,不會因為同時和哪些其他貼文一起被評估而改變分數。這確保了評分的一致性。

3. 多動作預測(Multi-Action Prediction)

"Rather than predicting a single 'relevance' score, the model predicts probabilities for many actions."

意思是: 模型不只是預測一個「相關性」分數,而是細分預測 15 種不同行為的機率,然後加權組合。這讓排名更加細緻。

4. 作者多樣性評分器(Author Diversity Scorer)

"Attenuate repeated author scores to ensure feed diversity."

意思是: 如果同一個作者的多則貼文都進入候選名單,後面的貼文分數會被故意降低,以確保動態牆的內容來自多元的作者。


對內容創作者的啟示

根據以上程式碼分析,以下是可以歸納出的策略方向:

  • 模型預測 P(reply)、P(repost) 等互動機率 — 創造能引發回覆、轉發的內容比單純追求按讚更有價值
  • P(block_author)、P(mute_author) 是負面訊號 — 避免發布會讓人想封鎖或靜音你的內容
  • P(dwell) 停留時間被追蹤 — 有深度、值得花時間閱讀的內容會被獎勵
  • P(follow_author) 是正面訊號 — 持續產出讓人想追蹤你的優質內容
  • Author Diversity Scorer 會降低重複作者分數 — 短時間內連續發太多貼文,後面的貼文會被壓低
  • MutedKeywordFilter 會過濾靜音關鍵字 — 避免使用容易被大量用戶靜音的詞彙
  • Phoenix Retrieval 負責站外內容推薦 — 即使沒有追蹤者,你的內容仍可能被推薦給潛在受眾
  • 模型從用戶互動歷史學習 — 演算法學的是「行為」而非「內容」,真實互動比內容技巧更重要

結語

X 的 For You 演算法核心邏輯其實很簡單:

預測用戶會對這則貼文做什麼,然後把預測會獲得正面互動的內容排在前面。

沒有神奇的捷徑。演算法就是在模擬人類行為"如果你的內容能讓真實的人想要回覆、轉發、停下來閱讀、甚至追蹤你,演算法自然會把你的內容推給更多人。"


留言
avatar-img
電話喵的電波塔
1會員
23內容數
一個現實中找不到地方抒發內心想法的亞斯的碎唸
電話喵的電波塔的其他內容
2026/01/19
PUA請看這個網站的介紹。 之前看到一篇FB的貼文,內文是轉載了某個老師辦了一個活動大致像下面這樣: 系上老師請大家圍成圈,請學生寫下自己十個優缺點,徵求自願的人,站在圈中間再讓同學們貼上圍繞著念出標籤,忘本、死裝、記性差、愛浪費…這位同學後續感到失落暈眩感到羞愧,因為那些缺點就像一把刀刺向自己
2026/01/19
PUA請看這個網站的介紹。 之前看到一篇FB的貼文,內文是轉載了某個老師辦了一個活動大致像下面這樣: 系上老師請大家圍成圈,請學生寫下自己十個優缺點,徵求自願的人,站在圈中間再讓同學們貼上圍繞著念出標籤,忘本、死裝、記性差、愛浪費…這位同學後續感到失落暈眩感到羞愧,因為那些缺點就像一把刀刺向自己
2026/01/12
標題來自於我國小的時候老師講的話 起因是因為國小坐我旁邊的人之前和我借了50塊,但他欠錢不還!!雖然50塊長大以後看只是小錢而已,但對當時的我來說這可是大錢啊,我可以去買飲料和零食多好啊,老師聽到了我們的爭吵然後上課的時候他就講出了標題那經典的他欠你錢你就當做是他上輩子欠你的嘛,老師你這價值觀真的
2026/01/12
標題來自於我國小的時候老師講的話 起因是因為國小坐我旁邊的人之前和我借了50塊,但他欠錢不還!!雖然50塊長大以後看只是小錢而已,但對當時的我來說這可是大錢啊,我可以去買飲料和零食多好啊,老師聽到了我們的爭吵然後上課的時候他就講出了標題那經典的他欠你錢你就當做是他上輩子欠你的嘛,老師你這價值觀真的
2026/01/06
起因 起因是我在 Threads 上看到一篇文章在問說:「有些女生在辦公室訂下午茶的時候都會堅定不吃,不擔心會被說不合群,不會為了氣氛而攝取糖分,一口都不願意破戒」,然後問大家覺得這是難相處還是會覺得這是自律? 痾…不是啊,為什麼沒有考慮到單純就是不愛吃的可能性呢? 我就是會拒絕的那一種,因為
Thumbnail
2026/01/06
起因 起因是我在 Threads 上看到一篇文章在問說:「有些女生在辦公室訂下午茶的時候都會堅定不吃,不擔心會被說不合群,不會為了氣氛而攝取糖分,一口都不願意破戒」,然後問大家覺得這是難相處還是會覺得這是自律? 痾…不是啊,為什麼沒有考慮到單純就是不愛吃的可能性呢? 我就是會拒絕的那一種,因為
Thumbnail
看更多