xai-org/x-algorithm

Algorithm powering the For You feed on X

X For You 信息流算法

它是什么

  • X(前身为 Twitter)上 For You 时间线的开源核心。它通过混合用户关注的账户(网络内)的内容和从其他账户发现的内容(网络外),然后使用基于 Transformer 的模型对所有内容进行排序,来决定观看者看到哪些帖子。

关键组件

  • Home Mixer – 主要的请求时管道,负责收集候选、补充信息、应用预评分过滤器、使用 Phoenix 模型评分、重新排序,并最终选择前 K 个帖子。
  • Thunder – 关注账户近期帖子的内存缓存。
  • Phoenix – 检索模型,预测观看者对每个候选帖子采取操作(点赞、转发、举报、停留时间等)的概率。
  • SimClusters – 基于相似性的来源,展示观看者未关注的账户的帖子。
  • 可见性过滤 – 一个独立的子系统,根据标签、屏蔽、静音、法律合规等,决定每个帖子是显示、带通知显示、显示在插页后面还是丢弃。
  • 标签路径 – 持续的后台管道,运行分类器(media-model-proxy、CLIP、Agatha、BDSM 等)和规则引擎(Botmaker、Scarecrow、Abuse-Enforcement),为帖子和账户附加安全和真实性标签。
  • 混合管道 – 排序后,广告、“谁关注”推荐和提示等非帖子项目与自然时间线交错。

工作原理(高层流程)

  1. 查询补充 – 收集观看者最近的互动历史、关注列表、屏蔽/静音等。
  2. 候选来源 – 并行查询 Thunder(网络内)、Phoenix 检索、SimClusters 和共享的热门帖子列表。
  3. 候选补充 – 获取帖子文本、媒体、作者详情、现有标签、语言等。
  4. 预评分过滤器 – 删除重复项、旧帖子、观看者自己的帖子、被屏蔽的账户等。
  5. 评分 – Phoenix 预测操作概率;价值模型 将它们与可配置权重结合;可选的 VMRanker 可以调用外部重排序器。
  6. 选择 – 保留得分最高的前 K 个候选。
  7. 选择后过滤器 – 可见性过滤决定每个帖子的最终命运;随后进行对话线程去重。
  8. 混合 – 广告、关注建议和提示与排序后的帖子交错。
  9. 副作用 – 记录服务事件、刷新缓存、记录广告指标。

配置与实验

  • 所有可调权重和功能标志都位于 home-mixer/params/param.rs 中。实验可以在不更改代码的情况下启用/禁用各个阶段(例如,巴西 2026 年选举过滤器)。

仓库中不包含的内容

  • 生产数据存储、实时模型训练管道以及完整的私有安全模型集。该仓库包含编排代码和用于概念验证训练的合成数据生成。

透明度工具

  • 一个 Under the Hood 标签透明度 UI 向用户报告帖子可见性受限的原因(例如,法律删除、合规过滤器)。

典型用例

  • 研究大规模推荐管道的研究人员。
  • 构建类似信息流系统、需要候选生成、评分和安全过滤参考架构的工程师。
  • 审查平台决策(权重、法律过滤器)如何实施的审计员或政策分析师。

开始使用

  1. 克隆仓库。
  2. 按照 README 中关于合成数据生成的章节,运行一个小规模的 Phoenix 训练。
  3. 使用提供的配置文件在本地启动 Home Mixer 服务(需要 Rust 工具链)。
  4. 通过运行 under_the_hood 服务器并使用测试用户 ID 查询来探索透明度工具。

许可证 – 请参阅仓库中的 LICENSE 文件。

相关

  • Dispatch
  • 项目
  • 项目
  • 项目
  • 项目