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:對重複出現的作者進行降分衰減。