Skip to content

常见疑问解答

常见疑问解答:未关注推荐、负反馈、可见性过滤、账号标签、新作者扶持、广告混排与开源实现对比

Updated

本文汇总推荐系统常见疑问与机制说明。每条解答均以系统技术文档为依据,并给出一个源码出处;文内链接可直接溯源至源码实现。

推荐结果机制

Q:为什么推荐流中会出现未关注作者的帖子?

内层流水线有 9 个候选源,其中多个取的是站外帖子(home-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs:380-390)。主要的站外来源有三个:Phoenix 召回 用双塔模型从全网找与你兴趣接近的帖子;SimClusters 站外候选源 用你最近互动过的帖子找相似帖子;热门帖子源提供一份全站共享的热门列表。站外来源是 For You 与 Following 关注流的核心差异。

Q:“热门帖子”这一路是怎么来的?

热门帖子源是一份全站共享列表,不按用户个性化。离线任务按粉丝数从高到低选作者,人数为近 7 天活跃发帖人数的 0.005%,每人最多 5 条,共 500 条(home-mixer/util/popular_authors.rs:11,25-30、home-mixer/util/popular_posts.rs:39-40)。请求时直接读这份列表。详见 home-mixer 编排层。

Q:SimClusters 是什么?会推哪些帖子?

SimClusters 按“谁关注谁、谁点赞什么”把账号和帖子聚成社区。home-mixer 取你 90 天内互动过的帖子作种子,找同社区的相似帖子;只保留余弦分大于 0.5 的结果,最多 800 条(home-mixer/sources/simclusters_source.rs:25-36)。开源默认开启(home-mixer/params/param.rs:48-53)。详见 SimClusters 站外候选源。

Q:系统如何建模用户兴趣偏好?

系统主要根据用户近期的行为序列建模兴趣。排序模型的旗舰配置读取最近 1022 条互动历史,包括点赞、回复、转发、引用以及浏览停留(phoenix/xrex/configs/xrecsys.py:316-319)。模型还看帖子的公开互动数;帖子发布超过约 14 天后,这些计数不再输入模型(phoenix/xrex/data/recsys/feature_config.py:87-88)。系统不依赖用户填写的静态兴趣标签。详细机制参见 Phoenix 排序模型。

Q:已关注作者发布的帖子是否必然出现在 For You 推荐流中?

已关注作者的帖子不会必然出现。站内候选与站外候选共同参与排序,按最终分决定位置。站外帖的分数乘以开源默认值 0.75;关注者发的回复和转发默认也乘 0.75,只有关注者的原创帖不降权(vm-ranker/params.rs:193-222)。作者与你互相关注时,原创帖的回复权重从 5.0 加到 20.0(home-mixer/params/param.rs:411-416)。用户若需完整浏览已关注作者的全部内容,需切换至 Following 时间线。详细机制参见 打分与排序。

Q:为什么偶尔会推荐较早发布的帖子?

内层流水线的时效过滤器会去掉发布超过 48 小时的候选(home-mixer/params/config.rs:39)。Thunder 站内帖子内存库 只保留最近 2 天的站内帖子。所以经过内层流水线的帖子都不超过 48 小时;“较早”的帖子也在这个上限以内。详细说明参见 过滤流水线。

Q:推荐算法是否会导致信息窄化(信息茧房)?

系统有几项多样性机制,但都是开源默认值,线上取值源码未包含:

  • 作者多样性:同一作者每多出现一条,分数乘一个递减系数,衰减 0.5、下限 0.25(vm-ranker/params.rs:175-192)。
  • DPP:vm-ranker 可按帖子嵌入的相似度挑出彼此不太相似的一组;启动参数 --dpp-enabled 的代码默认值为 false(vm-ranker/args.rs:14-15)。
  • 站外来源:Phoenix 召回、SimClusters 和热门帖子源会引入你未关注的作者。

系统以预测互动为排序目标,多样性机制作为调整项生效。详见 打分与排序 与 VM Ranker 重排服务。

Q:新作者的帖子有扶持吗?

有,叫新作者扶持。每次请求最多选一条帖子,条件包括:作者粉丝不超过 50000、原创帖、帖龄不超过 7200 秒、首页曝光少于 200。选中的帖子被抬到第 16 名的分数(home-mixer/params/param.rs:608-681、home-mixer/scorers/author_cold_start.rs:188-334)。候选之间用 Thompson 采样挑选,曝光越多越接近真实点赞率。详见 打分与排序。

用户行为与信号反馈

Q:点击“不感兴趣”是否能够影响推荐结果?

点击“不感兴趣”会降低相关内容的推荐概率。排序模型同时预测用户对候选帖子的多项行为概率,其中包括不感兴趣、拉黑、静音、举报等负反馈。加权打分为这些预测赋予负权重,例如“不感兴趣”为 -53.07(home-mixer/params/param.rs:509-514)。模型预测你对某类内容点“不感兴趣”的概率上升时,该类候选的最终分随之降低。详细机制参见 打分与排序。

Q:他人针对单条帖子批量点击“不感兴趣”是否会压制该帖子的全网推荐?

请求时的打分不按全局点击计数扣分。权重乘的是当前浏览用户自己做出该行为的预测概率,不是帖子收到的反馈次数(xai-value-model/scoring.rs:28-56)。源码注释还说明两点:推荐是个性化的,恶意反馈主要影响与这些用户相似的人;只有在首页推荐流里发生的行为才计入,直接打开帖子不影响排序(xai-value-model/scoring.rs:44-56)。

标签路径另有账号级统计,但统计对象不是“不感兴趣”。agatha 离线计算一个账号收到的拉黑、举报、垃圾举报相对站外点赞的比率(agatha/scalding/labels/rate_based_labels/RateBasedLabels.scala:29-57)。Phoenix 的训练代码已开源,但线上训练数据源码未包含,所以长期协同操作是否影响模型参数,无法从本代码库定论。详见 账号级信号(agatha、bdsm、user-cred-v2)。

Q:用户滑动浏览或未停留互动是否构成系统信号?

快速划过与停留时长都是系统输入。停留时长和“未停留”既作为模型的历史输入,也作为排序模型预测的行为目标。“未停留”的权重为 -0.02(home-mixer/params/param.rs:528-533)。2026-10-08 起,停留时长改用 CREAD 损失训练(phoenix/xrex/models/loss_recsys.py:110-187)。详细机制参见 Phoenix 排序模型。

Q:拉黑或静音作者会产生什么机制影响?

系统在预打分阶段过滤目标作者的内容。你拉黑或静音的作者的帖子,以及转发或引用你拉黑作者的帖子,都由 AuthorSocialgraphFilter 去掉(home-mixer/filters/author_socialgraph_filter.rs:9-40)。可见性过滤也有“观看者拉黑或静音作者”的丢弃规则(visibility-filtering/rules/levels.rs:298-299)。详细说明参见 过滤流水线。

Q:举报单条帖子是否会实时扣除帖子分数?

系统不会根据举报计数实时扣分。举报通过三条独立链路生效:

  1. 排序模型预测当前用户举报的概率,权重为 -234.0(home-mixer/params/param.rs:527)。
  2. agatha 离线统计账号收到的举报相对站外点赞的比率,供打标签规则使用(agatha/scalding/labels/rate_based_labels/RateBasedLabels.scala:29-57)。
  3. Grox 内容分类器 独立审查帖子内容。

权重 -234.0 不等于“1 次举报抵消几百个赞”。举报的基础概率比点赞低 1000 倍以上,权重必须大,预测才能影响排序(xai-value-model/scoring.rs:40-42)。

可见性与账号标签

Q:排序分高的帖子一定会展示吗?

不一定。排序决定先后,可见性过滤(Visibility Filtering) 决定能不能展示。home-mixer 在选出帖子后查询可见性过滤服务(home-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs:485-487)。服务读取后台打好的标签,给出 ALLOW、NOTICE、INTERSTITIAL 或 DROP。home-mixer 只去掉 Drop 一类的结果,带遮罩的帖子保留(home-mixer/filters/vf_filter.rs:22-27)。

Q:有没有“只限制推荐、不影响关注者”的账号标签?

有。站外候选使用更严格的安全级别 TimelineHomeRecommendations,站内候选使用 TimelineHome(home-mixer/candidate_hydrators/vf_candidate_hydrator.rs:70-106)。前者多出一组账号标签规则:账号带 SpamHighRecall、Compromised、ReadOnly、ImpersonationHighPrecision、AbusiveHighRecall、DoNotAmplify 之一时,它的帖子在站外推荐中被丢弃(visibility-filtering/rules/levels.rs:65-72)。5 种 NSFW 账号标签同样只在这个级别里(visibility-filtering/rules/levels.rs:318-332)。

关注者在站内看到这些帖子不受这组规则影响,作者本人也看得到。user-cred-v2 分数不低于 54 的账号和政府灰标账号,豁免多数自动打标签规则(botmaker-rules/scarecrow/derived-feature/IsHighPageRankUser.df:3-18)。详见 限流与 shadowban。

Q:账号标签是怎么打上的?

标签路径在后台运行。例如账号最近 5 条帖子里有 3 条带 NSFW_HIGH_PRECISION,账号就得到同名标签,有效 7 天(safety-label-user-agg/postToUserLabelRules.strato:395-426)。其他标签来自打标签规则和处置服务。处置被申诉推翻后,有申诉保护期防止重复处置;处置服务查询保护期的这道检查开源默认关闭(abuse-enforcement-service/service-lib/src/overturn_hold.rs:150-162)。详见 打标签规则(scarecrow 与 botmaker) 与 处置与标签聚合。

Q:我能看到自己账号和帖子上的标签吗?

能看到一部分。Under the Hood 是按月生成的报告,账号注册满 365 天、且上个月至少发了 10 条帖子才有资格(under-the-hood/strato/columns/underTheHoodReport.User.strato:18-19)。报告只展示白名单内的 19 种帖子标签和 12 种账号标签,不在白名单的标签不展示(under-the-hood/strato/lib/underTheHoodLabels.strato:3-184)。上游 README 给出了试点入口(README.md:470);开源代码里报告开关默认关闭,线上开关值源码未包含(under-the-hood/strato/lib/params.strato:15-16)。详见 Under the Hood 透明度报告。

广告混排与内容安全

Q:商业广告如何混排进入推荐信息流?

系统在自然帖子排好之后插入广告。开源默认的混排策略是 multi_risk,共有六种策略可选(home-mixer/params/param.rs:957-962、home-mixer/selectors/blender_selector.rs:61-79)。每条帖子有五档品牌安全裁定,中风险与高风险帖子不能紧挨广告(home-mixer/models/brand_safety.rs:7-14)。详细机制参见 广告混排。

Q:系统如何判定内容安全合规级别?

多个后台组件共同判定。Grox 内容分类器 用 Grok 型号和 Gemma 系列模型判断垃圾内容、成人内容、暴力媒体等(grox/config/config.py:79-94);成人内容另有一个非大模型的图片分类器参与仲裁。图片与视频模型 用 7 个媒体模型判断成人、暴力血腥、仇恨符号等。这些分数经打标签规则变成标签,由可见性过滤和广告混排读取。

开源实现与生产系统

Q:开源代码库与 X 线上生产环境是否完全一致?

不完全一致。Phoenix 发布的是生产实现本身,而不是早期从 Grok-1 移植的示例;未发布的是 xAI 专用基础设施,例如线上数据源和集群编排(phoenix/README.md:9-21)。仓库不提供模型 checkpoint(phoenix/README.md:61-62)。Grox 提示词和部分 botmaker 规则不在仓库中(README.md:446-447)。参数是开源默认值,线上值可能不同。详细对比参见 开源版 vs 线上真实算法:已知差异清单。

Q:开发者能否在本地独立运行该项目?

Phoenix 可以在本地端到端训练和服务。仓库自带合成数据生成器和单卡 nano 配置,需要 Linux、NVIDIA GPU 和 CUDA 12(phoenix/QUICKSTART.md:12)。旧版的 run_pipeline.py 示例脚本已删除。home-mixer、Thunder、Grox 等在线服务依赖内部基础设施,主要供架构分析参考。详细说明参见 Phoenix 训练。

Q:该推荐系统最具代表性的架构特征是什么?

排序和可见性是两套分开的系统。排序靠模型预测行为概率,不靠“带图加分”这类人工规则;模型输入也包括帖子的公开互动数(phoenix/xrex/data/recsys/feature_config.py:87-88)。能不能展示则由可见性过滤按标签决定。详细说明参见 推荐系统工作原理。

出处

每条解答只陈述技术页已核验的事实。本页主要依据如下;精确行号见各技术页的“源码锚点”。

结论 技术页 主要源码
9 个候选源,含多个站外源 home-mixer 编排层 home-mixer/candidate_pipeline/phoenix_candidate_pipeline.rs:380-390
SimClusters 阈值与默认开启 SimClusters 站外候选源 home-mixer/sources/simclusters_source.rs:25-36
站外系数 0.75,含关注者的回复与转发 打分与排序 vm-ranker/params.rs:193-222
双向关注加成 15.0 打分与排序 home-mixer/params/param.rs:411-416
新作者扶持参数 打分与排序 home-mixer/params/param.rs:608-681
权重乘预测概率,不乘计数 打分与排序 xai-value-model/scoring.rs:28-56
站外账号标签规则 可见性过滤(Visibility Filtering) visibility-filtering/rules/levels.rs:65-72
Under the Hood 资格与白名单 Under the Hood 透明度报告 under-the-hood/strato/columns/underTheHoodReport.User.strato:18-19
广告默认 multi_risk 广告混排 home-mixer/params/param.rs:957-962
Phoenix 是生产实现、无 checkpoint 开源版 vs 线上真实算法:已知差异清单 phoenix/README.md:9-21

相关页面

Type to search…

↑↓ navigate↵ selectEsc close