Skip to content

新号与冷启动:算法怎么对待新作者和新用户

新作者扶持的条件与选法、召回的冷启动切片、新用户分支的开源默认值、新号在打标签与透明度报告中的处境

Updated

本页面向创作者和运营,回答“新号有没有扶持”“新号是不是被压”。本页不贴代码;每条结论附一个源码出处。阈值都是开源默认值,线上值可能不同。

结论

源码里的“新”分两种对象,规则互不相通:

  • 新作者的帖子(你发帖):有一项默认开启的扶持,叫新作者扶持。它看的是粉丝数、帖龄和曝光量,不看账号注册了多久。
  • 新用户的推荐流(你刷 For You):源码有几条新用户分支,但开源默认值让它们全部不触发。

旧版本页说“新用户的站外降权会放宽”,这一说法已错。新用户分支的站外系数是 0.00001,比常规的 0.75 严得多,而且默认不触发(vm-ranker/params.rs:223-234)。

对象 机制 开源默认 出处
新作者的帖子 新作者扶持:每次请求最多抬一条帖子到第 16 名 开启 home-mixer/params/param.rs:608-681
新帖子 召回的冷启动切片:新帖单独成池 开启 phoenix/xrex/data/cold_pool_filter.py:16-46
新用户 新用户站外系数 0.00001 不触发(年龄阈值为 0) vm-ranker/params.rs:223-234
新用户 新用户专用排序 / 召回模型集群 不触发(行为数阈值为 0) home-mixer/params/param.rs:254-298
新用户 站外帖最低点赞数过滤 关闭 home-mixer/params/param.rs:851-903
新用户 站外“轻度成人内容”过滤 关闭 home-mixer/params/param.rs:881-899

新作者扶持:给低粉作者的新帖一次曝光机会

新作者扶持在打分阶段运行。它每次推荐请求最多选一条帖子,把这条帖子的分数抬到第 16 名的分数(home-mixer/scorers/author_cold_start.rs:216-226)。

入选条件

一条帖子必须同时满足以下条件(home-mixer/scorers/author_cold_start.rs:188-193、home-mixer/scorers/author_cold_start.rs:285-308):

  1. 是原创帖。回复和转发不参加。
  2. 作者粉丝不超过 50000。
  3. 帖子发布不超过 7200 秒(2 小时)。
  4. 帖子在首页的曝光少于 200 次。
  5. 帖子的当前排名不在本批候选的最后 3%(home-mixer/params/param.rs:639-644)。

参数见 home-mixer/params/param.rs:608-637。话题页请求不做扶持(home-mixer/scorers/author_cold_start.rs:384-386)。

怎么从多条里选一条

候选之间用 Thompson 采样选。Thompson 采样是一种“边试边学”的选法:曝光少的帖子有更多随机机会,曝光多的帖子按实际点赞率竞争。步骤如下(home-mixer/scorers/author_cold_start.rs:243-283):

  1. 每条候选按“点赞数 / 首页曝光数”构造一个分布,先验为 0.75 和 49.25,相当于预设约 1.5% 的点赞率(home-mixer/params/param.rs:658-669)。
  2. 每条候选从自己的分布里抽一个值。
  3. 取抽样值最高的 2 条(home-mixer/params/param.rs:670-675)。
  4. 在这 2 条里,选模型分数更高的一条。

选中的帖子分数改为“原分”和“第 16 名分数”中较大的一个(home-mixer/scorers/author_cold_start.rs:327-332)。vm-ranker 收到这个决定后,在重算的分数上再抬一次(xai-value-model/scoring.rs:341-358)。

这项扶持意味着什么

  • 扶持对象是“低粉作者的新帖”,不是“新注册的账号”。老号只要粉丝不超过 50000,帖子同样能入选。
  • 机会窗口很短:2 小时、200 次首页曝光以内。
  • 它不保证展示。被抬分的帖子仍要经过选择和 可见性过滤。

召回的冷启动切片:新帖单独成池

站外帖子先要被 Phoenix 召回 取到,才有机会被打分。召回索引把首页语料分成冷、热两个切片(phoenix/xrex/data/retrieval_dataset.py:323-336):

  • 冷切片 HOME_COLD:发布不超过 2 小时、点赞少于 8、浏览少于 500 的帖子(phoenix/xrex/data/cold_pool_filter.py:16-46)。
  • 热切片 HOME_HOT:其余帖子。

home-mixer 给冷切片单独设上限 200 条(home-mixer/params/param.rs:16-21),并把这些帖子标成单独的来源类型(home-mixer/sources/phoenix_source.rs:165-171)。新帖因此不必和高互动的老帖争同一批名额。源码未写设计理由,这是推测。

新用户分支:代码存在,默认不触发

新用户站外系数

vm-ranker 有一条新用户分支:账号年龄小于阈值、且关注数不少于 5 时,站外帖的系数改用 NewUserOonWeightFactor(vm-ranker/scoring/value_model.rs:125-146)。

  • 这个系数的开源默认值是 0.00001,而常规站外系数是 0.75(vm-ranker/params.rs:217-234)。如果触发,新用户的 For You 几乎只剩站内帖。
  • 年龄阈值 NewUserAgeThresholdSecs 的开源默认值是 0。任何账号的年龄都不小于 0,所以这条分支默认不触发(vm-ranker/params.rs:223-228)。

新用户专用模型集群

home-mixer 可以把行为历史太短的用户路由到单独的排序集群和召回集群(home-mixer/scorers/phoenix_scorer.rs:32-50、home-mixer/sources/phoenix_source.rs:32-50)。两个行为数阈值的开源默认值都是 0;代码只在阈值大于 0 时才检查,所以默认不触发(home-mixer/params/param.rs:254-298)。

站外帖最低互动数过滤

NewUserMinEngagementFilter 是一个预打分过滤器(home-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs:449)。开启时,它对两类用户生效(home-mixer/filters/new_user_min_engagement_filter.rs:33-36):

  • 注册不足 1800 秒(30 分钟)的账号。
  • 回流(长时间不活跃后重新登录)不足 1800 秒的账号。

它去掉点赞数低于阈值的站外帖,站内帖不受影响(home-mixer/filters/new_user_min_engagement_filter.rs:65-73)。开关默认关闭,阈值默认 0.0(home-mixer/params/param.rs:851-903)。

站外“轻度成人内容”过滤

NewUserSoftNsfwFilter 开启时,对注册不足 604800 秒(7 天)、且行为序列少于 100 条的用户,去掉带 SOFT_NSFW 标签的站外帖(home-mixer/filters/new_user_soft_nsfw_filter.rs:13-39)。开关默认关闭(home-mixer/params/param.rs:881-899)。

可见性过滤另有一条同类规则,对注册不足 24 小时的查看者生效,并且要求请求方打开对应开关(visibility-filtering/hydration/decode/viewer.rs:116、visibility-filtering/rules/tweet_rules.rs:919-928)。

已删除的新用户话题路径

旧版有一条“新号按关注的话题召回并过滤”的路径。NewUserTopicIdsFilter 和新号话题字段已从源码删除。关注的 Grok 话题现在对所有用户都作为特征发给 Phoenix,不区分新旧(home-mixer/query_hydrators/followed_grok_topics_query_hydrator.rs:24-26、home-mixer/util/phoenix_request.rs:121-128)。

模型怎样应对空历史

召回模型训练时,随机清空 10% 用户的历史,模拟没有历史的新用户(phoenix/xrex/configs/xrecsys_two_tower.py:271)。所以新用户不需要专用集群,也能从同一个召回模型拿到候选。

新号在标签路径上的处境

新号在后台打标签时没有额外保护,部分保护只给大号:

  • user-cred 豁免不覆盖新号。 多数打标签规则豁免 user-cred 分数不低于 54 的账号;没有分数时改用粉丝数大于 25000 判断(botmaker-rules/scarecrow/derived-feature/IsHighPageRankUser.df:3-18)。新号通常两项都不满足。
  • 新号的 user-cred 分数来自谁关注它。 user-cred 在关注图上跑 PageRank。“随机跳转”只落在付费或认证账号上,再按点赞、转发加权(user-cred-v2/UserCredV2App.scala:141-193)。依代码推断:未认证的新号只能靠被有分数的账号关注、点赞或转发来获得分数。
  • BDSM 对新号的批量关注较宽容。 BDSM 是行为序列模型。它的“关注机器人”硬执法默认跳过注册不足 48 小时的账号,也跳过 1440 分钟内看过登录推荐关注包的账号(bdsm/runtime/score_results_sink_focal.py:404-421、bdsm/runtime/score_results_sink_focal.py:860-889)。
  • 新号看不到 Under the Hood 报告。 报告要求账号注册满 365 天(under-the-hood/strato/columns/underTheHoodReport.User.strato:18-19)。新号带了标签,也没有官方渠道查看。

“新”有几种定义

源码里没有统一的“新用户”标记。每条路径各用一把尺子:

路径 判定依据 开源默认值 出处
新作者扶持 作者粉丝数、帖龄、首页曝光 50000 / 7200 秒 / 200 home-mixer/params/param.rs:608-637
召回冷切片 帖龄、点赞、浏览 2 小时 / 8 / 500 phoenix/xrex/data/cold_pool_filter.py:16-46
新用户站外系数 账号年龄 + 关注数 0 秒(不触发)/ 5 vm-ranker/scoring/value_model.rs:125-146
新用户模型集群 行为序列长度 0(不触发) home-mixer/params/param.rs:254-298
最低互动数过滤 账号年龄或回流时长 1800 秒(开关关闭) home-mixer/params/param.rs:851-903
轻度成人内容过滤 账号年龄 + 行为序列长度 7 天 / 100 条(开关关闭) home-mixer/params/param.rs:881-899
可见性过滤的新查看者 账号年龄 24 小时 visibility-filtering/hydration/decode/viewer.rs:116
BDSM 关注机器人豁免 账号年龄 48 小时 bdsm/runtime/score_results_sink_focal.py:404-411
Under the Hood 资格 账号年龄 365 天 under-the-hood/strato/columns/underTheHoodReport.User.strato:18

给新账号的建议

以下建议从上面的机制推出,不是源码给出的结论:

  1. 发原创帖,不要只回复和转发。 新作者扶持只选原创帖。
  2. 抓住发帖后的 2 小时。 扶持和召回冷切片都只看 2 小时内的新帖。
  3. 早期的点赞率比总量重要。 Thompson 采样按“点赞 / 首页曝光”估计帖子质量。
  4. 置顶帖不要放低质量链接。 置顶帖含 BAD 或 LOW_QUALITY 链接会触发 7 天的 SpamHighRecall 账号标签,新号没有大号豁免(botmaker-rules/scarecrow/bot/PinnedLowQualityOrBadUrl.bot:1-42)。详见 限流与 shadowban。

出处

结论 技术页 主要源码
新作者扶持的条件与选法 打分与排序 home-mixer/scorers/author_cold_start.rs:188-334
新作者扶持的参数 打分与排序 home-mixer/params/param.rs:608-681
召回冷切片 Phoenix 召回:双塔检索架构 phoenix/xrex/data/cold_pool_filter.py:16-46
新用户站外系数 0.00001,年龄阈值 0 VM Ranker 重排服务 vm-ranker/params.rs:223-234
新用户模型集群默认不触发 home-mixer 编排层 home-mixer/params/param.rs:254-298
新用户过滤器默认关闭 过滤流水线 home-mixer/params/param.rs:851-903
高 PageRank 豁免与粉丝数回退 账号级信号(agatha、bdsm、user-cred-v2) botmaker-rules/scarecrow/derived-feature/IsHighPageRankUser.df:3-18
Under the Hood 需满 365 天 Under the Hood 透明度报告 under-the-hood/strato/columns/underTheHoodReport.User.strato:18-19

相关页面

Type to search…

↑↓ navigate↵ selectEsc close