💡
主要判断
- 核心心智:推荐是在候选内容中最大化预期综合价值。
- 模型分工:预测模型判断会发生什么,价值模型判断结果值多少。
- 优化方法:从最终目标反推直接目标,再用实验验证因果链。
- 重要边界:具体参数与系统名多为 2021 年历史示例,不代表当前线上实现。
本文面向需要与推荐团队协作的产品、运营、数据与研发同学。文章围绕目标、模型、链路、实验和协作方式重新组织知识主线。文中的具体参数、数量、阈值和系统实现均为历史教学示例,不代表当前线上策略。
❗
使用边界:本文解释推荐系统的框架与方法论。公式、权重、数量、阈值、系统名和策略案例均用于教学,不是实际线上策略清单,也不能直接作为上线依据。
一、推荐系统优化什么
推荐的直接工作,是从候选内容中选出对当前用户、当前场景最有价值的一组内容;长期目标则要同时考虑用户、作者和平台。
1.1 目标层级
可以用 DAU、留存和使用时长理解目标关系:DAU 或长期活跃是结果指标,留存与活跃天数用于观察长期使用,使用时长等行为指标反馈更快,可作为代理信号,但不能自动等同于满意度或长期价值。
- 用户价值:满意度、长期活跃、有效消费、负反馈与疲劳等。
- 作者价值:合理流量、互动、创作激励、留存与收入等。
- 平台价值:安全、生态、品牌、产品目标与商业可持续性等。
- 间接价值:一次消费对其他用户、作者或未来行为产生的影响,最终仍应归入上述三类价值。
📌
指标口径说明:“留存”通常指次日或多日留存率,但在部分团队语境中也可能指人均活跃天数。制定策略前应由指标负责人明确口径,避免把留存率、活跃天数和 DAU 混为一谈。
1.2 代理指标不是最终目标
时长、点赞、评论、分享等信号有助于理解用户行为,但都存在偏差。点赞可能来自骗赞内容,评论可能是负面反馈,长时观看也可能来自被动消费。策略设计必须说明:这个信号为什么能代表目标、在哪些人群和场景成立、用什么护栏避免副作用。
二、排序模型的统一心智
一个实用的抽象,是把一次内容推荐的得分拆成“预测结果”与“结果价值”两部分。
2.1 从实际价值到期望价值
用户尚未看到视频时,点赞、评论和播放时长都未知。推荐系统先预测这些结果,再用价值模型将它们融合成一个可比较的期望价值:
$$Score = p_{like}v_{like} + p_{comment}v_{comment} + E_{playtime}v_{playtime} + p_{play}v_{play}$$
| 符号 | 含义 | 理解要点 |
|---|---|---|
| p | 离散行为发生的概率 | 例如当前用户在当前场景下点赞或评论的概率。 |
| E | 连续变量的期望值 | 播放时长不是简单的发生/不发生,因此用期望值表示。 |
| v | 对应结果的价值 | 价值可以随人群、内容、场景和治理目标变化,不应理解成永久固定常数。 |
为便于教学,可以假设“推出即播放”,因此令 $p_{play}=1$。这只是简化说明,不应外推为所有端、所有曝光口径下的事实。
2.2 预测模型:会发生什么
预测模型处理排序时尚未发生的结果,输出可以是离散行为概率、连续值期望或分类概率。常见输入包括用户、视频、作者和请求上下文。模型是个性化的,同一视频面对不同用户或不同场景,预测结果可能不同。
关于“用户 ID 作为特征”,可以这样理解:UID 通常作为可学习 embedding,随机初始化后通过训练承载难以显式描述的个体差异;用户统计和历史行为仍由其他特征表达。UID 本身不是一个可直接解释的业务属性。
2.3 价值模型:发生后值多少
价值模型决定某种结果对用户、作者和平台分别意味着什么。它不只是“给点赞乘一个固定权重”,还要处理长期价值、负向行为、内容安全和生态影响。
权重通常先由业务与算法共同提出候选,再通过 A/B 实验、搜参或分场景建模验证。多目标模型可以同时预测多个目标,但不会自动替团队完成目标之间的业务取舍。
📝
示例说明:价值公式只用于说明“一个行为可以同时承载多类价值”。变量命名和权重应以实际业务口径为准,不能直接照搬教学示例。
2.4 预测更准,不等于目标更对
预测模型优化的是“在当前价值定义下估得更准”;价值模型优化的是“系统认为哪些结果更值得追求”。如果目标定义错了,预测越准只会更稳定地优化错误方向。
三、公式之外的问题
单条内容的期望价值并不能覆盖所有推荐问题。序列、前置阶段、治理约束和跨主体价值都可能需要额外机制。
| 问题表现 | 优先检查 | 可能的优化杠杆 |
|---|---|---|
| 互动预测偏差大 | 样本、特征、标签和校准 | 预测模型、数据链路、特征更新。 |
| 预测准确但业务结果不理想 | 目标与权重是否合理 | 价值模型、目标替换、长期与负向价值建模。 |
| 好内容未进入精排 | 召回与粗排目标是否一致 | 召回、粗排、索引与前置数据。 |
| 单条都好,组合体验差 | 重复、疲劳和多样性 | 重排、打散、序列模型、边际价值。 |
| 存在安全或产品硬约束 | 是否能被短期指标表达 | 过滤、强约束、独立护栏与审批流程。 |
3.1 序列价值
连续看到同一作者,可能强化用户认知;连续看到同类内容,也可能造成疲劳。因此一组内容的总价值不一定等于每条内容价值的简单相加。重排、打散和序列建模解决的是组合层面的问题。
3.2 规则干预
对宏观内容类型统一 boost 或打压,容易破坏个性化,通常不应成为默认方案。但内容安全、作者与平台价值、冷启动、公平性和明确的产品逻辑,可能需要过滤、强插或配额约束。规则是否合理,取决于它对应的价值来源和实验结果,而不是“规则”或“模型”哪个更高级。
具体的后置重排与配额规则具有较强时效性,应以当前系统配置和实验结果为准。
四、推荐系统端到端流程
为了避免把“候选集、召回集、粗排集、精排集”混为一谈,可以按以下稳定概念理解链路:
- 候选与索引:维护当前有资格参与分发的内容及其检索结构。
- 召回:从大规模候选中找出与用户和场景相关的一批内容。
- 粗排:用较低成本快速缩小集合。
- 精排:使用更完整的特征和多目标价值公式计算分数。
- 重排与约束:处理多样性、重复、安全、产品和跨业务约束。
- 返回与曝光:向客户端返回最终结果,并记录真实曝光口径。
- 反馈与训练:将后续行为形成样本,更新特征、召回和模型。
不同环节有不同时间尺度。一次请求内的重排可以即时发生;用户反馈进入样本、特征更新和模型参数更新则可能是实时、小时级或天级。因此,不能笼统地认为“所有模型都会实时训练”。
4.1 视频生命周期
视频生命周期可以概括为审核、冷启动、正常推荐和退出候选。其稳定动机是:新视频历史数据不足,需要单独探索;随着反馈积累,系统逐步转入常规分发。这里的“冷启动”主要指新视频冷启动,不是新用户冷启动。
“被规则跳过”只表示本次请求没有返回该视频,不代表永久淘汰。下一次请求会重新经过召回、排序与约束。优质老视频是否保留、退出后是否能重新进入候选,以及冷启动阈值,都属于需要按当前系统确认的实现细节。
五、推荐策略优化闭环
策略讨论从问题和价值开始,不从“加一个 boost”开始。一条可执行的优化链路包括目标、分解、方案、实验、判断和上线复盘。
5.1 定义与分解目标
- 写清最终目标:希望改善谁的什么长期价值。
- 拆出间接目标:哪些可观测变化能支持最终目标。
- 确定直接目标:本次策略会直接改变什么。
- 检查因果链:相邻两层关系是否可靠,链条是否足够短。
例如“降低骗赞内容影响”不应直接落成“打压点赞率高的视频”。更合理的直接目标是识别并降低骗赞内容的分发或无效互动价值,同时用用户体验、生态与误伤指标验证。
5.2 设计实验
原则上应通过 A/B 实验判断收益。指标至少覆盖三层:核心指标判断最终收益,直接指标确认策略确实生效,中间指标验证问题分解和因果链是否符合预期;同时设置安全、生态和体验护栏。
5.3 判断结果
- 核心指标与机制指标均符合预期:可进入灰度、上线与长期 review。
- 核心指标正向但中间指标不符:先解释收益来源,警惕错误耦合或后续反转。
- 点估计正向但不显著:不能只看方向,应结合样本量、效应大小和决策成本。
- A/B 无收益:通常不应仅凭主观判断上线;合规、安全等紧急场景需走例外审批和回滚机制。
- 只看 AA 前后变化:容易混入时间波动和同期策略影响,不能替代 A/B 因果判断。
5.4 上线与复盘
上线前应明确灰度范围、停止条件、回滚方案和负责人;上线后继续观察长期指标及副作用。具体评审、通知和复盘流程,应以团队当前规范为准。
六、产品与运营协作模板
提出推荐需求时,建议至少回答以下问题。模板的目的不是增加流程,而是让目标、机制和验收口径在开发前对齐。
| 要素 | 需要说明 | 常见问题 |
|---|---|---|
| 问题 | 哪类用户、什么场景、出现了什么损失。 | 只描述想做的功能,不描述问题。 |
| 最终价值 | 用户、作者或平台价值如何改善。 | 把点击率、曝光量直接当最终价值。 |
| 直接目标 | 策略会直接改变哪个可测信号。 | 目标与方案之间缺少因果关系。 |
| 方案 | 预测、价值、召回、粗排、重排或规则中的哪一层。 | 默认使用统一 boost 或过滤。 |
| 实验 | 核心、直接、中间与护栏指标,观察周期和显著性要求。 | 只看一个总指标,无法解释机制。 |
| 成本与风险 | 研发成本、机会成本、误伤、生态和回滚条件。 | 把 ROI、净收益和机会成本混为一谈。 |
✅
推荐表达:先说“要解决什么问题、创造什么价值、用什么指标证明”,再讨论具体策略。若提出 boost、过滤或强插,应同时说明为什么目标模型暂时无法表达该价值。
七、常见问题
7.1 可以不做 A/B 直接上线吗
原则上不可以。安全、合规或故障止损等紧急场景可以走例外,但要有审批、明确护栏、灰度和回滚方案,并补做长期效果验证。
7.2 A/B 没收益是否一定不能上线
大多数优化策略不应上线。若目标属于合规、安全、生态底线或必要基础设施,应按独立价值和风险标准判断,而不是硬套短期核心指标。
7.3 核心指标有收益是否一定可以上线
不一定。若直接指标和中间指标与预期不符,收益来源尚未解释清楚;还要检查护栏、分群差异、持续性和回滚条件。
7.4 为什么不能只看 AA 前后变化
前后变化同时受到季节、热点、产品版本、流量结构和同期实验影响,无法隔离策略的因果效果。AA 更适合检查指标稳定性,不适合作为常规收益判断。
7.5 为什么统一 boost 某类内容通常无效
用户偏好高度个性化,宏观标签内也有明显质量和兴趣差异。统一加权可能提高一部分用户的匹配,同时损害另一部分用户。若需要干预,应明确是用户价值、作者价值、平台价值还是产品硬约束,并设计对应实验。
7.6 能否直接照搬其他产品的策略
不能只复制动作。产品的人群、内容供给、交互、目标和约束不同,同一策略的因果链可能不成立。可以复用问题分解方法,再重新验证本产品的目标、样本和实验结果。
八、时效与维护
推荐系统的具体阈值、系统边界、返回数量、在线规则和训练频率都会随产品演进而变化。维护这类文档时,最好把跨版本稳定的方法论留在正文,把带日期的实现细节放入单独附录,并为关键指标和流程指定明确负责人。
附录:术语
- 召回:从大规模候选中快速找到相关内容。
- 粗排:以较低计算成本进一步缩小集合。
- 精排:使用更完整特征计算多目标价值分数。
- 重排:在精排后处理组合体验、约束与跨业务关系。
- A/B:通过随机对照估计策略的因果效果。
- AA:同策略分组,用于检查随机化和指标稳定性。
- Boost:对特定内容或目标增加排序影响。
- 冷启动:历史反馈不足时,为新对象提供探索和建立估计的机制;需区分新视频与新用户冷启动。
说明:本文侧重可跨版本复用的推荐策略方法论。实际策略设计和上线决策,应结合当前产品目标、数据口径、系统能力与实验结果。