寓言
药铺有两个秤,一个秤药材对不对,一个秤药方准不准
城南有家老药铺,掌柜每天从上百味药材里抓药。前几年铺里招了一位坐堂先生,把药柜分了三排——第一排是按字查到的药材,第二排是先生筛过的,第三排才是病家看到的方子。掌柜觉得这流程够用了。
铺里后来加了一套新规矩:每次出方子前,伙计们要从药柜里挑八味药材摆出来给先生看。掌柜想的很简单——先生看到的东西越多,方子的质量越高。于是伙计们不再筛选,把第一排最上面的八味直接端给先生,省了筛的功夫。
第三个月出了事故。一张治寒症的方子里开出了甘草、当归、生姜——没有一味是寒症的。翻开先生桌上那一盘,八味全是风寒类的药材,因为病家说了一句「受凉」被伙计听到,第一排的结果清一色是风寒。先生照着这八味的思路写了方子,方子本身看起来通顺、药性不冲突,但它和真实的病症对不上。
掌柜把伙计叫回来复盘。第一把秤放在伙计手上:八味药材里有多少味和真实病症有对应关系?六味沾了边,两味完全无关——这测的是检索的精确率。第二把秤放在先生手上:先生开的方子里每一味药,能不能在伙计端过来的那盘八味里找到依据?——这测的是方子的忠实性。
掌柜把秤指给伙计:精确率低,说明你在抓药环节就塞了垃圾;忠实性低,说明先生看了对的药材但开了错的方子。那次寒症事故,精确率看起来不低——六比八还不错——但先生没按照端过来的药材写方子,忠实性很差。那盘药材里有一味附子,先生因为怕附子有毒,自做主张不用,改用了干姜,但方子里没有任何证据可以解释这个替换。
后来铺里定了新规:如果忠实性掉了,先查先生——是不是模型在生成环节自行发挥;如果精确率掉了,先查伙计——是不是检索策略让无关内容混进来了。两根管子分别走不同的药,不能把管事的那根连到另一根上。
有别的药铺来学流程,掌柜跟他们讲:你们的报告上如果精确率很高但忠实性很糟,说明你们找到了对的资料,但答案没有基于资料——这个答案表面上通顺,它在关键处可能猜错了。反过来,忠实性高但精确率低,意味着答案老老实实守着查到的资料写了一篇废话。