Pipeline 完整導覽
從 Request 到分發,了解推文如何一步步走進使用者的 For You Feed。
階段 1
Query Hydration(請求水合)
當用戶打開 App,系統首先收集當前環境資訊:
- User Features:使用者的語言、地區、裝置類型。
- Action Sequence:使用者最近 200 次互動行為(喜歡了誰、點開了什麼)。
- Social Graph:追蹤者清單、封鎖/靜音清單。
對應檔案:
user_action_seq_query_hydrator.rs階段 2
Candidate Sourcing(候選源檢索)
系統從數億推文中篩選出約 1500 條候選推文:
- Thunder (In-Network):來自你追蹤帳號的最新、最熱門推文。
- Phoenix (Out-of-Network):利用 Embedding 向量搜索,找出你可能感興趣但不認識的作者。
對應檔案:
thunder_source.rs, phoenix_source.rs階段 3
Filtering(初步過濾)
在打分前,剔除明顯不合適的內容:
- DropDuplicates:刪除重複的推文 ID。
- AgeFilter:刪除超過時效(如 72 小時以上)的推文。
- MutedKeyword:過濾包含用戶靜音詞的推文。
對應檔案:
filters/*.rs階段 4
Scoring(深度學習打分)
這是核心環節。Phoenix Transformer 模型預測機率:
Score = Σ (Weight_i * P(Action_i)) 系統會預測 P(Like), P(Reply), P(Repost) 等多種機率,並根據權重計算總分。
對應檔案:
phoenix_scorer.rs, weighted_scorer.rs階段 5
Selection & VF(篩選與可見性過濾)
最後處理與輸出:
- Top-K Selection:取分數最高的前 100 條左右內容。
- Visibility Filtering (VF):檢查是否違反安全政策、內容是否適宜。
- Author Diversity:對重複出現的作者進行降分衰減。