完整系统

系统演进路线

从首页视频列表到可迭代的推荐平台

第 1 版

人工精选 Feed

先把编辑挑选的视频按时间倒序返回,让首页能刷起来。

视频表审核状态游标分页播放 URL
首帧时间、Feed 响应延迟、不可播放率
第 2 版

内容生产链路

创作者开始上传视频,系统必须处理转码、封面、审核和 CDN。

上传服务转码任务对象存储CDN内容审核
转码延迟、CDN 命中率、审核通过延迟
第 3 版

多路召回排序

热门列表无法个性化,需要从用户兴趣、关注、热门和相似内容召回候选。

用户画像召回通道排序模型曝光去重重排规则
点击率、完播率、连续跳过率、多样性
生产版

数据闭环平台

推荐策略每天迭代,必须用实验、特征、治理和监控控制结果。

行为日志特征平台A/B 实验风控治理降级策略
留存、投诉率、实验显著性、模型超时率

完整的视频推荐流系统可以分成四条链路:

内容链路:上传 -> 转码 -> 审核 -> 入推荐池
分发链路:对象存储 -> CDN -> 播放器
推荐链路:召回 -> 排序 -> 重排 -> Feed 返回
反馈链路:曝光 -> 行为 -> 特征 -> 模型/策略更新

四条链路缺一不可。只有算法没有内容供给,推荐会枯竭;只有内容没有反馈,推荐无法个性化;只有推荐没有分发,播放体验会拖垮留存。

最终请求流程

一次 Feed 请求可以这样发生:

  1. 客户端带上用户、设备、网络和游标请求下一页。
  2. 推荐服务读取用户画像、最近行为和曝光历史。
  3. 多路召回生成候选视频。
  4. 候选经过过滤和去重,去掉已曝光、违规或不可播放内容。
  5. 排序模型为候选打分。
  6. 重排层控制多样性、新鲜度、作者频率和探索内容。
  7. 返回视频卡片、播放 URL、封面和推荐上下文。
  8. 客户端上报曝光、播放、完播、点赞、跳过等行为。

这些行为数据会进入实时和离线链路,影响下一次推荐。

核心数据

推荐流至少需要这些数据:

数据作用
video_metadata视频状态、作者、时长、标签、播放资源
user_profile用户兴趣、长期偏好、风险状态
behavior_log曝光、播放、完播、互动、负反馈
feature_store在线和离线特征
experiment_log策略版本、实验分组、效果指标

曝光日志尤其重要。没有曝光,就无法判断用户没有互动是因为不喜欢,还是根本没看到。

关键决策

  1. 推荐是否只靠模型:不应该。召回、过滤、重排、治理和实验同样重要。
  2. 点击率是否是唯一目标:不是。完播、留存、投诉、多样性和生态健康都要进入评估。
  3. 新视频如何获得机会:需要探索流量,否则系统会只推荐历史热门内容。
  4. 视频不可播放怎么办:推荐服务要感知转码、审核和 CDN 状态,避免推荐坏内容。
  5. 高峰期如何降级:特征服务或排序模型超时时,要降级到缓存、热门或轻量模型。

上线检查清单

  • 视频是否只有在转码完成、审核通过后进入推荐池?
  • 播放 URL 是否稳定,CDN 命中率和首帧时间是否可监控?
  • Feed 是否使用游标分页和曝光去重?
  • 召回通道是否有配额、去重和质量监控?
  • 排序是否有多目标和护栏指标?
  • 是否记录曝光、播放、完播、跳过、举报等行为?
  • A/B 实验是否能追踪策略版本和用户分组?
  • 低质、违规、重复内容是否能被过滤和降权?

课程总结

视频推荐流是一套数据闭环系统。它的复杂度不只在算法,而在内容生产、播放体验、候选生成、在线排序、用户反馈和治理机制如何协同。

设计这类系统时,先问五个问题:

  • 内容能否稳定进入系统并被审核?
  • 用户请求能否在低延迟下返回可播放视频?
  • 候选集是否覆盖相关性、新鲜度和探索?
  • 排序是否平衡多个目标,而不是只追点击?
  • 用户行为是否完整回流,支撑下一轮优化?

能回答这些问题,视频推荐流才具备完整的系统设计基础。