X Algorithm 深度分析报告

马斯克开源的 X(原 Twitter)推荐算法完整解析
RustPythonJAXgRPCTransformerKafka
仓库:github.com/xai-org/x-algorithm | 许可证:Apache 2.0 | 发布日期:2026年5月15日

📋 执行摘要

X Algorithm 是 X 平台 "For You" 推荐信息流的核心系统。2026年5月15日由 xAI 开源,采用 Rust + Python 混合架构,将社交图谱与兴趣图谱深度融合,使用 Grok Transformer 端到端排序模型替代传统手工特征工程。

🔀

双源融合

Thunder(社交) + Phoenix(兴趣)双通道

🧠

Grok Transformer

Grok-1衍生Transformer预测互动概率

🎨

多模态嵌入

1024维文本/图片/视频统一空间

📊

19维互动信号

点赞/回复/转发/停留/关注等

🎭

作者多样性

指数衰减防止信息茧房

🛡️

17+层过滤

去重/年龄/关键词/安全等

🏗️ 系统架构总览

For You Feed Request
请求入口
HOME MIXER (编排层)
核心调度与混合引擎
Query Hydration
查询增强
Candidate Sources
11个候选源
Hydration → Filtering(17+) → Scoring → Selection
Post-Filter → Ads Blending
Ranked Feed Response
排序后的信息流

技术栈

组件语言框架职责
Home MixerRustTokio + Tonic(gRPC)编排层
For You PipelineRustasync/await候选管道编排
ThunderRustKafka + gRPC社交关系内帖子检索
Phoenix(Ranker)PythonJAX + HaikuTransformer排序模型
Phoenix(Retrieval)PythonJAX + Haiku双塔检索模型
GroxPython多进程+Kafka多模态嵌入生成
Candidate PipelineRustTrait-based通用管道框架

🔧 核心组件深度分析

3.1 Home Mixer(编排层)

ForYouFeedServer

• 接收 ScoredPostsQuery 请求
• Gizmoduck 获取用户数据
• Feature Switches A/B测试
• 200ms超时控制
• Gzip+Zstd压缩

ScoredPostsServer

• 调试/评分服务
• 暴露详细评分信息
• 功能开关覆盖
• B3追踪集成

3.2 Thunder(社交关系内帖子检索)

流程:GetInNetworkPostsRequest → PostStore查询 → 时间倒序 → 限制数量 → Kafka实时更新

数据源:Kafka tweet_events_listener(v1/v2) + post_store内存

3.3 Phoenix(兴趣发现与排序)

双塔检索模型

• 用户塔:行为历史→向量
• 帖子塔:内容→向量
• cosine相似度→Top-K
• 帖子年龄上限:80小时
• JAX+Haiku

Transformer排序模型

• 基于Grok-1
• 1024维嵌入
• 用户:ID+关注+互动+IP
• RoPE位置编码
• 候选隔离

3.4 Grox(多模态嵌入生成)

组件:Engine(多进程) + Dispatcher + Embedder V5(1024维) + Classifiers + Data Loaders

7种Plan:帖子嵌入/回复嵌入/摘要嵌入/回复排序/安全分类/热门帖子等

V5特点:文本/图片/视频三模态,视频ASR转录,输出1024维向量

3.5 Candidate Pipeline(管道框架)

trait Source<Q,C> { async fn source(query) → Vec<C> } // 并行 trait Hydrator<Q,C> { async fn hydrate(query, cands) } // 顺序 trait Filter<Q,C> { async fn filter(query, cands) } // 顺序 trait Scorer<Q,C> { async fn score(query, cands) } // 顺序 trait Selector<Q,C> { async fn select(query, cands) } // 最终

📐 评分算法详解

4.1 Phoenix Scorer — 19维互动信号分类

favorite
正反馈
reply
正反馈
retweet
正反馈
photo_expand
正反馈
click
正反馈
profile_click
正反馈
vqv (视频)
正反馈
share
正反馈
share_via_dm
正反馈
share_copy_link
正反馈
dwell
正反馈
quote
正反馈
quoted_click
正反馈
dwell_time
正反馈
follow_author
正反馈
not_interested
负反馈
block_author
负反馈
mute_author
负反馈
report
负反馈

4.2 Weighted Scorer — 加权求和公式

combined_score = Σ(weight_i × score_i) 正反馈(15个): favorite + reply + retweet + photo_expand + click + profile_click + vqv(视频) + share + share_dm + share_copy_link + dwell + quote + quoted_click + dwell_time + follow_author 负反馈(4个): not_interested + block_author + mute_author + report

4.3 Author Diversity — 指数衰减

公式:multiplier(pos) = (1-floor) × decay^pos + floor

decay=0.5, floor=0.1: 第1篇×1.0 → 第2篇×0.6 → 第3篇×0.35 → 第4篇≥0.1

🛡️ 过滤层分析

17+ 过滤器分类

去重类 (4个)
已读/已服务 (3个)
安全/可见性 (3个)
用户偏好 (3个)
主题/订阅 (2个)
其他 (2个)
过滤器功能
drop_duplicates去重
age_filter过滤过旧帖子
self_tweet_filter过滤自己的帖子
previously_seen过滤已读
previously_served过滤已服务
retweet_dedup转发去重
dedup_conversation对话去重
muted_keyword静音关键词
author_socialgraph社交图谱过滤
vf_filter可见性过滤
topic_ids_filter主题过滤
video_filter视频过滤

📡 候选源分析

类型说明
thunder_source社交关注用户帖子
phoenix_source兴趣Phoenix ML推荐
phoenix_moe_source兴趣MoE混合专家
phoenix_topics主题主题推荐
ads_source广告广告帖子
prompts_source提示引导内容
push_to_home推送推送帖子
cached_posts缓存缓存帖子
scored_posts评分已评分帖子
tweet_mixer混合推文混合
who_to_follow关注推荐关注

🔄 数据流分析

1
请求接收:Home Mixer 接收 gRPC 请求
2
查询增强:获取用户数据、功能开关评估
3
候选生成:并行调用 11 个源
4
数据填充:帖子元数据、作者信息
5
过滤:17+ 层过滤
6
评分:ML预测 → 加权求和 → 多样性调整
7
选择:排序 + Top K
8
后过滤:可见性检查
9
广告混合:有机+广告
10
响应返回:压缩返回

💡 关键设计决策

无手工特征工程

Transformer自动学习特征表示

候选隔离

独立预测避免注意力干扰

哈希嵌入

离散特征→稠密向量

多动作预测

19种互动概率加权求和

可组合管道

Trait-based独立开发测试

功能开关

A/B测试+灰度发布

⚠️ 局限性与观察

配置外部化

权重通过外部配置,无法获知生产值

依赖外部服务

Gizmoduck/AdIndex/TES等未开源

模型权重未开源

仅含推理代码,无训练代码和权重

🎯 结论

X Algorithm 代表社交媒体推荐系统的重要演进:

  1. 从规则到AI:Grok Transformer替代手工特征
  2. 社交+兴趣融合:Thunder+Phoenix双通道
  3. 多模态理解:文本/图片/视频统一处理
  4. 工程严谨:Rust+Python混合架构
  5. 可解释性:19维信号加权可配置

这套系统为推荐系统研究者提供了工业级参考。