系统先找候选
一部分来自你关注的人,一部分来自全站里和你兴趣相近的内容。
最短答案:系统会先猜“你会不会喜欢、停留、回复、转发、点开、关注作者”,再把不合适、重复、已看过或风险内容挡掉,最后把帖子、广告和产品模块混排成你看到的 For You。
点赞数和转发数会作为参考,但不是“越热越靠前”的简单榜单。
你的近期行为会形成兴趣画像,影响圈外内容召回和最终排序。
不感兴趣、拉黑、静音、举报这类风险预测会压低推荐分。
源码里有很多服务和模型名,但落到体验上,其实可以压缩成这四句话。
一部分来自你关注的人,一部分来自全站里和你兴趣相近的内容。
它不是只问“这条热不热”,而是问“这个用户会不会对它有反应”。
已看过、重复、太旧、屏蔽关系、静音词、安全问题都可能被拿掉。
广告、关注推荐和产品提示会插入,所以你看到的不只是帖子排序榜。
可以把 X 推荐理解成漏斗:越往后,留下来的内容越少,也越贴近这次请求。
系统不会把所有内容逐条精排,成本太高。
Thunder 找关注内新鲜内容,Phoenix 找圈外相似内容。
不是一个分数拍脑袋,而是很多行为预测合成。
模型喜欢也不一定能过硬规则。
源码中的 RankingScorer 会把很多行为预测乘上权重,再考虑作者多样性和圈外内容比例。
下面这张图省略了内部服务名,只保留用户能感受到的关键步骤。
你喜欢、回复、转发、停留、视频观看等行为会变成一段历史。
关注的人提供新鲜内容,全站向量检索提供兴趣相近内容。
模型分别预测喜欢、停留、回复、转发、负反馈等概率。
重复、已看、屏蔽、静音、安全风险和话题不匹配会被过滤。
帖子排序后,还会插入广告、关注推荐、提示和置顶模块。
这部分来自 out-of-network 召回。系统会从全站找与你历史行为相似的内容。
关注列表负责一部分供给,但 For You 还会从全站找你可能感兴趣的内容。
你最近互动过的内容会形成向量表示,系统找距离近的帖子。
圈外内容不是无限制涌入,代码里有单独的 OON 权重因子。
系统看的是一段行为历史。单次点击会有影响,但连续、明确、一致的动作更有信号强度。
喜欢、回复、转发、停留、点开作者,会告诉系统这类内容值得更多出现。
不感兴趣、静音、屏蔽,比快速划走更明确。
关注列表会影响 in-network 候选,也影响系统对你兴趣的理解。
长时间停留和频繁点开会被当作兴趣信号,即使你只是围观。
推荐不是模型一票决定,很多硬规则会保护体验和安全。
这类内容可能在排序前后被移除,不再进入最终 feed。
这类内容不一定消失,但会因为预测不佳或体验约束被放到后面。
用源码能确认的部分,反而能帮我们避开很多玄学解释。
公开互动数只是候选特征之一。更关键的是模型预测“你这个人”会不会互动。
关注内内容会进入候选池,但仍要和其他内容一起过滤、打分、排序。
安全、社交关系、已看历史、去重、广告混排都会改变最终页面。