X 平台开源「For You」推荐算法:Grok 驱动的 Phoenix Transformer,完整管道代码可直接跑
2026/5/25 19:29:19 网站建设 项目流程

X 平台开源「For You」推荐算法:Grok 驱动的 Phoenix Transformer,完整管道代码可直接跑

作者:技术博主 |更新时间:2026-05-16
标签X算法推荐系统Phoenix TransformerGrok开源For YouTwo-TowerRust


5 月 15 日,Elon Musk 发了一条只有 6 个字符加一个链接的推文:「The latest 𝕏 algorithm has been published to GitHub」。

链接指向:github.com/xai-org/x-algorithm

几小时内,该仓库涌入18,100 颗 Star。这是 X(原 Twitter)第二次开源其推荐算法,但这一次的完整度和工程意义远超 2023 年的初次尝试——那次被批评为「透明度剧场」,代码不完整、无法运行。

这次不同。你可以把代码克隆下来,下载预训练权重,在自己的机器上跑出一个和 X 生产环境行为接近的推荐排序结果。


一、背景:为什么是现在

┌─────────────────────────────────────────────────────────────────────────────────────────────┐ │ FOR YOU FEED REQUEST │ └─────────────────────────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────────────────────────┐ │ HOME MIXER │ │(Orchestration Layer)│ ├─────────────────────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ QUERY HYDRATION │ │ │ │ ┌──────────────────────────┐ ┌──────────────────────────────────────────────┐ │ │ │ │ │ User Action Sequence │ │ User Features │ │ │ │ │ │(engagement history)│ │(followinglist,preferences,etc.)│ │ │ │ │ └──────────────────────────┘ └──────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ CANDIDATE SOURCES │ │ │ │ ┌─────────────────────────────┐ ┌────────────────────────────────┐ │ │ │ │ │ THUNDER │ │ PHOENIX RETRIEVAL │ │ │ │ │ │(In-Network Posts)│ │(Out-of-Network Posts)│ │ │ │ │ │ │ │ │ │ │ │ │ │ Postsfromaccounts │ │ ML-based similarity search │ │ │ │ │ │ you follow │ │ acrossglobalcorpus │ │ │ │ │ └─────────────────────────────┘ └────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ HYDRATION │ │ │ │ Fetch additional data:core post metadata,author info,media entities,etc.│ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ FILTERING │ │ │ │ Remove:duplicates,old posts,self-posts,blocked authors,muted keywords,etc.│ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ SCORING │ │ │ │ ┌──────────────────────────┐ │ │ │ │ │ Phoenix Scorer │ Grok-based Transformer predicts:│ │ │ │ │(ML Predictions)│ P(like),P(reply),P(repost),P(click)...│ │ │ │ └──────────────────────────┘ │ │ │ │ │ │ │ │ │ ▼ │ │ │ │ ┌──────────────────────────┐ │ │ │ │ │ Weighted Scorer │ Weighted Score=Σ(weight × P(action))│ │ │ │ │(Combine predictions)│ │ │ │ │ └──────────────────────────┘ │ │ │ │ │ │ │ │ │ ▼ │ │ │ │ ┌──────────────────────────┐ │ │ │ │ │ Author Diversity │ Attenuate repeated author scores │ │ │ │ │ Scorer │ to ensure feed diversity │ │ │ │ └──────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ SELECTION │ │ │ │ Sort by final score,select top K candidates │ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ FILTERING(Post-Selection)│ │ │ │ Visibility filtering(deleted/spam/violence/gore etc)│ │ │ └─────────────────────────────────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────────────────────────────┐ │ RANKED FEED RESPONSE │ └─────────────────────────────────────────────────────────────────────────────────────────────┘

这次开源有几个明确的外部压力节点:

2025 年 12 月,EU 以违反《数字服务法》(DSA)透明度义务为由,对 X 开出1.4 亿欧元罚款;法国同期发起算法偏见调查。开源代码在技术层面提供了监管合规的抓手。

与此同时,Musk 在去年 10 月宣布 Grok 将全面接管推荐系统,承诺「4-6 周内删除所有启发式规则」。这次 5 月发布的版本,正是完整兑现这个承诺的结果。

X Engineering 官方账号的表述:

「We will make the new 𝕏 algorithm, including all code used to determine what organic and advertising posts are recommended to users, open source in 7 days. This will be repeated every 4 weeks, with comprehensive developer notes.」

每四周更新一次,附完整开发者说明。


二、系统全貌:四个核心组件

仓库用Rust(57.4%)+ Python(42.6%)编写,Apache 2.0 协议,包含四个主要模块:

x-algorithm/ ├── home_mixer/ # 编排层:协调整个推荐流水线 ├── thunder/ # 内存内容存储:管理关注账号的近期帖子 ├── phoenix/ # 核心:检索 + 排序(Grok Transformer) └── candidate_pipeline/ # 通用管道框架:并行执行、监控、错误处理

Home Mixer:总指挥,把各阶段串起来,管理请求流转。

Thunder:专门存储你关注账号的近期内容(站内内容),高速内存检索。

Phoenix:最核心的模块,负责站外内容发现(Two-Tower 检索)和最终排序(Transformer 打分),后面单独拆解。

Candidate Pipeline:基于 Rust trait 定义的可复用推荐管道框架,各阶段可并行执行,内置错误隔离和监控 hook。


三、推荐流水线:五个阶段

每次你打开 For You,系统在200 毫秒内完成以下全部步骤:

全平台每日 5 亿条帖子 ↓ ┌─────────────────────────────────────────┐ │ 阶段1:候选收集(Candidate Sourcing) │ │ 站内:Thunder 取关注账号近期内容 │ │ 站外:Phoenix Two-Tower 相似性检索 │ │ 合并后约 1500 个候选 │ └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ │ 阶段2:上下文补充(Hydration) │ │ 填充作者信息、媒体元数据、社交图谱等 │ └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ │ 阶段3:AI 打分(Phoenix Scoring) │ │ Grok Transformer 预测多维互动概率 │ │ P(like), P(reply), P(repost), P(click) │ │ 加权求和 → 最终相关性分数 │ └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ │ 阶段4:多样性调整(Diversity) │ │ 同一作者出现过多 → 降权 │ │ 站外内容比例调整 │ └─────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────┐ │ 阶段5:过滤(Filtering) │ │ 去重、去垃圾、去已屏蔽账号 │ │ 广告混入(ads blending) │ └─────────────────────────────────────────┘ ↓ 最终 Feed(约几十条)

四、Phoenix:最值得深读的模块

Phoenix 是整个系统的智能核心,分两个子阶段:

4.1 检索阶段:Two-Tower 模型

Two-Tower 架构是推荐系统的经典设计,Phoenix 用它来发现你没有关注但可能感兴趣的内容(站外内容)

User Tower Candidate Tower 用户特征 + 互动历史 候选帖子特征 ↓ ↓ 用户向量 [B, D] 内容向量 [N, D] ↓ ↓ ← 余弦相似度搜索(ANN)→ 取 Top-K 最相似的候选

两个 Tower 独立编码,向量维度 256 维,4 个注意力头,可以离线预计算内容向量并缓存,检索时只需计算用户向量 → 大幅降低在线计算量。

4.2 排序阶段:Grok Transformer

这是系统最核心也最有意思的部分。

架构来源:直接从 xAI 的 Grok-1 开源版本移植,针对推荐场景改造了输入嵌入和注意力掩码。

输入

用户嵌入 [B, 1, D] + 用户历史互动序列(你点赞过、回复过、转发过的帖子)[B, S, D] + 候选帖子序列 [B, C, D]

关键设计:候选孤立(Candidate Isolation)

排序时,候选帖子之间不能互相 attend——每个帖子只能关注用户上下文,不能看到同批次的其他候选。

这个设计解决了一个微妙问题:如果帖子 A 的得分会因为同批次有帖子 B 而变化,那得分就不稳定、不可缓存。孤立后,同一帖子对同一用户的得分永远一致,可以安全缓存,也防止了「刻意避开竞争」的策略性操控。

输出:每个候选帖子对应一组互动概率:

P(like) P(reply) P(repost) P(quote) P(click) P(profile_visit) P(video_watch) P(expand_photo) P(share) ...

最终相关性分数 = 各概率的加权求和(权重代表平台对不同互动行为的重视程度)。

4.3 互动权重(已公开)

代码中明确记录了各互动行为的相对权重,部分核心数字:

互动行为相对权重
作者回复了用户的评论×150(最高)
转发(Repost)×20
点赞(Like)×1(基准)
书签(Bookmark)×10
屏蔽/举报(Block/Report)-3.0(负向,绝对值远超正向)

一次屏蔽的负面权重,抵消 3 次点赞——负向信号的权重设计得比正向信号重很多。


五、三个重要的工程决策

① 彻底消除手工特征工程

这是这次更新最重要的声明:

「We have eliminated every single hand-engineered feature and most heuristics from the system. The Grok-based transformer does all the heavy lifting.」

过去的推荐系统需要工程师手动定义"什么是好帖子"——帖子长度、标签数量、发帖时间……现在这些全部由 Transformer 从用户互动序列中自动学习。好处是大幅降低数据管道和基础设施复杂度,代价是可解释性进一步降低。

② 情感分析影响分发

Grok 现在监控每条帖子的情感倾向。积极、建设性的内容获得更广泛的分发;消极、对抗性的内容,即使互动量高,也会被降权。这意味着算法在主动塑造平台的情感基调。

③ 可提示的信息流(Promptable Feeds)

用户可以用自然语言输入指令定制 Feed:「多给我推科技内容,少推政治」。这个功能将自然语言指令接入了推荐管道。


六、这次开源真正开放了什么

对比 2023 年那次:

2023 年初次开源2026 年 5 月更新
代码完整性片段,无法运行完整端到端管道,可本地跑
预训练权重提供 mini 版(~3GB,Git LFS)
广告系统未开源内置广告混合模块
内容理解Grox 内容理解服务(分类器 + Embedding)
架构说明简略详细 README + 架构图

本次开源的 mini Phoenix 模型规格:256 维嵌入、4 个注意力头、2 层 Transformer,约 3GB。和生产环境的完整模型不是同一量级,但行为一致——8GB 显存的 GPU 或近年的 CPU 都能跑起来。

# 克隆仓库gitclone https://github.com/xai-org/x-algorithm.gitcdx-algorithm# 下载预训练权重(需要 Git LFS)gitlfs pull# 运行端到端推荐管道python phoenix/run_pipeline.py

七、还开放不了什么

代码开源了,但有两件事仍然无法验证:

生产权重:GitHub 上的是 mini 版,生产环境用的完整模型规模、训练数据、实际权重不在开源范围内。

行为一致性:线上跑的代码和 GitHub 上的代码是否逐位一致,无法从外部验证。法国的算法偏见调查仍在进行中,正是基于这个不确定性。

这是平台透明度的天然边界——公布架构和公布生产系统之间,仍然有一道鸿沟。


总结

X 这次开源的价值对不同人群意义不同:

对推荐系统工程师:一个全球规模最大、可完整审查的推荐引擎实现,Rust 写的,带着 Grok Transformer 的实际改造方案。

对研究者:公平性测试、偏见审计、行为复现终于有了可操作的基础。

对普通用户:你现在知道了为什么某条帖子出现在你的 For You——作者回复你是权重最高的信号,屏蔽比点赞的影响大得多,情感积极的内容会被主动推广。

代码在这里,自己去读:github.com/xai-org/x-algorithm


💬你觉得推荐算法完全交给 Transformer 自学,比人工规则更好吗?还是觉得可解释性更重要?欢迎评论区聊!

🙏觉得有价值的话点个赞,关注不迷路!


本文信息截至 2026-05-16,基于 xai-org/x-algorithm 公开仓库及相关技术分析。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询