xai-org / x-algorithm · param.rs @ 2026-08-12T04:09:22Z

For You 不是在数赞,
是在赌你下一步会做什么

整套算法可以压成一句话:多路召回 → Transformer 预测你对每条推的各种行为概率 → 用一组写死在代码里的权重合成分数 → 多样性与关系修正 → 安全过滤 → 插广告。下面把其中真正会改变发帖决策的部分画出来。

账号 @__oQuery · 11,004 followers 诊断 in-network 天花板 8k–20k 核心杠杆 频率 ↓ · copy-link ↑
01 / PIPELINE

一次刷新,你的推经过了什么

红点是唯一由「内容本身」决定命运的两步。其余环节要么是硬过滤,要么是与内容质量无关的结构性折扣。

1

Query Hydration

读取 viewer 最近的行为序列(生产上限 1024)、关注列表、block / mute、已看过与已 served 的推。

MaxSeqLength 1024EngagementSignals ≤15/类
2

召回 · 三路并行

Thunder 拿关注对象的新内容;Phoenix Retrieval 用 Semantic ID 做向量召回;SimClusters 走兴趣社区。旧的 tweet-mixer 已默认关闭。

Thunder 1200Phoenix 1000SemanticID 6×256TweetMixer = false
3

预打分过滤 · 26 条

超 48 小时、已看过、block / mute、屏蔽词、订阅内容无权限、跨源重复。这 26 条里没有任何一条与链接有关 —— 这是「带链接降权」传言的第一处证伪。

48h AgeFilter已 served 100 / 10min
4

Phoenix Scorer · 预测每个动作的概率

8 层 Transformer,把 viewer 历史与候选推一起输入。关键设计:候选之间互不 attention,所以单条推的分数不会因为同批次里恰好有别的推而漂移。

候选 ✕ 候选 = 无 attention64 action taxonomy
5

Ranking Scorer · 加权求和 + 三重修正

Σ P(action) × weight,随后叠加同作者衰减、陌生人内容 ×0.75、新作者 boost。这是全流程唯一「你能主动设计」的一环。

OonWeightFactor 0.75AuthorDecay 0.5 / Floor 0.25
6

DPP 重排 + Top K

在原始前 150 名内按 embedding 余弦相似度做多样性选择,倾向「高分且彼此不像」。同话题连发会在这里被互相抵消。

DppTheta 0.65MaxSelectedRank 150
7

Visibility Filtering · 与排序完全分离

ALLOW / INTERSTITIAL / DROP 三态。判定依据不是分数,而是别的系统异步打上的标签。分数再高,这一步也能直接抹掉。

SPAM_DROP 全局MALICIOUS_URL 仅 OON
8

Blending · 插广告与推荐

广告不与自然推同场竞争打分,而是排完序之后按 ad adjacency 重新插入。Who to Follow 与 prompt 走固定位置。

02 / OBJECTIVE FUNCTION

它到底在奖励什么

这是唯一被完整公开的部分。条形按平方根缩放,否则 −234 会把 0.004 压成不可见 —— 但也正因如此,请务必读完下面那段免责说明。

↓ 条长 = √|权重|,数值为真实系数
关键:这是「权重 × 模型预测概率」,不是「发生一次行为就加这么多分」。 copy-link、report、mute 本身极低频,系数大是为了补偿 propensity —— param.rs 原注释写明权重同时反映 action value 与该行为在全网的典型发生率。所以不要推出「1 次 copy link = 40 个赞」这类结论。 真正可靠的读法只有一条:深度互动 > 轻互动,而负反馈的量级远大于一切正向收益。
03 / THE REAL CEILING

你不是发得不够多,是发得太多

同一候选集内,同作者的第 k 条会被乘以 (1 − 0.25) × 0.5k + 0.25。DPP 还会因语义相似再压一层 —— 两个机制独立叠加。拖动看看。

12 条
总曝光当量
平均每条效率
被衰减吃掉
3–4 条是拐点。 从 4 条加到 12 条,总当量只增加不到一倍,却把每条的平均效率砍到三分之一 —— 而且这还没算 DPP 的二次压制。更重要的是,高频 + 语义同质正好是 bbq_duplicate_text_characters_cjk 聚类任务的形态,那是唯一能触发全局 DROP 的路径。
04 / EVIDENCE

同一天、同一话题、同样是截图

素材完全一致,唯一变量是第一句话的框架。这是你自己账号里最干净的一组对照实验。

发现框架
「哎卧槽 grok 4.6 还会自己请帮手」
74,287impressions
♥ 419🔖 40↻ 8❝ 4↩ 90
吐槽框架
「Grok 4.6 的思维链 也魔怔了」
7,881impressions
♥ 25🔖 1↻ 0❝ 0↩ 66
9.4 倍,而 reply 数几乎一样(90 vs 66)。赢的不是 reply —— 是 quote 4、RT 8、bookmark 40 这些广度型指标。 机制上说得通:发现让人想转给别人(copy-link / quote / share,权重 20 / 5 / 5),吐槽只换来「我也遇到了」(reply 族,而你的 reply 早已封顶)。
05 / PLAYBOOK

按杠杆排序的四件事

已经做对的部分先说清楚:你的 reply/like 比在 1.7–3.0,叠加互关原创帖的 +15 boost(reply 权重 5 → 20,与 copy-link 并列最高)。这部分别动,问题在别处。

01

频率压到 3–4 条/天确定性最高

两个独立机制同时压制高频:AuthorDiversity 的指数衰减,加上 DPP 在 top-150 内按语义相似度的二次剔除。你最好的那条保持 1.0×,第 2–5 条基本是白发的。

附带收益:这同时是 COPYPASTA_SPAM 唯一的解药。

02

用发现框架,不用吐槽框架性价比最高

零额外成本 —— 素材不用换,只改第一句的立场。上一节那组 9.4 倍的对照就是全部论据。

判断标准很简单:读完这条,读者是想「转给同事看」,还是想「回一句我也是」?前者进权重 20 的通道,后者进已经封顶的通道。

03

每天挑 1 条做成可引用资产唯一破圈路径

reply 型推文全部落在 8k–20k,这就是 in-network 天花板。破圈只能走 OON,而 OON 吃的是传播族:copy-link 20、share-via-DM 5、quote 5 —— 你这三项目前几乎为零。

会被复制链接的是「要转给同事、要存档引用」的东西:横向对比、token 消耗数据、行为差异拆解。反证就在你数据里 —— Cordis 图解作为纯 @ 回复(最差分发位)拿到 7,807 曝光 / 8 收藏,而你 90% 的 @ 回复在 11–236。

04

放心发链接,但正文要能独立成立

「带链接降权」不成立:26 个 filter 无一涉及 URL,权重表里也没有任何 link 负项,OpenLinkClick 反而都是正的。URL 惩罚存在于另一个系统(规则引擎打标签 → visibility filtering 消费,两跳),且对你默认关闭。

但两件事仍要守:不用第三方短链(判定对象是整条 redirectionChain,多一跳就多一个你控制不了的风险点);关键结论写进正文(Semantic ID 只编码推文自身内容,「🤣🤣🤣 + 一个 t.co」在向量空间里是空的 —— 对应你那条 191 曝光的引用推)。

06 / DEBUNKED

三个流行说法,代码里站不住

常见建议源码事实
多攒收藏ScoringWeights 全部字段逐项核过,根本没有 bookmark 这一项。它会进 action sequence 当特征,但不是被加权的预测头。
转做视频VideoOpen / Vqv 各 0.05,连续 dwell 0.004 —— 一个视频从点开到看完,总贡献约 0.3,而一条 reply 是 5。另有 MinVideoDurationMs = 10_000,10 秒以下连 VQV 都不计。
引导点头像看主页ProfileClickWeight = 0.0。当前完全不计分。
靠攻击性回复蹭大号流量那条 @GoogleDesign 只有 83 曝光,本身无上行空间;而 MuteAuthor = −58.8Report = −234。纯尾部风险,无收益。
07 / SAFETY BOUNDARY

你有一道豁免,也有一个真实风险

URL 相关标签 基本免疫

三条 URL 规则的 condition 里都有同一个短路。IsHighPageRankUser 来自 follow 图 + engagement 边上的 PageRank,判定为真则整条规则根本不执行。11k 粉丝 / 2014 注册 / 92 个 list 收录 / 与高权重节点互动 —— 你几乎肯定在豁免侧。

!IsTestUser(:authorId) && !IsHighPageRankUser(:authorId) && !Contains(GetLongList(`AutoExpiringTempSkipList`), :authorId) && !IsUserGrayVerified(:authorId)

IsUserGrayVerified独立并列项 —— 保护你的是 PageRank,不是蓝标。

COPYPASTA_SPAM 唯一真实风险

BBQDuplicateTextProd.bot 的触发条件里含 bbq_duplicate_text_characters_cjk —— 专门给中日韩文本的重复检测任务。发中文就在射程内。离线 BigQuery 定时任务按 tweetIdCluster 聚类,命中即打标。

SPAM_DROP 位于 base_home_rules() 中 —— in-network 与 OON 全局 DROP,最重的一档(相比之下 MALICIOUS_URL 只在 OON 生效)。同样有 PageRank 兜底,但这是你所有行为里唯一能触发全局丢弃的通路。

「一天 12 条 + AI 工具又出问题 + 终端截图」正是它要找的形态。

一个能解释体感的异步窗口

两条 URL 规则都由 event: url_event 触发 —— 这是异步事件,发生在 t.co 解析完整条重定向链之后。而索引分配时会先查一次 visibility filtering。

于是存在一个窗口:推文发出到 verdict 回来之间,它是干净的。这就是「发出来一开始有量,过一会儿就死了」的机制解释 —— 不是错觉,是标签异步落地。另外 MALICIOUS_URL 的测试断言明确写着 "OON MaliciousUrl should allow author"一旦中标,陌生人刷不到,而你自己看一切正常。

08 / EPISTEMICS

哪些能直接用,哪些别太当真

这一节比结论本身更耐用。把确定性代码和权重比值推理混在一起写,会让你对后者过度自信。

高 · 可直接依赖
  • 频率与多样性衰减系数
  • URL 规则的豁免结构
  • _cjk 重复检测通路
  • bookmark / video / profile-click 的权重事实
  • cold-start follower cap = 1000
中 · 权重比值推理
  • copy-link 优先
  • 发现框架优于吐槽框架
  • 已用自身数据交叉验证,但 n≈20
待验证
  • ranking 的 8 层 / 2560 dim / 10.24M 索引
  • 流传的「history 1022」实为 retrieval 的单卡 nano preset,生产值是干净的 1024
无法排除
  • has_url 是否作为特征进了 ranking transformer
  • 模型是否自行学到「带链接互动率偏低」
  • 但这与「X 在打压链接」性质不同 —— 前者可通过内容设计绕过
09 / EXPIRY

这份分析有保质期

失效预案

以上全部基于 param.rs 的 feature-switch 默认值,真实请求会被实验分桶覆盖 —— 连生产推理集群的默认名都叫 "Experiment1Fou"

更关键:ValueModelMode 当前默认 "weighted",但代码里已经并存 dwell_regret_sigmoidgated_dwell_regret 两套非线性目标函数,配着完整参数(DwellRegretNegReport = −60000Temperature = 10.0)和 19 个已训练好的 gate 系数。

「加权求和」这个前提随时可能失效。若某天上述策略集体不灵,第一件事是回查这个 switch 是否已切分支 —— 而不是怀疑某一条具体建议。