2026 年 8 月,xAI 在 GitHub 上开源了驱动 X(原推特)For You 信息流的推荐算法核心代码,仓库为 xai-org/x-algorithm,采用 Apache-2.0 许可。截至 9 月初,该仓库已有 32.6k stars 与 5.4k forks,共 21 个 commit、3 名贡献者,最新提交日期为 2026 年 9 月 3 日。

这次开源把一条信息流的完整生成过程公之于众:候选召回、内容水合、预打分过滤、模型打分、排序选择、可见性过滤与广告混排,每一环都有对应代码。本文按这条链路逐段拆解。

仓库概貌

仓库以 Rust 为主(37.4%),Python 占 30.3%,Scala 占 22.6%,Java 占 7.3%,包含 20 余个组件。核心是 home-mixer,它编排整条请求路径,打分权重也存放在它的 params/param.rs 中;candidate-pipeline 是流水线框架,定义了 source、hydrator、filter、scorer、selector、side effect 六类阶段,相互独立的阶段可以并行执行。

按时间线,2026 年 8 月 13 日的首波开源加入了打分权重参数、可见性过滤相关系统、Phoenix 模型的训练与合成数据生成代码,以及 SimClusters 召回;8 月 14 日补充了权重机制的说明和巴西 2026 大选期间的过滤逻辑(Brazil2026ElectionFilter,账户清单更新至 8 月 27 日)。

一条 For You 信息流的生成过程

For You 信息流按请求实时组装,候选来自两路:

  • 网络内(Thunder):thunder/ 把用户关注账号的近期推文驻留内存,随取随用;
  • 网络外(Phoenix 检索 + SimClusters):phoenix/ 把用户与每条推文编码为向量、返回最近邻;simclusters/ 按谁与谁互动聚类,用聚类结果找候选。

候选水合(补全正文、作者信息、互动数、订阅状态等元数据)后,进入预打分过滤。这一阶段共有 17 项过滤器,包括:跨来源去重、剔除超过 48 小时的推文、用户自己的推文、屏蔽与静音账号的推文、已看过或已服务过的推文、付费订阅中用户无权访问的内容等。

打分与排序

打分由 Phoenix 模型完成。它不预测单一的「相关度」,而是对每条推文预测用户做出各类动作的概率:喜欢、回复、转发、引用、分享、点击(帖子/主页/链接/图片/视频)、停留时长、关注作者、不感兴趣、静音、屏蔽、举报等。最终得分是这些概率的加权和:

Final Score = Σ(weight_i × P(action_i))

权重存放在 home-mixer/params/param.rs。加权之后还有三项调整:

  • 作者多样性:同一作者在前的推文之后,每条乘以一个衰减系数,直到下限;
  • 网络外折扣:非关注账号的推文乘以小于 1 的系数,关注账号的回复与转发同样打折;
  • 新作者提升:impressions 低于阈值的作者,其推文向目标位置提升。

排序完成后,VMRanker 服务用**行列式点过程(DPP)**重排:在嵌入空间上降低相邻推文的相似度,用少量分数换取信息多样性。

可见性过滤:排序之外的独立闸门

排序决定顺序,可见性过滤决定一条推文能否被看到,两者是独立系统。visibility-filtering 对每条推文与每个用户给出三态答案:ALLOW(正常展示)、INTERSTITIAL(放在可点穿的插页之后,用于成人或暴力内容)、DROP(不展示)。

判断依据来自一套持续离线运行的标签体系:grox 对推文做垃圾、成人、暴力等内容分类;agatha 根据他人对账号的屏蔽、举报等行为给账号打标签;botmaker 是规则引擎,scarecrow 把规则实时应用到事件上;user-cred-v2 在关注图与互动边上运行 PageRank,产出账号可信度分数;abuse-enforcement-service 依据模型分数直接给账号贴标签、警告或封禁。标签写入存储,请求路径上读回使用。

权重机制的一个常见误解

README 专门澄清:权重不是原始互动数的倍数,而是预测概率的乘数。例如举报的权重看起来比点赞高 468 倍,但这不意味着 1 个举报抵消 468 个赞——权重乘的是模型对你举报概率的预测,而这个预测主要由你自己的行为模式决定。官方在 ranking_scorer.rs 与 params/param.rs 中加了注释说明这一点。

未公开的文件与透明度工具

为防止分发机制被利用,少量文件未随仓库公开,例如 grox 的 LLM 提示词(j2 文件)与部分 botmaker 规则。作为补充,xAI 正在测试 Under the Hood 标签透明度工具(x.com/i/under_the_hood),用户可查看自己账号与推文被应用过哪些影响可见性的标签。

开源的价值

代码公开后,权重数值、大选期间的过滤规则、账号如何被降权,都可以在仓库中找到对应实现并独立核验。排序与可见性分离的设计也说明:在推荐系统里,「排在第几位」与「能不能出现」是两个可以分开审查的问题。