全自动跑起来了、成本降下来了、信任梯子搭好了——我以为接下来就是复制成功、放大规模。
但产品有一个问题我一直没解决——而且我越做越觉得它可能根本解决不了。
我想根据HR的回复来反向优化产品。具体来说就是:如果HR看到我的开场白之后没有回复——那是不是说明开场白写得不对?如果是——那我应该自动改开场白——让它变得更好。如果改了之后回复率上来了——那就说明优化方向对了。
这个逻辑链条听起来很完美。但当我真的开始做的时候——卡住了。而且卡得非常彻底。
一、我能看清的两端
HR对一次打招呼的回复——大概有三种情况。
第一种是约面试。HR直接回「明天下午方便吗」「发一份简历到我邮箱」——信号极其清晰。你不需要任何分析就知道——这次打招呼成功了。第二种是秒拒。HR回「暂时不匹配」「已读不回但不点开」——也十分清晰。这两种情况占全部回复的大概百分之三四十。
问题是第三种——也是占大多数的——已读不回。HR点开了你的消息——看到了——没回。为什么没回?可能性太多了。他可能正在忙——打算晚点回然后忘了。他可能看到了开场白但觉得不够吸引——但也没到要拒绝的程度——就放在那里了。他可能打开看了觉得还可以——但想先看看其他候选人。他可能手机响了被叫去开会了——回来就忘了这回事。他甚至可能只是手滑点开了——根本没看到内容。
已读不回——这个中间状态——占了总回复量的百分之六十以上。而这百分之六十——我完全不知道它是好信号还是坏信号。它既像《信号》——但更像「没有信号」。
我刚入行的时候甲方也经常这样——发过去一张效果图或者一个方案文本——微信显示已读——但没有回复。我等一整天、等两天、等一周——最后忍不住发消息问对方「您看过了吗有什么意见」——对方才回一句「哦好的收到了我看看」。已读不回在设计行业几乎是一个默认状态——因为客户同时在盯三个项目、开四个会、回五条消息。你发的图可能只是他今天未读列表里的第不知道多少条。
所以我清楚地知道一个问题:已读不回有至少二十种原因——而我没有任何办法区分它们。这就像你在工地上听到地下有声音——但你不能确定那是水管漏水还是电缆短路还是老鼠在跑——因为声音穿过土层到你这儿的时候已经失真了——你所有的信号都是经过了一层噪声过滤之后的版本。你只能知道『有声音』——但不知道那是什么声音。而且最让人难受的是——你知道这个信息是有用的——但你就是提取不出来。
二、我想做「反馈闭环」——但闭环缺了一整段
我的设想是这样的:每次开场白发出去之后——如果HR给了正面回复——说明开场白方向对——系统就记住这个方向——下次写类似岗位时复用。如果HR已读不回——说明开场白可能有问题——系统自动尝试另一种风格的开场白——然后对比回复率——找出更优的那个。
这个设想需要的前提是:我能准确判断「已读不回是因为开场白不好」。但我能判断吗?不能。
已读不回可能是因为开场白不好——也可能是因为HR今天心情不好、因为他已经招到人了但还没关岗位、因为公司内部冻结招聘了但HR忘了撤、因为他职位虽然是运营但实际想要的是有技术背景的人而我的简历上写的不是那个方向。二十种原因里——真正跟开场白有关的——可能只有三四条。剩下的——是全然的噪声。
如果我强行做这个闭环——我会做一件更糟糕的事:我会根据错误的归因调整产品的行为。我会把一个完全没问题开场白改掉了——改完之后回复率没变——我得出结论「这个方法没用」。或者恰好相反——我把开场白改成另一版——碰巧今天HR心情好——回复了——我得出结论「这个方向对了」——然后开始全面复制这个方向。两种都是灾难。前者让我放弃一个正确的策略——后者让我放大一次偶然的运气。
这就是归因困境:你看到了一个结果——但你不知道导致这个结果的原因是什么。
三、苏姐说「你非要知道吗」
我带着这个问题去找苏姐。我把我的困境说了一遍——「已读不回」有二十种可能的原因、我没办法用它来做闭环优化、我卡住了。
苏姐听完之后没有给我解法。她反问我一个问题——这个问题的答案我现在还记得。
「你为什么要知道?」
「因为我想做闭环优化——」
「不——我问的是:你为什么要知道『到底是二十种原因里的哪一种』?知道了之后你能做什么?」
我愣了一下。「知道了之后——我就能针对性地改——」
「那如果你不知道——只是换一个开场白风格——然后在两周后看总回复率有没有变化——你能得到什么?」
「那我只能知道『换了有没有用』——不知道『为什么有用』。」
「对。那你知道『换了有没有用』这件事——够不够你做决策?」
我犹豫了一下。「够——如果换了之后总回复率确实涨了——那我就继续用新版本。」
「那你知道『为什么有用』这件事——它对你的决策有影响吗?」
我想了一会儿。很诚实地说:「没有。」
「所以你不是卡在归因上——你是卡在『我必须知道原因才能做决定』这个预设上。但你的实际情况是——不需要知道原因——只需要知道相关性——就已经可以做出优化的决策了。」
苏姐的话让我意识到一件事——我一直以为做好闭环优化的前提是能精确归因。但精确归因在真实世界里几乎不可能。你不知道一个用户为什么没有点你的产品——但你可以在首页上同时放两个不同版本的引导文案——然后看哪个点击率高。后者不需要你知道原因——你只需要知道结果。我又追问了一句:「但如果对照实验也看不出差异呢——比如两版开场白的回复率只差了零点几个百分点——那怎么办?」苏姐说:「那就说明这件事不值得纠结。两个版本差不多——你就选成本低的那一版——或者选你更喜欢的那一版——翻篇做下一件事。」我后来发现这个回答其实透露了一个很重要的产品思维方式——不是所有差异都值得优化。有些差异是噪声——你花精力去找最优解——找到的最优解和次优解的差距本身就没有意义。
苏姐的话让我意识到一件事——我一直以为做好闭环优化的前提是能精确归因。但精确归因在真实世界里几乎不可能。你不知道一个用户为什么没有点你的产品——但你可以在首页上同时放两个不同版本的引导文案——然后看哪个点击率高。后者不需要你知道原因——你只需要知道结果。
四、阿 May 说「土看不见下面有什么——但你照样种东西」
我跟阿 May 吃饭的时候说了这件事——我说我想找到「已读不回」的原因——找不到。然后苏姐告诉我你可以不用找。
阿 May 听完之后擦了擦嘴——然后说了一句让我没想到的话。
「你们做产品的有一个毛病——总觉得什么事情都得搞清楚才能动。但我们种树的不是这样的。你挖一个坑——土翻出来——你不知道下面有没有石头、有没有管道、有没有古墓——你不知道。但你不能因为不知道就不种了。你挖下去——碰见石头就绕开——碰见管道就改位置。你不是先搞清楚再动手——你是动手的过程中搞清楚。」
「那要是碰到古墓呢?」
「那就停——上报——等文物局的人来看。但这是极少数情况——百分之九十的情况是石头和管道——绕开就行了。」
阿 May 说的「动手的过程中搞清楚」——我后来想了很久。我回想起在设计公司的时候——每次做驻场配合——你不可能在开工之前搞清楚地下所有管线的位置。设计院给的管线综合图永远跟现场有出入——煤气管道标在图纸的A位置——但现场挖开发现它在B位置——因为施工的时候遇到石头绕了一下——但图纸没更新。你能做的不是提前搞清楚——是挖到的时候及时调整。产品优化也是一样的——你不可能在做A/B测试之前搞清楚所有变量——你只能设计好实验——做了之后根据结果调整。而且还有一个重要的点——阿 May 说他们碰到管线的时候不是停下来开会——是施工队长当场就决定往左偏三十公分绕过去——边干边调。产品也要这样——发现问题的时候——最小改动方向迈出去——而不是停下来分析为什么。
我卡住的原因是我试图在做一件事之前先把所有变量控制住——但这在真实世界里不可能。真实世界的做法是:先画一条线——然后边画边看边调整。你不知道已读不回的确切原因——但你可以先换一版开场白——然后观察两周后的总回复率变化。如果涨了——继续优化这个方向。如果没涨——换另一个方向。你不需要知道原因——你只需要知道「动了一下之后——结果变了没有」。五、坑在哪
坑一:以为所有的数据都能被归因。已读不回有一二十种原因——你不可能知道是哪一种。强行归因只会让你做出错误的决定。承认「我看不清」——比强行「我看清了」靠谱得多。
坑二:把「知道原因」当作「做决定」的前提。苏姐那一问让我意识到——我其实不需要知道原因。我只需要知道「变了没有」。A/B测试不需要归因——只需要对照结果。相关性已经足够指导决策了。
坑三:低估了噪声的规模。已读不回占总回复量的百分之六十以上——而我之前一直试图在这百分之六十里找信号。但正确的做法是:放弃对中间状态的精确分析——只分析两端(约面试和秒拒)——中间那一片交给对照实验来处理。
坑四:闭环设计得太理想。我设想中的闭环是「判断原因→调整策略→验证效果」——但现实中「判断原因」这一步根本走不通。正确的闭环应该是「提出假设→做改动→看结果→根据结果决定下一步」——不需要归因——只需要知道结果比之前好还是差。
坑五:不知道什么时候该停。有的问题就是解不开的——或者说——以当前的样本量和技术条件——就是解不开的。承认「这一片我看不清」本身就是一种判断能力。不是所有问题都能被解决——有些问题只能被绕过。
六、速查卡
他还会这么问:追问——「你怎么区分『改了开场白』和『今天天气好导致HR心情好』?」
他在考什么:面试官想知道你有没有真正做过对照实验——而不是在脑子里想了一套漂亮的方法论。
结论句:AI产品的效果归因几乎不可能做到精确——你只能控制变量、做对照实验、在足够大的样本量下看统计显著性——然后接受「大概是因为这个」而不是「一定是因为这个」。
三点口播稿:「我踩过归因的坑——而且踩得很彻底。我有一个很自然的想法:根据HR的回复来反向优化开场白——如果开场白发出去之后HR已读不回——说明开场白有问题——系统自动换一种风格。但这个想法卡在了归因上——已读不回有一二十种可能的原因——开场白不好只是其中一种——而且我没办法区分到底是因为哪个。我的解决方案是三步。第一——不归因——只对照。我不再试图分析『已读不回是因为什么』——而是直接换一版开场白——和旧版做A/B测试——两周后看总回复率的差异。第二——只分析干净的两端数据。约面试是正向信号——秒拒是负向信号——这两端几乎不需要归因。中间那百分之六十的已读不回——放弃精确归因——只用对照实验来处理。第三——接受不确定性。有些问题就是解不开的——知道自己看不清——比强行说看清了好。收口:归因困境没有一个完美的解法——它是一个你必须接受的不完美。你能做的是:在能力范围内控制变量——然后用足够大的样本量让信号穿透噪声。」
30 秒版:「三步。第一步不归因只对照——A/B测试看结果差异。第二步只分析两端干净数据——中间已读不回放弃精确归因。第三步接受不确定性——知道自己看不清。归因没有完美解法——只能控制变量、放大样本量、让信号穿透噪声。」
数据锚点:开场白A/B测试进行了4周。A版旧风格开场白回复率12.1%。B版新风格(更短、更直接带数据)回复率15.8%。差异有统计学显著性(p<0.05)。但我仍然不能确定涨幅是因为风格变化本身——还是因为测试期间恰好是招聘旺季。
他还会这么问:追问——「样本量多小的时候你会放弃测试?」
他在考什么:面试官想知道你会不会在数据不够的时候强行下结论。
结论句:AI功能评测的核心不是找到完美指标——是找到一个你能持续跟踪的指标——然后坚持测——测到信号穿透噪声为止。
三点口播稿:「评测方面我经历过三个阶段。第一阶段是『看感觉』——开场白改了之后我觉得好像回复率涨了——但拿不出数据。第二阶段是『看单一指标』——锁定了回复率作为核心指标——每天看——但波动太大——今天涨了明天跌了——什么都看不出来。第三阶段是『对照实验』——同时跑两个版本——看足够长的时间——用统计显著性判断哪版更好。几个教训。第一——样本量不够大的时候什么都看不出来——至少要几百次打招呼才能看到趋势。第二——单一指标容易骗人——回复率涨了但匹配度可能降了——要多指标一起看。第三——测试周期要够长——至少两周——覆盖工作日和非工作日——因为HR的工作节奏是有周期的。收口:评测不是一个工具——是一个习惯。你要一直测——不是因为你不信——是因为你不知道什么时候外部环境变了——你的结论就不成立了。」
30 秒版:「三个阶段——看感觉到看单一指标到对照实验。三个教训——样本量不够看不出趋势、单一指标容易骗人、测试周期至少两周。评测不是工具是习惯——要一直测——因为外部环境随时在变。」
他还会这么问:追问——「如果A/B测试也看不出差异——你怎么办?」
他在考什么:面试官想知道你有没有备用方案——是不是只能做有数据支撑的决策。
结论句:信息不足时做决策不是靠直觉——是靠「最小可行验证」——做一个改动够小、周期够短、结果够清晰的实验——然后根据结果决定下一步。
三点口播稿:「信息不足的情况是常态——不是例外。我的处理方式是三步。第一——把问题拆成能验证的小块。我不问『开场白整体方向对不对』——我问『加一句数据锚点对回复率有没有正向影响』。问题越小——验证周期越短——不确定性越小。第二——接受『方向正确』而不是『精确最优』。信息不足的时候——你找不到最好的方案——但你可以找到『比现在好』的方案。方向上的微小偏移比原地不动强得多。第三——设置决策截止点。我不能无限期等数据——如果跑了两周的A/B测试还没看出显著差异——说明效果差异太小——不值得为了这点提升投入更多资源——我会选成本更低的那一版。收口:信息不足的时候做决策——核心不是找到最优解——而是先往前走一步。往前走一步产生新信息——新信息帮你做下一步决策。原地不动不会有新信息出现。」
30 秒版:「三步。拆成能验证的小块——不问方向对不对问某句话有没有用。接受方向正确而不是精确最优。设置截止点——两周看不出差异就选成本低的版本。核心不是找最优解——是先往前走一步产生新信息。」
他还会这么问:追问——「数据分析本身也是有成本的——你怎么算这笔账?」
他在考什么:面试官想知道你有没有数据成本意识。
结论句:数据本身有成本——获取数据、清洗数据、分析数据——每步都在花时间。你要知道什么时候该停——不是所有问题都值得花数据去回答。
三点口播稿:「数据分析的边际收益是递减的。第一个数据点让你知道方向——第十个数据点让你知道精度——第一百个数据点让你知道你已经花了一百倍的精力在验证一个已经知道方向的事。我给自己定了一个规则。第一——成本低于收益的才做。如果要花一周埋点、两周跑数据、一周分析——才能知道一个改动有没有用——那这个成本可能已经超过了改动本身带来的收益。我还不如直接凭经验选一版——然后观察有没有明显的问题。第二——决策价值决定数据投入。一个文案改动——不值得花三周做精密分析。但一个定价调整——影响收入——值得花时间做充分的A/B测试。第三——有些问题不值得用数据回答。如果我试了两次改动都没看到明显差异——可能说明这个问题本身就没什么差异好找——那就选一个省心的方案——翻篇。收口:数据是好东西——但也有成本。你要知道什么样的问题值得用数据去回答——什么样的问题不值得。」
30 秒版:「三条规则。成本低于收益才做——花一周分析一个文案改动不值得。决策价值决定数据投入——定价调整值得充分做A/B测试、文案不值得。两次没差异就翻篇——有些问题本身就没差异好找。数据是好东西——但也有成本。」
七、这一章我真正学会的那一招
这一章的怪物叫「中间那一片我看不清」。我直到现在也没完全看清那一片。但苏姐教会我一件更重要的事——有些问题你不需要看清——你只需要知道怎么在看不清的情况下往前走。已读不回有二十种原因——我不知道是哪一种。但这不妨碍我换一版开场白——然后看结果。世界是不透明的——但你可以敲一敲——根据回声判断方向。
便利贴又更新了。在「双Agent」下面我加了一行:「看清两端就行——中间那一片用对照实验。不归因——只对照。不知道自己不知道——比假装知道好。」
「已读不回有二十种原因——你永远不可能知道是哪一种。但你不需要知道——你只需要知道『动了之后结果变了没有』。」
【掉落】看清两端——中间用对照实验。你的产品不是所有问题都能归因的。大部分反馈都是噪声——但你不必等到看清全部再做决定。先换一版——看结果——然后根据结果决定下一步。不知道原因——也可以做对的决定。
补遗 · 归因与效果(6 题)
质检归因树
① 怎么答:归因树设计:①树的根——业务结果指标(订单取消率/退款率/履约失败率——「结果」);②树的中间——对话/服务过程(质检结果:对话标签(态度差/答错/超时/未解决)——「过程」);③树的叶——根因(服务问题(话术错/响应慢)、产品问题(功能缺失导致客服背锅)、流程问题(审批/物流环节断裂))。构建方法:①数据关联——把「结果订单」与「该订单的服务对话」关联(订单号打通:哪个订单被取消→当时客服说了什么/做了什么);②模式识别——统计「结果异常订单」的服务特征(被取消的订单里 60% 有「客服未解决」标签 vs 正常订单 20%——关联信号);③根因定位——异常服务特征往下追(「未解决」为什么没解决?→ 产品功能缺失(用户要改地址但系统不支持)→ 根因是产品不是客服);④应用——根因分布驱动改进优先级(产品缺陷占比最高→改产品;服务问题→培训/话术)。收口:归因树的价值=「把客服的锅分清楚」——用数据判断「这是谁的问题」,而不是互相甩锅。
AI 教育效果指标
① 怎么答:分层指标:①结果指标——「学习效果」的直接证据:知识点掌握度(AI 测评:每章节掌握率——前后对比)、成绩变化(校内考试成绩趋势——和家长最相关的指标)、能力维度(计算/阅读/逻辑——分项进步);②过程指标——「学习投入」的证据(效果要时间——过程先给信心):学习时长/频次、完成率(练习/课程)、主动性(主动学习的比例——「孩子愿意学」是家长最看重的信号);③对比维度——「和谁比」:纵向(自己前后:上月 vs 本月掌握度)、横向(同龄对比(谨慎用:避免制造焦虑——用「同龄平均」给参考)、目标对比(对标大纲要求)。呈现方式:学习报告(每周/每月:进步曲线+薄弱点+下一步建议——「报告」是 AI 教育产品的核心交付物:家长买的是「效果可见」)。
特定人群效果差
① 怎么答:四步:①定位——「哪个特定人群」:按维度切分看效果(年龄/地区/语言/设备/使用习惯:老年用户?方言区?低端机?——先找到「差」的具体人群和具体表现(答非所问?识别不了?);②查根因——三类:数据(训练数据里该人群样本少/分布偏——模型没见过他们的话术);特征(产品交互对该人群不友好——老年人不会打字/不习惯新交互);模型能力(该场景模型天生弱——方言识别);③针对性解决——数据问题(补该人群的数据:定向采集+标注——微调/优化);交互问题(适配交互:大字/语音输入/简化流程);模型问题(换更适配的模型/加规则兜底);④监控——分群指标常态化(上线后持续按人群看效果——防止「整体好但局部恶化」被平均掩盖)。收口:90% 好 + 10% 差不是「可接受」——那 10% 可能是最容易流失的用户群(也是竞品的机会)。
坦诚 AI 不确定性
① 怎么答:沟通原则:①主动给数据——不等对方问:「我们模型的准确率是 95%,也就是说 100 次里约 5 次可能出错——出错集中在 XX 场景」——主动说=专业(藏着=被发现时信任崩塌);②翻译成人话——「错误率 5%」客户没感觉:「每 20 个自动处理里有 1 个可能需要您复核——平均影响 2 分钟」——用「业务影响」讲不确定性;③给保障——「出错怎么办」比「出错概率」重要:兜底机制(低置信度转人工/复核流程)、补偿承诺(AI 造成的损失平台承担)、监控与改进(「我们每周跟踪错误分布并持续优化」);④管理预期——上线前对齐「能力边界」:「这个功能适合 XX 场景,不适合 YY 场景(模型边界)——YY 场景我们会用 XX 方案兜底」。核心:坦诚不是「承认弱」,是「专业地管理风险预期」——数据+人话+保障三件套。
数字人产品
① 怎么答:核心指标:①形象相似度(生成数字人与本人的相似度:用户可接受线 90%+);②口型同步率(说话时口型与语音对齐的准确率——口型不同步=「恐怖谷」);③情绪表现力(表情/语调与内容匹配:数字人直播带货要「有感染力」);④生成与推理成本(5 分钟采集→生成要多久、实时驱动算力);⑤可用性(一次生成后能不能持续用:不同场景(说话/唱歌)表现稳定)。口型/情绪驱动:音频→口型(音素到口型映射:TTS 音频驱动口型同步)、情绪(文本情绪识别→表情参数(微笑/惊讶/严肃)——内容与表情匹配)。合规风险:①肖像权(采集真人形象生成数字人——必须有授权:商用授权范围(能做直播吗/能卖货吗——授权边界写清);②深度合成标识(数字人内容要标识「AI 生成」——监管要求);③滥用(仿冒他人数字人诈骗——技术+法律双防);④内容责任(数字人说的话=谁的责任:内容审核+使用方责任约定)。
综艺+音箱传播功能
① 怎么答:选综艺(示例:《歌手》音乐竞演类):功能「AI 歌手挑战」:①参与——用户在音箱上跟唱节目里的歌曲(音箱打分:音准/节奏/情感——「你的得分:85 分,超过 70% 的挑战者」);②互动——AI 虚拟合唱(用户和节目选手的 AI 音色合唱一首歌——「和 XX 合唱」是传播点);③传播——挑战结果生成「可分享卡片」(得分+排名+「你敢来挑战吗」——分享到社交平台);传播机制设计:①「比较」驱动(分数排名——用户想晒);②「偶像」驱动(和明星 AI 合唱——用户想分享);③「挑战」驱动(@朋友来挑战——邀请机制);④反哺节目(音箱挑战数据回流节目(「本周最火挑战曲目」——节目和音箱互相导流)。要点:传播功能=用户有「主动分享的理由」——比较/偶像/挑战三选一。