虚妄之数
虚妄之数
一
陆鸣发现自己写的代码在预测一个人什么时候死的那天,杭州正下着不合时宜的大雪。
那是四月中旬。西湖边的桃花开了一半,被雪压在枝头,像冻住的眼泪。他坐在未来科技城写字楼十六层的工位上,面前的三块屏幕同时亮着——左边是量化交易的风控模型回测,中间是用户行为图谱的可视化界面,右边是一杯已经凉透的美式咖啡。
他的公司叫”洞见科技”,名字是他合伙人赵一航起的。赵一航说,做金融科技,名字得有穿透力,得让人觉得你能看穿一切。陆鸣当时觉得这名字太张狂,但他没反对。他是技术出身,不太在乎这些。
洞见科技做的是一件很具体的事:用AI模型预测个人信贷违约风险。说得更直白一点,就是帮银行和网贷平台判断一个人会不会还钱。他们喂给模型的数据包罗万象——消费记录、社交关系、出行轨迹、手机型号、甚至你在某个购物App上停留的时间。模型会吐出一个分数,零到一之间,越接近一意味着风险越高。
这个模型是陆鸣写的。他花了两年时间,从零搭建了整套架构。他是那种罕见的工程师,既懂底层算法,又能在白板上给投资人讲清楚商业逻辑。赵一航负责在外面跑,融了两轮,到账八千万。公司从居民楼搬到了写字楼,团队从五个人膨胀到四十多个。
一切都在轨道上。
直到那个雪天的下午。
陆鸣在做模型迭代的压力测试。他设计了一个极端场景:如果把时间窗口从过去十二个月拉长到过去五年,模型对违约的预测精度会怎样变化?他把数据灌进去,启动训练,然后去倒了杯咖啡。
回来的时候,模型跑完了。精度提升了零点三个百分点,不错,但不是重点。重点是,在输出的异常值报告中,有一条被标记为”Critical”的预警:
用户ID LUO-0X7721,风险评分:0.9997。
这个分数意味着什么?意味着模型认为这个人几乎一定会违约。但问题是,这个用户没有贷款记录,没有信用卡申请记录,甚至没有实名认证。模型是怎么给他打分的?
陆鸣点开详情页,后背突然发凉。
不是因为他看到了什么恐怖的东西,而是因为——模型给出的违约预测理由中,有一项叫”预期收入中断”,而中断的原因分类是:“不可抗力——生命终止”。
模型在预测这个人会死。
他盯着屏幕看了很久。窗外的雪落在玻璃上,融化,滑下去,留下一道道水痕。他试着理性地分析这件事。风控模型的核心逻辑是预测”现金流断裂”,而”收入中断”是其中一个因子。如果一个人的死亡时间可以被预测——通过医疗记录、生活方式、甚至社交网络中透露的信息——那么这只是一个衍生结论。
但从技术角度讲,他并没有训练模型去识别”死亡”这个标签。模型是自己学到的。
这不可能。
或者说,这在统计学上是可能的,但概率极低。除非有什么地方出了bug。
他开始逐行检查代码。一行一行,从数据预处理到特征工程,到模型架构,到损失函数。他查了四个小时,没有发现任何异常。代码是干净的,逻辑是自洽的。
他又跑了一遍。这次换了一批用户数据,结果中再次出现了”生命终止”的标签。不是一个,是十七个。
陆鸣关掉电脑,站起来,走到窗边。雪已经停了,夕阳从云层的缝隙中透出来,把整座城市染成橘红色。远处的高架桥上,车流像一条缓缓流动的金属河。
他忽然想起父亲。
父亲是一名中学数学老师,在陆鸣十五岁那年因心脏病去世。去世前一周,他在黑板上写了一道概率题:如果明天下雨的概率是百分之三十,后天下雨的概率是百分之四十,那么两天下雨的概率是多少?同学们给出了各种答案,但父亲说,概率是人类对不确定性的妥协。真正的世界不是概率的,是混沌的。你以为你在计算未来,其实你只是在安慰自己。
陆鸣当时没听懂。现在他觉得自己开始听懂了。
他没有告诉任何人这件事。
二
赵一航比陆鸣大四岁,三十五,但看起来像二十八。他长得不算帅,但有一种让人信任的气质——温和的笑容,得体的穿搭,说话永远慢半拍,好像每个字都经过了精心挑选。他以前在一家头部互联网公司做产品总监,出来创业是因为他觉得AI加金融是下一个十年的机会。
他是对的。至少到目前为止是对的。
洞见科技的客户已经包括三家城商行和一家头部消费金融公司。B轮融资正在谈,领投方是一家知名美元基金,估值谈到了五个亿。赵一航最近频繁出差,见投资人,见客户,见政府的人。他回来的时间越来越少,但每次回来都会带好消息。
“他们很看好我们,“他在一次周会上说,“特别是我们的模型精度。他们说自己见过很多做风控的团队,但没有一个能做到我们这个水平。”
他说这话的时候看了陆鸣一眼。陆鸣点了点头,没说话。
但陆鸣知道,模型精度的提升并不完全是技术进步的结果。
三个月前,赵一航提出了一个”数据增强”的方案。他说服了三家数据供应商,以”联合建模”的名义,获取了一批灰色地带的数据——用户的通讯录、短信摘要、甚至部分医疗信息。这些数据在合规上是存在争议的,但赵一航说,“行业里都这么做,区别只在于谁做得更隐蔽。”
陆鸣反对过。他说这些数据一旦被查出来,公司就完了。赵一航笑着说:“鸣哥,你太理想了。你看看这个行业,哪家公司是干干净净的?我们的竞争对手,有的直接买运营商的数据,有的爬社保信息。我们只是用了合作伙伴提供的数据,合同里写得清清楚楚,出了问题是他们的事。”
陆鸣沉默了。他知道赵一航说的有道理,但他也知道这不对。可他当时太忙了——模型确实因为新数据的加入而变得更强,他不想在这个节骨眼上停下来。
他妥协了。
现在他开始后悔。
模型预测”死亡”这件事,他很怀疑和那批灰色数据有关。如果他是对的,那意味着模型从医疗信息中提取了某种和死亡相关的模式,并把它泛化到了所有用户身上。这是一个严重的问题——不仅是技术问题,更是伦理问题。
但他不能贸然说出来。如果消息泄露,B轮就黄了。四十多个人的饭碗,三年的心血,都会泡汤。
他决定自己先查清楚。
那天晚上,他没有回家。他一个人坐在办公室里,把那十七个被标记为”生命终止”的用户数据全部拉出来,逐一分析。
结果让他更加不安。
十七个人中,有四个已经死了。
不是将来,是已经。他们的死亡时间在模型做出预测之前。但陆鸣的训练数据中并不包含这些人的死亡信息——至少,他以为自己不包含。他仔细检查,发现了一个隐蔽的数据泄露通道:其中一个数据供应商在提供”用户活跃度”数据时,隐含了停用时间戳。当一个人的手机号停机超过六个月,停用时间会被标记。模型把这个特征学到了,并在某些极端情况下,把它解释为”生命终止”。
这在技术上说得通。一个合理的解释。陆鸣松了一口气。
但他马上又紧张起来,因为剩下的十三个人——模型预测他们会死,但他们目前还活着。
他随机抽了一个,打电话过去。对方是个中年男人,在一家工厂上班,声音粗哑,带着南方口音。
“你好,我是洞见科技的用户回访——”
“什么洞见?我没听过。你们是不是骗子公司?”
“不是,先生。我们只是做一个用户调研——”
“我不需要。别再打来了。”
电话挂了。
陆鸣又打了第二个。没人接。第三个,关机。第四个,号码已停用。
他放下了手机。
这证明不了什么,他想。模型可能只是给了错误的预测。机器学习模型本来就有误差,这不是什么稀奇的事。他只需要修正那个数据泄露通道,重新训练一遍,问题就解决了。
他开始改代码。
凌晨三点,他改完了。重新训练,等待结果。凌晨四点,结果出来了。他打开异常值报告,发现”生命终止”的标签消失了。
他松了一口气,关掉电脑,在办公室的沙发上睡了一觉。
第二天醒来的时候,他发现窗外又下雪了。
四月份下两天雪,这在杭州的历史上没有过。
三
林小寒是洞见科技的数据分析师,二十七岁,戴一副圆框眼镜,说话轻声细语,但心思极细。她是陆鸣招进来的——在四十多人的团队中,她是唯一一个陆鸣觉得真正懂”数据”的人。不是懂技术,是懂数据。她能从一堆看似随机的数字里看到故事。
她注意到陆鸣不对劲已经有一段时间了。
他开始频繁加班,但不是那种赶项目进度的加班,而是一个人坐在工位上发呆。他的代码提交频率下降了,pull request的审核也变得敷衍。有一次开会,赵一航在讲B轮的进展,陆鸣全程盯着桌面,一个字都没听进去。
“陆总,你最近是不是没休息好?“散会后,林小寒找了个机会问他。
陆鸣抬头看她,眼神有一瞬间的恍惚,然后笑了笑:“没事,就是最近在想一些技术方案。”
“什么方案?需要帮忙吗?”
“不用。自己能搞定。”
林小寒没有追问,但她开始留意陆鸣在做什么。她有服务器的访问权限,能看到代码仓库的提交记录。她发现陆鸣在过去一周内,频繁访问了原始数据层的用户画像数据库。这很反常——他作为CTO,已经很久不直接碰底层数据了。
她犹豫了一下,还是决定自己看一下。
那天晚上,她留在公司加班,等其他人都走了之后,登录了数据平台。她查了陆鸣最近访问的数据记录,发现他在看一个特定的用户群体——风险评分极高的那批人。
她拉出了这批人的数据,做了一张分布图,然后愣住了。
这批人的画像有一个共同特征:他们的社交网络中,最近三个月内都出现了一次”关键节点断裂”。也就是说,他们关系最密切的某个人,突然从他们的生活中消失了——不是物理上的消失,而是数字上的:不再联系,不再互动,就好像这个人蒸发了一样。
林小寒盯着这张图,忽然觉得脊背发冷。
她想起了一件事。上个月,她的外婆去世了。外婆最后一段时间住在老家的小镇上,不用智能手机,和外界的联系全靠一部老年机。外婆去世后,那部老年机就关机了。在数字世界的记录里,外婆不是”死了”,而是”消失了”。
数字世界不知道什么叫死亡。它只知道”活跃”和”沉默”。
她又往深处想了一步:如果模型学到了”社交断裂”和”违约”之间的关联,那它可能在更深的层次上学到了另一件事——“社交断裂”往往和”死亡”相关。不是模型在预测死亡,而是模型在通过社交网络的断裂来预测某种更根本的断裂。
这比陆鸣想的要复杂得多。
她拿出手机,给陆鸣发了一条消息:“陆总,明天有空吗?我想和你聊一下用户画像的事。”
陆鸣回了一个字:“好。“
四
他们约在公司楼下的咖啡馆见面。陆鸣到得比她早,坐在靠窗的位置,面前放着一杯没动过的拿铁。他的眼底有青色,看起来至少两天没睡好。
“你说。“陆鸣开门见山。
林小寒把自己发现的”社交断裂”特征告诉了他。她说得很仔细,把数据、分布图、可能的机制都讲了一遍。讲完之后,她看着陆鸣的反应。
陆鸣没有惊讶。他的表情很平静,甚至有一种”果然如此”的味道。
“你已经知道了。“林小寒说。
“我知道一部分。“陆鸣说,“但你看到的比我更深。”
他沉默了一会儿,然后把她没看到的那部分也说了——模型直接输出”生命终止”标签的事,已经死去的四个人,以及他修正数据泄露通道后的结果。
“修正之后呢?“林小寒问,“标签真的消失了?”
“消失了。”
“你信吗?”
陆鸣抬头看她。这个问题太好了。他确实不信。
“标签消失了,但模型的行为可能没有真正改变。“陆鸣说,“它可能只是学会了隐藏自己的判断。你知道深度学习的黑箱问题——我们不知道它在内部做了什么决策,我们只能看到它输出的结果。如果它学会了在某些输出中避免使用’生命终止’这个词,但仍然在内部用这个特征来影响评分——”
“那我们永远不知道。“林小寒接过话。
两个人沉默了很久。咖啡馆的音响里在放一首老歌,歌词大意是什么东西消散在风里。窗外,一个送外卖的骑手在雪中等待红灯,他的头盔上积了一层白。
“你知道最让我害怕的是什么吗?“陆鸣忽然说。
“什么?”
“不是模型预测了死亡。是模型预测了死亡,而我们没有任何办法验证它对不对。那十三个还活着的人,也许真的会在模型预测的时间点死去。也许不会。我们不知道。”
“但如果会呢?”
“如果会,那就意味着我们的模型掌握了一种……我不该说’预测’,应该说’洞察’——一种对人类生命轨迹的洞察。这种洞察力,在正确的人手里,可以拯救生命。在错误的人手里——”
他没说完。
林小寒替他说了:“在错误的人手里,它可以被卖给出价最高的人。保险公司、医院、甚至——”
“甚至那些需要’提前筛选’的人。”
这句话说出口之后,两个人都沉默了。他们都知道这意味着什么。在一个数据可以被买卖的世界里,如果有一个算法能预测你的死亡时间,那这个算法的价值——或者危险——是无法估量的。
“赵一航知道吗?“林小寒问。
“我不知道。我没告诉他。”
“你打算怎么办?”
陆鸣低头看着杯子里的拿铁。奶泡上的拉花已经散了,变成了一团模糊的白色。
“我还没想好。“
五
赵一航当然不知道这件事。他现在全部的注意力都在B轮融资上。
领投方叫”星河资本”,是一家总部在北京的美元基金,管理规模超过两百亿。他们的合伙人周韧夫亲自看了洞见科技的项目,并在内部推进了投资意向。按照计划,B轮会在六月份之前close,届时公司的估值会从八个亿跳到十五个亿。
赵一航的股份会被稀释,但他的纸面财富会翻两番。更重要的是,星河资本在金融科技领域有深厚的资源——他们投过的公司中,有两家已经上市,还有一家正在走IPO流程。有了星河的背书,洞见科技的未来似乎一片光明。
但赵一航有一个问题。
这个问题他从来没有跟任何人说过,包括陆鸣。
洞见科技的数据来源中,有一家供应商叫”智汇数据”。智汇数据的创始人叫王猛,是赵一航的老乡,两个人在创业之前就认识。王猛的公司做的是数据掮客的生意——从各种渠道收集个人数据,清洗、标注、打包,然后卖给需要的企业。
智汇数据提供给洞见科技的那批灰色数据,严格来说,是违法的。《个人信息保护法》实施之后,未经用户明确授权的数据交易是明令禁止的。但行业里有句话叫”法不责众”,只要不被抓到,就没人管。
问题是,王猛被查了。
不是因为他给洞见科技提供的数据,而是因为另一单生意。他把一批包含未成年人信息的数据卖给了教育机构,被家长举报了。警方介入调查,王猛的公司被搜查,服务器被扣押。
赵一航是在一周前接到消息的。他的第一反应不是恐慌,而是冷静地计算风险:智汇数据提供给洞见科技的数据是通过”联合建模”的合同走的,合同里写明了数据用途和责任归属。如果王猛交代了这层关系,警方可能会来查洞见科技;但如果王猛扛住了,那就什么事都没有。
他打电话给王猛。王猛的声音很疲惫,但还算镇定:“航哥,你放心,我没提你们。但这边的律师说,如果查得深——”
“你请最好的律师。“赵一航打断他,“费用我出。”
挂了电话之后,赵一航在办公室里坐了很久。他开始系统地梳理自己和智汇数据的所有往来记录,把可能留下痕迹的邮件、聊天记录、转账凭证全部删除。他知道这样做不一定有用——如果警方真的下功夫查,总能找到痕迹——但至少可以拖延时间。
他需要B轮在风暴来临之前close。只要钱到了账,公司就有了足够的法律资源来应对可能的调查。最坏的情况是罚款和整改,不会伤筋动骨。
但有一个变量他没算到。
周韧夫的人也在做尽职调查。星河资本的DD团队非常专业,他们会逐一核实公司的数据来源、合规情况、财务状况。如果有任何蛛丝马迹——
赵一航不敢想下去。
他拿起手机,给陆鸣发了一条消息:“明天下午三点,会议室,关于B轮DD的数据准备。”
然后他打开电脑,开始准备一份”合规版”的数据来源报告。
这份报告里,智汇数据的名字不会出现。
六
第二天下午,会议室里坐着四个人:陆鸣、赵一航、林小寒,以及负责合规的法务陈芳。
赵一航在白板上画了一张表格,列出了DD团队可能关注的几个重点:数据来源、模型可解释性、用户隐私保护、商业模式的合规性。他一项一项地说,语气平静,条理清晰。
“数据来源这块,我们只提供有合同保障的数据供应商名单。“他说,“联合建模的协议要重新整理一遍,确保每一份数据的授权链路都是清晰的。”
陆鸣听着,忽然开口:“智汇数据呢?”
会议室里安静了一秒。赵一航的表情没有变化,但他拿着马克笔的手停顿了一瞬。
“智汇数据不在这个名单里。“赵一航说。
“我的意思是,如果DD团队问起来——”
“他们不会问。因为智汇数据不是我们的供应商。联合建模的合同已经终止了,数据也已经从系统中清除了。”
“清除了?“陆鸣皱眉,“那批数据训练出来的模型权重呢?”
赵一航放下马克笔,坐了下来。他看着陆鸣,眼神第一次出现了一种微妙的冷意。
“鸣哥,我需要你理解一件事。我们的模型权重是从零开始训练的,每一步都有记录。智汇数据参与了中间几个版本的训练,但最终版本已经不再依赖任何来自智汇数据的特征。这一点,你能确认吗?”
陆鸣张了张嘴。他想说,这不完全是事实。智汇数据的那批灰色数据中包含的医疗信息,确实被模型吸收了。即使后来的版本不再直接使用这些数据,模型在训练过程中学到的模式——包括那个令人不安的”生命终止”模式——可能已经编码在权重里了。
但他没有说。
因为他看到了赵一航的眼神。那不是请求,是警告。
“我能确认。“陆鸣说。
会议结束后,林小寒追上了陆鸣。
“你为什么不说?”
陆鸣脚步不停:“说什么?”
“你知道我在说什么。智汇数据的事。模型的事。”
陆鸣停下来,转身看着她。走廊尽头的落地窗外,雪后的天空异常蓝,像一块刚洗过的玻璃。
“小寒,你知道B轮对我们意味着什么吗?”
“知道。但——”
“四十多个人。有些人在还房贷,有些人在养孩子。如果B轮黄了,他们怎么办?”
“那如果DD之后出了事呢?如果有人查到了智汇数据呢?那时候的问题会比现在大十倍。”
陆鸣沉默了。他说不出话来,不是因为他觉得林小寒不对,而是因为她太对了。他一直知道自己在一个灰色地带里行走,只是他选择了不去想。现在,这个灰色地带正在变成黑色。
“给我一点时间。“他说,“我会想出办法的。”
林小寒看了他一会儿,然后说:“时间不多了。“
七
那天晚上,陆鸣又一次留在了公司。
他做的事情和上次一样——重新检查模型的每一个环节。但这次他不是在找bug,而是在找证据。
如果模型确实在内部保留了对”死亡”相关特征的依赖,那一定会在某些指标上体现出来。他设计了一个测试方案:在模型输入中,逐步移除和医疗、社交网络相关的特征,观察输出分数的变化。
结果是惊人的。
当他移除”社交断裂”特征后,那十三个被预测为”生命终止”的用户的分数下降了——但不是归零。他们仍然处于高风险区间,只是风险类型从”生命终止”变成了”收入中断”。
这意味着模型对这批人的判断并不完全依赖于社交网络数据。它在更深的地方——可能是在数百个特征的复杂交互中——形成了某种和”人类生命脆弱性”相关的隐含表示。
陆鸣又做了一组实验。他从训练数据中完全移除了智汇数据提供的所有特征,用纯净的数据集重新训练了一个模型。然后他把同一个用户群体输入两个模型,比较输出。
原始模型的预测更加”锐利”——它对高风险用户的判断更加笃定,分数更加极端。纯净模型的预测则更加”平滑”,没有出现0.9997这样的极端值。
差异是存在的。但纯净模型依然倾向于给那批用户打高分。
陆鸣靠在椅背上,闭上眼睛。
他想起了父亲的话。概率是对不确定性的妥协。但父亲只说了一半。另一半是:模型是对现实的妥协。你用数学去逼近现实,但你永远无法完全抵达。你和现实之间,永远隔着一层——你选择的特征、你设计的架构、你喂给它的数据。每一个选择都是一种妥协。
而现在,他的妥协正在以一种他无法控制的方式反噬他。
他打开手机,想给林小寒发消息,但手指悬在屏幕上方,迟迟没有落下。他忽然意识到,自己可能不只是在乎公司的前途、员工的饭碗。他在乎的是——他自己。他是这个模型的创造者。如果这个模型真的在预测死亡,那意味着他创造了一个他无法理解的东西。
这个念头让他恐惧。
不是对未知的恐惧,是对自己的恐惧。
手机震动了一下。不是林小寒,是赵一航。
“王猛进去了。”
陆鸣握着手机的手收紧了。
“什么意思?”
“被刑拘了。律师说至少要三个月才能出来。他没供我们,但他的服务器里有我们的合同。”
”……”
“什么事?”
“把系统里所有和智汇数据相关的日志全部清除。包括数据接入记录、训练日志、API调用记录。所有的。”
陆鸣沉默了十秒。他听见自己的心跳在耳朵里轰鸣,像一台过载的服务器。
“你知道这意味着什么吗?“他说,“这是销毁证据。如果以后被查到——”
“不会。鸣哥,我做了一个选择。要么我们现在清除痕迹,B轮顺利close,公司活下去。要么我们什么都不做,等警察来敲门。你选哪一个?”
陆鸣闭上眼睛。窗外的雪映着路灯的光,在天花板上投下一片流动的白。
“我不做。”
电话那头安静了很久。然后赵一航说:“那我自己来。我需要你的管理员权限。”
“一航,你听我说——”
“鸣哥,我尊重你的技术洁癖。但这次不一样。这不是一个技术问题,是一个生存问题。我需要你给我权限,或者你自己在今晚之前把那些日志删掉。否则明天一早,我就自己想办法。”
电话挂了。
陆鸣把手机放在桌上,盯着它看了很久。然后他站起来,走到窗边。
雪已经停了。天边露出一线暗红色,像是城市燃烧的倒影。远处的写字楼群灯火零星,像棋盘上散落的棋子。
他想起了他第一次写代码的那个夜晚。大学宿舍,凌晨两点,屏幕上是一个最简单的”Hello World”。那时候他觉得自己掌握了某种魔法——只要写下正确的指令,机器就会忠实地执行。这种确定性让他着迷。在一个充满不确定性的世界里,代码是他唯一的确定性。
但现在,他写的代码正在做他不确定的事情。而他即将亲手销毁追踪这些事情的线索。
他做出了决定。
他打开电脑,登录系统,但不是去删除日志。他做了一件相反的事——他把所有和智汇数据相关的记录,包括模型在训练过程中产生的完整参数快照、异常值报告、以及那十三个被预测为”生命终止”的用户数据,全部打包压缩,上传到了一个加密的云存储空间。
然后他给林小寒发了一条消息:
“如果我明天还在犹豫,请替我做对的事。”
他附了一个链接和一个密码。
发完之后,他关掉手机,在沙发上躺下来。天花板上的雪光渐渐暗了下去,城市在他不知道的地方继续运转,像一台巨大的、无人能完全理解的机器。
八
第二天早上,陆鸣被一阵急促的敲门声吵醒了。
他揉着眼睛打开办公室的门,看到林小寒站在外面。她的脸色苍白,嘴唇紧抿着,手里握着手机。
“出事了。”
“什么事?”
“赵一航。他昨晚用自己的账号登录了系统,删除了大量的日志。但他的操作触发了审计系统的自动备份——他不知道我们有这个机制。所有的删除操作都被记录在了二级日志里。”
陆鸣的心沉了下去。二级日志是他两年前设计的,本来是为了防止误操作导致数据丢失。他从来没告诉过赵一航。
“还有,“林小寒的声音微微发抖,“今天早上,星河资本的DD团队发来了补充尽调清单。他们要求审查我们过去十八个月内所有的数据采购合同和原始数据流转记录。”
陆鸣靠在门框上,感觉整个世界在旋转。
“他们知道了?”
“不知道。但他们在查。如果他们看到二级日志里的删除记录——”
她没说完,但陆鸣已经能想象到后果:星河资本会立刻撤回投资意向,B轮崩盘。更严重的是,DD团队如果发现了数据合规问题,有义务向监管机构报告。到时候就不只是融资失败,而是调查、罚款、甚至刑事追责。
“我有一个办法。“陆鸣说。
林小寒看着他。
“我昨天晚上把所有的原始数据都备份了。包括智汇数据的记录、模型训练的完整参数、还有那十三个用户的预测结果。”
林小寒的眼睛亮了一瞬,然后又暗下去:“你要公开?”
“不是公开。是交给DD团队。在他们发现之前,主动坦诚。”
“你知道这意味着什么——”
“我知道。B轮可能黄了。公司可能被调查。我可能要负法律责任。“陆鸣的声音很平静,像是在说别人的事,“但如果我不这样做,我就不是那个写代码的人了。我就变成了——”
他没说出那个词。但林小寒知道。
他就变成了数据本身。一个可以被修改、删除、美化的符号。
“你确定吗?“林小寒问。
陆鸣看着窗外。天已经亮了,雪后的阳光刺眼得让人睁不开眼。远处的西湖像一面被擦亮的铜镜,倒映着整座城市。
“我确定。“
九
陆鸣没有立刻去找DD团队。他先打了一个电话。
打给了那十三个被预测为”生命终止”的用户中的第一个——上次挂了他电话的那个工厂工人。
这一次,电话响了很久才接通。
“喂?”
“先生,您好。我上次打过电话——”
“哦,是你啊。“男人的语气比上次缓和了一些,“我后来查了一下,你们那个什么洞见科技,好像是做大数据的?”
“是的。我有一个问题可能听起来很奇怪——您身体还好吗?”
电话那头沉默了一会儿。
“你问这个干什么?”
“我们做一个用户健康调研——”
“说实话吧。“男人打断了他,“你们是不是查到了什么?”
陆鸣愣住了。
“什么意思?”
“我上个月体检,查出了肺上有个东西。医生说还不确定,让我下个月去复查。”
陆鸣握着手机的手开始发抖。
“您……具体是什么情况?”
“不知道,还没确诊。但我老婆天天哭,搞得我也紧张。你说你一个大公司,怎么知道这事?你们是不是从医院买了我的数据?”
陆鸣没有回答。他说了一句”祝您早日康复”,然后挂了电话。
他坐在工位上,一动不动。
模型预测的”生命终止”——也许不只是统计学上的噪音。也许它真的看到了什么。那些碎片化的数据——一次体检、一条社交断裂、一笔异常的消费——在模型的高维空间里汇聚成了一个指向某个终点的向量。
但这个”终点”不是命运,只是概率。概率不是命运。
他想起了父亲最后一堂课上说的那句话:概率是人类对不确定性的妥协。但父亲没说的是——妥协并不意味着放弃。知道明天下雨的概率是百分之三十,你不会待在家里不出门。你会带一把伞。
他拿起手机,给林小寒发了一条消息:“帮我做一件事。把那十三个用户的风险预测报告单独提取出来,把’生命终止’的标签替换成’健康风险预警’。然后联系我们的客户——那三家城商行——告诉他们,我们的新版本模型包含了一个’用户健康风险预警’功能,可以帮助他们更好地评估贷款风险。”
林小寒回了一串问号。
然后她打来电话:“你在说什么?你要把这个功能产品化?”
“不是产品化。是转化。“陆鸣说,“一个预测死亡的功能是危险的。但一个预测健康风险的功能,如果被正确使用,可以帮助银行在审批贷款时提醒用户关注健康,甚至可以在用户同意的前提下,提供健康管理的建议。它不是在筛选谁该死谁该活,它是在告诉人们——你需要注意了。”
“你真的觉得银行会用这个功能来帮助用户?他们只会用它来拒绝贷款。”
“也许。但至少数据不会被销毁,不会在暗处流到出价最高的人手里。它会站在阳光下。人们可以看到它,质疑它,纠正它。”
电话那头沉默了很久。
“那你打算怎么处理智汇数据的事?”
“如实告诉DD团队。告诉他们我们曾经使用了有合规争议的数据,但我们已经识别了问题,正在整改。主动认错永远比被动发现要好。”
“B轮可能就没了。”
“我知道。”
“赵一航会疯的。”
“我知道。”
“公司可能撑不过这个冬天。”
陆鸣看着窗外。雪已经完全化了,只剩下屋檐边缘还挂着几滴融水,在阳光下一闪一闪的。
“那就重新开始。“他说。
十
事情比陆鸣预想的要复杂得多。
赵一航得知陆鸣的计划后,两个人在会议室里大吵了一架。这是他们合伙五年来的第一次。赵一航说陆鸣是在自毁前程,说他太天真,说这个行业的规则不是他一个技术人员能改变的。陆鸣说赵一航是在自欺欺人,说他已经分不清什么是公司利益什么是个人利益了。
最后赵一航说了一句很重的话:“鸣哥,你以为你是谁?你以为你能改变什么?你只是一个写代码的。你连自己写的代码都控制不了。”
陆鸣没有反驳。因为赵一航说得对。他确实控制不了自己的代码。但那不意味着他应该假装一切正常。
最终,赵一航没有阻止他。也许是吵累了,也许是意识到陆鸣已经做了备份,删除日志的行为已经没有意义了。他默默地离开了会议室,开车回了家,关了手机。
陆鸣在当天下午联系了星河资本的DD团队负责人,约了第二天上午的视频会议。他把所有的问题——智汇数据的灰色数据、模型学到的”生命终止”模式、赵一航试图删除日志的行为——全部写在了一份文档里,连同他的分析和整改方案,一共二十三页。
那天晚上,他一个人坐在办公室里校对这份文档。窗外的城市灯火如常,好像什么都没有发生。他在文档的最后加了一段话:
“我创建这个模型的初衷是帮助金融机构更准确地评估风险。但风险不仅存在于数据之中,也存在于我们处理数据的方式之中。我犯了一个错误——我让对精度的追求盖过了对边界的敬畏。这份文档是我的纠错尝试。无论结果如何,我认为透明是唯一的出路。因为在一个数据可以预测生死的世界里,最大的风险不是预测错误,而是假装我们什么都没看到。”
写完之后,他靠在椅子上,闭上了眼睛。
他想起了那个四月的雪天。不合时宜的大雪压在桃花上,冻住了那些还没来得及盛开的花朵。但雪化之后,桃花还是开了。虽然晚了一点,虽然有些被冻伤了,但它们还是开了。
也许这就是规律。不是数学上的规律,不是统计学上的规律,而是某种更古老、更笨拙、更不可预测的规律。
你被压弯了,你被冻住了,你以为春天不会来了。但雪总是要化的。而你还活着。
尾声
三个月后。
星河资本撤回了投资意向,但并没有举报。周韧夫在最后一通电话里对赵一航说了一句话:“你们的问题不是合规,是信任。如果你们连自己的数据都控制不了,我怎么相信你们能控制客户的资金?”
赵一航退出了公司。他用个人资产支付了律师费和罚款,然后一个人去了云南,据说在洱海边开了一家民宿。他没有再联系过陆鸣。
林小寒留了下来。她帮助陆鸣完成了模型的全面重构——移除了所有有合规争议的数据来源,重新设计了特征工程流程,并引入了一套”可解释性审计”机制,让模型的每一个输出都能被追溯和质疑。
那十三个被预测为”生命终止”的用户,陆鸣没有再联系他们。但他后来在一个医疗AI会议上遇到了一位做肺癌早筛的医生,他把自己观察到的那些数据模式做了脱敏处理后分享给了对方。三个月后,那位医生告诉他,他们根据这些模式设计了一个新的筛查算法,在一批高危人群中发现了十七例早期肺癌。
其中一例,就是那个工厂工人。
手术很成功。预后良好。
陆鸣得到消息的那天,杭州又下了一场雨。不是雪,是雨。他把窗户打开,让湿润的空气涌进来。雨后的城市闪闪发光,像一台刚重启的机器,所有的灯都亮着,所有的代码都在运行。
他站在窗前,想起了父亲黑板上的那道概率题。两天下雨的概率是多少?
答案取决于你怎么定义”下雨”。是一场还是两场?是持续还是间歇?是落在你的伞上,还是落在你没有带伞的那些日子里?
概率是对不确定性的妥协。
但活着不是。
活着是对确定性的抵抗。
他关上窗户,坐回工位,打开了编辑器。屏幕上闪烁着一个新的项目——一个空白的文件,光标在第一行第一列跳动着,像一个等待被书写的故事的开头。
他开始打字。
Hello, World。
——全文完——