# X 稱 For You 已上線社群修正：避免 OON 規則覆寫 in-network 判定

> 📖 本站完整內容索引（documentation index）：[llms.txt](/llms.txt)

> 原作者：Elon Musk (@elonmusk) · 策展與摘要：EasyVibeCoding · 平台：X (Twitter) · 熱度：🔥🔥🔥 · 日期：2026-09-02

> 原始來源：https://x.com/elonmusk/status/2094982114282447073

## 證據與延伸閱讀

- [X 稱 For You 已上線社群修正：避免 OON 規則覆寫 in-network 判定。](https://github.com/xai-org/x-algorithm) — 官方 Repository · 最後核對：2026-09-02 · 支持主張：The open-source README describes the For You pipeline's in-network and out-of-network retrieval and separate visibility filtering; PR #55 exposes the collision mechanism, the TimelineHome versus TimelineHomeRecommendations distinction, the applied af714fb change, and tests for in-network parent/ancestor and true OON primary behavior. A follow-up says ancillary quote and reply handling still needs both maps.
- [xAI X For You algorithm PR #55 — github.com](https://github.com/xai-org/x-algorithm/pull/55) — 官方 Repository · 最後核對：2026-09-02 · 支持主張：The open-source README describes the For You pipeline's in-network and out-of-network retrieval and separate visibility filtering; PR #55 exposes the collision mechanism, the TimelineHome versus TimelineHomeRecommendations distinction, the applied af714fb change, and tests for in-network parent/ancestor and true OON primary behavior. A follow-up says ancillary quote and reply handling still needs both maps.
- [xAI X For You algorithm PR #55 — github.com](https://github.com/xai-org/x-algorithm/blob/main/README.md) — 官方 Repository · 最後核對：2026-09-02 · 支持主張：The open-source README describes the For You pipeline's in-network and out-of-network retrieval and separate visibility filtering; PR #55 exposes the collision mechanism, the TimelineHome versus TimelineHomeRecommendations distinction, the applied af714fb change, and tests for in-network parent/ancestor and true OON primary behavior. A follow-up says ancillary quote and reply handling still needs both maps.
- [X 整合 GitHub PR #55 修正 For You 判定](https://x.com/elonmusk/status/2094982114282447073)

## 中文摘要

X 稱 For You 已上線社群修正：避免 OON 規則覆寫 in-network 判定。

**事件背景** X 在 2026 年 9 月 2 日由 @elonmusk 轉發 @XOpenSource 貼文，表示開源 X 演算法已連續超過 2 週每日更新，並稱第一個公開社群貢獻已整合至 X、目前已在線上運作。這項貢獻來自 [xai-org/x-algorithm 的 PR #55](https://github.com/xai-org/x-algorithm/pull/55)，標題為「Stop VF hydrator from overwriting in-network verdicts with OON」，由 Pitchfork-and-Torch 提出，PR 內含 1 個 commit。

[這個公開 repo](https://github.com/xai-org/x-algorithm) 的 README 說明 For You 如何分別從 in-network 與 OON 來源擷取候選內容，再進行可見性過濾。PR #55 修補了一個判定錯誤，也讓人看見兩種來源的候選內容在合併時如何發生碰撞，以及 `TimelineHome` 和 `TimelineHomeRecommendations` 兩套安全規則的不同用途。

**問題機制** VFCandidateHydrator 會把 in-network 的主要貼文以 `TimelineHome` 取得，卻以 `TimelineHomeRecommendations` 取得 ancestors 與 quotes，之後透過 `all_results.extend(oon_result)` 合併結果；當兩個 map 出現相同 `tweet_id` 時，後加入的 OON key 會勝出。

這種碰撞在 Thunder 為 in-network reply 設定 `ancestors = [in_reply_to, conversation_root]` 時可能發生。若 parent 與 reply 出現在同一批候選結果中，parent 的 `tweet_id` 可能同時存在於兩個 map，導致原本選出的 in-network 貼文套用 Recommendations verdict。

原始 PR 特別指出，這不是「找不到結果時放行」的 fail-open，也不是缺少安全標籤，而是已成功取得的 VF 結果被套用到錯誤的 safety level。Recommendations 規則包含 OON 專用的 Drop 判定，例如：

- `NSFW_HIGH_PRECISION_DROP`
- `DO_NOT_AMPLIFY_DROP`
- `MALICIOUS_URL_DROP`
- `SPAM_HIGH_RECALL_DROP`
- 部分 NSFW author drop

其中某些規則對 in-network 內容只會顯示 interstitial 或 allow，但對 OON 內容則可能直接 Drop；VFFilter 遇到 `Action::Drop` 時會直接丟棄候選內容。

<figure><img src="https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/illustrations/1788365377720-xim5ket6.png" alt="X For You 安全判定在修正前後的資料流比較圖" loading="lazy" /><figcaption>同一個 tweet ID 同時出現在 TimelineHome 與 Recommendations 結果時，舊做法可能因 map 合併順序覆寫判定；修正方向是依候選來源明確選擇對應規則。</figcaption></figure>

**PR #55 的修正** PR 提出的 `af714fb` 變更是保留兩個 map，不再將它們合併後任由碰撞結果決定判定來源。主要貼文依 `candidate.in_network` 選擇對應 map：

- in-network primary 使用 `TimelineHome`。
- OON primary 使用 `TimelineHomeRecommendations`。
- ancestor 與 quote 的 ancillary 檢查仍使用 `TimelineHomeRecommendations`。
- `retweeted_tweet_id` 維持使用 `TimelineHome`。

這樣可保留 in-network 與 OON 候選內容各自的安全判定，避免錯誤的 Drop 規則覆寫 in-network 原本的 interstitial 或 allow。修正的目的不是移除可見性過濾器，而是確保既有過濾器在正確的來源層級上運作。

**測試涵蓋** PR 描述的測試聚焦於安全判定回歸，確認下列情境不會被錯誤的 map 覆寫：

- 同時是 sibling reply ancestor 的 in-network parent，仍保留 `TimelineHome` 的 interstitial，不會被 Recommendations 的 Drop 覆蓋。
- 真正的 OON primary 仍使用 Recommendations 規則。
- primary、ancestor、quote、retweet，以及 OON 路徑都應分別驗證，避免不同候選關係再次混用安全判定。

**後續疑點** x-open-source 於 2026 年 9 月 1 日留言表示已整合修正，並稱變更已 live，要求讀者檢查 commit `6384ca7` 中 `vf_candidate_hydrator.rs` 第 108 行附近的差異，隨後關閉 PR #55。然而，JoshuaStorm1017 於 2026 年 9 月 2 日提出後續 commit `68a49c3`，認為這次整合將 HashMap 合併順序反轉，雖然讓 TimelineHome 在碰撞時勝出、恢復 in-network primary 的正確結果，卻可能讓 `should_drop_ancillary` 讀到 TimelineHome 的 interstitial 或 allow。

這個後續說法的風險在於：如果某個 ancestor 或 quote 原本已由 VF 判定為 Recommendations Drop，ancillary 檢查卻讀到較寬鬆的 TimelineHome 結果，而 `AncillaryVFFilter` 只移除 `Action::Drop`，那麼 NSFW、DoNotAmplify 或 SpamHighRecall 的 in-network parent，其 quotes 與 replies 仍可能進入 For You。這項後續 commit 主張兩套 map 必須持續分開，但目前資料未確立它是否已進入正式生產環境，不能直接視為 X 已完成的再次修正。

**實務解讀** 開發者若要理解 X For You 的可見性邏輯，不能只看「已整合」的結論，仍應核對 PR #55、`vf_candidate_hydrator.rs` 與後續 commit 的實際差異，特別注意 primary 與 ancillary 檢查是否採用不同 map。目前能確認的是 X 宣稱等價修正已上線；但擷取到的 repo 頁面不完整，沒有提供部署版本識別碼或正式 rollout 百分比，因此無法據此判斷所有流量是否已套用相同修正。

## 標籤

功能更新, 開源專案, GitHub, X
