跳到主要内容

Demo 到 Dogfood 的鸿沟:为什么你的 AI 功能死在了发布幻灯片与周一早晨之间

· 阅读需 12 分钟
Tian Pan
Software Engineer

演示进行得非常完美。全场鼓掌。两周后,同样的功能出现在公司内部使用的 Slack 中,到了周三,一位高级工程师发布了截图,配文是“有人测试过这个吗?”到了周五,频道变得寂静无声 —— 并不是因为 Bug 被修复了,而是因为那些本来会指出问题的人已经放弃了,回到了旧的工作流。发布计划仍在日程表上。没有人取消它。没有人拥有取消它的政治资本。

这就是从演示到内部试用(dogfooding)之间的鸿沟。MIT NANDA 计划去年对其进行了衡量,比例高达 95% —— 即在企业级生成式 AI 试点项目中,有 95% 未能产生可衡量的损益(P&L)影响,而几乎所有这些项目都有一个令人心动的演示。模型本身不是问题。演示与内部使用第一周之间的差距才是问题,每个发布过 AI 功能的团队都曾目睹过类似情形的上演。

演示是销售产物。内部试用是质量产物。二者不可同日而语。

演示和内部试用看起来像是同一种证据 —— “人们使用了这个功能,结果如下” —— 但事实并非如此。演示是一个精心策划的环境。演示者挑选了输入,非常了解模型的失效模式并能巧妙避开,且是在以新奇感为标准对观众进行评分。观众则根据演示是否令人印象深刻来评分,这取决于“AI 能做这个”和“AI 刚刚做到了这个”之间的差距,而不是该功能是否能在实际工作流中生存。

内部试用反转了上述所有特性。输入是当周产生的任何实际工作。用户清楚地知道他们的工作需要工具做什么,并且没有任何新奇溢价,因为他们明天和后天还会继续使用它。他们的评分标准不是“这是否令人印象深刻”,而是“这是否比我之前的做法更快,包括切换到它的成本”。同一个在受控房间内博得喝彩的功能,可能在四天内就在实际工作流中败给肌肉记忆。

因此,将成功的演示视为就绪的证据是一种范畴错误。这是把销售产物当成了质量产物。它们是在不同的条件下、通过不同的过程产生的,用于回答不同的问题。仅凭演示信号就发布的团队,注定要在发布后通过用户流失指标才能发现其真实的质量门槛。

失效模式:高级工程师发布截图后便不再发声

这种模式非常一致,甚至可以归纳为一种固定的形态。一个功能伴随着令人兴奋的推广贴出现在内部频道中。第一天,有六七个人尝试了它;其中两人发布了他们喜欢的地方。第二天,有人发布了一个故障。第三天,一位在功能目标领域工作的高级工程师发布了一个更严重故障的截图 —— 编辑了错误的文件、生成了错误的代码、总结了错误的客户记录。回复纷至沓来。PM 确认了该报告,并将其标记为团队将处理的边界情况。

第四天,又有其他人发布了类似的故障。PM 再次确认。第五天,帖子停止了。团队将寂静的频道解读为已被采用,并撰写了一篇庆祝内部试用成功的发布贴。但频道之所以安静,是因为那些本能发现最昂贵错误的业务用户已经放弃了。他们不是参与其中,而是离开了。“近期没有投诉”的信号被解读为“近期没有问题”,而实际的解读应该是“近期没有足够在乎的用户愿意继续投诉”。

这是组织一直忽视的失效模式,因为“每周内部投诉”这一指标看起来在改善,但实际上分母正在崩塌。内部用户的信任度没有被衡量,因此在进行内部试用的团队就像是在没有仪表盘的情况下飞行,无法得知机舱压力正在下降。

为什么开发它的工程师不使用它

演示与内部试用之间鸿沟的另一半是反向失效:构建该功能的团队并不使用它。有时是因为他们的工作流不符合使用场景 —— 该功能是为销售运营设计的,而团队是工程部;该功能是为客户支持设计的,而团队是平台组;该功能是为法律审查设计的,而团队是产品部。有时则是结构性的;团队在确定项目范围时不想承认,他们并不会成为有意义的内部用户。

后果是,最能察觉到功能失效模式的人 —— 那些了解其约束、模型选择、提示词脚手架(prompt scaffolding)和检索集的人 —— 从未以用户的身份感受到它们。反馈循环在开始前就断裂了。故障通过多步骤过程被报告为 Bug 工单,在与不相关的工作积压进行分类对比后,输给了更容易发布的其他功能。团队对该功能的真实体验是“评估套件通过了”,而不是“我今天用了它,浪费了我 20 分钟”。这两类证据经常指向相反的方向,任何只信任前者的团队都在根据片面的信号进行发布。

解决办法不是劝诫 —— “每个人都应该多使用这个功能”这种话很难在下一次冲刺(sprint)中幸存。解决办法是结构性的。团队自身的工作流必须成为第一批内部试用的对象,即便这意味着要有意识地塑造该功能,使团队在更大规模内部推广之前能从中真正获益。GitLab 在推广 GitLab Duo 时制定了一项明确政策:每个 AI 功能在确定正式发布(GA)日期之前,都必须被用于真实的工程工作 —— 代码审查、漏洞分类、事件总结、发布说明。重点不在于工程师是特殊用户,而在于他们是唯一能在同一次对话中同时提供故障报告和根因假设的用户,这能将迭代周期缩短一个数量级。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates