我把 X 5 月开源的推荐算法跑了一遍,发现开源部分只能解释真实 Feed 排序的 30%。剩下 70% 藏在服务端配置、VM Ranker 和运营规则里
但这 30% 的公开代码已经足够回答一个问题:创作者到底能控制什么
原文仓库:xai-org/x-algorithm(5 月 15 日更新,新增 187 个文件、18263 行代码)
这篇文章不重复算法全景图(Punk2898 的两篇已经写得很完整),只聚焦三件事:
1️⃣ 我跑管道时观察到的反直觉现象
2️⃣ 5 月新增代码里对创作者影响最大的机制
3️⃣ 基于这些观察的具体操作建议
观察一:开源排序和真实 Feed 几乎零相关

我用 Phoenix 模型跑了 53.7 万条体育帖子的语料库。模型给出的最终分数区间是 0.0000 到 0.0015,极其扁平。Fav、Reply、RT 的预测概率全部趋近于零,排序主要靠 Dwell(停留时间)一个信号拉开差距
然后我抓了真实的 For You feed 做对比。用 Kendall's tau 计算排名相关性,结果是 -0.10
这个数字意味着:用开源代码里的 demo 权重(fav1.0 + reply0.5 + RT0.3 + dwell0.2)去预测你实际看到的 Feed 排序,准确率跟随机猜差不多
真实 Feed 里有零互动的帖子出现在前 7 位,有高互动的帖子被压到第 9、第 10 位。3 分钟内发布的超新帖零互动也能进入 Feed
这说明什么?
说明开源的 Phoenix 模型只负责"候选池初筛",真正决定你在别人 Feed 里排第几的是后面的重排层。而 5 月开源的代码恰好补全了这些重排层的逻辑
观察二:质量分 0.4 是隐形生死线

5 月新增的 Grox 模块是整次更新最关键的部分。它不是 Phoenix 的替代品,是 Phoenix 的上游供应商。每条新帖发出后,Grox 会用 VLM 大模型做 5 件事:
- 打质量分(quality_score,0 到 1)
- 生成 7 个布尔标签(是否成人内容、是否暴力、是否仇恨言论等)
- 打灌水分(slop_score,1-3 档)
- 生成多模态嵌入向量
- 做 PTOS 安全审查
代码里写得很明确:quality_score >= 0.4 才算初筛通过。低于 0.4 被打入"低质"档位,后续的扩散处处受阻
这个 0.4 门槛是 VLM 大模型判断的,不是关键词匹配。它能看懂你的文字含义、配图内容、视频画面。以前靠"加图片堆关键词"能骗过的规则系统,现在骗不了了
slop_score 是另一个新武器:模板化内容、低信息量、AI 生成痕迹明显的帖子会被打高分。1 档正常,2-3 档意味着算法认为你在灌水
观察三:划走是主动减分,不是"没看到"

5 月版本把行为信号从 18 个升级到 19 个离散头 + 8 个连续辅助头。新增的连续头预测的是"停留多久""阅读完成度"这些精细指标
但对创作者冲击最大的是这个信号:not_dwelled
以前我们以为"用户没互动"只是中性的,相当于没看到。错了。用户快速划走你的帖子是一个主动的负向信号,算法会因此给你减分
这意味着:
- 视频开头 1 秒没抓住人 = 主动扣分
- 长帖第一句话没意思 = 主动扣分
- 图片没有视觉冲击力 = 主动扣分
我在观察真实 Feed 时发现一个现象:有些零互动帖能进入 Top 7,而一些高互动帖被压到后面。合理的解释是:那些零互动帖虽然没人点赞,但用户确实停留了(产生了 dwell 信号),而某些看起来数据好的帖子实际上有大量快速划走
观察四:你关注谁决定了算法把你归到哪个圈

5 月代码里新增了 mutual_follow_jaccard_hydrator,作用是计算"你和某个作者的共同关注圈相似度"
如果你和某个作者关注了很多相同的人(Jaccard 系数高),算法会认为你们在同一个"信息圈层",更倾向于把他的内容推给你
这个机制改变了一个根本假设:以前是"内容质量决定分发",现在是"内容质量 + 圈层归属共同决定分发"
具体来说:
- 你关注的每一个账号都在计算你的圈层身份
- 乱关注等于稀释你的圈层标签
- 与同领域 KOL 互关(双向 follow)的效果远大于单向关注 100 个杂号
- 在圈内大 V 帖子下的高质量评论会进入 following_replied_users 信号链,你的头像可能出现在"你关注的人也在此评论"提示里
我自己的 For You feed 验证了这一点:60% 以上的推荐内容来自中文 AI 圈的创作者,因为我的关注列表集中在这个圈层
观察五:评论区现在是独立赛道

5 月代码公开了评论区的独立打分系统。每条评论被 Grok 打 0-3 分:
- 3 分:有信息增量、能引发讨论的评论
- 2 分:正常互动
- 1 分:简短但不算垃圾
- 0 分:触发 spam 标签,影响账号信用
得 0 分的评论不只是被折叠,还会在你的账号上留下"曾发过 spam 评论"的记录。长期累积可能影响你整体的账号权重
同时,你帖子下面的垃圾评论也会影响主贴权重。那些"求互关""沙发""+1"类的评论,算法不只是不喜欢它们,还会因为它们的存在而降低你主贴的分发
反过来,一条高质量评论的曝光价值可能比你自己发 10 条普通帖更大。在大 V 帖子下留一条有数据支撑、能引发讨论的评论,等于借了大 V 的流量入口
观察六:缓存策略让"何时发"比"发什么"更微妙

代码里有一个细节:当缓存池里的帖子数量 >= 500 时,系统会跳过 Thunder/Phoenix/TweetMixer 所有实时拉帖逻辑,直接返回缓存内容
这意味着:每天打开 X 几十次的重度用户,他们很多请求根本不走推荐算法,看的是 Redis 缓存里的旧列表
你刚发的帖子,对这些重度用户可能完全不可见。直到缓存下一次刷新,你的内容才有机会进入
这也解释了一个反直觉现象:有些账号一天发几十条帖子,流量反而不差。因为高频发帖提高了"在某次缓存刷新中被选入"的概率。不过 Punk2898 判断这个策略后续会被调整
对普通创作者来说,操作建议是:在目标受众的活跃高峰前 10-30 分钟发帖,这样缓存刷新时你的帖子更有机会被包含进去
观察七:MediumRisk 是你不知道的隐性降权

广告系统的代码首次公开了 brand_safety_verdict 这个变量。分四档:Safe / LowRisk / MediumRisk / HighRisk
关键发现:默认值是 MediumRisk
也就是说,如果你的帖子还没被 Grox 审查完(或者标签缺失),系统默认把你当"中风险"处理。中风险的帖子不会被直接屏蔽,但会被避免放在广告旁边。而广告周围的位置往往是高曝光位置(用户视觉焦点区域)
结果就是:你从来没收到过任何违规通知,但你的曝光已经在打折。这是 v2 算法最容易被忽视的"隐性限流"
怎么避免?内容主题清晰、没有擦边内容的帖子更容易被快速归类为 Safe。重要帖发出后等 30-60 分钟让审查跑完再做大力推广
创作者操作清单

基于以上 7 个观察,以下是具体可执行的操作
关于内容质量
每条帖子的前 10 个字决定了 dwell 还是 not_dwelled。必须在第一句制造认知落差或数据冲击。"今天学了一个小技巧"这种开头直接触发划走
内容要有明确论点、信息密度、结构感。质量分 0.4 的门槛不高,但"模板化+低信息量+几个字配一张图"的凑数帖肯定过不了
避免 AI 模板感:统一句式、固定开头("首先...其次...最后")、升华式结尾都会被 slop_score 检测
关于圈层运营
审计你的关注列表。取关不在目标圈层内的杂号。每个关注都在塑造你的 Jaccard 系数
与目标圈层的 5-10 个核心账号互关。互关的权重远大于单向关注
在圈内大 V 帖子下留有信息增量的评论。不是"学到了",是补充一个数据点、分享一个反例、提出一个延伸问题
关于评论区管理
定期清理你帖子下的垃圾评论。广告、无意义回复会拉低主贴权重
不要在不相关的帖子下刷存在感。0 分评论会在你账号上留 spam 记录
关于发布时机
在目标受众活跃高峰前 10-30 分钟发帖。给缓存刷新留出包含你的窗口
重要帖发出后等 30-60 分钟再做推广动作。让 Grox 审查跑完,从默认 MediumRisk 升级为 Safe
关于引用转发
谨慎引用边缘内容。v2 的 VF 连带责任机制会让被处罚帖子的降权沿着引用链传染到你
有争议的内容用截图 + 自己的评论代替直接引用
关于话题标签
确定核心 1-2 个 Grok 话题,持续围绕它们创作。新用户的发现流按话题硬性过滤,你不在他们的话题集里就完全不存在
偶尔用 # 显式标签加强算法的话题归类
关于视频
视频开头 1 秒是生死线。not_dwelled 信号在视频上体现最明显
重要内容必须有纯文字版本。部分用户开启了"少看视频"过滤,含视频时长字段的帖子会被一刀切剔除
参考链接:





