第二百三十七章 投票
会议定在周五上午十点。
林知行提前二十分钟到了会议室。白板还没擦——昨天赵鸣岐画的那张可审计AI架构图还在左上角,ChoiceLayer v0.3的数据流图占了中间大半。他用板擦把中间那块擦干净,只留了右下角一行字:选择权在用户手里。
然后他坐在长桌的主位上,翻开了笔记本。
笔记本翻到新的一页。他用黑色水笔在纸面正中央画了一条竖线。左边写了三个字:伦理约束层。右边写了五个字:ChoiceLayer。竖线上方画了一个箭头,从左指向右。
方案是昨晚定下来的。不是技术方案——技术方案在ChoiceLayer v0.3里已经成型了。定下来的是程序:投票。
他需要一个正式的、可追溯的决策记录。不是因为法律要求,是因为他想让每一个人表态的时候都清楚自己在说什么。
程浩昨晚的消息还在他手机里没有回复:"你呢?"
这个"你"不好答。所以他决定不急着答,先听别人怎么说。
十点整,人到齐了。
方小满坐在他右手边,带了一杯美式,没喝。赵鸣岐坐在对面,面前摊着一台笔记本电脑,屏幕上开着什么文档。陈小川和周然并排坐在长桌尾端——陈小川手里攥着一支笔,周然的手放在膝盖上,坐得比平时直。
屏幕亮着,陆可盈的脸浮在上面。背景是上海的办公室,窗户拉着百叶帘,光从缝隙里漏进来,打在她侧脸上。
"人齐了。"林知行翻开笔记本,没抬头。"今天只议一件事。"
他把一份打印好的材料推到桌子中央——六份,每人一份。方小满伸手拿了一份,低头扫了一眼。赵鸣岐没动,他已经看过电子版了。陈小川和周然各拿了一份,陈小川的笔开始在页边做标记,周然只是看着。
材料的标题是:《关于在credit-score-lite开源算法中加入伦理约束层的正式提案》。
底下分三个部分:背景、方案、影响评估。总共四页,林知行花了三个小时写,方小满帮他改了措辞——把"应该"全换成了"拟",把"必须"换成了"建议"。方小满说写正式文件得像写合同,不能有情绪。
"方案核心一句话。"林知行抬起头,看了一圈。"在开源算法的推理引擎中嵌入一个约束模块——当检测到定价策略可能导致目标区域内小商户的利润率跌破成本线时,系统自动触发警告,并在商户确认前拒绝执行该策略。"
他顿了一下。
"技术上叫ChoiceLayer。投票的议题是:这个模块是否合并进credit-score-lite的主分支。"
会议室安静了几秒。
陆可盈的声音从屏幕里传出来,带着信号延迟的微弱失真:"开始吧。"
赵鸣岐第一个发言。
他把笔记本电脑转了个角度,屏幕对着众人。上面是一张数据图表——三个柱状图,分别标注着"智领科技定价系统""渡渡智价引擎""信用评分原版"。三条柱子的高度分别是:82.7%、70%、100%。标注的是与credit-score-lite核心算法的结构重合度。
"先说事实。"赵鸣岐的声音不大,但每个字都压得住场。"我们的开源算法已经被两个商业实体拿去做定价工具。智领科技的系统直接导致了至少一家小商户关店。渡渡的智价引擎刚发布,效果还有待观察,但底层逻辑一样——它们用同一套算法做同一件事。"
他把屏幕转回来。
"ChoiceLayer在技术上可行。v0.3版本的约束逻辑我已经审过了,性能开销在可接受范围内。我支持合并。"
"赵鸣岐,你的理由呢?"陆可盈问。"技术可行不代表应该做。"
赵鸣岐停了两秒。
"我在中科院做应用研究的时候,写过一篇论文,讨论AI算法的'责任边界'。核心观点是——算法的设计者对算法的下游应用负有部分责任。不是全部责任,但也不是零。ChoiceLayer做的是把这种责任从事后追责变成事前约束。从法理上讲,这叫'预防性义务'。"
他合上电脑。
"我支持。不是因为技术完美,是因为如果我们不做,没有人会做。"
方小满放下了那杯美式。
"我反对。"
会议室里没人接话。方小满的声音不高,但所有人都在看他。
"不是反对伦理约束层的想法。"他说。"想法没问题。小商户不能被我们的算法围剿,这我同意。但我反对把这个模块合并进开源主分支。"
林知行翻开笔记本,准备记。
"理由有三个。"方小满伸出三根手指。"第一,开源社区不接受代码加锁。credit-score-lite的核心卖点就是开放——任何人可以拿去做任何事。你加一个约束模块,等于告诉社区'这个代码我们说了算,你们不能随便改'。这不是开源,是开源的反面。"
"不是锁。"赵鸣岐说。"约束模块是开放的,任何人都可以看到、修改、甚至删掉。"
"看到了有什么用?"方小满转头看他。"我fork你的代码,把约束模块删掉,再部署。十分钟的事。约束模块防的是君子,不是小人。"
赵鸣岐没反驳。
"第二。"方小满收回一根手指。"合并进主分支意味着我们公司要对这个约束模块负责。出了问题——比如约束条件判断错误,误拦了一个正常的定价策略——谁担责?社区会骂我们,客户会告我们。"
"第三。"他又收回一根。"最关键的一点。"
他的目光落在林知行身上。
"约束层会让算法变慢。赵鸣岐刚才说性能开销'可接受'。可接受是多少?"
赵鸣岐回答:"预估在15%到30%之间,取决于约束规则的复杂度。"
"15%到30%。"方小满重复了一遍。"我们的算法本来就不是市面上最快的。加上约束层,再慢30%。你跟客户说'虽然慢了三成,但我们的算法不伤害小商户',客户怎么选?"
他靠回椅背上。
"客户选快的。永远选快的。"
陈小川的笔在页边停住了。
林知行看着他。陈小川的脸色不太好——不是紧张,是一种不知道该说什么的为难。
"小川,你的意见呢?"
陈小川把笔放下,又拿起来。
"我……我弃权。"
周然在旁边小声补了一句:"我也弃权。"
会议室又静了。
林知行没有追问原因。他看得出来——陈小川和周然不是没有想法,而是不敢说。他们既不想得罪方小满,也不想反对赵鸣岐。弃权是他们能找到的最安全的位置。
他忽然想起当年在灵犀时的感觉——在技术评审会上,他想发言但怕越位。那种被夹在两种力量之间的窒息感。
现在他成了会议室里最大的那股力量。而他的员工,正在经历和他当年一样的窒息。
屏幕上的陆可盈翻了一下手边的文件。
"我投反对票。"
她的语气和上次董事会一样——没有情绪,只有信息。
"我的反对理由和方小满的不一样。我不关心开源社区怎么看,不关心约束模块防不防得住小人。我关心一件事——商业影响。"
她把文件翻到某一页,屏幕上的画面晃了一下。
"我们的算法加上约束层之后,性能下降15%到30%。这意味着在同等条件下,我们的产品比渡渡的智价引擎慢15%到30%。你们知道市场会怎么选。"
她停了一下。
"上个月我问过同一个问题:同一套算法,两种用法,客户为哪种买单。今天我的答案和当时一样——客户为效率买单。"
赵鸣岐开口:"可盈,信任也是可以量化的——"
"信任不能写进B轮的财务模型。"陆可盈打断了他。"投资人看的不是理念,是单位经济模型。约束层会让我们的获客成本上升、续费率下降、竞标时输给渡渡。这些数字我算过。"
她看着屏幕上林知行的脸。
"我不是反对伦理。我是反对把伦理变成产品限制。这两件事不一样。伦理是你的价值观,限制是你的产品功能。价值观可以讲故事,功能要算账。"
林知行点了点头,没接话。
"投票结果。"他说。"赵鸣岐支持。方小满反对。陈小川弃权。周然弃权。陆可盈反对。"
他合上笔记本。
"作为CEO,我有最终决定权。今天不做决定。我会在下周一之前给出答复。"
人散了。
陈小川和周然走得最快,出门时两人交换了一个眼神,没说话。赵鸣岐收拾电脑的时候看了林知行一眼,嘴唇动了一下,但最后只是点了个头就走了。屏幕上的陆可盈关了视频,画面跳回桌面壁纸。
方小满没走。
他坐在椅子上,端着那杯已经凉透的美式,盯着桌面上的六份材料。
林知行在收拾白板。板擦划过去,赵鸣岐画的架构图被擦掉一半。他擦到"选择权在用户手里"那行字的时候,手停了一下,没擦,转身把板擦放回了白板槽。
"知行。"
方小满的声音从身后传来。
林知行转过身。
方小满没有看他。他盯着那杯美式,手指沿着杯口慢慢转了一圈。
"你知道我刚才为什么反对吗?"
"你说了三个理由。开源社区、责任归属、性能下降。"
"那三个理由是真的。"方小满抬起头。"但不是最重要的。"
林知行等着。
方小满放下杯子。
"我反对不是因为我不在乎小商户。你知道我在乎。王老板的信我看了一遍就睡不着。"
他的声音低了半度。
"我反对是因为——我怕你变成沈渡。"
会议室的空调嗡嗡响着。远处走廊里有人在打电话,声音模糊。
"你说'在开源算法里加入伦理约束层'。"方小满的手指在桌面上敲了一下。"这句话听起来很正确。但你有没有想过——你凭什么替所有用户决定什么是'伦理'?谁给你的权力?"
林知行的嘴唇动了一下。
"沈渡当初也是这样。"方小满继续说,声音很平。"他在灵犀的时候,也觉得'我在做对的事'。他把你的署名删掉,理由是'合规'。他把你的开源算法申请专利,理由是'保护公司资产'。每一步都有正当理由。每一步。"
"那不一样——"
"哪里不一样?"方小满终于看向他。"你说'当定价策略可能导致小商户破产时,系统自动拒绝执行'。谁定义'破产'?利润率低于多少算破产?连续降价多少天算围剿?这些阈值是你定的。你的算法,你的规则,你的判断。跟沈渡把你的署名删掉,有什么区别?"
林知行没有回答。
不是因为无话可说。是因为方小满说的每一句话,都在他脑子里的某个角落响过。昨天夜里写ChoiceLayer v0.3的时候,他在threshold字段里填了一个数字——利润率低于成本线的80%触发警告。这个数字是他定的。没有商户参与,没有行业共识,没有第三方审计。
一个数字。他定的。
"你把'做对的事'变成了产品功能。"方小满站起来。"一旦变成产品功能,它就不属于你了——它属于代码。代码不管你的初衷是什么。代码只管你写的规则。"
他走到门口,停了一下。
"知行,我反对的不是方案。是你。"
门关上了。
林知行一个人坐在会议室里。
桌上散着六份材料。方小满的那杯美式还在原处,杯壁上凝着水珠。白板上只剩下右下角那行字——"选择权在用户手里"。
他翻开笔记本。
翻到刚才画了竖线的那一页。
左边写着"伦理约束层",右边写着"ChoiceLayer"。竖线上方的箭头还在——从左指向右。
他在竖线的下方画了一个等号。等号左边写了三个字:做对的事。右边也写了三个字:做成的事。
然后他盯着等号看了很久。
等号中间的竖线,把等号劈成了两半。左边的"做对的事"和右边的"做成的事"被隔开了——同一条等式的两端,中间是一道过不去的墙。
他想在竖线上写点什么。写"信任"?写"透明"?写"让用户选择"?
什么都写不下。
因为方小满说对了一件事——一旦变成产品功能,选择就不再属于用户了。ChoiceLayer会替用户做决定。它会在利润率跌破阈值的时候自动拦截。商户看不见阈值是什么,看不见规则怎么运行,只能看到一个结果:系统拒绝了。
这和法官有什么区别?
姜意说它是镜子。镜子不替人做决定。但ChoiceLayer不是镜子——它有refuse函数。镜子不会拒绝。镜子只展示。
他的笔尖落在竖线旁边,写了一行字:
"选择权在用户手里,不在代码手里。"
他盯着这行字。这是姜意说的。但姜意说的是ChoiceLayer的初衷,不是它的实现。实现里有阈值,有规则,有refuse函数。这些东西加在一起,选择权就不在用户手里了——在代码手里。
他把笔放下。
手机震了一下。程浩的微信,还是那条消息:"我选择了效率。你呢?"
林知行把手机翻过来,屏幕朝下,扣在桌面上。
窗外的阳光从百叶帘缝隙里漏进来,在地板上画了一排整齐的光条。他盯着那排光条,想起程浩在发布会演示的第三个场景——水果店"精准竞争响应"。屏幕上那个"客流提升15%"的数字,和王老板信里"客流降了三成"的字迹,重叠在一起。
同一个算法。两种用法。两个数字。
他在笔记本上等号的下方又写了一行字,写得很小:
"ChoiceLayer不是镜子。镜子不会拒绝。"
然后合上笔记本。
(本章完)