這篇內容是把 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 演算法核心邏輯其實很簡單:
預測用戶會對這則貼文做什麼,然後把預測會獲得正面互動的內容排在前面。
沒有神奇的捷徑。演算法就是在模擬人類行為"如果你的內容能讓真實的人想要回覆、轉發、停下來閱讀、甚至追蹤你,演算法自然會把你的內容推給更多人。"
