post · 2026.09.27

想给产品加个新功能,怎么知道它真的变好?

系统#AI Code Review#研发效能#质量测试#产品设计

加了功能,数字变好了——但这变好,到底是新功能的功劳,还是别的什么在作怪?


开场:是咖啡提神,还是熬夜的问题?

你想验证"咖啡能提神"。于是今天你喝了杯咖啡,加到深夜,第二天觉得还行——于是你得出结论:“咖啡确实提神!”

等一下,这里面有个巨大的漏洞:你同时喝了咖啡 AND 熬了夜。那第二天觉得还行,到底是咖啡的功劳,还是只是你昨晚碰巧睡得好了一点?你根本分不清。

要真相只有一个办法:把其他变量按住,一次只变一个。 比如:作息完全相同、饮食相同,只是"喝不喝咖啡"这一件事不同,连测几天,才能勉强归因。

这就是实验设计里最朴素也最重要的道理:想归功于"它",得先把别的变量按住。


二、产品场景:给 AI 审查加一个"新工具"

回到 AI 代码审查。产品升级了,给 AI 加了一个新能力——比如:

“给 AI 一个’结构化代码搜索’工具”,让它能按代码结构(而不是纯文字)去找问题。

听起来更高级了。加了之后,测试一看:召回率从 0.24 涨到 0.36,涨了 50%! 是不是说明这个新工具很有用?

别急着高兴。 你得先回答一个问题:这 50%,真的是"新工具"的功劳吗?还是同时发生了别的变化?


三、加功能的实验,最容易犯的三个错

错 1:改功能的同时,还改了别的 比如为了加新工具,顺手重写了提示词、改了评分规则、换了测试数据。结果数字变好——到底是工具、提示词、规则、还是数据,哪个的功劳?一笔烂账。

错 2:只在"好的数据"上测 挑了一堆简单的、AI 容易答对的题目来测新功能,数字当然好看——但这只是挑题的艺术,不代表能力。

错 3:只看一次、信一次 一次跑出来的数字可能是运气。同一个产品,同一道题,AI 都可能"这次抓到了、那次没抓到"。

这三个错,其实就是把"变量没按住"“数据偏选"“样本不足"三个毛病踩了个遍。


四、正确的做法:一次只变一个(对照实验)

要证明"这个新工具真的有用”,标准做法是这样,一次只做一件事:

① 被比较的两版,除了新工具,其他全部相同

  • 用同一张考卷、同一套评分规则、同一个模型;
  • 唯一区别:A 版没有新工具,B 版有新工具;
  • 甚至为了保险,产品的"使用说明(提示词)“都要求:除了对新工具的几句介绍,其余逐字相同。

这样才能说:任何数字差异,只能归结为新工具。 至于"改没改提示词、改没改评分规则、换没换数据”——全部不准动。

② 别挑题,用同一批、有代表性的题 A 和 B 都用同一批题目跑,不能用 A 用这批、B 又换一批。而且这批题要覆盖各种情况(简单/难、干净/有问题),不能专挑"显得新功能厉害"的。

③ 多跑几遍,别信一次 每个版本都多跑几次(比如各跑 3 遍)。因为 AI 有随机性,一次的成绩可能是运气。多跑几遍,看的是平均水位,而不是单次运气。一次是运气,多次才是规律。


五、看到结果后:加减分都要看清楚

等实验跑完,不要只盯"总成绩变好"这一个数。要把数字拆开看,因为"变好"可能藏着猫腻:

  • 正确率(P)和召回率(R)分开看:是不是"抓到的多了,但乱报也多了”?如果叫召回率大涨、但误报也猛增——那净效果可能并不好。
  • 误报(FP)单独盯:新工具让 AI “挖得更深"的同时,可能让它"报得更欢”——误报变多,团队信任反而受损。
  • 开销也要看:新工具是不是让每次审查更慢了、更贵了?

一个很反直觉但真实会发生的情况:同一个新工具,放到不同的"AI 型号"上,效果可能完全相反——对甲是"更准了也误报少了",对乙却是"更准了但误报大增"。所以结论不能笼统成"这工具有用",而要说清楚"在什么组合、什么配置下有用"。


六、结论怎么下才稳妥

  • 如果两个不一样的产品版本,在"只差这一个变量"的对照下,方向一致地变好(都回忆率涨、误报不涨),这叫"出现了一致的信号"——值得继续投入;
  • 如果只有某一个版本变好、另一个变差,那要警惕——可能不是工具本身好,而是它"放大了某种性格";
  • 在样本还小的时候(比如只有几道题),结论要谦虚:“有信号,但还要更大规模验证”,而不要急着宣布"加了这个功能就稳赚"。

深入一点(可跳读)

  • 这就是所谓"单变量对照实验 / 控制了变量的 A/B 测试"。做产品实验时,“控制的变量越少、结论越硬”。
  • 为了"只差新工具"这一个变量,工程上甚至会用**:从旧版文案自动生成新版文案**(只替换"工具清单"那一段),从而从机制上保证除了工具描述,其余逐字相同——不是"尽量一样",是"不可能不一样"。
  • 还有一个隐藏技巧:版本号记账。每一版产品(工具组合、提示词、评分规则)都编一个受控的版本号,写进运行记录。这样"这个数字是哪个版本跑出来的"永远说得清,杜绝"版本混着跑、结论归错功"的家丑。

这一篇的收获

想证明"新功能有用",不是改完看数字涨了就完事——要做一次公平对照:两版产品除了这个功能、其他全相同;用同一批代表性题目;每版多跑几遍。然后把数字拆开看:该抓的抓准了没?误报多没多?开销变没变?最后结论要谦虚:小样本下"有信号",等更大规模验证。

到这里,我们已经能把一个产品版本的"好不好"测出来了。但产品上线后,真正的考验才刚开始:上线出问题,你怎么快速定位,是产品的问题还是数据的问题? 下一篇谈"留底"与可追溯。