云端博弈
一
陆鸣第一次注意到那个数字,是在一个星期三的早晨。
他站在地铁站的自助售票机前,刷了身份证,屏幕上跳出一行小字:您的信用评分已更新。当前评分:847。
八百四十七。他盯着这个数字看了三秒钟,觉得哪里不对。上个月还是八百五十二。他没逾期还款,没欠税,没闯红灯,没有任何一次社交平台上的不当言论。五分去了哪里?
售票机下方的广告屏正在循环播放”天穹系统”的宣传片:一个穿着白衬衫的年轻人微笑着走进一家银行,身后的数据流像银河一样展开,旁白用沉稳的男中音说——“天穹信用,让每一份善意都被看见。”
陆鸣是”天穹系统”的后端工程师。准确地说,他是负责信用评分模型第三层的算法工程师,在深圳市数据管理局下属的天穹科技工作。他的日常就是把海量的行为数据——交易记录、出行轨迹、社交频率、消费习惯——喂进一个多层神经网络,让模型输出一个0到1000之间的整数。
这个数字决定了一个人能不能拿到房贷,能不能坐高铁商务座,能不能在医院挂专家号,甚至能不能在相亲平台上被推荐。
他比谁都清楚这个数字是怎么来的。他写了其中三分之一的代码。
所以当自己的分数莫名其妙掉了五分的时候,他有一种医生给自己做体检发现异常的荒诞感。
“可能是波动,“他在心里对自己说。模型的边际效应在850分以上会变得极度敏感,一顿外卖的配送费差价、一次深夜的搜索记录,都可能触发微调。这是设计上的”特征”,不是”缺陷”——他亲自在技术文档里写过这句话。
他买了票,走进站台。地铁里人很多,每个人脸上都挂着清晨的倦意。陆鸣低头看手机,天穹系统的内部工作群已经炸开了锅。
“数据湖那边出异常了,“运维组的赵姐发了一条消息,“C区三百多万条行为记录的时序标签错位,导致昨夜的批处理跑出了脏数据。”
“影响范围?“技术总监老何问。
“初步估算,深圳地区大约四十万用户的评分在正负十分之内波动。”
四十万人。陆鸣想。四十万人今天早上醒来,发现自己的信用分数变了。他们中的大多数人不会知道原因,只会像他一样,对着屏幕上那个莫名其妙的数字发呆,然后试着回忆自己最近做错了什么。
这就是他参与建造的世界。
二
苏曼是在那天下午发现问题的。
她在南山区的一家咖啡馆里,面前摆着一台笔记本电脑和一杯已经凉透的美式。她是一名独立记者,以前在《南方都市报》做深度报道,三年前辞职做了自由撰稿人。她的报道方向是科技与社会交叉地带的那些灰色角落——数据隐私、算法歧视、平台垄断。
她正在写的稿子关于天穹系统。
不是那种”数据改变生活”的歌颂稿。她关注的更具体:天穹系统的信用评分模型是否存在系统性偏差?低分用户是否被剥夺了应有的公共服务?算法的决策过程是否可以被质疑和申诉?
这些问题听起来简单,回答起来却像在迷宫里走夜路。天穹科技的公开文档写满了”公平""透明""可解释”这类词,但当你真正试图追溯一个具体用户的评分变化时,你会发现每一条路径都通向一个黑箱。
“系统根据多维度数据进行综合评估”——这句话她已经在申诉回复邮件里见过十七次了。
今天她见的人叫周慧,是一个四十多岁的女人,在龙华区开了一家小超市。周慧的信用评分在去年十一月突然从783降到了651,跌了一百三十二分。天穹系统没有给出任何具体原因。
一百三十二分的下降意味着什么?意味着周慧的超市不能再使用平台的信用进货渠道,意味着她的儿子在学校推荐的实习名单上被排到了最后,意味着她去银行申请小额贷款时被自动拒绝。
“我找了好多次,“周慧坐在咖啡馆对面,声音平静得像在讲别人的故事,“先是打客服电话,客服说他们会转给技术部门。等了两周,收到一封邮件,就是那句话——‘系统根据多维度数据进行综合评估’。然后我去天穹科技的线下服务点,排了三个小时的队,工作人员告诉我他们只能看到评分结果,看不到评分逻辑。”
“那你怎么想的?“苏曼问。
周慧沉默了一会儿。“我想,是不是因为我进货的那个批发商出了问题?十月份的时候换了一个供应商,价钱便宜一些,但那个供应商后来被查出有税务问题。可那是他的事,不是我的事。”
苏曼在她的笔记本上画了一条线。她知道天穹系统的”关联网络”特征——模型会分析一个用户的社会关系网络,如果你的交易对象中有信用评分低的人,你的分数也会受到牵连。这在技术术语里叫”网络正则化”,在设计文档里被描述为”防范信用风险传导”。
但在现实中,它的意思是:如果你运气不好,跟一个后来出事的人做过生意,你就得跟着倒霉。
“我后来找到区里的一个干部,“周慧继续说,“他说他也没办法,天穹系统的评分是市里统一的,区里改不了。他说了一句话我到现在还记得——‘周姐,不是针对你,是系统算出来的,系统不会针对任何人。’”
系统不会针对任何人。苏曼把这句话记下来,在旁边画了一个问号。
三
那天晚上,陆鸣加班到十一点。
他在办公室里试图追踪赵姐说的时序标签错位问题。说起来也不复杂——数据湖的ETL流程在凌晨的批处理中,因为一条时间戳格式的变更,导致三百多万条记录被标记成了错误的日期。这些错位的数据被送进模型,模型忠实地按照错误的时序做出了计算,输出的评分自然就有了偏差。
修复方案很简单:回滚数据,重新跑一次批处理。但问题是,回滚需要审批,审批需要说明影响范围,说明影响范围需要先跑一遍影响分析,而影响分析本身就要用到那批脏数据。
一个完美的死循环。
“先写个临时脚本,把受影响的用户标记出来,“老何在群里说,“明早跟局里汇报,看要不要全量回滚。”
陆鸣开始写脚本。写着写着,他的手指停了下来。
他注意到了一些奇怪的模式。在那三百多万条错位的数据中,有一个子集的行为轨迹异常集中——都是龙华区的商户,而且他们共享同一个供应商网络。他顺着供应商网络往上游追溯,发现这些商户的评分在过去半年里都有过不同幅度的下降,但下降的时间点并不一致,分散在不同的月份。
如果不看时序标签错位这件事,这些下降看起来完全正常——模型在不同的时间窗口捕捉到了不同的风险信号。但如果把它们放在同一个时间轴上重新排列,所有的下降都集中在两个时间点:去年十月和今年三月。
像是有人刻意把一次性的调整分散成了多次小幅波动,让它看起来像是模型正常运作的结果。
陆鸣的心跳加速了一拍。他知道这不可能——模型是自动运行的,没有人手动干预评分。除非……
除非有人在数据进入模型之前就已经做了手脚。
他关掉脚本,打开了模型的输入层日志。输入层日志是天穹系统最底层的记录,记录了每一条数据在进入模型之前的原始状态和预处理结果。这些日志通常只有他和另外两个同事会看。
他开始对比原始数据和预处理结果。
在去年十月的记录中,他找到了一条异常:一个供应商节点的信用评分被手动覆盖了。不是模型计算的,是一个具有管理员权限的账号直接修改的。
修改者账号:TQ_ADMIN_0017。
陆鸣认识这个编号。那是天穹科技高级副总裁郑远航的管理员账号。
四
苏曼花了两天时间整理周慧的案例。她决定不只写一个人——她通过社交平台和线下走访,找到了二十多个信用评分异常下降的低分用户,他们分布在深圳的不同区域,从事不同的行业,但有一个共同点:他们的生活轨迹都曾与一个叫”汇融达”的供应链公司产生过交集。
汇融达是一家做中小商户供应链金融的公司,简单说就是帮小商户垫资进货,商户分期还款。在2024年到2025年间,汇融达曾经是深圳市推广”数字普惠金融”的标杆企业,频频出现在官方报道里。
但到了2025年下半年,汇融达的创始人因涉嫌非法集资被调查。公司倒闭,数以千计的小商户被牵连——他们的供货渠道断了,垫资变成了坏账,而他们的信用评分因为与汇融达的关联网络而急速下跌。
这是一个典型的”算法连坐”案例。苏曼觉得这就是她要写的故事。
但她还缺一个关键环节:天穹系统的关联网络分析是否有意针对了汇融达的下游商户?如果是模型自动运行的结果,那说明算法设计本身有缺陷;如果是人为干预的结果,那性质就完全不同了。
她需要一个内部消息源。
苏曼翻出手机通讯录,找到一个名字:陆鸣。他们是大学同学,毕业后偶尔联系。她知道陆鸣在天穹科技工作,但具体做什么不太清楚。上一条聊天记录还停留在半年前,陆鸣转发给她一条关于”算法可解释性”的学术论文,附了一句话:“你可能感兴趣。”
她犹豫了一下,发了一条微信:“在吗?想跟你聊聊天穹系统的事,方便的话找个时间碰一下。”
消息发出去之后,她看着对话框顶部的”对方正在输入”闪烁了很长时间,最后什么也没收到。
五分钟后,她的手机响了。不是微信,是电话。
“别在微信上说,“陆鸣的声音压得很低,“明天中午,老地方,珠海印象,靠里面的包间。”
电话挂断了。苏曼握着手机,感到一种熟悉的兴奋和不安——做深度报道的记者对这种信号极其敏感。她的信源要给她看的东西,一定比她预想的更大。
五
珠海印象是他们大学时常去的一家粤菜馆,十几年过去了还在。陆鸣坐在包间最里面的位置,面前放着一壶菊花茶,手边是一个加密U盘。
苏曼推门进来的时候,他注意到她瘦了很多。上一次见面是去年冬天的一次校友聚会上,她还显得松弛,穿着一件oversized的卫衣,喝酒划拳都不落下风。现在她穿着一件灰色衬衫,袖口卷到手肘,露出一截晒黑的小臂,眼神里带着一种紧绷的专注。
“你看起来不太好,“苏曼坐下来说。
“你也是,“陆鸣倒了杯茶递给她,“先说你的。”
苏曼用了十五分钟讲了她的调查——周慧的案例、二十多个异常用户的共性、汇融达的关联、她的猜测。她讲得很清晰,像在做一次编辑部的选题汇报。
陆鸣听完,沉默了很久。包间外面传来餐厅的嘈杂声,有人在隔壁桌大声讲电话,茶壶里的水烧开了,咕嘟咕嘟地响。
“你猜对了,“他说,“不是模型的问题,是人为干预。”
他把U盘推到桌子中间。“这里面有两样东西。第一,天穹系统输入层日志的备份,里面有管理员账号直接修改供应商节点评分的记录。修改人是郑远航。第二,一份内部邮件的截图,是郑远航发给数据管理局一位副局长的,邮件里提到’优化特定商户群体的风险权重’。时间是去年十月,正好是汇融达被调查之后两个月。”
苏曼没有马上伸手去拿U盘。她看着陆鸣的眼睛,问了一个他预料到但不想回答的问题。
“你为什么给我这个?”
陆鸣低头看着茶杯里漂浮的菊花瓣。“因为我在系统里看到了一些不该看到的东西。那个时序标签错位不是一次事故——至少不完全是。有人利用了那次数据异常来掩盖更早之前的手动修改。如果我不说出来,等回滚完成,原始日志就会被新的批处理覆盖,到时候谁也找不到证据。”
“你知道这意味着什么吗?”
“意味着我要跟自己的公司、自己的领导、自己参与建设的系统对着干。”
“不是这个。意味着你以后在天穹干不下去了。可能在这个行业都干不下去了。”
陆鸣笑了一下,那种笑容里有一种奇怪的释然。“你知道我为什么做算法吗?大学的时候,我选修了一门博弈论,课上老师说,数学是唯一公正的东西——一加一等于二,不管你是国王还是乞丐。我信了。我觉得如果我能把信用评分做成纯粹的数学,那它就是公正的。”
他顿了顿。“后来我发现,数学是公正的,但喂给数学的数据不是。决定一个人信用的不是算法,是选择让算法看到什么的人。”
苏曼伸手拿起了U盘,攥在手心里。U盘的金属外壳被他的体温捂热了,握在手里有一种微微发烫的错觉。
“我会保护你的身份,“她说。
“我知道。“
六
接下来的两周,苏曼像是进入了一种她称之为”深潜”的工作状态。所有社交取消,所有闲聊免谈,每天醒着的时间除了吃饭就是核实证据、采访信源、构建报道的逻辑链条。
U盘里的数据需要验证。她不是技术人员,但她认识几个可以做数据分析的朋友。她把脱敏后的数据发给了北京的一位数据科学家,请他验证管理员修改记录的真实性。对方花了三天时间,回复说:“从日志格式、时间戳、操作序列来看,这些记录不像是伪造的。而且操作者的权限层级和管理员编号与天穹科技的内部架构一致。”
内部邮件的截图更难验证。她尝试通过多个渠道联系邮件中提到的那位副局长,对方始终没有回应。但她通过另一位政府信源确认,那段时间确实有过一次关于”调整天穹系统商户风险参数”的内部讨论。
与此同时,她继续走访受影响的商户。在二十多个案例的基础上,她又找到了三十多个。这些人的故事各有不同,但核心模式高度一致:他们都是在与汇融达产生业务关联后,信用评分出现了显著下降;他们都没有收到过任何通知或解释;他们的申诉全部被以标准模板回复。
有一个商户的话让她久久不能忘记。那是一个在宝安开五金店的中年男人,姓陈,他的信用分数从769跌到了620。
“我不恨天穹系统,“陈师傅坐在满是铁锈味的店铺里说,“我甚至不恨那个修改我分数的人。我恨的是那种感觉——你做了所有正确的事,但你的生活还是被一个你看不见的东西给毁了,而且没有人能告诉你那个东西是什么。”
苏曼把这句话记在笔记本上,没有在旁边画问号。有些话不需要注释。
七
陆鸣在那两周里过着两种生活。
白天,他是天穹科技的好员工。他完成了时序标签错位的修复方案,协助运维团队做了回滚测试,在技术复盘会上做了详细的故障分析报告。他的表现得到了老何的表扬,甚至被推荐参加市里的”数字政务标兵”评选。
晚上,他是一个焦虑的共谋者。他不确定苏曼的报道能不能发出来,不确定U盘里的证据够不够充分,不确定郑远航会不会发现日志被拷贝,不确定自己会不会在某个深夜接到一个让他永远沉默的电话。
他开始失眠。躺在床上的时候,他会想一些奇怪的事情。
比如,他会想那些被修改了评分的人现在在做什么。那个在龙华开超市的周慧,她的儿子找到实习了吗?那个在宝安开五金店的陈师傅,他的贷款批下来了吗?他们不知道有一个叫陆鸣的人在他们生活的背景里,像一只看不见的手,拨弄着决定他们命运的数字。
他还会想郑远航。郑远航今年四十八岁,清华计算机系毕业,在数据管理局干了十五年,从科员做到副处长,然后被调到天穹科技做高级副总裁。在公司的年会上,郑远航喜欢讲一个故事:他小时候在农村长大,家里穷,父亲去镇上贷款,被信用社的办事员因为”看不顺眼”而拒绝。他说他这辈子要做的事,就是让信用评估不再依赖任何人的”看不顺眼”。
“算法不会看人下菜碟,“他在年会上说,“算法只看数据。”
陆鸣当时坐在台下鼓掌。现在想来,那句话有另一种读法:算法只看数据,但决定哪些数据能被看到的人,可以。
最让他不安的是,他不确定郑远航是坏人。也许在郑远航的逻辑里,降低汇融达关联商户的风险权重是一个合理的决策——汇融达确实暴雷了,它的下游商户确实存在还款风险,从风控的角度看,提前降低他们的信用评分是一种”预防性措施”。至于那些被误伤的人,那是模型的代价,是系统的容错率,是用百分之五的误差换取百分之九十五的准确率。
这是他曾经也信奉的逻辑。直到那个数字落在自己头上——847,比上个月少了五分。那一瞬间他体会到的不是数学的公正,而是一种被剥夺了主体性的恐惧:他的生活正在被一个他自己参与创造的系统审判,而他没有申辩的权利。
百分之五的误差率。对系统来说,那只是一个统计数字。对那百分之五里的每一个人来说,那就是他们的全部生活。
八
苏曼的报道在第十八天成型了。
一万两千字的深度调查,标题暂定《算法之眼:当信用评分成为权力的工具》。她用周慧和陈师傅的故事作为主线,以汇融达事件为切入点,层层递进地展现了天穹系统在设计和执行层面的问题:关联网络的”算法连坐”、评分逻辑的不可解释性、申诉机制的形同虚设,以及——最关键的——管理员的定向干预。
她把稿件发给编辑老林。老林看完后沉默了半小时,然后打来电话。
“证据够硬吗?”
“日志数据有第三方验证。邮件截图只有一个信源确认,没有第二方。”
“那个管理员操作记录,能不能确认是郑远航本人操作的?不能是别人用了他的账号?”
“天穹系统的管理员账号是双人认证的,密码加生物识别。除非他自己泄露了 credentials,否则只能是他本人操作。”
“你意识到这篇东西发出来意味着什么吗?这不是一篇普通的调查报道,这是在指控一个市级科技项目的高级管理人员滥用职权。”
“我知道。”
“你的信源安全吗?”
“我会保护他。”
“不是我问的。我问的是,他会不会被查出来?天穹科技内部有没有排查?”
苏曼沉默了几秒钟。“我不确定。”
老林叹了口气。“稿子先压一压。我要你做三件事:第一,找到第二个独立信源确认邮件的真实性;第二,找一位算法伦理或数据法方面的专家,对’算法连坐’的机制做专业评论;第三,准备一份完整的证据链备份,万一——我是说万一——有人来要求我们撤稿,我们手里得有东西。”
苏曼同意了。她知道老林是对的。在新闻这个行业做了十多年,她学到的最重要的一课不是怎么写好一篇报道,而是怎么让一篇报道活下来。
九
陆鸣是在第二十一天发现异常的。
他在公司的内部系统中查看自己的操作日志——这是他每隔几天就会做的一次例行检查——发现有一条记录不对。三天前,有人以系统管理员的身份查询了他的所有操作历史,包括他在数据湖中的每一次访问记录。
查询者不是运维组的同事,而是安全审计部。
他坐在工位上,手指冰凉。他知道这意味着什么——安全审计部通常只在两种情况下会查操作日志:一是外部投诉触发内部调查,二是公司怀疑有数据泄露。
他想起苏曼的报道。她还没有发表,但她的调查已经触动了某个链条。也许是她联系过的人里有人向天穹科技透露了消息,也许是她在走访过程中留下的痕迹被捕捉到了。
无论如何,他暴露了。
他没有犹豫。回到工位后,他打开电脑,把自己在过去三周里收集的所有额外证据——包括他在分析异常模式时发现的更多手动修改记录、郑远航与其他管理员的内部沟通截图、以及模型设计文档中被标注为”仅限内部”的风险参数说明——全部加密上传到一个他私有的云存储空间。
然后他删除了本地的所有副本。
做完这一切之后,他给苏曼发了一条加密消息:“审计部查到我了。证据已经上传到约定位置。密码是我们大学毕业年份倒过来。”
发完消息,他把手机恢复出厂设置。
那天晚上,他没有回家。他在公司附近的一家快捷酒店住下,躺在床上盯着天花板,想了很多事情。他想起小时候在老家,夏天晚上躺在院子里的竹床上看星星,那些星星的光走了几万年才到达他的眼睛,而它们中的很多其实早就已经熄灭了。
他觉得自己现在就像一颗已经熄灭但光还在路上的星星。他做的事情已经不可撤销了,但结果还没有到达任何人眼中。
十
苏曼收到消息的时候正在家里改稿。她花了五分钟下载并解密了陆鸣上传的文件,然后花了两个小时逐一看完。
新的证据比U盘里的东西更有杀伤力。不仅有了更多的手动修改记录,还有模型设计文档中关于”关联网络惩罚系数”的详细说明——这个参数被设置得异常高,远超行业通行标准。一份内部备忘录甚至明确写道:“对于与风险主体的直接关联节点,建议采用三级传染系数,即关联节点的关联节点的关联节点均纳入风险计算。”
三级传染。这意味着不只会惩罚直接与汇融达做生意的人,还会惩罚与这些人做生意的人,甚至会惩罚与这些人的生意伙伴做生意的人。一个供应商的暴雷可以像病毒一样传染到整个商业网络的每一个角落。
周慧的超市只是这个网络中的一个末端节点。她甚至不是汇融达的直接客户——她只是从一个汇融达的间接供应商那里进货。但三级传染的算法把她也卷了进来。
苏曼把新的证据整理好,发给了老林。同时她联系了两位专家——一位是北京大学法学院的教授,研究方向是数据治理与算法问责;另一位是清华大学计算机系的副教授,研究方向是算法公平性。两位专家在看过脱敏后的证据后,都同意在报道中提供专业评论。
“这种三级传染机制在学术上被称为’过度正则化’,“清华的副教授在电话里说,“它会导致一种级联效应,让局部的风险信号被放大到整个网络。在设计上,它可能是一个有意识的选择——牺牲一部分无辜用户的利益,换取整体系统的保守性。但从伦理和法律的角度看,这是有严重问题的。”
北大的教授更直接:“天穹系统作为公共基础设施,它的算法决策涉及公民的基本权利。在这种情况下,不提供透明的申诉机制、不披露评分逻辑、不设置人为干预的审查程序,本质上就是一种行政权力的滥用。不管这种滥用是个人行为还是制度性问题,都应该被追责。”
苏曼把这些评论嵌入稿件,重新调整了结构,最终成稿一万五千字。
老林看完最终版后沉默了比上次更久。
“发吧,“他说。
十一
报道发表在一个周四的早上。苏曼选择周四是因为统计学——周四是社交媒体传播效率最高的工作日,而且距离周末还有足够的时间发酵,不会像周五那样被周末的信息流冲淡。
她没有预料到的是反应速度。
报道上线后的第一个小时内,转载量就突破了五万。三小时后,#天穹系统信用评分# 登上了微博热搜第三。六小时后,深圳市数据管理局发布了一份声明,称”已关注到相关报道,正在组织核查”。
十二小时后,郑远航被停职。
这些事情发生得太快了,快到苏曼自己都觉得不真实。她坐在书桌前刷新闻,一条一条地看,像是旁观一列已经失控的火车。她知道这列火车的终点不一定是正义——有可能只是另一场精心编排的危机公关——但至少它动了。
但真正让她心头一震的,是另一个消息。
报道发表后的第二天,陆鸣被天穹科技解雇了。理由是”违反公司信息安全管理制度,擅自拷贝和传播内部数据”。公司的内部公告没有提到报道,也没有提到郑远航,只是用一种标准的行政语言宣告了一个员工的离开。
苏曼是在微信上看到这条消息的。一个共同的朋友告诉她:“陆鸣被开除了。听说是他泄的密。”
她给陆鸣打电话,关机。发消息,没有回复。她又查了那个加密云存储的空间——文件还在,但没有新的上传。
接下来的三天,她几乎用尽了所有渠道试图联系陆鸣。打他老家父母的电话,说他不在。找他大学室友,说他最近没跟任何人联系。甚至去了他租住的小区敲门,邻居说好几天没见到他了。
第四天晚上,她的手机收到了一条来自未知号码的短信。
“我没事。在朋友那里住几天。不要找我。稿子很好。”
苏曼盯着这条短信看了很久。她知道陆鸣的处境远比短信里说的复杂。他不仅丢了工作,还可能面临法律追诉——泄露公司数据、侵犯商业秘密,这些罪名在天穹科技的法务团队手里可以被包装成各种形态。
但她也知道,此刻她不能做更多了。她能做的最好的事情,就是让这篇报道继续产生影响,让讨论持续下去,让那种”系统不会针对任何人”的说辞在公众审视面前站不住脚。
她回了一条短信:“好。注意安全。”
然后她打开了电脑,开始写后续报道。
十二
后续的进展比苏曼预想的更复杂,也更荒诞。
郑远航被停职后的第二周,天穹科技召开了一次新闻发布会。新任代理CEO是一个从北京调来的干部,姓方,戴着金丝眼镜,说话像在念报告。他宣布了三项措施:第一,对天穹系统的评分模型进行全面审计;第二,设立独立的”算法伦理委员会”来监督模型的公平性;第三,开通”信用评分申诉绿色通道”,承诺对每一个申诉在七个工作日内给出具体解释。
这些措施听起来很美好,但苏曼注意到一个细节:新闻稿里没有任何地方提到”人为干预”或”管理员权限滥用”。所有的措辞都指向”模型优化”和”系统升级”——仿佛之前的问题只是一个技术bug,而不是一个权力滥用的问题。
她写了一篇分析稿,标题是《审计模型还是审计人?天穹系统整改的三个关键问题》。稿件指出了整改方案的核心盲区:不审查人为干预的决策链条,任何模型审计都是隔靴搔痒。
这篇稿件的影响力比第一篇小得多。公众的注意力已经被新的热点吸引走了——某个明星出轨了,某个短视频平台被罚款了,某个城市的房价又涨了。天穹系统的讨论在一周之内从热搜第一滑到了第十页之后。
苏曼对此并不意外。她做深度报道十多年,见过太多次这种循环:一篇报道引爆舆论,官方回应,措施出台,公众散场,然后一切回到原点。真正的改变从来不是一篇报道能推动的,它需要的是持续的压力、制度的设计和足够多的个体的坚持。
但她也看到了一些不同寻常的东西。
在报道发表后的一个月里,有超过三万名天穹系统用户提交了信用评分申诉——而在此之前的整整一年里,申诉总量不到五千份。深圳市人大常委会的几位委员在一次内部讨论中提到了”算法问责立法”的可能性。北京和上海的几家律所开始接受天穹系统用户的集体诉讼委托。
这些变化是微小的、分散的、不确定的,但它们存在。像是在一面巨大的混凝土墙上出现了第一批裂缝——你不知道这些裂缝会不会扩大,不知道墙会不会倒,但你知道它已经不是完整的了。
十三
陆鸣消失了整整两个月。
他确实在朋友那里住了几天,然后搬到了另一个朋友那里,再然后去了东莞一个他大学同学的工厂里帮忙做仓管。他没有再用过自己的身份证住酒店,没有再登录过任何与真实身份关联的账号,手机用的是一张不记名的电话卡。
他有时会在工厂的仓库里,坐在堆满纸箱的角落,想自己到底在逃避什么。天穹科技没有报警——至少据他所知没有。郑远航被停职后,公司有更大的麻烦要处理,一个中层工程师的去留根本排不上日程。他的银行账户还在,社保还在缴纳(虽然已经断了),微信还可以正常登录(虽然他已经不用了)。
他不是在逃避追捕,他是在逃避一个更深层的问题:接下来做什么?
他花了十年时间成为算法工程师。他精通Python和C++,理解反向传播和梯度消失,能在白板上推导Transformer的注意力机制。这些技能让他可以在任何一家科技公司找到年薪五十万以上的工作。
但现在,他不确定自己还想不想做这个了。
不是因为害怕,也不是因为理想主义。而是因为他开始怀疑一件事:当你亲手建了一个系统,然后发现这个系统可以被用来做你不认同的事,你是应该修好它,还是应该拆掉它?
他曾经以为是前者。他曾经以为,只要模型足够好、算法足够透明、数据足够干净,天穹系统就可以成为一个真正公正的信用评估工具。他曾经以为问题只在于执行层面——只要清除掉那些滥用权限的人,系统就会回归正轨。
但在仓库里度过的那些夜晚,他开始想,也许问题不在执行层面,而在设计层面。
一个决定八百万人的信用评分、影响他们的房贷利率、医疗资源、子女教育的系统,不管模型多么透明、算法多么公平,它本质上就是一个权力的容器。你可以往里面装最纯净的水,但只要有人能拧开盖子往里面加东西,水质就永远取决于那个拧盖子的人。
而那个拧盖子的人,永远是权力最大的人。
这不是一个技术问题。这是一个政治问题。
他想明白这件事的那个晚上,东莞下了一场大雷雨。他站在仓库门口,看着雨水像瀑布一样从屋檐上倾泻下来,打在水泥地面上溅起白色的水花。闪电把天空劈成两半,每一半都是同样深的黑色。
他拿出那张不记名电话卡的手机,给苏曼发了一条短信。
“我想回来了。“
十四
苏曼和陆鸣再次见面是在一个九月的傍晚。深圳的九月还是热的,但傍晚有风,吹过深圳湾的海面,带着一点咸味。
他们沿着海边走。苏曼穿着那件灰色衬衫,袖子照旧卷到手肘。陆鸣穿着一件在东莞买的二十块钱的白T恤,晒黑了不少,看起来像是刚从建筑工地出来的。
“你瘦了,“苏曼说。这是她第二次对他说这句话。
“你也是,“他说。这也是他第二次说这句话。
他们走了一会儿,谁都没开口。海面上的灯光倒映在水里,碎成一片一片的金色。
“我想做一些不一样的事,“陆鸣终于说,“不是修好天穹系统,也不是拆掉它。而是让更多人理解它。让每一个被系统评分的人,都能知道那个分数意味着什么、怎么来的、谁在控制它。”
“技术普及?“苏曼不太确定。
“不完全是。更像是……一种翻译。把算法的语言翻译成人的语言。让普通人也能看懂模型的逻辑,也能质疑模型的决策,也能在分数伤害他们的时候知道怎么保护自己。”
“你要做的是算法的’可解释性’,不只是技术层面的,而是社会层面的。”
“对。我管它叫’算法识字率’。就像读写识字率一样——你不一定要会写小说,但你得能读懂一张合同。你不一定要会写算法,但你得能看懂你的信用评分是怎么算出来的。”
苏曼想了想。“我可以帮你。我可以用报道的方式把这些东西讲出来——不是学术论文,不是技术文档,而是故事。周慧的故事、陈师傅的故事、你的故事。让人看到算法不是天上的东西,它就在他们的生活里,每时每刻。”
“你打算怎么做?”
“开一个专栏。或者做一个播客。或者两者都做。名字我都想好了——”
“叫什么?”
“叫’黑箱打开之后’。”
陆鸣笑了一下,是那种发自内心的、没有防备的笑。他已经很久没有这样笑过了。
“好,“他说,“我们一起做。”
他们继续沿着海边走。天完全黑了,但路灯亮了起来,在海面上画出长长的光带。远处有轮船的汽笛声,低沉而绵长,像是一个巨大的生物在水下翻身。
苏曼忽然说了一句话,声音很轻,几乎被风带走了。
“你知道最讽刺的是什么吗?我做了十几年记者,采访过贪官、骗子和杀人犯,但让我最难过的,从来不是那些坏人做了坏事。而是那些本来想做好事的人,不知不觉地变成了他们曾经反对的人。”
陆鸣没有接话。他知道她在说郑远航,也在说他自己。某种程度上,也在说她自己——每一个试图改变系统的人,都有被系统同化的风险。
他们走到海湾的另一端,在一排木椅上坐下来。海风变大了,苏曼把衬衫的袖子放了下来。陆鸣从口袋里掏出一包在东莞买的廉价香烟,抽出一根,但没有点。
“你知道吗,“他说,把烟放在手指间转着,“我在天穹的最后一周,曾经想过一个念头。我想要不要把那个管理员修改记录删掉。不是因为我怕被发现,而是因为我在想——如果没有人知道这件事,世界会不会更好?那些分数被改低的人,就算知道了原因,他们的分数也不会回来。他们的损失已经被计入了系统,成为了新的数据点,用来训练下一代模型。即使现在纠正过来,纠正本身也会成为数据,被模型学到。”
“然后呢?”
“然后我觉得不对。问题不在于纠正有没有用,而在于真相本身有没有价值。就算纠正不能改变过去,它至少能改变未来——让下一个做系统的人知道,有人会看见。让下一个想动管理员权限的人知道,有人会查到。让每一个被数字审判的人知道,数字不是命运,它只是某个人的选择。”
苏曼看着他。“你变了。”
“变好了还是变坏了?”
“变得更像一个人了。”
陆鸣终于点了那根烟。火光在海风中摇摇欲坠,但到底没有灭。
十五
后来的事情,没有什么戏剧性的转折。
郑远航在停职调查六个月后,被以”滥用管理权限、违规干预算法模型”的罪名移送司法机关。审判过程持续了八个月,最终以郑远航认罪、判处有期徒刑三年缓刑四年告终。量刑不重,但这是中国第一例因为”算法滥用”而被追究刑事责任的案件。
天穹系统经历了一次大规模的技术整改。关联网络的惩罚系数从三级降低到了一级,信用评分的申诉机制被重新设计,每一条评分变动都附带了可解释的决策摘要。这些改变不完全是因为苏曼的报道——也有立法的推动、学术界的压力、国际同行的关注——但报道是最早撬动这一切的那根杠杆。
苏曼的专栏”黑箱打开之后”在开播后的三个月内积累了二十万订阅者。她用讲故事的方式拆解算法——把信用评分比作一张看不见的成绩单,把关联网络比作一场无声的连坐审判,把管理员权限比作一把没有锁的钥匙。她请陆鸣做技术顾问,但她不让他在节目中露面。他只负责在幕后把技术概念翻译成她能听懂的语言,然后她再翻译成所有人都能听懂的语言。
这种双重翻译的效果超出了他们的预期。有听众写信来说,听了节目之后终于理解了自己的信用评分为什么会变化,然后成功提交了申诉。有中学老师说,他把节目的几期内容改编成了课堂材料,让学生讨论”算法是否应该被信任”。有一个法学院的研究生把节目引用在了自己的博士论文里。
陆鸣最终没有回到科技行业。他用积蓄和一笔基金会的资助,成立了一个小型的非营利组织,叫”算法透明实验室”。实验室的工作很简单:帮助普通人理解和质疑影响他们生活的算法决策。他们开发了一套开源工具,可以自动分析信用评分的变化模式,识别可能的异常干预。
实验室的办公室在深圳南山区的一个共享空间里,只有两间房,三个全职员工。与天穹科技那栋三十层的写字楼相比,它小得像一个玩具。但每天都有人来——有信用评分异常的商户,有被算法误判的外卖骑手,有不知道自己为什么被拒绝贷款的年轻人。他们来了之后,陆鸣或他的同事会帮他们拉出数据、分析变化、起草申诉。
有时候能帮上忙,有时候帮不上。但至少有人在听。
尾声
又过了一年,在一个秋天的早晨,陆鸣在实验室的电脑前收到了一条系统通知。
您的信用评分已更新。当前评分:851。
比两年前的那个早晨多了四分。
他盯着这个数字看了几秒钟,然后关掉了通知。窗外,深圳的天空是一种不太真实的蓝色——秋天的深圳偶尔会有这种天气,空气通透得像洗过一样,能看见远处的山。
他想起自己曾经站在地铁站里,对着屏幕上那个847发呆。那个时候他觉得那个数字是某种不可理解的力量强加给他的,是一种来自天穹的裁决。
现在他知道,数字从来不是裁决。数字只是一种语言,像任何语言一样可以被用来讲述真相,也可以被用来编织谎言。重要的不是数字本身,而是谁在选择让数字说什么,以及有没有人能听懂数字在说什么。
他打开邮箱,开始回一封来自杭州一位高中教师的邮件。那位老师在信中说,她学校里有一个学生的家庭因为信用评分问题被银行收回了助学贷款,她想问有没有什么办法可以帮助这个学生。
陆鸣开始打字。他写的第一句话是:“我可以帮你看看。”
窗外有一只鸟飞过,翅膀在阳光里闪了一下,然后消失在蓝色的天空中。
他不知道那只鸟飞向哪里。但他知道天空还在。
(完)