候鸟的账本
候鸟的账本
一、暗扣
林语第三次检查了那行代码。
凌晨三点,南山区科技园的写字楼只剩几扇窗还亮着,她的那间在二十七楼,从外面看大概像一只充血的眼睛。空调已经停了,深圳五月末的潮气从窗户缝隙里渗进来,像一只温热的手掌按在后颈上。
屏幕上是一段她再熟悉不过的参数矩阵。“天衡”信用评分系统——她参与开发的核心产品,服务着八千万用户,每个月处理超过两亿条信用行为数据。她闭着眼睛都能画出它的架构:十七层神经网络,七十二个特征维度,三百四十个衍生指标,最终输出一个三百到九百之间的数字。这个数字决定一个人能不能租到房子、借到钱、找到工作,甚至——在某些城市——能不能坐上高铁的商务座。
但此刻,在这座数字大厦的地基深处,她看到了一个不该存在的东西。
它藏在第三十七层权重矩阵的第四千一百二十三行,一个看起来平平无奇的偏置项。如果用标准的模型审计工具扫描,它会被当成几百万个普通参数中的一个,毫无可疑之处。但林语今晚不是在做标准审计——她在追查一个用户投诉,一个叫陈海的用户,他的信用分在一周之内从七百二十跌到了三百八十,而系统日志里找不到任何合理的解释。
她把这个偏置项提取出来,单独运行了一个反向推导。
结果让她脊背发凉。
这个参数会根据三个维度自动调低用户的信用评分:籍贯省份、年龄段、以及职业分类。当三个维度同时命中预设条件时——比如,籍贯在某个中部省份、年龄在四十到五十岁之间、职业属于”建筑工人”或”临时工”——系统会自动给这个用户的信用分额外扣掉一百二十到一百八十分。
不是因为他们的信用行为有什么问题,仅仅因为他们”是”这样的人。
林语把发现的结果导出成表格,按照这个参数的逻辑,全国受影响的人大概有一千四百万到两千万。他们中的绝大多数永远不会知道自己为什么贷不到款、租不到房、找不到工作。他们只会觉得,这个世界变得越来越硬了,像一面看不见的墙,到处都是软钉子。
她站起来走到窗前。深圳的夜景在二十七楼看出去是一片温热的星河——不是天上的星河,是写字楼、住宅、高速公路上的灯光织成的光网,从脚下一直延伸到看不见的地方。这座城市的每一盏灯背后都是一个活人,而他们中的很多人此刻正在被她发现的这个参数悄无声息地往下推。
她打开手机,给技术总监赵鹏发了一条消息:“我发现天衡有一个严重的问题,明天上午能谈谈吗?”
发出去之后她盯着屏幕看了很久。消息显示”已读”,但没有回复。
她知道赵鹏没睡。在这个行业,凌晨三点发消息从来不是什么失礼的事。不回复本身就是一种回复。
林语回到座位上,把那个偏置项重新放回权重矩阵里,然后打开了另一个文件——这是她一年前参与系统初版评审时保存的原始参数表。她一个一个地对比。毫无疑问,这个参数是后来加进去的,不在初版设计里。
她查了git提交记录。提交者是一个她已经不认识的工号,提交时间是去年十一月十二号凌晨四点十七分,提交信息只有四个字:“模型微调。”
模型微调。她苦笑了一下。在机器学习的世界里,这是一个再正常不过的词汇,就像医生说”随访”、律师说”酌情”、政客说”研究研究”。它什么都没说,又什么都说了。
窗外开始下雨了。深圳的雨说来就来,先是远处传来一阵闷雷,然后天空像被谁突然拉开了拉链,哗啦一声倾泻下来。雨水打在玻璃幕墙上,把城市的灯光搅成一幅流动的油画。
林语关掉显示器,揉了揉眼睛。她需要睡觉,明天会是一场硬仗。但她知道今晚不可能睡着了。
她拿起手机翻了翻朋友圈。大多数内容她扫一眼就划过了——产品经理晒加班照,运营小姐姐转发公司新闻,技术群里有人在讨论新出的编程语言。然后她看到一条不太一样的内容。
那是一个叫”深圳租房互助”的群组里转发的消息,没有图片,只有几行字:
“急问:有人知道信用分突然掉了怎么回事吗?我爸的分数从七百多掉到三百多,什么都没做错,打电话问客服也说不清楚。现在房东说信用分太低不续租了,我们不知道该怎么办。我爸来深圳二十年了,第一次遇到这种事。如果有懂行的朋友帮忙看看,感激不尽。”
发消息的人叫陈小溪。
林语盯着这条消息看了很久。窗外雨声大作。
二、坠落
陈海不懂数字。
这是他这辈子最大的短板。他十七岁从湖南永州的一个村子出来打工,在建筑工地上干了二十五年,搬过砖、扎过钢筋、开过搅拌机、指挥过塔吊。他的手粗糙得像两块砂纸,手掌上的纹路被水泥和石灰磨得几乎看不见了。但他有一双好眼睛——能在三十层楼高的脚手架上看出一根钢管有没有放正,能在一片灰蒙蒙的混凝土浇筑面上看出哪里不平。
数字对他来说一直是别人的事。工头算工资,包工头算工程量,中介算房租,银行算利息。他只负责干活,拿到钱,寄回家。
直到那个数字开始找他。
第一个征兆出现在五月初的一个早上。他像往常一样去工地上班,但门禁刷脸的时候,机器发出了一声刺耳的”嘀”,屏幕上闪了一下红灯,然后显示:“信用评估未通过,请联系管理员。”
他以为机器坏了。他找来工地的小管理员,一个戴着眼镜的年轻人,年轻人对着电脑敲了半天,眉头越皱越紧。
“陈叔,你的信用分……什么时候变成三百八十了?”
“什么信用分?”
“就是……社会信用评分。你之前不是七百多吗?现在变成三百八了,系统自动把你的门禁权限降级了。”
陈海不懂什么是信用分降级,但他很快就懂了它的后果。门禁降级意味着他不能进入高空作业区域——那是工资最高的工种。他去找工头理论,工头为难地搓着手说:“老陈,不是我不想用你,是甲方那边有规定,信用分低于四百的工人不能进核心施工区。我也没办法。”
接下来的一周像多米诺骨牌一样。
先是在城中村的出租屋。他住了六年的那间小屋,月租一千二,房东是个还算厚道的中年女人,以前从不查信用分。但这个月续约的时候,中介告诉房东,按新政策,租给信用分低于四百的租户,房屋租赁平台会自动加收百分之三十的”风险管理费”。房东犹豫了两天,最后还是打来电话,声音里带着歉疚:“陈哥,不是我要赶你走,是这样下去我要亏钱。你也知道,现在什么都是那个分数说了算。”
然后是银行。他有一张存了八年的储蓄卡,里面是他给儿子攒的大学学费。他去取钱的时候,柜台小姐礼貌而冰冷地告诉他,由于信用评估结果变化,他的账户被标记为”高风险客户”,单日取款限额从两万降到了三千。“这是系统自动执行的,“她说,“如果您需要调高限额,可以提交信用修复申请,审核周期大概四到六个星期。”
四到六个星期。他儿子的学费下个月就要交了。
他开始给各个地方打电话——银行的客服热线、信用评估平台的投诉通道、消费者权益保护热线。每一个电话都要等很久,接通之后他不知道该怎么说——他不知道什么是”特征维度”,不知道什么是”风险建模”,他只知道自己的分数掉了,他什么都没做错。
电话那头的人永远在说”系统判定”和”建议您保持良好信用行为”,好像他做了什么不好的事一样。
最后他打给了女儿陈小溪。小溪今年二十四岁,在长沙的一所大学毕业后来深圳做新媒体运营,是她帮陈海注册了那个信用评分系统的账号,也是她教陈海用智能手机查分数。
“爸,你别急,我帮你问问。”
小溪发了那条求助消息。没有人回复。
陈海坐在龙华区一家网吧的角落里,对着电脑屏幕发呆。屏幕上是他那张信用评分的页面,三百八十分,红色的数字,像一道伤口。
他旁边坐着一个年轻人,正在打游戏,戴着耳机,嘴里骂骂咧咧。网吧里弥漫着一股混合了泡面、汗味和劣质香烟的气味。这是他临时落脚的地方——网吧包夜十五块钱,比最便宜的旅馆还便宜。
他想起二十五年前第一次来深圳的样子。那时候他十七岁,坐了十二个小时的绿皮火车,从永州到广州,再从广州转大巴到深圳。大巴经过广深高速的时候,他趴在车窗上看着外面一望无际的工地和吊车,觉得整个世界正在被建造起来,而他要去建造它。
二十五年了。他确实建造了不少东西——南山区那几栋地标写字楼有他扎的钢筋,福田区的会展中心有他搬的砖,宝安机场的二期扩建有他指挥的塔吊。但他从来没有觉得这些建筑属于自己。它们属于那些看得懂数字的人。
现在,连他自己都不属于自己了。他属于一个三百八十分的数字。
手机震了一下。是小溪发来的微信:“爸,我找到一个可能能帮忙的人了。她说她是做信用评分系统的工程师,她发现了一些问题。明天我们见见?”
陈海看着这条消息,不知道该不该相信。二十五年在深圳学到的最重要的一课就是:不要相信任何突然出现的善意。但他也没有别的选择了。
他回了一个字:“好。“
三、称量
周德厚能看到数字的重量。
这件事他从没告诉过任何人。在他工作的四十年里——前二十年在永州一家国营纺织厂当会计,后二十年在深圳一家私营贸易公司当财务主管——他一直把这个秘密藏在心里,就像藏着一枚多余的硬币,不知道该花掉还是该扔掉。
他第一次发现这个能力是在九岁那年。父亲从集市上买回来一条鱼,让他记在账本上。他拿起笔写”鱼一条,四块五”,写完之后,那几个数字突然在他眼前有了颜色和分量。“四块五”是淡青色的,像早春的天空,轻轻的,让人觉得安稳。他把这种感觉告诉母亲,母亲摸了摸他的额头说:“没发烧啊,说什么胡话。”
从此他再没跟人提过。
但数字一直在跟他说话。
在他的世界里,每一个数字都有自己的颜色、质地和温度。好的数字是暖色的——收入是淡金色,存款是深琥珀色,利润是带着一点绿色的暖黄。坏的数字是冷色的——亏损是铁灰,欠款是暗紫,坏账是发黑的深蓝,沉重得像灌了铅。最糟糕的数字是那种没有颜色的,像白噪音一样的——那通常意味着有人在造假。
他靠这个能力当了四十年的好会计。不是因为他多聪明或者多勤奋,而是因为他从来不需要查账——数字自己会告诉他哪里有问题。别人要花三天才能查出来的账目差错,他扫一眼就能定位到。审计署的人来查他所在的贸易公司时,拿着厚厚的账本翻了两个星期,最后结论是:“这家公司的财务报表异常干净。”
当然干净。因为他在记账的时候就能感觉到每一笔数字是不是”对”的。不对的数字有一种微妙的违和感,就像一首歌里突然跑了一个音。
退休之后,他搬到龙华区一栋老旧的居民楼里,住在一楼。他的邻居就是陈海——一个沉默寡言的中年建筑工人,每天早上五点半出门,晚上七点回来,偶尔在楼下碰见了会点个头。
周德厚注意到陈海身上的数字变了。
那是五月中旬的一个傍晚,陈海下班回来,路过周德厚在楼下乘凉时坐的那把竹椅。他们打了个招呼,然后周德厚看到了。
在陈海的身后,或者说在他的周围,悬浮着一团暗沉的颜色。以前陈海身上的数字虽然不多——一个打工者的经济生活本来就简单——但都是暖色的,轻的。他的工资是淡黄色,他的存款是安静的琥珀色,他的信用分是清亮的蓝色,像一湾浅水。
但现在,那片蓝色变成了铅灰色,沉重的,黏稠的,像化不开的淤泥。而且那个灰色的数字还在往下沉,像一块石头坠入水底。
周德厚心里咯噔一下。他这辈子只在两种情况下见过这种颜色的数字:一是有人即将破产,二是有人在账本上做了手脚被人栽赃。
“老陈,“他叫住陈海,“你最近……出了什么事?”
陈海停下脚步,转过头来。路灯把他的脸照得很清楚——疲惫,困惑,还有一种不太常见的表情:委屈。一个四十二岁的男人脸上出现委屈的表情,看起来比愤怒更让人难受。
“周叔,“陈海说,“你信不信,一个人什么都没做错,但全世界都在惩罚他?”
周德厚沉默了几秒。然后他说:“信。”
他让陈海坐下,给他倒了杯茶,听他讲了那个信用分的事。陈海讲得很慢,因为很多概念他解释不清楚。周德厚也不追问,只是安静地听,偶尔点一下头。
陈海走后,周德厚在竹椅上坐了很久。蚊子在耳边嗡嗡叫,他没理会。他在想一件事——一件他想了很久的事。
他这辈子跟数字打了四十年交道,他比任何人都清楚数字的力量。一个好的会计能让一家公司起死回生,一个假的账本能把一个行业拖入深渊。但那些都是看得见摸得着的数字,写在纸上或者打在屏幕上,你有迹可循,有据可查。
陈海遇到的是另一种数字。那种数字活在电脑里,活在算法里,活在所有人都看不见也摸不着的地方。它们无声无息地给每个人称重、定价、分级,然后把人分成三六九等,却不告诉任何人标准是什么。
他想起小时候在永州的秤铺里看到的老秤。那种杆秤,一头挂着秤砣,一头托着货物,移动秤砣就能称出重量。秤铺的老板是个瞎了一只眼的老头,他教过周德厚一句话:“秤要平,心要正。秤不平,亏的是别人;心不正,亏的是自己。”
周德厚从竹椅上站起来,慢慢走上楼。他的膝盖不太好,每上一级台阶都会疼一下。他在心里做了一个决定——虽然他不太清楚自己能做什么,但至少可以陪陈海去见那个可能能帮忙的人。
一个能看见数字重量的人,和一个被数字压垮的人,也许该站在一起。
四、交汇
他们约在一家麦当劳见面——不是因为好吃,是因为便宜、有空调、有Wi-Fi,而且不会因为信用分拒绝任何人。
林语到得最早。她买了一杯美式咖啡,坐在角落的位置,面前摊着笔记本电脑。屏幕上是她昨晚整理的数据——受”暗扣”参数影响最大的十个省份、二十个年龄段和三十五个职业类别的完整统计。
陈海和周德厚一起到的。陈海穿着一件洗得发白的灰色polo衫,脚上是一双沾着灰尘的布鞋。周德厚穿着一件格子短袖衬衫,扣子扣到最上面一颗,头发梳得很整齐,像一个要去参加退休干部活动的小老头。
小溪没来——她在公司走不开,但她给了林语陈海的手机号和信用评分系统ID。
“陈叔,“林语站起来打招呼,“我是林语,小溪让我——”
“我知道,“陈海打断她,声音沙哑,“你说你发现了问题。什么问题?”
他说话的方式让林语有点意外。她预设的对话模板是”先安抚情绪,再解释技术”,但陈海显然不需要安抚。他要的是答案。
“坐吧,“林语说,“我从头说。”
她花了一个小时解释。她尽量不用术语,但有些概念绕不开——特征维度、偏置项、权重矩阵。每说一个专业词汇,她都会停下来翻译成白话。陈海听得很认真,有时候会打断她问一个问题,那些问题往往直指要害。
“你是说,因为我从湖南来的,因为我是建筑工人,因为我四十二岁,所以系统自动给我扣分?”
“对。这三个条件同时满足的时候,扣得最多。”
“凭什么?”
“这就是我要搞清楚的。这个参数不是系统自动学习的——它是被人手动添加的。有人故意把它放进了系统。”
“谁?”
“我还不知道。但我知道它是什么时候加进去的——去年十一月十二号。”
陈海沉默了。他低头看着桌上那杯他没动过的可乐,冰块已经化了大半。
周德厚一直在旁边安静地听。他不懂技术,但他听懂了一件最重要的事:有人在数字上做了手脚。
“小林,“他开口了,声音不高,但有一种不容忽视的沉稳,“你说的那个……参数,它影响多少人?”
“保守估计,一千四百万以上。”
周德厚闭了一下眼睛。一千四百万。他做了四十年会计,经手的最大一笔账目也不过几千万。而一千四百万是人的数量,不是钱。一千四百万人,每个人背后都有一个家庭,一个故事,一笔账。
“你打算怎么办?“他问。
林语犹豫了一下。这是她今天来这里真正想回答的问题,也是她最害怕回答的问题。
“我想把它公开,“她说,“但我不知道怎么公开。如果我直接把数据发出去,我是违反保密协议的,公司可以告我。如果我走内部流程,我昨晚已经试过了——我的上级看到了我的消息,但没有回复。”
“那你可以去更高层?“陈海问。
“更高层……”林语苦笑了一下,“你说的更高层是谁?天衡系统的客户包括四大国有银行、三个省级政府、十几个部委。这个系统给几千万人打了分,如果承认它有系统性偏差——”
她没说完,但三个人都明白了。这不是一个技术问题,这是一个政治问题。
沉默持续了很长时间。麦当劳的背景音乐换了一首又一首,服务员在擦桌子,旁边有个小孩在哭闹。
最后是周德厚打破了沉默。他说了一句奇怪的话。
“我给你们讲个故事吧。”
他端起纸杯喝了口茶,开始讲。
“我年轻的时候在永州一家纺织厂当会计。九十年代初,厂里要改制,上面派了一个审计组来查账。审计组来了之后,查了两个星期,什么问题都没查出来——因为确实没问题,我们厂虽然不赚钱,但账干干净净。审计组走的那天晚上,厂长把我叫到办公室,关上门,跟我说:‘老周,你能不能把去年的利润表改一下?改成亏损。‘我问为什么。他说:‘如果我们的账太干净,上面会认为我们在藏钱,改制的条件会更苛刻。如果报亏损,上面反而会放宽政策。’”
他顿了一下。
“我当时拒绝了。我说账就是账,是什么就是什么。结果呢?厂里照样报了亏损——不是我改的,是另一个人改的。改制的时候,厂长拿了最大的股份,那个帮我改账的人当了财务总监。我呢?下岗了。”
他看着林语和陈海,眼睛在老花镜后面平静地闪着光。
“我说这个故事不是为了抱怨。我想说的是:账目这种东西,不管是写在纸上的还是存在电脑里的,它不是中立的。每一个数字背后都有人的选择。你发现的那个’暗扣’,不是算法的问题,是人的问题。有人选择了让一千四百万人承担额外的代价。”
林语听着,慢慢点了点头。
“所以你问怎么办,“周德厚说,“我的回答是:你不需要说服所有人,你只需要让更多的人看到那个数字。一千四百万人,他们有权利知道自己是怎么被称量的。“
五、天平
接下来的一周,林语做了三件事。
第一件事:她利用午休和下班后的时间,把”暗扣”参数的影响范围完整地量化了。不是粗略的估算,而是精确到每一个人、每一分钱、每一个被拒绝的贷款申请、每一份被取消的租房合同。她写了一个脚本,从系统日志里抽取所有受影响用户的记录,然后用去标识化的方式生成了一份报告。
报告的结论比她最初预想的更严重。受影响的不只是一千四百万人——如果把间接影响也算进去,这个数字可能接近四千万。因为信用分不只是一个数字,它会连锁反应:信用分低的人找不到好工作,收入减少,导致消费能力下降,进一步影响他所在社区的经济活力。她的模型显示,在某些中部省份的县级市,“暗扣”参数已经把当地的平均消费水平拉低了百分之四到百分之六。
百分之六。在一个百万人口的县,这意味着六万人的生活质量发生了肉眼可见的下降。不是因为天灾,不是因为经济周期,只是因为一行代码。
第二件事:她联系了三个以前在行业论坛上认识的记者。她没有透露具体数据,只是说”我手头有一个关于信用评分系统的大新闻,需要找一个靠谱的、能保护信源的记者”。两个人回复了她,其中一个是《财新》的科技版记者,姓王,写过几篇有分量的调查报道。她们约在一家咖啡馆见面,聊了两个小时。
王记者听完后沉默了很久。然后她说了一句让林语意外的话:“你这个报道,最大的困难不是证据——你的证据很扎实。最大的困难是,发出来之后,你怎么办?”
林语说:“我想过了。”
“想过了和经历了是两回事。”
“我知道。”
第三件事:她给赵鹏发了第二封邮件。这次不是凌晨三点的微信消息,而是一封正式的内部邮件,抄送了技术部门的全部十二个工程师。邮件标题是《关于天衡系统第37层权重矩阵异常参数的技术报告》,正文有八千字,附件是她完整的数据分析。
她知道这封邮件发出去之后,她就再也没有退路了。
邮件发出去十七分钟,赵鹏打来了电话。
“林语,你疯了吗?”
“赵总,你看了报告吗?”
“我还没看完,但你知道你在说什么吗?你说我们的系统有系统性歧视——”
“不是我说,是数据说的。”
“你听我说完。你知道这个参数是谁加的吗?”
“不知道。但我觉得我应该知道。”
电话那头沉默了几秒。然后赵鹏压低了声音,说了一句她永远不会忘记的话。
“是客户要求的。”
“什么客户?”
“最大的那个客户。去年十一月,他们派了一个专家组来做系统评估,评估完了之后给了一份’优化建议’。那份建议的核心内容就是:降低特定人群的信用评分,因为他们’违约概率更高’。”
“基于什么数据?”
“基于他们的历史数据。他们统计了十年的贷款违约记录,发现某些特定人群——中年、低学历、跨省务工——的违约率确实比平均水平高百分之二点三。”
“百分之二点三?就为了百分之二点三,给一千四百万人扣一百多分?”
“在他们看来,百分之二点三意味着几十亿的坏账风险。”
林语闭上眼睛。她能理解这个逻辑——从纯数学的角度,这个逻辑是成立的。如果你有一个大样本,某个子群体的违约率确实更高,那么从风险管理的角度给这个子群体降分是”合理”的。
但”合理”和”正确”不是一回事。
“赵总,“她说,“你知道这叫什么吗?在统计学里,这叫代理歧视。你不能因为一个人属于某个群体就惩罚他,即使这个群体的平均违约率确实更高。这和保险公司因为某个性别或种族的平均数据而拒绝承保是一样的道理。这不仅仅是不道德,在很多国家是违法的。”
“我知道,“赵鹏说,他的声音突然变得很疲惫,“你以为我不知道吗?你以为我觉得这样做是对的吗?但林语,你要明白一件事——这不是一个技术决策,这是一个商业决策。客户要什么,我们就给什么。如果我不加那个参数,他们去找别家公司加。这个行业里没有哪家是干净的。”
“所以你的意思是,我们都脏,所以无所谓再多脏一点?”
电话那头又沉默了。
“赵总,那封邮件我已经发出去了。十二个人都看到了。就算你现在把我的权限关掉,报告已经在外面了。”
“我知道,“赵鹏说,“我就是在等你这句话。”
林语愣住了。
“你以为我是为什么没回你那天晚上的消息?“赵鹏继续说,“我不是在装没看见。我是在想,如果我要推动这件事,我需要的不只是一个技术报告——我需要一个已经公开了的、无法收回的技术报告。现在它已经发给十二个人了,就算公司想压也压不住了。你做了一件我做不到的事。”
“你可以自己做。”
“我不行。我是总监,我有房贷,我有孩子要养。我的位置决定了我的顾虑比你还多。但你不一样——你是一个普通工程师,你发现了一个问题,你如实报告了。这个叙事是无懈可击的。”
林语听着这番话,心里涌上一种复杂的情绪。说不清是敬佩还是悲哀。敬佩的是赵鹏的算计——他不是不知道问题,他只是在等一个合适的时机和一个合适的人来推动;悲哀的是,在一家科技公司里,做一个正确的事需要这么多的算计。
“那接下来怎么办?“她问。
“接下来我来处理。你有你的角色,我有我的。相信我。”
电话挂了。
林语坐在工位上,看着窗外的深圳湾。太阳快落山了,海面被染成了一片橘红色。远处的香港山脉像一条深蓝色的曲线,安静地卧在天际线上。
她不知道”相信我”三个字值多少。在这座城市里,这三个字的信用评分大概不会太高。
六、候鸟
事情的发展比林语预想的快,也比她预想的复杂。
赵鹏确实推动了。他拿着林语的报告,加上他自己的签字和背书,直接提交给了公司的合规委员会。合规委员会有三个成员——一个法务、一个风控、一个外部聘请的伦理顾问。法务说有法律风险,风控说有业务风险,伦理顾问沉默了很长时间,然后说了一句话:“这个参数的存在,不仅违反了我们自己公布的公平信用原则,也违反了《个人信息保护法》第十二条关于自动化决策公平性的规定。如果我们不主动修复,等到被外部发现,后果会更严重。”
合规委员会投票结果是三比零,建议立即修复。
但”立即修复”在一套服务八千万用户的系统里,不是一个简单的操作。你不能直接把参数删掉——那样会导致几千万人的信用分突然波动,引发更大的混乱。你需要一个渐进式的方案:先在影子模式下运行修正后的模型,对比结果,确认不会出现新的异常,然后分批次灰度发布。
林语被指定为技术负责人。她带着一个五人小组,连续工作了两个星期,设计了一套”软修复”方案。方案的核心逻辑是:不再使用”暗扣”参数,而是引入一个更公平的风险评估模型,基于用户个体的实际信用行为来评分,而不是基于群体特征来预判。
但软修复需要时间。在它完全生效之前,那些已经被”暗扣”影响的人怎么办?
这是林语在技术方案评审会上提出的问题。会议室里坐了二十几个人——技术团队、产品团队、法务、公关、还有两个从客户那边派来的”观察员”。空气中弥漫着一种紧绷的张力,像暴风雨前的气压。
公关总监先发言:“我的建议是不要对外公布。我们可以静默修复,然后以’模型升级’的名义发一个模糊的公告。如果公布了,等于承认我们的系统有过歧视性参数,这对品牌——”
“对品牌不好,“林语打断他,“但对那四千万人来说呢?”
公关总监看了她一眼,那个眼神的意思是:你不懂商业。
法务总监比较圆滑:“我们可以做一个折中方案——不公开承认错误,但设立一个’信用修复绿色通道’,让受影响的用户可以申请重新评估。”
“那他们需要先知道自己受了影响,“林语说,“你打算怎么通知他们?发短信说’亲爱的用户,我们之前偷偷降低了你的信用分,现在可以帮你调回来’?”
会议室里有人忍不住笑了一声,随即又绷住了。
最终的决定是一个折中方案——或者说,是一个各方都不满意但都能接受的方案:系统在一个月内完成软修复,同时向所有受影响的用户发送通知,告知他们”信用评估模型已升级,部分用户的评分可能出现变化”。通知里不会提”暗扣”参数,但会附上一个申诉通道,被影响的用户可以申请重新评估。
陈海是在一个星期二的傍晚收到那条短信的。
他正在网吧的角落里吃泡面——他已经在这里住了两个星期了,网吧老板人不错,白天不赶人,只要晚上付包夜费就行。手机震了一下,他打开看了一眼。
“【天衡信用】尊敬的用户,我们的信用评估系统已完成模型升级,您的信用评分已更新。当前评分:715分。如需了解更多详情,请登录APP查看。”
他盯着那个数字——715。比他之前的720还差五分,但比380高了三百三十五分。那个像伤口一样的红色数字不见了,取而代之的是一个安安静静的蓝色数字。
他不知道该哭还是该笑。
他把短信截图发给小溪,小溪回了一连串的感叹号,然后打来电话,声音里带着哭腔:“爸,你的分数回来了!”
“嗯。”
“你怎么不高兴?”
“我在想,“陈海说,“那些和我一样的人,他们知不知道自己的分数也被改过?”
小溪沉默了。
“还有,“陈海继续说,“就算分数回来了,那过去这几个星期怎么办?我少挣了三千块钱工资,退了房子,在网吧住了两个星期。谁来赔我?”
电话那头沉默了很久。小溪说:“爸,那个工程师姐姐还在查。她说这只是第一步。”
“第一步,“陈海重复了一遍,然后把泡面盒盖上。面坨了。
他走出网吧,站在街边。傍晚的龙华区车水马龙,电瓶车的喇叭声、公交车的刹车声、路边摊的叫卖声混成一片。空气里有一股深圳特有的味道——潮热、汽车尾气、和不知道从哪里飘来的烤红薯的香气。
他点了一根烟——他已经戒了三年,但今天想抽。
他想起了二十五年前第一次来深圳的那个夜晚。他睡在工地的工棚里,上下铺,一层住八个人,空气里全是汗味和脚臭味。但他睡不着,不是因为味道,而是因为兴奋。他躺在那里想:明天开始,我就是一个能挣钱的人了。
二十五年后的今天,他还是躺在一张不属于他的床上,但兴奋已经变成了另一种东西。他不知道那东西叫什么——不是愤怒,不是悲伤,不是绝望,是一种更深层的、更安静的东西。就像他在工地上浇混凝土时的感觉:你知道你正在建造什么,但你看不到它完成后的样子。你只能一车一车地浇,一层一层地抹,相信它最终会变成一个完整的建筑。
他掐灭烟头,走回网吧。路过楼下的时候,他看到周德厚还坐在那把竹椅上。
“周叔,这么晚还不睡?”
“等你,“周德厚说,“小溪给我打电话了,说你的分数回来了。”
“嗯。”
“回来了就好。但你应该知道,分数回来不等于事情解决了。”
“我知道。”
“你知道就好,“周德厚站起来,膝盖咔嚓响了一声,“很多问题不是靠一个数字就能解决的。但至少现在,那个数字不再压你了。”
陈海看着周德厚慢慢上楼的背影。路灯把老人的影子拉得很长,像一棵被风吹弯的老树。
他想说谢谢,但没说出口。有些谢意不需要说出来,就像有些数字不需要被看到——你知道它们在那里,就够了。
七、账本
两个月后。
林语从公司离职了。不是被开除,是自己走的。走的时候赵鹏请她吃了顿饭,在科技园附近一家日料店,两个人喝了一瓶清酒。
“你是个好工程师,“赵鹏说,“但你不是一个好员工。”
“我知道。”
“好员工知道什么时候该闭嘴。好工程师知道什么时候该说话。这两件事很少能同时做到。”
林语笑了笑,没接话。
赵鹏给她倒了一杯酒:“接下来打算做什么?”
“还没想好。有几个选项——去一家做算法审计的NGO,或者自己创业做公平性评估工具。王记者——就是那个《财新》的——帮我联系了一个做AI伦理研究的课题组,他们正好缺一个有实际工程经验的人。”
“听起来都不太赚钱。”
“是。”
“那就对了。“赵鹏举杯,“敬那些不太赚钱的事。”
林语举杯碰了一下。清酒微凉,入口有一种干净的甜。
她离职之后,王记者的那篇报道发了出来。标题是《天衡之重:信用评分系统中的隐秘偏差》,一万两千字的长篇调查,发表在《财新》纸质版的封面位置,同时在各大平台上架。
报道发出后三天,阅读量超过了两百万。社交媒体上的讨论分成两派:一派认为这是技术发展的必然代价,效率优先,个案可以申诉;另一派认为这是系统性的不公正,必须从制度层面解决。两个派别吵得很凶,但真正让林语注意的是那些沉默的人——报道的评论区里,有上千条留言来自和陈海一样的人。他们没有理论,没有观点,只是平铺直叙地讲了自己的经历。
“我是个外卖骑手,去年信用分突然掉了,不知道为什么。到现在都租不到正规的房子,只能住群租房。”
“我在东莞的工厂打工,信用分低了之后连共享单车都骑不了,系统说我不符合使用条件。”
“我爸五十多岁了,在工地干了半辈子,从来都是按时还钱。他的信用分被降到三百多之后,我帮他打了几十个电话投诉,每次都是机器人接。后来有个真人接了,说要等四到六个星期审核。等了六个星期,回复说’系统评估结果无误’。”
这些留言每一条都不长,但每一条都是一个完整的世界。它们排在一起,像一本被打开的账本——不是记着钱,而是记着人。
周德厚也看到了那篇报道——是小溪打印出来给他的,字号放大到三号,因为他的老花眼看正常字号的屏幕太吃力。他坐在竹椅上,戴着老花镜,一条一条地读那些留言。
他读了很长时间。有些数字他在陈海身上已经见过了——那种铅灰色的、沉重的数字。但他不知道有这么多人都被同样的颜色覆盖着。
读完之后,他把那叠纸整齐地折好,放进上衣口袋里。
陈海已经重新租了房子——还是那栋楼,但换了一间更小的,在四楼,没有电梯。他重新回到了工地,工头帮他争取了一下,让他回去开塔吊。工资比之前少了一点——他缺席的那段时间被算成了”自愿离岗”,没有补发。
他不在意那些了。他在意的是另一件事。
每个月发了工资之后,他会把一部分钱转到小溪的账户上。不是学费——小溪已经毕业了,不需要他供了。这笔钱是给小溪去读在职研究生的。他跟小溪说:“你去学那个……叫什么来着,法律?或者社会学?反正就是能搞清楚这些事的学问。”
小溪说:“爸,你以前从来不让我学这些,你总说学个能赚钱的专业就行。”
“以前是以前,“陈海说,“现在我知道了,有些事不赚钱也要有人做。”
他说这话的时候表情很认真,就像他在脚手架上检查一根钢管有没有放正一样。
八、年轮
深秋了。深圳的秋天来得很晚,而且不像北方那样干脆——它是慢慢来的,先是一两场雨的温度降了一点,然后夜风不再发烫了,然后空气里那种黏腻的潮湿感悄悄退去,换上一种干燥的、干净的凉意。
林语在大学城的咖啡馆里写论文。她接受了那个课题组的offer,开始做AI公平性评估的博士研究。她的导师是一个五十多岁的女性,姓方,做了一辈子数据伦理研究,在学术界名气很大但收入很低。方教授第一次见林语的时候说了一句话:“你来我这里,意味着你选择了一条难走的路。这条路的尽头不一定有掌声,但一定有脚印。”
林语觉得这话有点鸡汤,但她没说。她尊重每个选择在难走的路上留下脚印的人。
她的研究方向是”算法审计中的代理歧视检测”——说白了,就是开发一套工具,能够自动检测算法中是否存在像”暗扣”那样隐蔽的歧视性参数。这个方向在学术界不算冷门,但在工业界几乎没人做,因为它不赚钱,而且得罪人。
她偶尔会和陈海联系。陈海不怎么用微信,大部分时候是小溪代为转达。有一次小溪告诉她,陈海在工地上跟工友们讲了这个故事——不是用技术语言,而是用他自己的话。
他是这样说的:“你们知道信用分吧?就是手机上那个分数。去年有个事,系统里有个东西,专门扣我们这种人的分。不是因为你做错了什么,就是因为你从哪来的、干什么的、多大年纪。扣了也就扣了,没人告诉你,也没人给你说理的地方。后来有个年轻姑娘发现了这个事,把它捅出来了。分数才回来。”
工友们听完之后沉默了一阵,然后一个人问:“那姑娘现在呢?”
“不干那个了。去读书了。读的是——“他顿了一下,想不起来林语说的那个专业叫什么,“反正就是学怎么让电脑不做坏事。”
工友们笑了起来。笑声里有一种粗粝的、温暖的质感,像砂纸打磨过的木头。
周德厚的身体在秋天开始不太好了。他的膝盖疼得更厉害了,爬楼梯要扶着扶手一步一步地挪。医生说是骨关节炎,老年人常见的问题,没有什么好的治疗方法,只能养着。
但他每天还是会坐到楼下的竹椅上。他带了一个小收音机,听新闻,听评书,听天气预报。有时候他会闭上眼睛,感受周围空气里数字的颜色和重量。
他发现了一件有意思的事:在那篇报道发出来之后的几个月里,附近街区的人们身上的数字颜色在慢慢变化。不是说所有人的数字都变好了——那不可能,生活不是童话。而是说,那些沉重的、铅灰色的数字似乎变轻了一点点。
不是数字本身变了,而是人们的表情变了。知道了原因之后,那种”不知道自己做错了什么”的困惑消散了,取而代之的是一种更清醒的东西。清醒不一定让人更快乐,但至少让人更踏实。
就像一个病人拿到了正确的诊断书——病还没有治好,但至少知道了病名。知道了病名,就有了抗争的方向。
周德厚觉得这很重要。他在心里把这个发现记了一笔,虽然他不知道记在哪里,也不知道谁来对账。
但他相信账是存在的。不是写在纸上的那种,不是存在电脑里的那种,而是另一种——一种更大的、更慢的、更深层的账本。每个人的所作所为、所思所想,都在这个账本上留下一笔。有些人记得多,有些人记得少,但每一笔都在。就像树的年轮,你在外面看不到,但切开来看,一年一圈,清清楚楚。
他想到这里,微微笑了一下。收音机里正在播天气预报:“明天深圳多云转晴,气温十八到二十五度,东风三级,适宜户外活动。”
他关掉收音机,从竹椅上站起来,慢慢走上楼。膝盖咔嚓咔嚓地响,像一本旧账本被翻动的声音。
路过二楼的时候,他听到陈海屋里传来炒菜的声音和电视新闻的声音。他停在门口听了一下——新闻里正在报道一项新的立法草案:《算法问责条例》,要求所有使用自动化决策系统的机构必须定期进行公平性审计,并向用户披露评分维度和权重。
他没进去打扰,继续往上走。
走到自己家门口,他从口袋里掏出钥匙,打开门,走进那间小小的、整洁的屋子。桌上放着一本老式的账本——不是任何公司的账,是他自己的。他用了一辈子。
他翻开账本,在最新的一页上写下今天的日期,然后写了一行字:
“十月十七日。天气晴。一切如常。有些数字变轻了。”
他合上账本,关了灯。窗外,深圳的夜空被灯光映成了一片温热的深橙色,看不见星星,但他知道星星在那里——在云层之上,在灯光之外,在那个更大的账本里。
每一个数字都有它的重量。每一个重量都有它的来处。每一个来处都通向一个选择。而每一个选择,最终都会被记下来。
不是在纸上,不是在电脑里,而是在那些被数字改变过的人生里。
那些人生就是年轮。
一圈一圈地长,一圈一圈地记。直到有一天,有人切开来看,读出里面的故事。
然后说:原来如此。
然后做点什么。
哪怕只是让一个数字变轻了一点点。
(全文完)