Skip to content

开源版 vs 线上真实算法:已知差异清单

xai-org/x-algorithm 2e2295b 公开了什么、没公开什么、两套权重默认值的出入,以及上游 README 与代码不一致的地方

Updated

本页回答一个问题:xai-org/x-algorithm 的开源代码与 X 线上运行的 For You 算法,已知差距有哪些。本页只写有源码或上游文档依据的内容;仓库没有说明、代码也看不出的,写“源码未包含”。本页依据的源码版本是 commit 2e2295b。

一句话定位:生产代码,去掉了数据、模型文件和部分规则

当前仓库发布的是生产实现本身,不是演示模型。phoenix/README.md 写明:早期版本附带从 Grok-1 移植的示例 transformer;本次发布的是真实模型代码、真实训练步骤和真实 Rust 服务引擎(phoenix/README.md:9-21)。

没有发布的是三类东西:xAI 专用基础设施、训练好的模型文件、为防止被规避而保留的部分规则和阈值。下面分别列出。

旧版本页面说“公开的是 mini 模型和冻结 checkpoint”“README 与代码有 3 处出入(模型尺寸、打分器数量、掩码方向)”。这些结论基于 2026-05 的源码,已不适用:演示模型已删除,掩码现在与 README 一致。

公开了什么

内容 说明 出处
Phoenix 训练与服务代码 排序与召回模型、训练步骤、Rust 服务引擎;附合成数据生成器,可单卡端到端训练和服务 phoenix/README.md:9-21、phoenix/QUICKSTART.md:12
打分权重 29 个权重参数的默认值;上游说明默认值由定时脚本同步为生产主值 home-mixer/params/param.rs:404-533、README.md:432
加权算式与调整 30 个加权项、作者多样性衰减、站外降权、新作者扶持 xai-value-model/scoring.rs:79-218
可见性过滤规则 各安全级别的规则清单与规则定义 visibility-filtering/rules/levels.rs:298-360
标签链路 打标签规则、账号评分模型、图片与视频模型、处置服务 README.md:68
Under the Hood 报告 生成标签透明度月报的任务与服务代码 under-the-hood/strato/columns/underTheHoodReport.User.strato:18-19

标签链路指后台给帖子和账号打标签的那条路径。它包括 botmaker 规则、scarecrow、agatha、bdsm、user-cred-v2、媒体模型和 abuse-enforcement-service。旧版本页面说“可见性过滤不在开源仓库里”,现已错误。

没公开什么

上游 README 点名的

上游 README 列出两类未发布文件,理由是降低被规避的风险(README.md:444-447):

  • Grox 提示词:Grox 调用大模型时使用的 j2 提示词文件。
  • 部分 botmaker 规则:打标签规则的一部分。

上游 README 用 Under the Hood 报告弥补这部分透明度:用户能看到自己账号和帖子上的部分标签。

Phoenix 没发布的

  • 训练好的 checkpoint:仓库没有可下载的模型文件或语料包,只有合成数据生成器(phoenix/README.md:61-62)。
  • 生产数据流与集群编排:训练文档写明,发布的路径不含生产数据流、生产 checkpoint、多机编排和生产规模配方(phoenix/TRAINING.md:8-10)。
  • 一处优化器替换:使用旧版稠密优化器槽位的配置,开源版用标准 AdamW 替代生产的内部变体。旗舰排序配置用的 Muon 配方完整发布(phoenix/README.md:16-21)。

用占位值替换的阈值

部分阈值保留了规则结构,但数值换成了不可能触发或明显虚构的占位值:

位置 占位值 含义 出处
bdsm 机器人检测的处置阈值 9.99 字段是 0 到 1 的概率,9.99 永远不会触发 bdsm/runtime/sink_policy.yaml:1-12
bdsm 最少行为数门槛 999999 比任何可打分序列都长,门槛永远不通过 bdsm/README.md:104-115
bdsm 申诉说明模板 <redacted> 模板文字被替换 bdsm/README.md:116-125
处置服务的粉丝数与 user-cred 豁免阈值 12.34 注释写明生产使用不同的值,此处为降低被规避风险的模拟值 abuse-enforcement-service/service-lib/rules/enforcement_user.yaml:19-33

bdsm 文档说明,策略结构、检测头名称和门槛逻辑是真实的,只隐藏调好的数值(bdsm/README.md:104-115)。

其他源码未包含的

  • 名单内容:处置服务的账号白名单、打标签规则的 AutoExpiringTempSkipList 在代码中被引用,名单内容源码未包含(abuse-enforcement-service/service-lib/rules/enforcement_user.yaml:6-10)。
  • 部分上游分数:处置规则读取 llm_slop_user 等分数标签(abuse-enforcement-service/service-lib/rules/enforcement_user.yaml:118-123),产生这些分数的检测器源码未包含。
  • vm-ranker 的线上配置:vm-ranker 运行时从配置中心同步参数,每 30 秒重读(vm-ranker/main.rs:69-98)。同步下来的数值源码未包含。

两套权重默认值不一致

权重默认值写在两个文件里,部分数值不同:

行为 home-mixer/params/param.rs vm-ranker/params.rs
点赞 0.708 0.5
打开视频 0.0 0.07
点击 0.274 0.3
分享 2.118 2.0
post_unexplored 0.015 0.02
停留时长(连续值) 0.0075 0.004
点击后停留时长 0.385 0.4
不感兴趣 -53.07 -47.52

出处:home-mixer/params/param.rs:404-514、vm-ranker/params.rs:3-119。其余权重两边相同,例如回复 5.0、复制链接分享 20.0、举报 -234.0。

两套默认值的关系:

  1. 两个服务读取同一组配置键,例如 rust_home_mixer_favorite_weight(home-mixer/params/param.rs:404-409)。
  2. 最终分由 vm-ranker 计算。vm-ranker 从配置中心同步这些键,代码默认值只在配置缺少该键时生效(vm-ranker/main.rs:69-98)。
  3. 上游只声明 param.rs 的默认值同步自生产主值(README.md:432),没有对 vm-ranker/params.rs 作同样声明。
  4. vm-ranker 调用失败时,home-mixer 用 param.rs 的权重算本地分兜底(home-mixer/scorers/vm_ranker.rs:107-113)。

本站以 param.rs 为基准引用权重。“1 次举报抵消 468 个赞”中的 468 用的是 vm-ranker 的点赞默认值 0.5;按 param.rs 算,比值约为 330.5。

作者多样性衰减、站外降权的参数只写在 vm-ranker/params.rs(vm-ranker/params.rs:175-234),上游没有声明它们与生产同步。

上游 README 与代码的出入

上游 README 有几处与 2e2295b 的代码不一致。本站一律以代码为准。

1. rules/registry.rs 不存在

README 两处说可见性规则按评估顺序列在 visibility-filtering/rules/registry.rs(README.md:330、README.md:422)。该文件在 2e2295b 中不存在。规则定义在 rules/tweet_rules.rs 与 rules/author_rules.rs,各安全级别的规则清单在 rules/levels.rs(visibility-filtering/rules/levels.rs:298-360)。

2. RankingScorer 只剩名字

README 的架构图和打分一节说 RankingScorer 把各行为概率加权求和(README.md:143、README.md:362)。代码里没有 RankingScorer。内层流水线按序运行 5 个打分器:PhoenixScorer、ImmersiveVideoScorer、VMRanker、PageDecodeRerankScorer、PageRlExplorationScorer(home-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs:475-481)。README 图中 RankingScorer 链接到的 home-mixer/scorers/value_model.rs 只提供读取权重和算本地分的辅助函数。

3. 过滤器表有遗漏

README 的表 README 写法 代码
预打分过滤器(README.md:382-405) 18 个 21 个,多出 ZeroFavCodivertFilter、NewUserSoftNsfwFilter、FairShareRankingFilter(home-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs:429-453)
静音词过滤器(README.md:398) MutedKeywordFilter 已改名 ViewerMutedKeywordFilter(home-mixer/filters/viewer_muted_keyword_filter.rs:20-47)
选后过滤器(README.md:409-416) 3 个 5 个,多出 AncestorVideoFilter、VideoCarouselFilter(home-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs:511-517)

多出的过滤器中,ZeroFavCodivertFilter 和 NewUserSoftNsfwFilter 开源默认不运行,FairShareRankingFilter 默认运行。详见 过滤流水线。

怎么使用这份理解

本站引用的数值都是开源默认值。引用时按以下规则区分:

  • 可以说:“param.rs 中点赞权重的开源默认值是 0.708,上游声明它同步自生产主值。”
  • 可以说:“同一作者在同一次请求里的帖子按衰减 0.5、下限 0.25 打折(vm-ranker 代码默认值)。”
  • 不能说:“线上点赞权重就是 0.708。”vm-ranker 的线上配置源码未包含。
  • 不能说:“粉丝超过 12.34 就豁免处置。”12.34 是占位值。

线上还在持续做实验。上游 README 说,占流量较大(例如 10% 以上)的实验,目标是在仓库里可见(README.md:430)。小流量实验不一定可见。

一页速查

维度 开源仓库给了什么 没给什么
模型代码 Phoenix 生产实现与训练代码(phoenix/README.md:9-21) checkpoint、生产数据流、集群编排
权重 param.rs 默认值,声明同步自生产主值(README.md:432) vm-ranker 的线上配置值
可见性规则 规则定义与安全级别清单(visibility-filtering/rules/levels.rs:298-360) —
打标签规则 部分 botmaker 规则 其余 botmaker 规则(README.md:447)
内容分类 Grox 流程代码 Grox 提示词(README.md:446)
处置阈值 规则结构 真实阈值,以 9.99、999999、12.34 占位
名单 名单的引用位置 白名单与跳过名单的内容
文档 上游 README README 中的 registry.rs、RankingScorer、过滤器表已过时

出处

结论 主要源码
发布的是生产实现,不含专用基础设施 phoenix/README.md:9-21
没有 checkpoint 和语料包 phoenix/README.md:61-62
训练路径不含生产数据流与 checkpoint phoenix/TRAINING.md:8-10
Grox 提示词与部分 botmaker 规则未发布 README.md:444-447
param.rs 默认值同步自生产主值 README.md:432
vm-ranker 运行时同步配置 vm-ranker/main.rs:69-98
两套权重默认值 home-mixer/params/param.rs:404-533、vm-ranker/params.rs:3-119
bdsm 阈值以 9.99 占位 bdsm/runtime/sink_policy.yaml:1-12
处置阈值以 12.34 占位 abuse-enforcement-service/service-lib/rules/enforcement_user.yaml:19-33
README 引用不存在的 registry.rs README.md:330
代码中的 5 个打分器 home-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs:475-481
21 个预打分过滤器 home-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs:429-453
5 个选后过滤器 home-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs:511-517

相关页面

Type to search…

↑↓ navigate↵ selectEsc close