跳到主内容

实时推荐和离线推荐有什么区别?

2026-10-18 发布 来源:我告诉你AI导航 阅读

实时推荐和离线推荐的差别,先说结论:用户正在逛、行为还在变的时候,用实时;用户没来的时候,靠离线把候选和画像算好。AI 在两套链路里做的是同一件事,只是对时间的要求不同。理解它们,重点不在模型,而在特征多久更新一次、结果多久能送到。...

实时推荐和离线推荐的差别,先说结论:用户正在逛、行为还在变的时候,用实时;用户没来的时候,靠离线把候选和画像算好。AI 在两套链路里做的是同一件事,只是对时间的要求不同。理解它们,重点不在模型,而在特征多久更新一次、结果多久能送到。下面从特征时效、链路延迟、效果评估、工程成本四个维度展开。

先说结论:一个管当下,一个管底盘

离线推荐在凌晨跑批,把每个用户的偏好、相似人群、候选商品算好存起来,用户来了直接取。它覆盖全量用户,算得深,但看不到今天早上刚发生的行为。

实时推荐在请求到来的几百毫秒内,把当前会话的点击、停留、加购拼进特征,重新排序。它反应快,但只能算一个很小的候选集,算不深。生产系统通常是离线出候选,实时做重排。

特征时效决定效果上限

离线特征按天更新,适合长期偏好:常买品类、价格带、常住城市。实时特征按秒或分钟更新,适合短期意图:刚搜了什么、在哪个页面停留久了、购物车里加了又删。

两者的价值不能互相替代。只用离线,用户刚看完婴儿车,首页还在推游戏手柄;只用实时,新用户没有行为,推荐会退化成热门榜。所以特征要分层,短期意图和长期偏好各占一席位。

冷启动阶段还可以用豆包生成一批兜底文案,再用 DeepSeek 按品类改写,把新用户的首页先填满,等行为数据攒够再交给排序模型接管,避免首屏出现空白。

链路和延迟预算

实时链路的每一段都在吃延迟:日志采集、特征计算、模型推理、结果拼装。端到端要控制在两百毫秒以内,留给模型的时间可能只有几十毫秒,所以模型不能太大,特征不能太多。

离线链路没有这个约束,可以跑复杂的模型、做大规模交叉特征。代价是结果有滞后,而且存储成本高,要为每个用户存一份候选列表,冷门用户的存储浪费明显。

效果评估的口径

离线评估看的是排序指标,比如命中率、覆盖率,用历史日志回放就能算。实时评估必须做在线实验,看点击率、转化率、停留时长,还要看延迟对体验的影响。

两者经常对不上:离线指标涨了,线上没动静。原因通常是离线评估用的是曝光日志,而线上要面对新的候选分布,模型在没见过的样本上表现会掉。所以要留一部分线上流量做长期对照,不能只看离线。

评估方式看什么指标怎么算局限
离线评估命中率、覆盖率这类排序指标用历史日志回放用的是曝光日志,线上候选分布一变就失准
在线实验点击率、转化率、停留时长,外加延迟对体验的影响分流量跑对照成本高,短期波动大,需要足够的样本量
长期对照留一部分流量持续走老策略长期并行跑牺牲一部分收益,换来离线与线上是否一致的证据

工程成本与运维

离线系统的运维相对简单,跑批失败可以重跑,晚了几个小时影响有限。实时系统一旦链路堵塞,用户立刻感知,需要限流、降级、兜底三套机制,任何一环缺失都可能拖垮首页。

降级方案要提前设计好:实时特征取不到时退回离线结果,模型超时时退回规则排序。这套兜底平时看不出价值,大促时就是保命的东西。

另一个常被忽略的点是特征回填。实时链路断了半小时,这段时间的行为没有进入特征,恢复后模型看到的是一段空白。要么补算,要么在特征上打标记,让模型知道这段不可信,否则会出现莫名其妙的推荐跳变。

  • 长期偏好:离线按天算,覆盖全量用户
  • 短期意图:实时按秒算,只重排小候选集
  • 延迟:端到端两百毫秒内,模型要小
  • 评估:离线看排序指标,线上必须做对照实验
  • 兜底:特征缺失退离线,模型超时退规则

关于实时推荐的三个常问问题

  • 小站点需要实时链路吗?:访问量不大时,小时级更新已经够用,实时链路的复杂度往往不划算。
  • 实时推荐会不会让人越看越窄?:会。要保留一定比例的探索流量,否则短期意图会把长期兴趣挤掉。
  • 延迟高一点影响很大吗?:影响明确,超过一秒的等待会显著拉低完成率,宁可少算几个特征。

链路设计的取舍和调研方法有相通之处,AI 调研和传统调研有什么区别讲了在线与线下的样本差异;改造范围怎么定,见单点 AI 和全流程 AI 差在哪;部署规模的取舍可以参考轻量部署和全量部署有什么区别。

反馈页面信息

请描述需要更正的地方,页面标题和网址会自动附上。

也可以发邮件至 [email protected]