当前位置:首页 > 科研成果库

推荐系统技术的边界感:当拟合行为不再等于理解用户

2026-11-16 00:45:17小研科研成果库7

点击不等于喜欢。停留不等于满意。划走也不等于厌恶。

这是推荐系统技术每天都要面对的一道裂缝。工程师把用户行为压成日志,再把日志喂给模型,希望它输出一个分数,决定下一次曝光。分数当然有用。可它只回答“此刻可能点开什么”,很少回答“为何点开,点开后是否后悔”。

推荐系统技术因此常被误解为纯粹的拟合问题。仿佛只要特征够多、模型够深、算力够猛,就能把人的偏好算清楚。麻烦在于,日志从不撒谎,但它也从不解释。

行为序列不是意图本身

最早的协同过滤依赖共现关系:你买过什么,和你相似的人还买过什么。矩阵分解把它变成隐向量内积,双塔模型把用户和物品分别编码,再在向量空间里做近邻检索。这类方法在工业界仍然稳固,原因不复杂——可扩展、易并行、对实时更新友好。

后来,序列建模接管了更多注意力。GRU、Transformer、长短期兴趣分离,试图从点击流里读出兴趣漂移。用户上午看露营装备,晚上看职场课程,模型若只给一个静态向量,就会把两种意图搅在一起。于是有了多兴趣向量、会话级建模、时间衰减。

推荐系统用户行为序列Transformer建模示意图推荐系统用户行为序列Transformer建模示意图

但序列不是意图。序列只是意图在界面上的投影。投影会受位置偏差影响:放得靠前的物品更容易被点。会受展示偏差影响:没被曝光的物品永远没有反馈。还会受流行度偏差影响:热门内容滚雪球,长尾内容连证明自己的机会都没有。

更棘手的是误触和随机点击。用户在地铁里滑了一下,系统却记成一次正反馈。若训练时不做去偏,模型会把噪声当信号。因果推断在这里进入推荐系统技术:逆倾向加权、双重稳健估计、后门调整,都是想把“因为曝光所以点击”与“因为喜欢所以点击”分开。条件很苛刻——倾向得分估计不准,纠偏反而引入新偏差。

召回、排序与重排之间,漏掉了什么

工业推荐系统技术通常不是单一模型,而是一条多阶段流水线。召回从海量物品里取一个候选集,排序对候选集做更精细的预估,重排再处理多样性、打散和业务约束。每一段都在做取舍。问题也恰恰出在这里:各阶段目标不一致,误差会累积。

召回追求覆盖,排序追求瞬时点击率,重排追求长期生态。若召回阶段因为向量量化损失漏掉了小众但高价值的物品,排序阶段再强也无力回天。若排序阶段过度追逐点击,重排阶段就得靠规则硬压。规则一多,系统开始僵硬。用户看到的内容越来越像,短期指标可能好看,长期留存却未必。

电商推荐系统多阶段漏斗架构图电商推荐系统多阶段漏斗架构图

多目标建模试图缓解这种撕裂。CTR、CVR、停留时长、完播、分享、负反馈,被放进同一个网络,用共享底层加独立塔来学习。做法听起来顺理成章。可目标之间会打架。一个标题党内容能拉高点击,却压低完播和满意度。若权重设置不当,模型会学会钻空子。

生成式推荐是近年的新变量。有人把物品离散成语义 ID,用序列生成的方式做召回;有人用大语言模型抽取内容语义,补足冷启动阶段的特征稀疏。它们未必替代传统流水线,但确实改变了一件事:推荐系统技术开始从“匹配 ID”转向“理解内容与意图”。不过,生成模型有幻觉,有延迟,有成本。工业系统不会因为一个新范式就推翻旧账本。

工业系统的隐形账本:延迟、成本与反馈回路

工业系统的隐形账本:延迟、成本与反馈回路工业系统的隐形账本:延迟、成本与反馈回路

实验室里的指标提升,到了线上常常缩水。原因不神秘。推荐系统技术运行在真实约束里:响应时间要压到几十毫秒,特征要实时拼接,GPU 要排队,内存要精打细算。一个模型离线 AUC 涨了,若推理延迟增加三倍,线上可能直接不可用。

还有反馈回路。系统推荐什么,用户就点什么;用户点什么,系统就更推什么。这个闭环会自我强化。它带来黏性,也带来窄化。用户兴趣漂移时,旧模型反应迟钝;新物品出现时,没有历史行为可供学习。冷启动因此不是边缘问题,而是推荐系统技术的日常。

探索与利用在这里变成工程问题。Bandit、强化学习、随机扰动、流量分配,都在试图给未知内容留出口。但探索有代价。给用户推一个可能不喜欢的内容,短期体验会受损。若探索预算太小,系统僵化;若太大,用户流失。没有普适解,只有场景约束下的平衡。

离线评估与在线 A/B 测试的差距,也常让人懊恼。离线数据来自旧策略,在线环境却会因新策略产生新分布。用旧数据评估新策略,本质上是在做反事实推断。说实话,离线指标再漂亮,也可能只是过拟合历史。

可协商的推荐:把控制权还给用户?

可协商的推荐:把控制权还给用户?可协商的推荐:把控制权还给用户?

推荐系统技术长期把用户当作被预测对象。输入行为,输出物品。可用户不是静态标签。人会好奇、会反悔、会故意点开不感兴趣的内容来测试系统。把控制权还给用户,听起来像解药。

可解释推荐、兴趣标签编辑、负反馈按钮、对话式推荐,都是这个方向。用户可以说“别再推这类”,也可以问“为什么给我看这个”。条件在于,用户得愿意表达。现实是,大多数人不会调参。界面越复杂,使用率越低。所以可协商不能变成把责任推给用户。

更可行的路径,是让系统在多个目标间显式暴露取舍。比如在信息流里混入探索位,在电商推荐里保留长尾入口,在短视频里控制同质化程度。这些不是模型精度的胜利,而是产品与算法的共同设计。推荐系统技术的边界,也在这里显形:它无法替用户决定什么是好生活,只能影响用户下一次注意力的落点。

风险同样真实。隐私泄露、操纵性设计、成瘾机制、过滤气泡,都不是技术中立能轻易带过的。差分隐私、联邦学习、端侧推理,能降低数据集中风险,却不能自动解决激励问题。若平台收入依赖停留时长,算法就会向时长倾斜。这不是模型偏差,而是制度偏差。

所以,推荐系统技术的下一道窄门,可能不是更复杂的网络,而是更诚实的接口。让用户知道系统在猜什么,让系统承认自己不知道什么,让推荐结果可争辩、可撤回、可修正。说起来简单。做起来,很难。