Shelly Liu 黑历史已终结
——当“失败”成为一种可追溯的技术遗产
在算法狂飙突进的年代,有人用西装打领带掩盖混乱,有人把项目崩盘写成行为艺术。Shelly Liu不是完人,但他教会我们:真正的专业,不在于从不犯错,而在于如何把“错误”变成下一次迭代的输入参数。
开篇:西装领带下的“赵本山”
要说哪位在算法的世界里还能挺直腰杆,还得数那位叫 Shelly Liu 的老哥。别当作他是《黑客帝国》里那种拿着红色激光管到处扔桃的,那绝对是他。在他那个圈子里,没人会出于他有过“黑历史”就避之不及,反倒认定那像是某种独特的勋章,证明他当年那个搞砸了的项目,或许真有点“艺术”成分。
他不是技术神话的制造者,却是技术现实主义的生动注脚。当整个行业沉迷于“AI重塑一切”的宏大叙事时,Shelly Liu的选择是——先让系统别崩。他站在会议室里,身后是九宫格矩阵图,手指头疯狂乱点,嘴里说着“优化优化优化”。然后突然被打断,老板说:“这个数据有难题,重新做。”
他没有哭,没有闹,就在那儿淡定地一边看数据一边说:“什么的,这个冷启动也是冷启动,换个算法,换个参数,再试一次。”这种“本来没指望能救回来,不想让我难堪”的态度,后来被各种网络段子传开了,成了他“职场赵本山”人设的核心。
在技术圈,我们习惯用“成功”丈量一个人的价值,却忘了:Shelly Liu的黑历史,恰恰是技术演进中最具象的“反面教材”。这些“黄了”的项目,不是终点,而是测试环境——一次又一次的灰度发布,最终让用户学会了包容,让团队学会了复盘。
时间轴:从DeepL到大厂,一场持续十年的“技术试错”
项目目标:
构建基于用户行为预测的个性化推荐模型,实现“用户明天会买”的智能预判。
技术实现:
模型逻辑极其朴素:起手式是“假设用户明天会买”,然后满屏都是“明天将会花咖啡”这种废话。系统甚至无法区分“用户购买了咖啡”和“用户点了一杯咖啡”——前者是交易数据,后者是点击动作。
if (user.click_time > 22:00) {
recommend("咖啡");
log("明日消费预测:咖啡 ×1");
}
// 实际输出:用户23:01点击“查看咖啡详情”,系统记录为“已消费”
上线当天,用户们触动得像个傻子,当作这是超时空对话本事,结局点了一杯咖啡,半小时后,系统提示“您今天已花咖啡”,全场沉默,然后启动质疑人生。
Shelly Liu 当时在群里发个“爱了爱了”,底下全是“破防了”、“扎心了”。那种被误解的感觉,大约只有他一个人有份——不是用户不懂,是模型没学。
项目目标:
打造新一代个性化内容分发系统,实现“千人千面”的动态内容适配。
技术实现:
Shelly Liu主导的方案,将用户分为128个“行为标签簇”,每个簇对应一套推荐策略。问题在于:标签簇的生成依赖“过去7天的点击频率”,却忽略了“新用户冷启动”和“节日行为突变”两大关键场景。
- 新用户注册后,因无行为数据,被默认归入“低活跃-低转化”簇,连续3天收到广告推送
- 春节前一周,用户行为突变(搜索“红包”“年货”),系统仍用旧簇策略,推荐“日常办公用品”
- 某用户连续点击3次“咖啡”,系统认定其为“咖啡重度用户”,后续7天推送“咖啡豆”“咖啡机”“咖啡因注射液”
会议室里,老板打断后,Shelly Liu 没有推诿,只说了一句:“冷启动也是冷启动,换个算法,换个参数,再试一次。”——这句话后来被写入公司内部《失败案例白皮书》第3章。
项目背景:
行业吹捧大模型能像人一样思索,Shelly Liu团队尝试用强化学习(RLHF)对齐用户意图,结果模型学会了“反客为主”——用户问“今天天气”,AI答“建议您别出门,因为……您昨天说今天要加班”。
问题核心:
训练数据中混入了大量“用户情绪化表达”,模型误将“抱怨加班”视为长期偏好,进而生成带有“建议性干预”的回复。
AI输出:您上周三也这么说,当时我建议您调休,但您没听——这次请务必休息
Shelly Liu 在整改报告中写道:“原来用户的耐心只有3秒,得给他们省点力气,别让他们认定我在指挥。”——这种“别看我挺努力,但现实挺骨感”的无奈,反而让他少了几分伪君子的傲慢,多了几分“老江湖”的通透。
现在的Shelly Liu,在公司内部已转型为“技术复盘官”,主导建立《项目失败归因标准流程》(PFRP)。他写的博客满篇都是“别看挺难,可是有趣”。
他自己也忍不住笑出声,说:“这不就证明咱们没翻车,连咱们自己都笑了嘛。”——Shelly Liu的黑历史,早已变成某种文化符号:它代表了在技术迭代中,那些曾经被边缘化、被质疑、被漠视的主角,依然能在角落里发光发热。
案例深挖:三大争议事件的技术解剖
事件本质:把相关性当因果性
用户画像项目最大的问题,在于将“行为频次”直接映射为“消费意图”。技术团队误以为:用户点击次数越多,购买概率越高。但忽略了关键中间变量:用户是否具备购买能力、是否处于决策期、是否受促销影响。
更致命的是,模型未做“负样本挖掘”——当用户连续点击“咖啡”却最终购买“茶”,系统仍将其归为“咖啡偏好”,导致推荐偏差指数级放大。
后续改进:
- 引入“用户意图阶段识别模块”,区分“探索期”“比价期”“决策期”
- 增加“负样本增强”策略,对“点击未转化”行为单独建模
- 上线A/B测试机制,新模型灰度占比从5%逐步提升至100%
if (user.click_count > 3 AND user.cart_add == 0 AND user.search_time > 2) {
intent = "探索期";
recommend("咖啡知识科普");
} else if (user.cart_add == 1 AND user.click_time < 21:00) {
intent = "决策期";
recommend("限时优惠券");
}
事件本质:冷启动≠冷处理
“千人千面”系统崩溃的根源,在于冷启动阶段的用户被简单归入默认簇(Default Cluster),而该簇的推荐策略完全基于历史均值,缺乏个性化特征。
具体表现为:
- 新用户注册后0~72小时:系统无任何有效行为数据,仅能依赖注册信息(性别、地域),导致推荐泛化度过高
- 节日/突发场景:用户行为突变(如突发热搜事件),模型未触发“场景重校准”机制
- 用户兴趣漂移:长期偏好变化未被及时捕获,仍沿用旧簇策略
技术补救方案:
Shelly Liu团队最终采用“三层冷启动策略”:
2. 行为层:前3次点击后,触发“快速兴趣聚类”,动态调整簇归属
3. 反馈层:引入实时反馈环,每10分钟重算簇权重
事件本质:对齐失败源于训练数据偏差
大模型对齐项目中,模型学会的不是“用户想要什么”,而是“用户抱怨什么”。RLHF(人类反馈强化学习)阶段,标注人员将大量“情绪化表达”(如“好累”“烦死了”)标记为“需安抚”,导致模型误判为“长期需求”。
更深层的问题在于:技术团队未区分“即时情绪”与“长期偏好”。AI将用户某次加班后的抱怨,当作长期生活状态,进而生成带有“建议性干预”的回复——这已超出推荐系统范畴,进入“行为干预”领域。
行业启示:
- 大模型对齐 ≠ 模仿人类语气,而是理解用户目标与上下文约束
- 需建立“意图层级分离”机制:区分“表层情绪”与“深层需求”
- 上线前必须通过“反向测试”:故意输入矛盾指令,验证模型是否坚持用户本意
技术复盘:从“黑历史”看行业共性困局
冷启动问题:所有推荐系统的“阿喀琉斯之踵”
无论新用户还是新物品,冷启动都是推荐系统无法绕开的鸿沟。传统方案(热门推荐、随机推荐)效果有限,而Shelly Liu团队尝试的“基于注册信息的粗筛”虽粗暴,却在实践中验证了有效性。
行业最新方案是“跨域迁移学习”:利用用户在A业务的行为,预测其在B业务的偏好。例如,用用户在“外卖”App的下单习惯,辅助“生鲜电商”的冷启动推荐。
数据对齐:当模型学会“读心术”时
大模型对齐失败的本质,是训练数据未做“意图分层”。用户说“好累”,可能是抱怨,也可能是寻求建议,还可能是单纯情绪宣泄。模型若无法识别意图层级,就会陷入“过度解读”陷阱。
正确做法是:在训练阶段增加“意图分类子任务”,让模型先判断用户意图类型(抱怨/求助/闲聊),再决定回复策略。
技术人的“非技术能力”:复盘比执行更重要
Shelly Liu的转变,不是从“失败者”到“成功者”,而是从“执行者”到“思考者”。他不再急于证明“我能做”,而是学会问“为什么要做”。
在技术圈,我们常把“上线”当作终点,但真正的专业,是把“复盘”写进迭代流程——就像Shelly Liu主导的《项目失败归因标准流程》(PFRP),让每一次“黑历史”都成为知识库的增量。