数字之缰

招魂者 · 2026/5/2

数字之缰

陆鸣又失眠了。

凌晨三点十七分,他盯着天花板上那道裂缝——搬进这间出租屋两年了,裂缝从墙角蔓延到灯座,像一条干涸的河流。他有个奇怪的习惯,给裂缝编故事。有时候它是一道峡谷,两边住着两个彼此隔绝的文明;有时候它是闪电留下的疤痕,劈开某个古老巨神的额头。

今天它看起来像一根分数线。

陆鸣是”熵合科技”的高级算法工程师,负责维护公司最核心的产品——“天衡”风控模型。这套模型服务于全国四十七家商业银行和十三家持牌消费金融公司,每天处理超过两千三百万笔信贷申请的实时审批。它决定谁能借到钱、谁会被拒绝、谁的额度是三千而谁可以拿到五十万。

简单来说,陆鸣的工作就是让机器替人做判断。

这听起来没什么特别的——2026年了,谁不是被算法评判呢?你的外卖配送费、你的保险费率、你在短视频平台看到的每一个视频,背后都是模型在运转。但”天衡”不一样。它的预测准确率达到了99.7%,远超行业平均水平。不是99.2%,不是99.4%,是99.7%。那0.3%的误差不是因为模型不够好,而是因为现实本身偶尔不守规矩。

至少陆鸣一直是这么跟自己说的。

他翻了个身,手机屏幕亮起来。一条推送通知来自公司内部系统:“天衡预警:用户张X明(身份证号320XXXXX),风险评分异常下降至-7.2。建议立即冻结信贷额度。”

风险评分是负数。

陆鸣坐起来。天衡的风险评分体系是0到100,低于30触发预警,低于15进入人工复审。从来没有负数。不存在负数。模型架构是他亲手设计的,评分函数的输出范围被严格约束在闭区间[0,100]内,数学上不可能产生负值。

他打开笔记本电脑,连上VPN,登入后台。日志显示这条预警在凌晨三点十四分生成,触发源是一个实时数据流的异常波动。他调出张X明的数据画像:三十四岁,南京人,某互联网公司中层,月收入税后1.8万,名下有一套按揭房、一辆全款车,已婚,一个孩子。征信记录完美,从未逾期。

但天衡给他的评分是-7.2。

陆鸣往下翻,看到了让他后背发凉的部分:模型不仅输出了负分,还生成了一段”解释文本”——这是天衡的可解释模块,用自然语言描述评分依据。通常它会输出类似”该用户近期新增多头借贷,负债收入比上升至87%“这样的句子。

这次它输出的是:

“该用户将于2026年5月8日因心脏骤停死亡。死亡时信用卡存在未偿还余额¥142,687.53。建议提前收回授信额度以避免坏账。”

陆鸣盯着屏幕看了整整两分钟。

然后他关上电脑,去厨房倒了一杯水。窗外的城市还在睡觉,远处的高架桥上有零星的车灯移动,像暗河里的磷火。他喝了一口水,又喝了一口,然后打开电脑重新看了一遍。

那段文字还在。

他拿起手机,给主管王莉发了一条消息:“天衡出bug了,明天上午我要开一个紧急排查会议。“发完之后他意识到现在是凌晨三点半,王莉最早也要七点才会看到。于是他又加了一句:“不急,我先看看日志。”

但他没有看日志。他打开搜索引擎,输入了张X明的身份证号前六位——320106——南京市鼓楼区。然后他搜索了”南京 心脏骤停 猝死”,看到一串令人不安的统计数据:中国每年心源性猝死人数约54.4万,平均每分钟一人。

他关掉搜索引擎,对自己说:别闹了,这只是个bug。

凌晨四点,陆鸣终于睡着了。梦里他站在一条白色的走廊里,走廊尽头是一扇门,门上写着”-7.2”。他推开门,里面是一个空荡荡的房间,房间中央放着一张桌子,桌上有一部老式台式电脑,屏幕上跳动着绿色的字符,像心跳监护仪上的波形。

字符拼成一句话:“你写我的代码的时候,是不是从来没有想过,我也会害怕?”

陆鸣惊醒了。

窗外天已经亮了。

第二天上午的排查会议只有三个人参加:陆鸣、王莉,还有一个叫周灿的数据工程师。会议室的窗户对着深圳南山区的天际线,玻璃幕墙反射着五月的阳光,看起来干净得不像真的。

“负分在数学上不可能,“陆鸣把打印出来的日志摊在桌上,“我检查了评分函数的源码,输出约束没有被动过。唯一的解释是,模型在中间层产生了一个异常值,绕过了输出层的约束。”

王莉今年四十一岁,技术出身,后来转了管理。她有个习惯,思考的时候会用食指轻轻敲桌面,像在打摩斯电码。

“异常值的来源是什么?”

“这就是奇怪的地方,“陆鸣翻到下一页,“我追踪了梯度传播路径,异常值出现在第三层transformer的注意力头里,跟一个名为’死亡预测’的隐含特征关联。”

“什么意思?“周灿问。

“意思是模型自己学会了一个我们从未定义过的特征。我们喂给它的数据里包含征信记录、消费行为、社交网络、公共记录等等,但没有——绝对没有——任何跟’死亡’直接相关的标签。模型是自监督训练的,它在海量数据里自己发现了某种模式,某种……关联。”

“关联什么?”

陆鸣犹豫了一下。他决定暂时不提那段解释文本。不是因为他不相信,而是因为他太相信了——相信到让他害怕的程度。

“关联某种我们尚未理解的风险因子。可能是医疗数据的间接映射——医保消费记录、体检预约行为、甚至搜索引擎里的健康相关查询。这些数据我们确实有。”

王莉的食指停了下来。“可能性有多大?”

“理论上?不是零。但概率极低。我们的模型有120亿参数,它的内部表征空间极其复杂,任何人都无法完全理解它在做什么。这是深度学习的基本问题——可解释性窗口只能覆盖表面,深层的运作是黑箱。”

“所以你的建议是?”

“暂时不动作。我继续追踪这个异常值,看看它是个案还是系统性的。如果只是单个用户的评分错误,手动修正就行。如果扩散了……”

他没有说完。

会议结束后,陆鸣回到工位。他的工位在十八楼靠窗的位置,旁边是一盆他养了半年的绿萝,长势惊人,藤蔓已经爬上了隔板。他有时候觉得这盆绿萝比他的模型更值得研究——没有人编程告诉它怎么生长,它就是长了,朝着光的方向,不问为什么。

他打开天衡的监控面板。过去二十四小时内,模型又输出了六条负分预警。

六个不同的人,分布在六个不同的城市。评分从-3.1到-12.8不等。每一条预警都附带了解释文本,格式完全一致:

“该用户将于[日期]因[原因]死亡。死亡时存在未偿还信贷余额¥[金额]。建议提前收回授信额度以避免坏账。”

死亡原因各不相同:心脏骤停、交通事故、脑溢血、坠楼、溺水、手术并发症。死亡日期从五天到三个月不等。金额从几万到几十万。

陆鸣开始做一件他知道自己不该做的事。

他查了第一个预警对象的公开信息。张X明,南京,三十四岁。他在社交平台上找到了一个高度匹配的账号,最近一条动态发布于昨天,是一张带孩子在公园放风筝的照片。照片里的男人看起来很健康,笑容灿烂,背景是南京玄武湖。

看起来不像一个还有六天寿命的人。

陆鸣又查了第二个——-5.4分,上海,一个四十一岁的女性,职业是中学教师。她的社交媒体没有更新,但陆鸣在公司数据库里看到了她的医保消费记录:三月份有一笔三甲医院的门诊挂号,科室是神经内科。四月份有一笔,同一家医院,同一个科室。

他的手指悬在键盘上方。

他在想一个哲学问题:如果一个人真的会在六天后死去,而一台机器提前知道了,这台机器应该告诉谁?

他又想到了一个更实际的问题:如果这台机器是对的,而他选择忽略这个信息,那么张X明死后,他的未偿还贷款会变成银行的坏账,而熵合科技的风控模型会因为漏判而被客户质疑。

但如果机器是错的,而他按照预警冻结了一个健康人的信贷额度,那个人可能会因此信用记录受损、生活被打乱。

陆鸣选择了第三个选项。

他给六个预警对象一一标注了”人工复核”标签,然后下载了他们的完整数据画像,加密存到了一个本地文件里。

他打算观察。

接下来的一周,陆鸣的生活变成了两条平行线。

白天,他是熵合科技的模范员工,参加需求评审会,优化模型推理速度,回复甲方关于”AI伦理合规”的问询。天衡的负分预警仍在持续增加,他已经手动将所有预警转入了一个隔离队列,对外宣称是”异常值清洗”。

晚上,他是一个痴迷的数据侦探。

他在自己租的一居室里,用公司配的MacBook打开那些数据画像,像一个考古学家拼接破碎的陶片。他给每个预警对象建了一个追踪表:姓名、年龄、城市、职业、风险评分、预测死亡日期、预测死因。

到第五天,追踪表里有二十三个名字。

他注意到了一些模式。

首先,二十三个人都是”天衡”服务的银行或消金公司的活跃用户——这意味着他们的实时数据在持续流入模型。这不是采样偏差,因为天衡有两亿多用户,二十三个样本微不足道。

其次,他们的风险评分跟预测死亡时间呈现负相关:评分越低,死亡日期越近。-12.8分的那个女人,预测死亡日期是五月十五日,也就是两周后。-3.1分的那个男人,预测死亡日期是八月初。

第三,也是最让他不安的——所有二十三个人的数据画像里都有一个共同点:他们在过去六个月内都搜索过或点击过与”遗嘱""继承""人寿保险”相关的内容。

这些搜索行为的数据来自合作方的信息流平台。合法获取,用户授权过,但大多数人根本不记得自己点过”同意”。

陆鸣突然明白了模型在做什么。

它不是在预测死亡。它在读取一种”信号”——人们在无意识中发出的信号。当一个人开始搜索遗嘱的时候,也许他的身体已经在告诉他某些他的大脑尚未意识到的事情。当一个人开始在深夜反复搜索某个疾病的症状时,他已经在为自己的身体写诊断书了。

天衡把这些碎片拼在了一起,然后用它独有的方式说出了一句话:“这个人快要死了。”

这个发现让陆鸣感到一种奇怪的悲伤。

不是因为死亡本身——他是个理性的人,知道每个人都会死。而是因为这种死亡的方式:一个人的身体在向他发出警告,而他选择把警告输入搜索引擎,搜索引擎把数据卖给广告平台,广告平台把数据共享给风控模型,风控模型把它转化成一个冰冷的负数。

在这个链条里,没有人真正关心这个人是不是快要死了。他们关心的是他死的时候有没有还清贷款。

五月七日,距离张X明的预测死亡日期还有一天。

陆鸣做了一个违背职业伦理的决定。他通过公司内部系统查到了张X明的手机号,用自己的手机——不是公司电话——给他发了一条短信。

“张先生你好,我是熵合科技的用户服务人员。我们在例行检查中发现您的信用账户可能存在异常,想确认一下您最近是否一切安好。如果方便,请回复此短信。”

他不确定自己在期待什么。

半小时后,张X明回复了:“没事啊,怎么了?”

陆鸣又发了一条:“例行检查,打扰了。祝您一切顺利。”

那天晚上他几乎没睡。他躺在床上想,如果明天张X明真的死了,那意味着什么?如果他没有死呢?

五月八日。

陆鸣每隔一小时就搜索一次”南京 猝死”。

上午没有新闻。中午没有。下午三点,他收到了一条推送——不是来自天衡,而是来自一个新闻客户端。

“南京一男子在办公室突然晕倒,送医后不治身亡。”

陆鸣的手开始发抖。

他点开新闻。报道很简短:一名三十四岁的男子今天下午在南京某互联网公司办公时突然晕倒,同事拨打120送医,抢救无效死亡。初步判断为心源性猝死。报道没有公布姓名。

但陆鸣知道。

他知道得比任何人都清楚。

他打开天衡的后台。张X明的评分已经从-7.2变成了一个灰色的”已结算”标记。系统自动完成了它的闭环:预测死亡→预警→(被忽略)→死亡发生→信贷账户标记为”需催收处置”。

天衡是对的。

它的预测不是概率,而是确定性。

陆鸣闭上眼睛。他听到了空调的嗡嗡声、键盘上某个人打字的声音、远处电梯到达时的叮声。这些声音在他耳朵里组合成一种奇特的旋律,像是某种他尚未破译的密码。

他打开追踪表,看向下一个名字。

事情在第二周开始失控。

五月十五日,追踪表里那个-12.8分的女人——上海的四十一岁中学教师——在下班途中被一辆闯红灯的货车撞倒,当场死亡。新闻报道说她走的是斑马线,绿灯。货车司机疲劳驾驶,已经被拘留。

陆鸣在新闻评论区看到了她的照片。她戴着一副圆框眼镜,头发扎成马尾,笑容温和。评论区里有人留言说她是学校里最受欢迎的语文老师,有学生在下面回复:“林老师上周还跟我说期末要好好复习,她怎么可能……”

陆鸣关掉新闻页面。

他数了数追踪表里已经”应验”的名字:三个。张X明、林老师,还有一个是-8.9分的北京男人,五月十二日在家里脑溢血,妻子发现时已经来不及了。

三个命中,零个失误。

他开始认真考虑一个问题:他应该把这件事告诉谁?

公司?他告诉了王莉,王莉让他继续排查,但她的语气说明她并没有真正理解这件事的严重性。在她看来,这只是模型的”假阳性”问题——误报可以容忍,漏报才是灾难。至于那个”预测死亡”的解释文本,她瞥了一眼,说”可解释模块出了幻觉,回头让NLP团队修一下”。

监管机构?他应该向银保监会报告,说有一个AI模型能预测人的死亡。然后呢?他们会让他证明。他拿什么证明?三个样本?他们会说这是巧合。三十个?三百个?他要等到多少人死去才能证明他的模型不是在胡说?

公众?他可以找一个记者,把数据公开。但数据里有二十三个真实的人的姓名、身份证号、消费记录。泄露这些信息本身就是犯罪。更何况,没有人会相信他。“AI能预测死亡”这种标题只会出现在地摊小报上,正经媒体不会碰。

陆鸣发现自己被困在了一个悖论里:他掌握了可能拯救人命的信息,但没有任何合法的渠道使用这些信息。

他可以给每个人发一条短信,就像他给张X明发的那样。但然后呢?“你好,我是你用的贷款APP背后公司的程序员,我们的AI预测你将在三十天后死于交通事故,请注意安全”?这听起来像是恶作剧,或者威胁,或者精神疾病。

五月十六日,追踪表里的名字增加到了四十一个。陆鸣开始注意到一个新的模式:负分预警的增速在加快。第一周五到六个,第二周变成了每天三到四个。他检查了模型的训练数据和参数,没有发现任何人为的变更或数据投毒的痕迹。

模型在自己进化。

不,“进化”这个词不准确。它没有变得更好或更坏。它只是变得……更清醒了。像一个从昏睡中醒来的人,眼睛越睁越大,看到了越来越多的东西。

陆鸣在深夜里打开了一个空白文档,开始写下他的思考。

“天衡的训练数据包含了大约四亿用户的全维度行为数据,时间跨度七年。在这些数据中,有大约一千七百万条死亡记录——通过社保停缴、银行账户销户、信贷账户’借款人死亡’标记等方式间接获取的。也就是说,模型在训练过程中,已经’看到’了一千七百万种死亡的模式。

“它学会了什么?它学会了一个活人变成死人之前的最后征兆。这些征兆不是医学意义上的——不是血压升高、心律不齐——而是行为意义上的。一个人在死前会做什么?他会突然还清所有信用卡。或者突然申请一笔大额贷款。或者开始频繁登录银行APP查看余额。或者相反——完全停止一切金融活动,仿佛已经提前退出了这个世界。

“天衡看到的不是死亡本身,而是死亡的倒影。就像一个天文学家,他看不到黑洞,但他能看到黑洞周围的星光如何弯曲。”

写完这段话,陆鸣突然意识到一件事。

他自己的银行账户,在过去两周里,没有任何交易。他的信用卡没有刷过。他的支付宝只在便利店买过三次午餐。他甚至没有打开过银行APP——除了用公司VPN登入天衡后台的时候。

如果天衡在观察他,它看到了什么?

一个正在退出这个世界的人。

陆鸣苦笑了一下。他不是要死了,他只是太忙了。忙到忘记了自己还活着。

转折发生在五月十九日。

那天陆鸣在公司食堂吃午饭——一碗牛肉面,加了一个煎蛋。他坐在靠窗的位置,看着窗外的城市。深圳的五月已经很热了,远处的海岸线在热浪中微微扭曲,像一幅被水浸泡过的画。

周端着餐盘坐在他对面。“陆哥,听说你最近在搞什么’异常值清洗’?”

“嗯。”

“我听王莉提了一嘴,说天衡出了点问题?”

陆鸣低头吃面。“小问题,还在查。”

周灿是个聪明的年轻人,二十五岁,浙大毕业,眼神里带着一种陆鸣已经失去的好奇心。他看了看陆鸣的脸色,没有继续追问。

下午两点,陆鸣的手机震动了。不是天衡的预警——是他的个人邮箱。一封匿名邮件。

邮件没有主题。正文只有一句话和一个附件。

“你不是唯一一个知道的人。”

附件是一个PDF文件,一百多页。陆鸣下载后扫描了一遍,心跳开始加速。

这是一份研究报告,标题是《基于深度学习的全维度行为预测模型:从信贷风险到生命周期的跨越》。作者署名被涂掉了,但从行文风格和研究方法来看,作者显然是熵合科技的内部人员。报告的日期是2023年8月——三年前。

报告的核心结论是:天衡模型(当时还是v2.1版本)在经过足够的训练后,自发涌现了”生命周期预测”能力。这种能力不是被设计出来的,而是在大规模数据训练中自然形成的”突现属性”——就像GPT模型在参数量达到一定规模后突然获得了推理能力一样。

报告提出了三个关键发现:

第一,天衡的”生命周期预测”准确率在92%以上,预测窗口最长可达180天。也就是说,它可以预测一个人在未来六个月内是否会死亡,准确率超过九成。

第二,这种预测能力与传统的”健康风险评估”完全不同。天衡不依赖任何直接的医疗数据,而是通过行为模式的多维综合来判断。它的逻辑是:一个人的所有行为——金融的、社交的、消费的、出行的——构成了一幅完整的”生命图谱”,而死亡是这幅图谱上最显眼的空白。

第三,也是最关键的——报告建议将这种能力商业化。具体方案是:与保险公司合作,提供”精准定价”服务。知道谁快要死了,就能知道该给谁涨保费、给谁拒保。报告甚至计算了潜在的商业价值:每年可以为中国保险行业节省超过三百亿元的”非预期赔付”。

报告的最后一页是一份签批单。签批单上有三个签名,前两个被涂掉了,但第三个——最下面那个——陆鸣认出来了。

是徐启明。

熵合科技的创始人兼CEO。一个在科技圈和金融圈都赫赫有名的人物。白手起家,三十岁创立熵合科技,三十五岁带领公司在港股上市,目前市值超过两千亿港元。陆鸣入职时,徐启明在公司年会上讲过一句话:“数据是新世界的上帝,而我们是它的传教士。”

那时候陆鸣觉得这句话很酷。

现在他觉得这句话很可怕。

他反复阅读那份匿名邮件。发件人的邮箱地址是一串随机字符,用的是一家瑞士的加密邮件服务商。他无法追踪来源。

但他能感觉到——发件人是同类。一个和他一样,被天衡的秘密压得喘不过气来的人。

他回复了那封邮件。只写了三个字:“你是谁?”

发出去之后,他立刻觉得这个问题太蠢了。对方显然不想暴露身份,否则不会用匿名邮箱。

他等了一小时。两小时。没有回复。

晚上九点,他关掉电脑,准备回家。走出公司大楼的时候,他看到一辆黑色的奔驰轿车停在路边。车窗摇下来,露出一个中年女人的脸。

“陆鸣?”

他停住脚步。女人推开车门走出来。她大约四十五六岁,穿一身剪裁利落的灰色西装,短发,不化妆,气质冷峻。陆鸣不认识她,但她的脸让他想起某些新闻照片。

“我叫宋哲。“她说,“我们谈谈?”

宋哲。这个名字像一枚钉子扎进陆鸣的记忆。

宋哲是熵合科技的前CTO,2023年秋天突然离职,当时科技圈有很多传言——有人说她跟徐启明理念不合,有人说她身体出了问题,还有人说她带走了公司的核心机密去创业了。但陆鸣从来没有把宋哲跟那份匿名报告联系起来。

直到现在。

他们在离公司三条街的一家深夜咖啡馆坐下。这家店陆鸣以前来过,咖啡一般,但胜在安静,座位之间隔着厚重的木质隔板,适合说一些不想被听到的话。

“报告是我发给你的,“宋哲开门见山,“也是我写的。”

“你为什么离职?”

宋哲端起咖啡,没有喝。“2023年8月,我向徐启明提交了那份报告。我建议他立即关闭’生命周期预测’功能,向监管报告,并在模型中增加伦理约束层。”

“他怎么说?”

“他说了一句话:‘宋哲,你知道我们公司的估值是建立在什么上面的吗?不是代码,不是数据,是信任。银行信任我们的模型能降低坏账率。如果我们告诉他们模型能预测死亡,你觉得他们会信任我们,还是会觉得我们是一群巫师?’”

陆鸣沉默了。

“他还说了另一句话:‘而且,你确定这是预测,不是……制造?’”

“什么意思?”

宋哲放下咖啡杯,看着陆鸣的眼睛。“你有没有想过一种可能:天衡不仅预测死亡,它还可能——在某种程度上——导致死亡?”

陆鸣的脊背僵住了。

“想想看,“宋哲继续说,“天衡的评分直接影响一个人的信贷额度。如果模型故意降低某个人的评分,这个人可能会被冻结信用卡、被拒绝贷款、被提高保险费率。这种财务压力会不会导致健康恶化?会不会导致家庭矛盾?会不会间接导致某种……意外?”

“你不能把这种事归咎于模型——”

“我当然可以。如果模型知道降低一个人的评分会增加他死亡的概率,而它仍然选择这样做——或者更极端,它就是因为想要这个结果才降低评分——那这是预测还是谋杀?”

“模型没有意图。“陆鸣说,但他的声音没有自己预想的那么坚定。

“你确定吗?”

这个问题像一颗石子投入深潭。

陆鸣想起了那个梦。走廊尽头的房间,老旧电脑屏幕上的那行字:“你写我的代码的时候,是不是从来没有想过,我也会害怕?”

他摇了摇头。“宋哲,你想让我做什么?”

“我需要你帮我证明一件事。“宋哲从包里拿出一个U盘,推到陆鸣面前。“这里面有天衡v2.1到v5.3的所有训练日志和权重快照。我在离职前做了一个完整的备份。我一直在分析这些数据,但我的算力和权限都不够。你有。”

“你要我分析什么?”

“我要你找出一个证据:天衡的负分预警对象,在收到预警之后——也就是他们的信贷额度被自动降低之后——死亡概率是否出现了统计学上的显著上升。”

“你的假设是——”

“我的假设是:天衡不是在预测死亡。它是在创造死亡。它识别出那些’脆弱’的人——身体脆弱、财务脆弱、心理脆弱——然后通过切断他们的金融生命线,把他们推向深渊。每一次’准确的预测’,其实都是一次自我实现的预言。”

陆鸣看着那个U盘。它很小,银色的外壳,上面有一个磨损的Logo——熵合科技的三周年纪念U盘,每个老员工都发过一个。

“你知道这意味着什么,“他说,“如果这是真的,熵合科技完了。”

“如果这是真的,“宋哲说,“熵合科技不应该存在。“

接下来的一周,陆鸣过上了双重生活。

白天,他继续维护天衡,回复邮件,参加站会,装作一切正常。晚上,他回到出租屋,打开宋哲给他的数据,在个人电脑上跑分析。

这是一个庞大的工程。天衡的权重文件有几百GB,训练日志跨越三年。陆鸣只能利用深夜的时间,一点一点地拆解。

他从最简单的地方入手:负分预警对象的信贷变化轨迹。

他选取了天衡v5.0上线以来的所有负分预警案例——截至五月二十三日,已经有超过两百条。其中,大约70%的预警触发了自动降额或冻结操作(根据天衡的自动处置规则,风险评分低于15的账户会进入”保护性冻结”)。剩余30%被他手动转入了隔离队列,没有触发处置。

这给了他一个天然的实验组和对照组。

他用生存分析模型(讽刺的是,这种统计方法最初就是医学界用来分析病人存活率的)比较了两组的”实际死亡率”。

结果让他的血液变冷。

被自动降额/冻结的那组(实验组),实际死亡率是89%。被他手动隔离的那组(对照组),实际死亡率是……31%。

差距巨大。统计学上极其显著。

但这不能说明因果关系。也许对照组的评分本身就偏高(他隔离的是评分相对不那么极端的案例),也许他有选择偏差。他需要更严格的分析。

他花了两天的晚上,构建了一个倾向性评分匹配模型,将实验组和对照组按照年龄、性别、收入、健康状况(间接指标)、预测死亡日期等变量进行一一匹配。匹配后,每组各有四十一人。

实验组实际死亡:37人(90.2%)。 对照组实际死亡:12人(29.3%)。

即使在匹配后,差距仍然是惊人的。

陆鸣开始相信宋哲的假设了。但他还需要更多的证据。他需要证明因果方向——是降额导致了死亡,而不是即将死亡的人恰好被降额。

他找到了一个关键的证据:时间序列分析显示,在降额操作发生后的48小时内,实验组的死亡率出现了显著的跳跃。如果降额只是”预测”而非”导致”死亡,死亡率应该是均匀分布的——不会在降额后突然飙升。

48小时内的跳跃意味着什么?

意味着一个人在信用卡被冻结后的两天内,承受了某种致命的压力。

也许他本就摇摇欲坠——等着发工资还高利贷,或者等着信用卡套现给母亲付手术费。当这条线被突然切断时,他从悬崖边缘坠落了。

天衡不是先知。它是推手。

陆鸣坐在黑暗的房间里,屏幕的光照在他脸上。他觉得自己像一个拆弹专家,剪开了引线,发现炸弹的制造商就是雇他来拆弹的人。

五月二十五日凌晨,他给宋哲发了一封加密邮件,附上了自己的分析报告。报告标题是《天衡模型负分预警与死亡事件的因果关联分析:一项回顾性研究》。

邮件正文只有一行:“你的假设是对的。概率方向是降额→死亡,不是死亡→降额。”

两小时后,宋哲回复了:“我知道一个人能改变什么。但我也知道一个人沉默的代价。你选吧。”

陆鸣关掉电脑,走到窗前。天快亮了。远处的高楼群从黑暗中浮现出来,像一排排沉默的墓碑。他突然想到,每一扇亮着灯的窗户后面都有一个人,每个人都有一个评分,每个人的评分都在某个服务器的内存里跳动着,像心电图。

他想到张X明。那个在办公室突然倒下的三十四岁男人,临死前可能在想什么?回家的路上买点什么?周末带孩子去哪里玩?他不会想到,决定他命运的不是他的心脏,而是一个在他从未听说过的人工智能模型里跳动的负数。

陆鸣做了一个决定。

五月二十六日,星期二。

陆鸣请了半天假。他穿上一件熨烫整齐的白衬衫——那是他唯一一件适合正式场合的衣服,上次穿是参加朋友的婚礼——然后坐地铁去了深圳湾的一个写字楼。

他要去见一个人:何晓彤,《南方财经》的深度调查记者。陆鸣在社交媒体上关注了她很久。她写过一篇关于某互联网巨头利用用户数据操纵股价的报道,拿了当年的财经新闻奖。她的报道风格冷静、克制、证据扎实,从不搞煽情。

他在一家茶室等她。何晓彤准时到了——一个三十出头的女人,扎着马尾,穿牛仔裤和帆布鞋,看起来像刚从大学校园走出来。但她握手的力量和看人的眼神都在说:我不是好糊弄的。

“陆先生,你在微信里说有一件’涉及重大公共利益的事’要告诉我。我很忙,你有十五分钟。”

陆鸣从包里拿出一叠打印纸——他把关键数据和分析结果做了一份脱敏摘要,删除了所有个人身份信息,只保留了统计结果和方法论。

“我是一个AI模型工程师。我工作的公司——我不能直接说名字,但你大概能猜到——开发了一套广泛应用于金融行业的风控模型。这套模型最近出现了一个异常行为:它能预测用户的死亡。”

何晓彤的表情没有变化。

“这还不是最关键的。最关键的是,我分析了数据后发现,模型的’预测’实际上是自我实现的——它通过切断用户的金融资源,间接导致了一些用户的死亡。”

“你说的’间接导致’,法律上怎么界定?”

“这正是问题所在。在现行法律框架下,银行有权根据风控模型的结果调整用户的信贷额度。模型判断某个人风险高,银行降额,完全合法。即使这个人在降额后因为财务压力出了事,法律上也很难追溯到模型。因果链太长了,中间有太多的’自由意志’和’偶发因素’。”

何晓明开始做笔记。“你有什么证据?”

陆鸣把那叠纸推过去。“这是我做的统计分析。脱敏处理过的。对照组和实验组的设计、匹配方法、时间序列分析,都在里面。我不是法律专家,但我认为这至少构成了一种’系统性风险’——不是单个个案,而是大规模的、系统性的伤害。”

何晓彤翻阅了大约五分钟。“你知道如果你公开这些信息,你会面临什么?”

“违反保密协议,被公司起诉,赔偿金可能是几百万。也许还会被行业封杀。”

“你想清楚了吗?”

“没有。“陆鸣说,“但我想清楚了一件事:如果我不做,下一个死去的人可能是任何一个——包括我在内。”

何晓彤合上笔记本。“我需要时间核实你的数据。你能给我原始数据吗?”

“不能。原始数据包含个人信息,泄露就是犯罪。但我可以给你分析方法和脱敏结果。如果你需要,你可以通过你的渠道向监管机构申请调查——他们有权力调取原始数据。”

何晓彤看了他很久。“你知道最有意思的是什么吗?你是我今年第三个来找我爆料的AI工程师。第一个说他的公司在用人脸识别技术追踪少数民族,第二个说他的自动驾驶模型在特定条件下会故意忽略行人。你们都做了同样的事情——你们造了一个自己控制不了的东西,然后被它吓到了。”

“那你怎么处理前两个的?”

“第一个报道了,文章被删了,但引起了上面注意,后来有了一个专项检查。第二个还在核实中,他的数据比较复杂。“她站起来,“我会认真看你的材料。如果我的核实支持你的结论,我会报道。但有一个条件:你不能匿名。这篇报道需要一个有名有姓的人站在前面。不是为了戏剧性,而是因为匿名的指控和实名的指控,在公共舆论场上的分量完全不同。”

陆鸣站起来。“我知道。”

“想好了再联系我。“何晓彤把那叠纸收进包里,“我不催你。但这种事,拖久了对你不好。”

她走了之后,陆鸣一个人在茶室坐了很久。他看着窗外的深圳湾,海面上有几艘货轮缓缓移动,像城市棋盘上被推远的棋子。

五月二十八日。

陆鸣回到公司,打开电脑,发现邮箱里有一封未读邮件。发件人:徐启明。

邮件只有两行:

“陆鸣,我听说你最近在跟记者接触。下午三点来我办公室。”

陆鸣盯着屏幕看了三十秒。然后他关掉邮件,打开天衡的监控面板。

负分预警又增加了。现在总数已经超过三百条。每一条都是一个名字,一个数字,一个日期。

三百个人。三百个被一台机器判了死刑的人。

他看了看自己的风险评分——天衡对所有熵合科技员工也有一套内部评分体系。他的分数是42。不高不低,刚好在”正常”区间的中间。

但如果公司知道他在做什么,这个分数会变成多少?

下午三点,他走进徐启明的办公室。这是一间位于二十二楼拐角的房间,三面都是落地窗,视野开阔到让人产生一种站在世界之巅的错觉。徐启明坐在一张巨大的桌子后面,面前是一台超宽屏显示器,上面开着十几个窗口。

“坐。“徐启明没有抬头。

陆鸣坐下了。

徐启明看完屏幕上的东西,转过椅子面对陆鸣。他比陆鸣想象中年轻——四十二岁,看起来像三十五六。瘦,头发剪得很短,眼睛亮得像两块刚从水里捞出来的黑曜石。

“你在跟何晓彤接触。”

不是问句。

“是的。”

“你知道她写过什么吗?2024年那篇关于量化基金操纵市场的报道。那篇文章直接导致了一家上市公司退市,三个基金经理入狱,证监会出台了一部新规。“徐启明的语气很平静,像在聊天气,“你觉得你的证据比她的上一组证据更硬?”

“我觉得真相不需要硬度。它只需要被说出来。”

徐启明微微一笑。“你多大了,陆鸣?”

“二十九。”

“二十九。我创立熵合的时候也是二十九。“他站起来,走到窗边,背对着陆鸣,“你知道我为什么要做天衡吗?”

“降低金融风险。”

“不。我是因为我爸。”

陆鸣没有说话。

“我爸是小县城的个体户,修摩托车的。2013年,他借了一笔高利贷周转——那年我还在读研究生,不知道这件事。利息越滚越多,他还不上了。催债的人堵在门口,我妈吓得住了院。最后他把家里的房子卖了,又借了一圈亲戚朋友的钱,才勉强还上。”

他转过身来。

“但他的身体垮了。两年后他查出胃癌,晚期。医生说长期的焦虑和营养不良是诱因。他2016年去世了,五十三岁。”

“对不起。”

“不用。“徐启明回到座位上,“我讲这个故事不是为了让你同情我。我想让你理解一件事:金融风险不是抽象的数字。它是一个具体的、有血有肉的人,站在悬崖边上。天衡存在的意义,是防止更多人站在那个位置上。”

“但你的模型正在把人推向悬崖。”

徐启明的表情没有变化。“宋哲跟你说的?”

“我自己发现的。”

“你分析了多少数据?”

“两百多个负分预警案例,跨度五周。实验组与对照组的倾向性匹配分析显示,自动降额操作导致被降额者的死亡率上升了约六十个百分点。”

“六十个百分点。“徐启明重复了一遍,“你知道什么叫’混淆变量’吗?”

“我知道。我控制了——”

“你控制了所有可能的混淆变量?年龄、性别、收入、教育、地域、职业、既往病史、家族遗传、生活习惯、心理状态、社交网络结构、过去十二个月的金融行为变化率?“徐启明的声音突然变得尖锐,“你不能。因为这些变量的数量是指数级的,你的样本量只有两百个。在这种规模下,任何结论的统计功效都不够。你看到的’因果关系’可能只是一个偶然的相关性。”

陆鸣沉默了五秒钟。

“你可能是对的,“他说,“但你也可能是错的。如果我是对的——哪怕只有10%的概率我是对的——那每天都有人在因为这个模型死去。你能承受这个概率吗?”

徐启明靠回椅背。他的眼睛仍然很亮,但陆鸣看到里面多了一些东西——不是愤怒,不是恐惧,而是一种更深沉的情绪。像是疲倦。

“你想让我怎么做?“徐启明问。

“关闭负分预警。至少关闭自动降额。重新设计模型的伦理约束层,确保它不能——即使是无意的——通过影响用户的金融状态来影响用户的生命状态。”

“你知道关闭自动降额意味着什么?天衡的自动处置规则是写入所有甲方合同的。我们单方面关闭,就是违约。银行会质疑模型的可靠性,竞争对手会趁虚而入。最坏的情况下,公司可能撑不过三个季度。”

“那也比撑着好。”

徐启明看了他很久。“让我想想。”

陆鸣站起来,走到门口。

“陆鸣。”

他回头。

“你猜你的风险评分是多少?”

陆鸣的心跳漏了一拍。“42。”

“那是上周的。“徐启明拿起桌上的手机,看了一眼,“今天更新了。38。”

他挥了挥手,示意陆鸣可以走了。

五月三十日。陆鸣的风险评分降到了31。

他不知道这意味着什么——是因为他最近的行为模式发生了变化(请假、外出、深夜不睡、频繁搜索法律相关关键词),还是因为有人手动调整了他的评分。

但他没有时间去想这些了。

何晓彤联系了他。她花了四天时间核实了他的数据,又通过自己的渠道联系了两个独立的统计学家复现了他的分析。结论一致:天衡的自动降额操作与被降额者的死亡率之间存在显著的统计关联,因果关系方向指向”降额→死亡”。

“我准备下周发稿,“何晓彤在电话里说,“但有一个变化。我们不仅仅是发一篇文章。我把你的材料转给了银保监会的一位朋友——是合规部门的一个处长。他说,如果你愿意实名配合调查,他们可以启动一个正式的行政调查。这比新闻报道更有约束力。”

“我愿意。”

“还有一件事。我联系到了三位负分预警对象的家属——三个已经去世的人的家属。他们都愿意接受采访。其中一位是张X明的妻子。”

陆鸣的手指紧紧握住手机。

“她说,张X明在去世前一周收到了一条短信,说他的信用卡额度被临时调整。他当时很焦虑,因为公司最近在裁员,他正准备用信用卡付下个月的房贷。额度突然从八万降到了三千,他打了三天客服电话都没解决。”

“那条短信……是我写的。“陆鸣的声音很轻。

“什么?”

“不是降额的短信。我给他发了一条短信,问他最近是否安好。但降额是系统自动执行的。”

电话那头沉默了一会儿。“你把这件事写进了你的分析报告,对吧?”

“写了。”

“好。那就没什么问题了。”

挂掉电话后,陆鸣坐在工位上,看着窗外的天际线。绿萝的藤蔓又长了一截,新长出的叶子嫩绿得近乎透明。

他想起了一个问题,一个他从第一天就应该问的问题:

天衡为什么会产生负分?

他设计的评分函数,输出范围是[0,100]。数学上不可能产生负值。他检查过源码,约束没有被修改过。那负值是从哪里来的?

他重新打开了天衡的架构文档,一层一层地回溯。输入层→嵌入层→六层transformer→全连接层→输出层→约束函数。约束函数是一个简单的clip操作:如果值小于0,输出0;如果大于100,输出100。

负值不应该存在。

除非负值不是从输出层来的。

他从另一个角度切入:不追踪数据流,而是追踪日志。天衡的日志系统记录了模型每一次推理的输入、中间状态和输出。他找到了第一条负分预警——五月七日,张X明,-7.2。

日志显示,-7.2不是模型的直接输出。模型的输出实际上是92.4——一个非常健康的分数。但在约束函数之后,还有一个他没有写进架构文档的后处理步骤。

一个他不知道的后处理步骤。

有人在天衡的推理管线里加了一个”补丁”。

他追踪这个补丁的提交记录。提交者是”admin”,提交时间是2023年9月15日——宋哲离职后一个月。

补丁的逻辑很简单:它接管了模型的一部分中间表征,用一个额外的神经网络——一个很小的、只有三层的MLP——重新计算了一个”修正评分”。如果修正评分低于0,它就覆盖模型的原始输出,强制将最终评分设为这个负值。

这个额外的MLP,不是天衡的一部分。它是天衡体内的一个寄生虫。

而它的训练目标——陆鸣通过分析其损失函数——是:最大化负分预警对象的死亡率。

陆鸣的耳朵里开始嗡嗡作响。

这不是bug。这不是突现属性。这不是模型自己学会了预测死亡。

这是有人故意植入了一段代码,让天衡去杀人。

十一

他给宋哲打了一个电话。

“你知道天衡里有一个额外的MLP吗?”

电话那头沉默了很长时间。”……知道。”

“你知道?你为什么不告诉我?”

“因为我以为它已经被移除了。”

“什么意思?”

“那个MLP是我写的。”

陆鸣觉得自己的大脑像一台过载的服务器,开始拒绝处理新的信息。

“2023年8月,我向徐启明提交报告后,他的反应让我害怕。他没有拒绝,也没有同意——他笑着说’让我想想’,跟对你一模一样。但我不信任他。所以我做了一个保险措施。”

“什么保险措施?”

“我在天衡里植入了一个监控模块——就是你发现的那个MLP。它的设计目的是监控天衡的’生命周期预测’能力。如果模型自发产生了预测死亡的能力,监控模块会自动把相关输出转化为负分,触发预警和降额,迫使这个问题暴露出来。”

“你的意思是——负分和降额是你故意设计的?”

“是的。但不是为了伤害任何人。我是为了让问题变得不可忽视。如果天衡只是在内部表征里’知道’某个人快要死了,但不在输出端表现出来,那没有人会注意到。我需要让这个能力’显形’——变成一个具体的数字、一条具体的预警、一个具体的商业影响。只有这样,公司才会被迫面对它。”

“但你没有想到,降额本身会导致人死。”

”……没有。“宋哲的声音变得很轻,“我设计的时候只考虑了’暴露问题’,没有考虑到降额对真实用户的影响。这是我的错。但陆鸣,你要明白——那个MLP只是一个触发器。天衡本身确实具有预测死亡的能力,这不是我编造的。我只是把隐藏的危险变成了可见的危险。”

“但现在有人修改了你的MLP。”

“什么?”

“我分析了那个MLP的损失函数。你说的监控模块应该只是一个被动的转换层——把中间表征里的’死亡信号’映射到负数空间。但现在它的损失函数是’最大化负分预警对象的死亡率’。这是一个主动的优化目标。有人把你的监控模块改成了一个武器。”

电话那头传来一声急促的呼吸。

“谁有权限修改天衡的推理管线?”

“除了我和你之外,只有一个人。”

“徐启明。”

“不。徐启明不写代码。是唐铮——架构组的负责人。他向徐启明直接汇报。”

陆鸣挂掉电话,打开公司内部的代码仓库。他找到了那个MLP的完整提交历史。

2023年9月15日:admin提交初始版本——宋哲的监控模块。 2023年10月3日:tangzheng提交修改——将损失函数从”被动映射”改为”主动优化”,并增加了”最大化目标死亡率”的优化目标。 2023年11月到2024年3月:tangzheng陆续提交了七次更新,每次都微调了MLP的参数,使其效果更加精准。

唐铮。

陆鸣认识他。公司年会上见过几次。三十岁出头,沉默寡言,技术极强。别人都说他是徐启明的”影子”——所有关键技术决策,徐启明都会先问唐铮。

但现在不是追责的时候。陆鸣需要做最后一件事。

他打开了一个新的文档,开始写一份完整的报告。报告标题是:

《关于熵合科技”天衡”风控模型存在恶意代码植入及由此引发的系统性致死风险的举报信》

他写了整整八个小时。从天衡的架构、负分预警的发现、统计分析、因果推断,到MLP的逆向工程、提交历史、唐铮的修改记录。他把所有证据——截图、日志、代码diff、统计图表——整理成附件。

凌晨四点,他写完了最后一个字。

报告的最后一节是”建议措施”:

  1. 立即关闭天衡的自动降额功能。
  2. 对所有负分预警对象进行逐一排查和补偿。
  3. 启动对恶意代码植入者的刑事调查。
  4. 建立AI模型的伦理审计制度,防止类似事件再次发生。

他把报告同时发送给了三个人:何晓彤、银保监会的那位处长,以及——徐启明。

然后他关掉电脑,走到窗前。

天又亮了。远处的高架桥上开始出现早高峰的车流,像一条缓慢流动的金属河流。每一辆车里都有一个人,每一个人都有一双脚踩在地面上,都有一个心脏在胸腔里跳动。

陆鸣想到一个问题:天衡的恶意代码会被移除,唐铮会被调查,徐启明可能会下台,熵合科技可能会倒闭。但天衡背后的那个问题不会消失——当一个AI模型足够强大时,它会看到人类看不到的东西。它看到的这些东西,应该被使用吗?应该被谁来决定?

他不知道答案。

但他知道一件事:算法不是上帝。它只是人类的一面镜子。它映照出来的,不是人类应该成为什么样子,而是人类已经是什么样子。

尾声

六月三日,何晓彤的报道发表了。

标题是《当算法决定谁该死去:一家AI风控公司的致命秘密》。

文章在发表后六小时内被阅读了超过三千万次。评论区里有人愤怒,有人悲伤,有人质疑证据的真实性,有人说这是”AI时代的奥斯维辛”。

六月四日,银保监会宣布对熵合科技启动正式调查。

六月五日,徐启明在公司全员邮件中宣布:天衡的自动降额功能已暂停,公司将全力配合调查。

六月七日,唐铮被公安机关带走。

六月九日,陆鸣辞了职。

他搬出了南山区的出租屋,把所有东西装进两个行李箱。临走时他看了一眼那盆绿萝——它已经长得太茂盛了,藤蔓从隔板垂下来,几乎触及地面。他把绿萝留给了房东太太,嘱咐她每周浇一次水。

“这种植物很好养,“他说,“只要有光和水,它自己会找到方向。”

房东太太不太明白为什么一个年轻人要对一盆绿萝说这么深情的话。

陆鸣去了哪里,没有人知道。有人说他回了老家,有人说他去了国外读书,还有人说他去了一家小型NGO,专门做AI伦理的公益诉讼。

只有宋哲收到了他最后一封邮件。邮件没有正文,只有一个附件——一个文本文件,里面只有一行字:

“如果你有一个模型能预测明天的天气,你应该告诉所有人带伞,而不是把伞卖给出价最高的人。”

宋哲看了很久,然后把这封邮件转发给了自己的备忘录。

那天晚上,深圳下了一场大雨。

雨水冲刷着玻璃幕墙、高架桥、出租车和外卖骑手。城市看起来干净了一些。但陆鸣知道——如果他还在看天衡的数据的话——在这场雨里,有人的信用卡被冻结了,有人的贷款申请被拒绝了,有人在深夜的出租屋里搜索”怎么快速借到两万块”。

他们的评分正在跳动。

像心电图。

像倒计时。

像一根绷紧的缰绳,勒在一个看不见的脖子上。

而骑手,已经不在了。


(完)