整套算法可以压成一句话:多路召回 → Transformer 预测你对每条推的各种行为概率 → 用一组写死在代码里的权重合成分数 → 多样性与关系修正 → 安全过滤 → 插广告。下面把其中真正会改变发帖决策的部分画出来。
红点是唯一由「内容本身」决定命运的两步。其余环节要么是硬过滤,要么是与内容质量无关的结构性折扣。
读取 viewer 最近的行为序列(生产上限 1024)、关注列表、block / mute、已看过与已 served 的推。
Thunder 拿关注对象的新内容;Phoenix Retrieval 用 Semantic ID 做向量召回;SimClusters 走兴趣社区。旧的 tweet-mixer 已默认关闭。
超 48 小时、已看过、block / mute、屏蔽词、订阅内容无权限、跨源重复。这 26 条里没有任何一条与链接有关 —— 这是「带链接降权」传言的第一处证伪。
8 层 Transformer,把 viewer 历史与候选推一起输入。关键设计:候选之间互不 attention,所以单条推的分数不会因为同批次里恰好有别的推而漂移。
Σ P(action) × weight,随后叠加同作者衰减、陌生人内容 ×0.75、新作者 boost。这是全流程唯一「你能主动设计」的一环。
在原始前 150 名内按 embedding 余弦相似度做多样性选择,倾向「高分且彼此不像」。同话题连发会在这里被互相抵消。
ALLOW / INTERSTITIAL / DROP 三态。判定依据不是分数,而是别的系统异步打上的标签。分数再高,这一步也能直接抹掉。
广告不与自然推同场竞争打分,而是排完序之后按 ad adjacency 重新插入。Who to Follow 与 prompt 走固定位置。
这是唯一被完整公开的部分。条形按平方根缩放,否则 −234 会把 0.004 压成不可见 —— 但也正因如此,请务必读完下面那段免责说明。
param.rs 原注释写明权重同时反映 action value 与该行为在全网的典型发生率。所以不要推出「1 次 copy link = 40 个赞」这类结论。
真正可靠的读法只有一条:深度互动 > 轻互动,而负反馈的量级远大于一切正向收益。
同一候选集内,同作者的第 k 条会被乘以 (1 − 0.25) × 0.5k + 0.25。DPP 还会因语义相似再压一层 —— 两个机制独立叠加。拖动看看。
bbq_duplicate_text_characters_cjk 聚类任务的形态,那是唯一能触发全局 DROP 的路径。
素材完全一致,唯一变量是第一句话的框架。这是你自己账号里最干净的一组对照实验。
已经做对的部分先说清楚:你的 reply/like 比在 1.7–3.0,叠加互关原创帖的 +15 boost(reply 权重 5 → 20,与 copy-link 并列最高)。这部分别动,问题在别处。
两个独立机制同时压制高频:AuthorDiversity 的指数衰减,加上 DPP 在 top-150 内按语义相似度的二次剔除。你最好的那条保持 1.0×,第 2–5 条基本是白发的。
附带收益:这同时是 COPYPASTA_SPAM 唯一的解药。
零额外成本 —— 素材不用换,只改第一句的立场。上一节那组 9.4 倍的对照就是全部论据。
判断标准很简单:读完这条,读者是想「转给同事看」,还是想「回一句我也是」?前者进权重 20 的通道,后者进已经封顶的通道。
reply 型推文全部落在 8k–20k,这就是 in-network 天花板。破圈只能走 OON,而 OON 吃的是传播族:copy-link 20、share-via-DM 5、quote 5 —— 你这三项目前几乎为零。
会被复制链接的是「要转给同事、要存档引用」的东西:横向对比、token 消耗数据、行为差异拆解。反证就在你数据里 —— Cordis 图解作为纯 @ 回复(最差分发位)拿到 7,807 曝光 / 8 收藏,而你 90% 的 @ 回复在 11–236。
「带链接降权」不成立:26 个 filter 无一涉及 URL,权重表里也没有任何 link 负项,OpenLink 和 Click 反而都是正的。URL 惩罚存在于另一个系统(规则引擎打标签 → visibility filtering 消费,两跳),且对你默认关闭。
但两件事仍要守:不用第三方短链(判定对象是整条 redirectionChain,多一跳就多一个你控制不了的风险点);关键结论写进正文(Semantic ID 只编码推文自身内容,「🤣🤣🤣 + 一个 t.co」在向量空间里是空的 —— 对应你那条 191 曝光的引用推)。
| 常见建议 | 源码事实 |
|---|---|
| 多攒收藏 | 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.8、Report = −234。纯尾部风险,无收益。 |
三条 URL 规则的 condition 里都有同一个短路。IsHighPageRankUser 来自 follow 图 + engagement 边上的 PageRank,判定为真则整条规则根本不执行。11k 粉丝 / 2014 注册 / 92 个 list 收录 / 与高权重节点互动 —— 你几乎肯定在豁免侧。
IsUserGrayVerified 是独立并列项 —— 保护你的是 PageRank,不是蓝标。
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":一旦中标,陌生人刷不到,而你自己看一切正常。
这一节比结论本身更耐用。把确定性代码和权重比值推理混在一起写,会让你对后者过度自信。
_cjk 重复检测通路has_url 是否作为特征进了 ranking transformer以上全部基于 param.rs 的 feature-switch 默认值,真实请求会被实验分桶覆盖 —— 连生产推理集群的默认名都叫 "Experiment1Fou"。
更关键:ValueModelMode 当前默认 "weighted",但代码里已经并存 dwell_regret_sigmoid 与 gated_dwell_regret 两套非线性目标函数,配着完整参数(DwellRegretNegReport = −60000、Temperature = 10.0)和 19 个已训练好的 gate 系数。
「加权求和」这个前提随时可能失效。若某天上述策略集体不灵,第一件事是回查这个 switch 是否已切分支 —— 而不是怀疑某一条具体建议。