第二百三十八章 解释层的回报
周六上午,林知行没有去办公室。
他坐在合租房的窗台边,膝盖上摊着笔记本,翻到昨天画了竖线的那一页。等号左边是"做对的事",右边是"做成的事",中间那道竖线依然劈在那里。
昨晚他睡了不到四个小时。不是失眠——是那种身体已经躺平、脑子还在转的假睡眠。方小满说的那些话在黑暗里反复播放:你凭什么替所有用户决定什么是"伦理"?跟沈渡删掉你的署名,有什么区别?
他在凌晨三点起身,打开电脑,把ChoiceLayer v0.3的代码从头到尾看了一遍。看到第三百七十二行的refuse()函数时,手指停在触控板上不动了。
这个函数是整个模块的核心——检测到定价策略可能伤害小商户时,它会拦截执行。林知行盯着那行代码看了五分钟,然后把光标移到函数名上,改了一下:refuse()变成了suggest_refuse()。
一个单词的差别。从"拒绝"变成"建议拒绝"。
他又看了三秒,把改动撤回了。
suggest_refuse()在技术上等于没有约束——商户可以一键跳过建议,约束形同虚设。但refuse()又确实是在替用户做决定。两条路都不对。
他把电脑合上,回到窗台边坐下。
方小满九点半出门了,说是去客户那边拿个东西。走之前在厨房里泡了一壶茶,放在桌上,没叫他。杯子旁边压了一张便签纸,上面只写了三个字:周末愉快。
林知行看着那三个字,苦笑了一下。方小满的字迹一向潦草,"愉快"两个字的笔画拧在一起,像两条缠住的线。
他端起杯子喝了一口。茶已经温了。
手机在口袋里震了一下。他掏出来看——不是微信,是来电。
屏幕上显示的号码是长沙的区号。他在通讯录里翻了一下,这个名字已经存了好几年了,但最近一次通话记录要翻到三个月前:王老板。
他接了。
"小林?"
王老板的声音比上次粗了不少,带着一种用力说话之后的沙哑。背景里有收银机的提示音,还有人在喊"老板这个芒果怎么卖"。
"王叔。"林知行站了起来,走到窗户边。"什么事?"
"你忙不忙?不忙我跟你说个事。"
"不忙。您说。"
王老板"嗯"了一声,背景音远了一些——他大概走出了柜台,走到了店门口。
"上次你来的事你还记不记得?就是你那个同事——方什么来着——"
"方小满。"
"对,方小满。你们上次来我这,说了那个什么开源的事。我当时没全听懂,就知道你们做的那个系统被人拿来打我们了。"
林知行的手指攥紧了手机。
"后来那个连锁便利店你知道吧?就是用你们那个——什么AI定价的——"
"智领科技的系统。"
"对,就那个。"王老板的声音顿了一下。"客流降了三成,你信不信?不止我一家。我左右两边三家店都被打了。最惨的是老周的杂货铺,上个月关了门。"
林知行张了张嘴,没出声。
老周。他记得这个名字。上次去长沙时王老板介绍过——卖日用百货的,夫妻店,开了十二年。王老板说老周进货精得很,从不积压库存,但架不住隔壁连锁便利店每天自动降价一毛钱。
"老周的事我知道。"林知行说。声音比他预期的哑。
"我今天不是跟你说坏消息的。"王老板的语调忽然变了,带上了一种林知行不太习惯的东西——兴奋。不是大笑那种,是憋了很久终于可以说出来的那种。"小林,你知道吗,有五家店主动找到我。"
"五家?"
"就我们这条街上。五家。有卖水果的、卖卤味的、卖烟酒的、还有两家小超市。他们来找我,说的是同一件事——想用你们的那个系统。"
林知行愣了。
"用什么系统?"
"就是你们做的那个,AI什么决策的。给小商户用的那个。"王老板的声音里有一种笨拙的认真。"我跟他们说了,隔壁便利店的AI定价系统不收钱,免费的。你们的要收钱。你猜他们怎么说?"
林知行的手心出汗了。
"他们说,免费的不好使。"
王老板停了一下,像是在组织语言。
"老李——就是卖卤味那个——他说,隔壁便利店那个系统推荐他做什么'竞争响应',他也看不懂为什么。系统说降价就降价,说涨价就涨价,他只能照做。问它为什么,它不回答。你们的系统不一样。"
"哪里不一样?"林知行问。声音已经压不住了。
"你们的系统每条建议后面都有一行小字。"王老板说。"老李原话是这么说的——'它告诉我为什么。比如今天建议我进二十斤鸭脖,底下写着:过去七天鸭脖销量上涨百分之四十五,周末气温二十八度,旁边学校放了假。我一看就知道它在想什么。'"
林知行的手指停在了窗框上。
"老李还说了一句话。"王老板的声音沉了半度。"他说,隔壁便利店的AI是替他做决定,你们的AI是帮他做决定。他分得清。"
窗外有人在楼下遛狗,绳子在栏杆上缠了一下。林知行盯着那根绳子看了几秒,脑子里有一根更紧绷的东西在松动。
"小林?你在听吗?"
"在。"林知行的声音有一点点发抖。"王叔,您继续说。"
"就这些。五家店,他们要续你们的系统。不图便宜——你们的系统比免费的贵。他们图的是看得懂。"
王老板又补了一句。
"小林,你知道他们为什么信你吗?"
林知行没说话。
"因为他们能看懂你的AI在想什么。那个连锁便利店的系统,他们看不懂。就这么简单。"
挂了电话。
林知行没有动。他靠在窗框上,手机还举在耳边,屏幕已经暗了。
远处的天际线被热浪扭曲成了一条模糊的线。六月的北京,空气像一层看不见的膜贴在皮肤上。他感觉不到热。他感觉到了一种比热更复杂的东西——从胸腔升起来的,又酸又涨。
五家小商户。在免费的AI定价系统和收费的AI决策系统之间,他们选了收费的那个。
不是因为便宜。不是因为技术更先进。是因为每条建议后面有一行小字,告诉他们AI在想什么。
解释层。
他把这个词在脑子里翻了一遍。
解释层——他在排课系统上第一次做出来的那个功能。姜意给了启发,他花五天写完,教师接受率从65%跳到92%。那年他在技术社区发了一篇帖子叫《AI应用的"解释层"——让用户信任AI的第一步》,帖子最后写了一句"这个想法来自一个做产品的朋友"。
那是三年前的事。
三年里他做了开源,做了大厂,做了创业,做了伦理约束层,做了投票。投完票之后他在笔记本上写了一行字:ChoiceLayer不是镜子,镜子不会拒绝。
他一直在找一种方式,让代码替用户做那个最难的判断——这算不算伤害?该不该停下来?
但王老板的电话说了一件完全不同的事。
不是代码在判断。是用户自己在判断。
老李——一个卖卤味的中年男人——他不需要代码替他决定该不该降价。他需要的是看懂AI为什么建议他降价。看懂了,他自己会判断。
这就是解释层在做的事。
不是替人决定,是帮人理解。
林知行走到书架旁边。
那是一排旧笔记本,从排课系统时期到现在,码了七八本。他伸手抽出最旧的一本——黑色硬皮封面,边角已经翘起来了,第一页的墨水因为受潮晕开了一个小小的圆。
他翻开。
排课系统的开发笔记。字迹比现在更潦草,有些地方用铅笔写的,已经被手指摩擦得模糊了。他翻了十几页,翻到某一页的右上角——
那里画了一个小方框,框里写着两行字:
人工审核层在AI做决策之前,必须有人类检查数据的完整性。
后面跟着一行更小的字,是他后来补的:
不是技术问题,是伦理问题。
林知行盯着这两行字看了很久。
他记得写下这行字的那个晚上。排课系统刚出事——三个校区的怀孕女教师被排了满课表。他连夜去补数据,一个年轻女教师对他说:"你们做的系统只看效率,不看人。"回宿舍的路上他把这句话想了一路,然后在笔记本上画了这个方框。
那时候他还不会写"伦理约束层"这种词。他只会用最笨的方式描述他的想法——在AI做决策之前,必须有人类检查。
人类。不是代码。
他翻到下一页。那是他给排课系统加AI解释功能的技术笔记。上面画了一个简单的数据流图:排课结果→解释生成模块→人类可读的说明文字。在图的下方,他用红笔画了一条线,线下面写着一句话:
"让用户信任AI的第一步,是让用户看懂AI在想什么。"
他盯着这句话看了很久。
这句话是三年前写的。三年后的今天,五家小商户用他们的选择证明了这句话——不是理论,是事实。
解释层不是他在伦理困境中苦苦寻找的那个答案的替代品。解释层就是答案本身。
他不需要代码替用户判断善恶。他需要的是让用户有能力自己判断。
而解释层已经在做这件事了。
方小满回来的时候快中午了。他提着一袋包子,推开客厅门就看到林知行坐在折叠桌前,面前摊着一本旧笔记本。
"吃了吗?"方小满把包子放在桌上。
林知行没回答。他把笔记本翻到某一页,推过去。
方小满低头看了一眼。上面是排课系统时期的手写笔记——"人工审核层"那两行字。他看了几秒,没说话,拿起一个包子咬了一口。
"王老板打电话来了。"林知行说。
方小满嚼着包子,抬了一下眉毛。
"五家小商户。他们选了我们的系统。不是因为免费,是因为每条建议后面有一行解释。"
方小满把包子放下了。
"王老板原话是这么说的——'他们能看懂你的AI在想什么。那个连锁便利店的系统,他们看不懂。'"
客厅里安静了几秒。冰箱的压缩机在嗡嗡地响。
方小满盯着笔记本上那两行字看了很久。然后他抬起头,看着林知行。
他的表情很复杂——不是惊喜,也不是释然,而是一种林知行很少在他脸上看到的东西:被击中了。
"知行。"方小满说。声音比平时低。"你记不记得昨天我在会议室里说的——我反对的不是方案,是你?"
林知行点头。
"我现在想改一下。"方小满把笔记本推回去。"你的解释层,就是你的伦理约束层。"
林知行的手指停在笔记本上。
"它不判断善恶。"方小满说。"但它让用户自己判断。"
林知行盯着方小满看了几秒。
不是因为这句话有多深刻。而是因为这句话把他过去一周——过去一个月——甚至过去三年——一直在追的那个问题,用十二个字说清楚了。
他在笔记本上写is_evil()伪代码。三个问号填不上。他写ChoiceLayer,从镜子变成法官。他在会议室里投票,在refuse()和suggest_refuse()之间撕裂。
所有这些问题的根源,是他试图让代码去做一件代码做不到的事:判断善恶。
但解释层从来不判断善恶。
解释层做的是另一件事——把AI的思考过程翻译成人话,摊在用户面前。用户看懂了,自己判断。
老李看懂了"过去七天鸭脖销量上涨45%",自己判断出应该多进货。不需要代码替他做这个决定。他需要的是信息——透明的、他能理解的信息。
而智领科技的系统不给解释。它只给结果。降价就降价,涨价就涨价。用户看不懂为什么,只能服从。
区别不在于谁的算法更准。区别在于谁把选择权交给了用户。
林知行忽然笑了。
不是苦笑。不是释然。是一种他自己也没预料到的笑——像走了很长一段夜路,忽然看到远处有一盏灯,灯不大,但够亮。
"你说得对。"他说。
方小满靠在椅背上,手臂交叉在胸前。"我说什么对了?"
"我一直在找一个算法来判断善恶。"林知行把笔记本翻到写着is_evil()的那一页,上面三个问号还空着。"但其实我早就找到了。"
他的手指在那三个问号上点了一下。
"让用户自己选择。"
方小满看着他,过了一会儿,表情松了下来。他拿起包子,咬了第二口。
"那你打算怎么办?"方小满的嘴里含着包子,说话含混。
"下周一答复。"林知行把笔记本合上。"但答案不一样了。"
方小满没追问他"不一样"是什么意思。他只是点了点头,把剩下的半个包子塞进嘴里。
冰箱继续嗡嗡响着。窗外的阳光移了半个角度,照在折叠桌的另一侧。林知行坐在那片光里,手放在旧笔记本的封面上。
黑色硬皮封面的边角翘着,翻了三年,磨出了纸板的颜色。第一页那行字已经晕开了,但他知道写的是什么。
人工审核层。在AI做决策之前,必须有人类检查数据的完整性。
人类。不是代码。
三年前那个晚上写下的字,现在回来了。
(本章完)