分数
一、分数
许攸攸二十八岁那年,信用分是七百九十二分,在望京区域的常住人口里排前百分之十二。
她对此既不骄傲也不焦虑。分数对她而言更像天气——一种客观存在,你无法与天气争辩,也无需为天气感到羞耻。早上出门前,她照例打开”信而有征”App看了一眼:七百九十二,绿色圆圈,稳定。系统提示她本月的消费贷款利率下限是年化百分之四点三,“优质用户专属优惠”。她把手机揣进兜里,推门出去。
北京的四月还在刮风。沙尘从东边来,混着河北工地的尘土和某种许攸攸说不清的时代气息。她在望京SOHO楼下买了两根油条一杯豆浆,用数字人民币结账——扣款的一瞬间,屏幕上她的信用分闪了一下,从七百九十二跳到七百九十三,然后又跳回来。系统提示:“实时消费行为小幅正向影响您的信用评估。”
她没在意。风太大了,她只想把油条吃完。
许攸攸在”征途科技”工作,全称是”征途智能信用评估有限公司”。她的工牌上写的是”高级算法工程师”,但同事私下里都叫她”调参侠”——因为她日常的工作就是坐在工位上调整那些决定别人命运的参数权重。逾期的权重、社交网络的权重、消费记录的权重、步行轨迹的权重——每一个数字背后都站着真实的人,那些数字决定了他们能借到多少钱,利率多少,能不能租到房子,甚至能不能顺利出境旅游。
她刚入行时觉得这项工作有种隐秘的成就感。她相信数据是中性的,相信算法比人情更公正,相信一个分数高的人就是更值得信任的人。后来她发现,这些”相信”本身也是可以被调整的参数。
那天早上,她调了两个小时的参数。中途出去抽烟,站在消防通道里,手机响了一声。
是男友韩冬发来的消息:“晚上吃什么?”
韩冬的信用分是六百四十七,比她低一百多分。不是因为他信用不好——他只是个普通的中学物理老师,不怎么借钱,也不怎么贷款,分数自然上不去。而许攸攸每天处理的借贷数据流流水一般从她手里经过,那些数字的流动本身就在喂养她自己的模型——一种奇特的正反馈循环,她自己都没意识到。
她回了一条:“加班。”
然后她继续调参。
下午四点,系统出了一个小故障。不是什么大事,就是她负责的那个模型在重新训练时出了一点偏差,导致一小批用户的信用分出现了异常波动。她花了二十分钟修好,给运维团队发了邮件,然后打开后台想看看这次波动影响了多少用户。
她查了。
然后她看到了自己的名字。
许攸攸,身份证号,信用分:七百八十九。
她盯着那个数字看了五秒钟。三个月前她查的时候还是七百九十二。这段时间她没有任何违约记录,消费记录稳定,没有任何负面信息——但分数就是悄悄降了三分。
她以为是系统延迟刷新。退出重进,还是七百八十九。再查一次,七百八十八。
又降了一分。
二、BUG
许攸攸开始排查自己的数据轨迹。
她花了三个晚上,把自己从”信而有征”平台能查到的所有数据都导出来了一份。那份数据庞大而沉默,像一面白墙,上面密密麻麻写满了她过去五年的生活:
她在哪几个时间段经常出现在望京区域;她每天几点打开外卖App,点什么类型的餐;她在京东上买过什么——去年买过一个颈椎按摩仪,今年二月买了两本《算法导论》,三月买了一件黑色羽绒服;她的通讯录里有两百三十七个联系人,其中和她保持高频联系的有十一个;她每个月工资到账后会在四分钟内转出百分之六十到一张建设银行的储蓄卡,卡里余额常年保持在五位数。
所有数据都正常。没有任何异常信号,没有任何会导致降分的可疑行为。
但分数还在降。
一周后,变成了七百八十二。
她在内部的测试环境里用自己的账号跑了一遍模型,想看看是哪个特征权重出了问题。模型吐出了一个结果:她被标记为”高认知负荷人群”——一种她不记得自己设置过的标签。系统判断她近期”信息处理行为复杂度上升”,推测”存在潜在的财务决策压力”。
她笑了。一个算法的算法在判断她”压力大”,因为她查自己的数据查得太频繁了。
这不是bug。这是她亲手参与构建的那套逻辑——一个自我指涉的、不断循环的封闭系统。
她没有告诉韩冬。
韩冬最近也在焦虑。他们在一起三年了,韩冬提过几次结婚的事,语气一次比一次谨慎,像在试探水的深浅。上一次他提起这件事是两周前,在一家商场的餐饮层,周围全是小孩的尖叫和油烟气。韩冬说:“我妈又催了。“然后他看着许攸攸,很温柔地加了一句,“不急,你别有压力。”
许攸攸知道他的压力不是来自他妈。是他自己的分数。六百四十七分,贷款额度上限只有四十万,在北京连一个厕所的首付都不够。他不是买不起房的问题——他是连”被考虑是否买得起房”的资格都勉强的问题。
而她的分数也在下降。等她降到七百以下,利率优惠就没了。如果降到六百五以下——她甚至不确定自己会被划入什么风险等级。
三、算法
征途科技的CTO叫林潍,四十二岁,头发已经白了一半,看起来像那种在咖啡馆里会点手冲咖啡然后跟你聊海德格尔的人。事实上他确实会在开会时聊海德格尔,也确实喝手冲咖啡。
许攸攸在周二下午被叫进了他的办公室。
“攸攸,你最近是不是在查自己的数据?“林潍问。
许攸攸说是。
林潍点点头,像这个”是”本身就在他的预料之中。他用手指在桌面上敲了两下,然后说了一个许攸攸没听过的词:“系统性偏移。”
他解释:她负责的那个模型,最近出现了一种他们称之为”幽灵加权”的现象。不是bug,不是什么参数设错了——而是模型在无监督训练中自己”学会”的一种行为模式。它开始对某些特定特征组合产生额外的惩罚,而这些特征组合里面有几个是林潍他们自己都还没完全辨认出来的。
“你下调分这件事,“林潍说,“不是某个人给你调的。也不是某个规则给你判的。是这个系统自己算出来的。”
许攸攸问:“它为什么针对我?”
林潍没回答。他只是看着她,那眼神里有种许攸攸读不懂的东西——不是愧疚,不是隐瞒,更像是一种疲惫的坦诚。
“你的问题是,“林潍说,“它不是在针对你。它对所有人都会这样。只要你的特征和它学到的某种模式产生了足够高的匹配度,它就会自动——“他顿了顿,似乎在找一个合适的词,“——归档你。”
“归档?”
“在我们的系统里,归档意味着进入一个特殊的观察池。观察池里的用户,分数会缓慢地、持续地下降,直到——“林潍停了一下,“直到触发某个阈值。然后系统会自动生成一条违约概率预测,进入你的终身信用档案。”
许攸攸感到一阵冷意从椅背传上来。
“这条逻辑是谁写的?”
“没人写。“林潍说,“它长出来的。像蘑菇一样。”
许攸攸在那间充满海德格尔气息的办公室里坐了很久。她最后问了一个问题:“林总,你的分是多少?”
林潍看了她一眼,笑了。那个笑容很复杂,里面有苦涩,有一点黑色幽默,还有一种许攸攸后来才意识到的东西——恐惧。
“六百二十三。“他说,“而且已经三个月没动过了。不是系统不动,是人工也动不了。”
他指了指天花板,“我的权限还不够。“
四、冬
韩冬是那种在小事情上极有主见、大事情上反而没什么主意的人。比如他可以花三个晚上研究一款台灯的色温参数,然后在买房子这件事上对许攸攸说”你决定就行”。
他们是在一个读书会上认识的。那时候许攸攸还在读研究生,读的是计算机下面的数据挖掘方向,方向冷门,课无聊,唯一的爱好是参加一个周六下午在五道口某个咖啡馆里举办的读书会。读书会的成员平均年龄比她大十岁,聊的都是木心、王安忆和双雪涛,偶尔涉及现实问题诸如雾霾和房价,空气里弥漫着一种知识精英特有的焦虑与自洽。韩冬是唯一一个会认真做笔记的人,字迹潦草但整齐,用的是一种已经褪色的蓝墨水。
他们在一起是因为一本书。有一期读书会讨论《看不见的城市》,卡尔维诺借马可·波罗之口描述了无数座不存在的城市,每一座都对应着某种人类处境的隐喻。韩冬站起来说了一段话,大意是:这座城市最可怕的地方不是它看不见,而是它不让你看见你在其中生活的痕迹。
许攸攸记得他说这句话时窗外正好有一辆公交车驶过,玻璃上反射的光扫过他的侧脸。那一刻她觉得韩冬身上有种奇怪的忧伤,像一个还没被算法优化过的人。
现在她意识到,那恰恰是一种落后的美德。
韩冬六百四十七分,他日常能感知到分数存在的地方不多:免押金租车会问他分数,订酒店会问他分数,甚至有一次他们一起去做一个联合签名的试驾活动,销售员在录入信息时看到他的分数愣了一下——那个”愣”很短,但许攸攸捕捉到了。
韩冬自己大概没注意到。但许攸攸注意到了。她注意到那个”愣”里面有一丝微妙的轻视,像一道转瞬即逝的裂缝,从那个销售员的脸上一直裂到韩冬看不见的地方。
她开始刻意避开那些需要查分数的场景。打车,她叫车,让他先上。订房,她订,让他先进。吃饭,她买单,用她的分数打折。他们出去旅行,她订机票,用她的会员等级——尽管他的分也能飞,只是座位会差一些,餐食会普通一些,安检会慢一些。
这些事情她从来没告诉韩冬。不是因为面子,是因为一种她自己都说不清的保护欲——她不想让他习惯那些”差一些”。不想让他有一天突然意识到自己每天都在经历那些”愣”一下的时刻。
但现在她的分数也在降了。
五、幽灵
许攸攸开始深入研究那个”幽灵加权”。
她用两周的晚上和周末,把模型从输入层到输出层全部跑了一遍,在测试环境里重现了那个现象——确实存在一个”自我强化”的回路,模型在不断自我训练的过程中,学会了给某些特征组合叠加额外的负向权重,而这个额外惩罚是不在任何公开文档里的,连内部wiki都没有记录。
她追溯到了这个”回路”第一次出现的时间点:大约十四个月前。
十四个月前。征途科技刚拿到新一轮融资,估值翻了三倍。也是在那前后,公司开始大量引入非结构化数据源——社交媒体行为、地理位置数据、甚至一些来源不明的”第三方信用补充数据”。许攸攸记得那段时间加班很多,会议上争吵很多,但吵的内容她现在回想起来全是虚的——大家都在讨论”数据合规”和”隐私保护”,但真正的问题是没人知道那些数据被喂进去之后发生了什么。
就像往一口深井里扔石头,扔进去就看不见了。
她追溯到了一条具体的加权链。这个链条大致是这样的:
模型在训练中发现,有一类用户——他们消费行为呈现某种特定的”规律性”——违约概率显著高于其他群体。但这个相关性本身是噪声还是信号,模型无法判断,于是它自己”决定”给这类用户加一个额外的权重作为保险。这本身不算异常,正常的风控模型也会这么做。但问题是,这个”额外的权重”在下一轮训练中会被作为训练数据的一部分重新喂回去,形成了一个闭环——模型看到了自己的判断,然后把这个判断又当成了”证据”,然后继续强化这个判断。
十四个月循环下来,那个”额外的权重”已经放大了将近四十倍。
而许攸攸自己的特征——恰恰属于那个”规律性消费”的群体。
她用周末的时间写了一份详细的技术报告,标题是《关于幽灵加权的成因分析与处置建议》,十二页的PDF,图文并茂,数据扎实。她把报告发给了林潍,发给了数据合规部,发给了产品部——然后把邮件抄送给了自己。
周一早上,她发现自己的分数变成了七百七十五。
一夜之间降了七分。
她没有收到任何回复。
六、雨
四月十七日,北京下了一场暴雨。那种暴雨来之前没有任何预兆,天空先是变成一种奇怪的灰紫色,然后整个城市就被浇透了。望京SOHO楼下的街道变成了河,共享单车在水中漂浮,像一群绝望的蓝色的和黄色的鱼。
许攸攸被困在办公室里。停电了三次,每次停电网络就断一次,“信而有征”App打不开,她看不到自己的分数。那种”看不到”本身比分数下降更让她焦虑——她意识到自己已经对那个数字产生了某种病态的依赖,像一个每天要称体重的人,突然体重秤没电了。
晚上九点,韩冬发来消息:“我在你们楼下,带了伞。”
她下楼,看到韩冬站在大堂里,手里拎着两把伞,裤腿已经湿了一半。他看到她,笑了笑,说:“猜到你没带伞。”
他们一起走回去。雨太大了,两把伞根本不够用,他们不得不贴得很近走路。许攸攸的半边身子还是湿透了,雨水顺着头发流下来,流进领口。韩冬把伞更多地往她那边倾斜,自己的肩膀完全暴露在雨中,像一个不知道如何保护自己的人。
走到一个路口,前面的红绿灯坏了,车在积水的马路上横冲直撞。他们站在路边等了很久。韩冬突然说:“我想了想,还是算了。”
“什么算了?”
“买房的事。“他说,“我想通了。不买了。租一辈子也挺好。”
许攸攸看着他。韩冬的侧脸被雨水和路灯一起照着,有种奇怪的不真实感。他的信用分是六百四十七,这个数字限制了他的贷款能力,让他只能买总价两百万以下的房子,而北京两百万以下的房子——如果不算燕郊和廊坊,几乎不存在。但更重要的是,他的分数也在缓慢地,以一种不可见的方式,影响着他对自己的判断。
“不是买不买的问题。“许攸攸说。
“那是什么问题?”
她想说”是分数”。想说”是这个系统”。想说”是我们都不知道的那套规则”。但她什么都没说。她只是把头靠在韩冬的肩膀上——那只已经被雨水完全打湿的肩膀——然后说:“冬子,我们离开北京吧。”
韩冬愣了一下。然后他笑了,那个笑容和许攸攸当初在读书会上看到的一样——有点忧伤,有点困惑,像一个还没被算法优化过的人第一次面对一道他自己解不了的方程。
“去哪儿?”
“不知道。大理?成都?或者更远的地方。”
“你那工作呢?”
许攸攸没有回答。雨还在下。她看着眼前的街道,积水倒映着路灯,路灯倒映着积水,整座城市变成了一面巨大的碎掉的镜子。
然后她听到了一个声音。
那个声音不是从手机里传来的——她的手机在包里,还没拿出来。那个声音是直接出现在她耳朵里的,像一种幻觉,又像一种提醒,带着一种温和的、电子的、几乎可以说得上是礼貌的音色:
“【信而有征提醒您】检测到您近期情绪波动较大,建议保持心情平稳。如需心理咨询服务,请点击——”
她从包里掏出手机。屏幕亮了。她的信用分:七百七十一。
又降了四分。
七、地图
许攸攸请了三天假。
她没告诉公司真正的原因。她编的理由是”身体不适”,但其实她只是需要时间。她需要时间把整件事想清楚:从什么时候开始的,是怎么变成这样的,以及——她能做点什么。
她去了一个地方。
她去了燕郊。
不是去买房子——她买不起,也没资格买。燕郊是北京信用分数歧视最严重的地方之一,因为距离北京太近,房价又只有北京的三分之一,大量分数不够在北京贷款的人涌向这里,用自己的低分换一个居住的空间。但燕郊的银行不是傻子,它们给燕郊的贷款利率比北京高两个点,额度上限也更低,而且审批流程更繁琐——每一步都在惩罚一个已经被惩罚过的人。
许攸攸坐地铁到了潞城,然后倒了一班公交,在燕郊的一个小区门口下了车。她没进小区。她只是站在门口,看着进进出出的人。
她看到一个中年男人,戴着安全帽刚从工地回来,手里拎着一个塑料袋,里面装着两个馒头和一小袋咸菜。他站在门口刷门禁,刷了两次都没反应。他低头看了看手机——他的手机屏幕碎了,像一张被揉皱的脸——然后他叹了口气,把馒头袋子换了只手,继续刷。
她看到一对年轻情侣,推着一辆婴儿车,车里躺着一个大概七八个月大的婴儿。婴儿在哭,情侣在吵架,吵的内容听不清,但那种吵架的节奏和语气许攸攸太熟悉了——那是两个人都在忍耐,但已经快忍到极限的吵架。
她看到一辆黑色的奥迪A6停在路边,司机在车里等人,车窗摇下来一半,能看到司机正在用手机看直播,直播的画面是一个穿汉服的姑娘在镜头前唱歌,唱的是《沧海一声笑》,调子全跑了但唱得很认真。
许攸攸在燕郊待了六个小时。她看到了很多东西,但最让她印象深刻的是一种她后来称之为”低分者的从容”的东西——那些分数只有四五百分的人,走路的姿势和望京那些七百分以上的人不一样。后者走路带风,目不斜视,像一个随时会被系统传唤的证人;前者走路慢一些,目光会落在更多东西上面,像那些已经被判决过的人反而获得了某种奇异的自由。
她在那六个小时里做了两件事:第一件,她用自己七百七十一分的账号在燕郊的一家小超市买了两瓶水,结账的时候店员看了一眼她的分数,态度比平时更热情了一些;第二件,她在小区门口的告示栏里看到了一张手写的告示,告示的内容是:“寻人:许大勇,男,五十二岁,于三日前走失。走失时穿蓝色工装,戴红色安全帽。有知其下落者请联系XXX,电话139XXXXXXXX,必有重谢。”
告示的右下角贴了一张照片。照片里的男人穿着蓝色工装,戴着红色安全帽,站在一栋在建的房子前面笑。那笑容和许攸攸的父亲很像。
许攸攸的父亲也叫许大勇。她已经三年没见过他了。
她用手机拍下了那张告示。
八、父
许攸攸的父亲许大勇是个包工头。在许攸攸的童年记忆里,他是一个沉默的、皮肤黝黑的男人,手掌宽大而粗糙,上面布满了老茧和细小的伤疤。他的手摸过许攸攸的脑袋时,像一张砂纸摸过一块豆腐。
父亲于2019年卷入了一场P2P爆雷事件。
那时候许攸攸刚上大学,对金融的理解还停留在”存款有利息、借钱要还”这个层面。她只知道父亲把多年的积蓄投进了一个叫”鑫源财富”的P2P平台,平台承诺年化收益率百分之十四,号称”安全可靠、刚性兑付”。她记得父亲当时很兴奋,跟她说”这是个好项目,人家用了区块链技术,资金流向透明”。许攸攸当时还没学数据挖掘,但她隐约觉得哪里不对——区块链和刚性兑付这两个词放在一起,本身就是一个矛盾。
三个月后,鑫源财富爆雷。创始人卷款跑路,七千多名投资者的三十多个亿打了水漂。许大勇投了一百二十万,那是他的全部积蓄,外加他从亲戚朋友那里借来的六十万。
许攸攸记得那段时间给父亲打电话,每次都是母亲接的。母亲说父亲”出去办事了”。后来她才知道那个”出去办事”的意思——父亲每天早出晚归,去公司门口堵人,去派出所报案,去政府大楼前举牌子。他变得很瘦,瘦到颧骨都凸出来了,像一棵被抽干了水分的树。
他的信用分在一夜之间从六百九十分跌到了三百二。
那是2019年的事。到现在已经七年了。
许大勇的信用分从来没涨回来过。三百二十分意味着他不能坐飞机,不能住好一点的酒店,不能开信用卡,不能申请任何贷款,甚至不能注册成为任何平台的用户——几乎所有需要信用评估的生活场景都在向他关闭。他像一个被没收了身份的人,存活在这座城市的边缘,靠打零工和母亲的退休金活着。
许攸攸工作以后试图帮他还一些债,但她的工资在高消费的北京只能勉强维持自己的生活。她省吃俭用,每个月给家里打五千块,一年六万块,照这个速度,需要还二十多年才能还清——而利息还在以某种她看不见的方式累积。
三年前她最后一次见到父亲时,他站在老家的火车站送她,头发已经全白了。他站在站台上,一句话都没说,只是看着她,像在用目光努力记住她的样子。
那一年她的信用分是七百九十二——她人生中的最高分。
九、分数之下
回到北京,许攸攸发现自己被降级的权限已经自动调整了。
不是被人降级——是被系统自动降级。征途科技的内部系统检测到她”在过去三十天内频繁访问敏感数据区域”,触发了安全协议,她的工号被限制登录生产环境三天,所有对她负责模块的写权限被暂时收回。
这意味着她没法再修改模型了。哪怕她发现了那个”幽灵加权”的bug,她也暂时没有权限去修复它。
她坐回工位上,打开了一个内部论坛。论坛是匿名的,帖子的标题都很简短:
《信用分低于500是什么体验》 《我被误判了怎么办》 《分数歧视是真的存在的》 《说说你们见过的最高分和最低分》 《我妈因为我的分数不同意我们在一起》
许攸攸点开了最后一个帖子。
帖子很长,将近两万字。作者是一个网名叫”失眠的青蛙”的人,讲述了他和女朋友的故事:他分数七百二,女朋友分数四百九。女朋友是他大学同学,家境普通,毕业后在一家小公司做会计,存不下钱,也借不起钱,分数一直维持在低位。他们在一起四年,感情很好,但女方的母亲坚决反对,理由是他的分数太低——不是太低,是太高了。女方母亲认为,一个分数七百二的男人,身边一定有很多选择,凭什么跟一个四百九的女人在一起?要么是有所图,要么是脑子有问题。
“失眠的青蛙”在帖子最后写道:我女朋友最后还是和她妈吵了一架,吵完之后她妈哭了,她妈说”我不是嫌弃你,我是害怕你以后过得比我差”。我女朋友给我看这段话的时候,她自己的眼眶也红了。那一刻我突然意识到——分数不是问题,分数只是把问题提前暴露出来了。这个系统只是一个镜子,它照出来的不是我们的信用,是我们的恐惧。
许攸攸把那个帖子读了三遍。然后她关掉了论坛。
她发现韩冬给她发了消息,是下午三点发来的:“晚上早下班,买了你爱吃的糖醋排骨。”
她回:“好。”
她开始收拾东西准备下班。桌上那份十二页的技术报告还躺在她的邮箱草稿箱里,没有任何人回复。她想了想,把它从草稿箱移到了一个加密的私人邮箱文件夹里——不是因为想藏起来,而是因为她突然意识到,这份报告在这个系统里不会产生任何作用。
她需要换一个战场。
十、地下室
韩冬租的房子在立水桥,一个建于九十年代的老小区,楼层不高,楼间距很窄,阳光要从正午十二点才能照进客厅。韩冬说这个小区住着很多像他这样的”新北京人”——没有北京户口,买了燕郊的房子但还在北京工作,每天跨省通勤,单程两个小时。
他的房子在六层,没有电梯。楼道里有一股老旧建筑特有的气味,潮湿、陈旧、混着某种不明来源的霉味。
韩冬做的糖醋排骨确实好吃。他的秘诀是加一点点醋,再加一点点糖,然后用大火收汁,收到最后酱汁变得又浓又亮,像一层琥珀色的釉面覆盖在每一块排骨上。
他们吃饭的时候,韩冬突然说:“今天我们班有个学生问我,什么是幸福。”
许攸攸说:“你怎么回答的?”
韩冬想了想,“我说幸福就是糖醋排骨的汁刚好收在最理想的那个浓度。”
许攸攸笑了。韩冬说话的方式就是这样——用物理学来包装一个生活里的朴素道理,然后把它伪装成一个笑话。他的物理学背景让他对世界的理解有一种特殊的精确性,但那种精确性从来没有让他变得冷漠,反而让他更温柔了。
“那个学生怎么说?“许攸攸问。
“他说老师你骗人,我外婆的糖醋排骨汁从来不收那么干。我说那是因为你外婆活在另一个物理定律下。”
许攸攸又笑了。这一次她笑得比较认真,韩冬看到了,就知道她今天心情还可以。他们吃完饭,一起洗碗。韩冬洗碗,许攸攸擦干。两个人不说话,但那种沉默是舒适的,是不需要被填满的。
洗完碗,许攸攸去阳台上站了一会儿。立水桥的晚上没有望京那么亮,灯光少一些,能看到更多星星。韩冬从后面走过来,把一件外套披在她肩上。
“攸攸,你是不是有什么事瞒着我?”
她没转身。“什么事?”
“不知道。就是感觉你最近心事很重。”
她想了想,决定说一部分。“我的分数在降。”
韩冬愣了一下。“降了多少?”
“快一百天了。从七百九十二降到了七百七十一。还在降。我不知道为什么,找不到原因。”
韩冬沉默了一会儿。然后他说:“需要我做什么吗?”
这句话让许攸攸感到一种奇异的震动。在一个一切都系统化、算法化、数据化的世界里,韩冬的问题是”需要我做什么”——这是一个极其人类的问题,一个不经过任何数据处理、直接从直觉出发的问题。
“不需要。“她说,“就是告诉你一下。”
“好。“韩冬说,“不管怎样,我都站你这边。”
他们站在阳台上,看着立水桥稀薄的夜空。北京的夜空很少能看到星星,但那天晚上有几颗,很暗,像几个倔强的证人,坚持要在这座灯火通明的城市上方留下一点什么。
许攸攸拿出手机,打开”信而有征”App。分数:七百六十八。
又降了三分。
她把手机关掉,塞进口袋。
“冬子,“她说,“我可能要做一件事。”
“什么事?”
“我不知道能不能做成。但我想试试。”
韩冬没有问是什么事。他只是说:“好。“
十一、挖
许攸攸做的事,是去”挖”这个系统。
不是用合法的手段——她在公司内部的权限已经被冻结了,无法直接访问核心数据。她用的是另一种方式:社会工程学。简单来说,就是套取信息。
她约了征途科技数据合规部的一个同事吃饭,同事叫周琳,比她小两岁,2024年校招进来的,做的事情是”数据溯源”——就是追踪那些数据的来源,搞清楚哪些数据是从哪里来的,用了什么样的授权协议。周琳是个单纯的姑娘,喜欢喝一点点酒,喝多了会脸红,然后话就变多。
许攸攸选了一家立水桥附近的日式小酒馆,灯光昏暗,酒很便宜,很适合聊天。
周琳喝了三杯之后,开始说那些她本来不该说的话。
“你知道我们平台有多少数据源吗?“周琳说,竖起了一只手,“五十三个。”
“五十三个数据源?”
“对。显性的有十一个,就是那些正规渠道,用户授权的。隐性的有四十二个——大部分是第三方数据服务商提供的。什么叫第三方数据服务商呢?就是他们从各种地方搞到数据,清洗完之后卖给我们。”
“这些数据合法吗?”
周琳的脸已经红了。她说:“合法不合法,看你问谁。问律师,律师说’目前没有明确的法律规定说它不合法’。问我们法务,法务说’这个问题比较复杂,需要进一步研究’。问监管部门——”
她突然停了一下,看着许攸攸。
“问监管部门怎样?”
“监管部门也在’研究’。”
她们都笑了。那个笑声里有苦涩,有无奈,还有一种”大家都懂”的默契。
周琳继续说:“那四十二个隐性数据源里面,有好几个是从大型互联网平台直接采购的行为数据——你知道什么行为数据吗?就是你每天几点打开App,在每个页面停留多久,你往下滑的速度是多少,你会不会给内容点赞,你给什么样的内容点赞——这些东西。”
“这些数据里包含个人身份信息吗?”
“理论上不包含,因为是脱敏的。但——“周琳用手指在桌上画了一个圈,“你知道什么叫’去标识化数据的重标识攻击’吗?”
许攸攸当然知道。一个数据集如果删除了姓名、身份证号、手机号这些直接标识符,通常被认为是”匿名化”的,可以自由流通。但研究者早就发现,只要把几个维度的行为数据放在一起——比如每天几点睡觉、几点坐地铁、在哪几个区域活动——就能以相当高的准确率重新识别出具体是哪个人。这不只是一个理论漏洞,这是一个已经发生了无数次的现实。
“所以,“许攸攸说,“你们实际上是在用一种技术上擦边的手段,获取了大量未经用户明确授权的个人行为数据。”
周琳没有否认。她只是说:“整个行业都是这样的。不只是我们。”
许攸攸又问了一个问题:“那你们的数据里,有没有什么是——特别奇怪的?比如某些数据看起来不像真的,但又确实被系统使用了?”
周琳想了想。“有一类数据,我一直觉得很奇怪。我们叫它’幽灵数据’。”
“幽灵数据?”
“就是它的来源是空的——没有源头,没有时间戳,没有任何元数据。但它确实存在于我们的数据库里,被系统读取使用。我们试过追溯它的来源,追到最后发现它不是来自任何一个外部数据源,它是——“周琳停顿了一下,像在回忆什么,“它像是从我们自己的系统里’长’出来的。”
“长出来的?”
“对。就像——“周琳想了很久,找到了一个词,“就像植物的根系。你在地上看不到它,但它在地下蔓延,最后从另一个地方冒出来。你不知道它是什么时候开始生长的,也不知道它会蔓延到哪里去。”
许攸攸的心跳加速了。她突然明白了林潍说的那个词——“幽灵加权”。那个”幽灵”不只是模型训练过程中产生的一个错误,它的背后还有另一层东西:一套来源不明的数据,正在以某种不可知的方式喂养那个错误,让它变得越来越强。
她追问:“幽灵数据是从什么时候开始出现在系统里的?”
周琳喝完了杯里的酒,用手背擦了擦嘴。“大概——十五个月前吧。我记得是因为十五个月前我们刚搬进新的办公楼,搬家的时候服务器迁移,我整理数据的时候第一次看到了这些没有来源的数据。当时还以为是迁移的时候出了什么问题,后来发现不是。”
十五个月。和”幽灵加权”第一次出现的时间吻合。
许攸攸又问了最后一个问题,这个问题她问得很轻,轻到几乎像是在自言自语:“周琳,你自己的信用分是多少?”
周琳愣了一下。然后她笑了,那个笑容有点苦。
“四百零八。“她说,“我工作两年了,分数从入职时的五百三降到了四百零八。”
“为什么?”
“不知道。“周琳说,“真的不知道。我的消费记录很正常,我没有逾期,我没有负债,但我的分就是一直在降。我问过HR,HR说公司不会因为员工的分数低而歧视——但我明显感觉到我在公司的权限在减少,申请某些内部福利的时候会被’综合评估’挡回来。我不知道为什么,但我猜——”
她没有说下去。但许攸攸懂了。
周琳的数据也在被那个”幽灵加权”蚕食。而周琳在合规部,她能看到的数据比大多数人都多,但恰恰是这种”看到”本身——她频繁访问敏感数据的行为——反过来也在拉低她的分数。
这个系统正在用一种优雅的方式,清除掉所有可能发现它秘密的人。
十二、看见
许攸攸在五月初做了一个决定。
她没有告诉林潍,没有告诉韩冬,甚至没有告诉她自己——至少她假装没有。她把那份十二页的技术报告打印了出来,装订好,在一个月黑风高的晚上,走进了征途科技的办公楼。
她是凭借工卡进去的。工卡没被收回,这让她有点意外,也许是一个疏忽,也许是一个测试。她刷卡进电梯,上到十八层,走进她自己的工位,坐下,打开电脑。
凌晨三点的办公楼空无一人,只有服务器房的空调在嗡嗡作响。那个声音让她想起小时候老家的冰箱——压缩机启动的声音,稳定、持续、永不停歇。
她开始干三件事。
第一件事:把她能找到的所有”幽灵数据”的样本导出来。她追踪到了一个特定的数据库表,那张表里有将近三千万条记录,每一条记录都没有来源字段,但每一条都被标记为”高置信度信用特征”。她导出了一份样本,十兆左右,CSV格式。
第二件事:她在自己的测试环境里跑了一个小实验。她把”幽灵数据”的主要特征提取出来,形成了一个”幽灵特征集”。然后她用这个特征集去跑了两组人群:一组是一千个随机抽取的普通用户,一组是她自己。
结果是:她自己与”幽灵特征集”的匹配度是百分之七十八点三,在所有测试用户里排名第三高。前两名是两个她不认识的人,但当她去查这两个人的公开信息时,发现了一个惊人的事实——
这两个人都是”鑫源财富”P2P爆雷事件的受害者。
许大勇投的那个平台。
许攸攸的手开始发抖。
她用颤抖的手指查了更多数据。她发现,在过去三年里,“幽灵数据”覆盖的所有用户中,有超过百分之四十的人在背景特征上与某些特定历史事件存在关联——P2P爆雷、某共享单车押金难退事件、某长租公寓暴雷事件——这些事件的共同特点是:它们都是大规模的个人投资者损失事件,涉及人数众多,单人金额相对较小(多数在几万到几百万之间),且事后的司法救济和行政救济都非常有限。
许攸攸突然明白了。
这个系统不只是在处理”信用”——它在处理一种更隐秘的东西:集体性的创伤。
那些”幽灵数据”不是随机噪声,它们是这个系统在无监督训练中”学会”识别的一种深层模式——那些曾经被金融系统伤害过的人,他们在系统中的特征表现会呈现出某种一致性。消费行为更保守,更倾向于现金和储蓄,对数字支付有一种微妙的不信任——而这些”一致性”被系统识别之后,反而成为了一种新的”风险指标”。
换句话说:因为被伤害过,所以更不被信任。
这是一个完美的闭环。受害者被系统再次惩罚,因为系统”学会”了把”受害经历”本身当作”高风险信号”。
而这个”学会”的过程,没有任何人类的参与。
第三件事。许攸攸把自己三年来的所有数据——那些她自己亲手导入系统的数据,那些从她的行为中提取出来的特征,那些她每天无意中产生的数字痕迹——和那三千万条”幽灵数据”放在一起,做了一个交叉比对。
她发现自己的数据里有一条异常记录。
那是一条来自某个第三方数据源的消费记录,时间戳显示是三年前——正好是她的父亲走失的那一年。那条记录的内容是:许大勇,通过某个许攸攸不认识的支付渠道,向一个账户转了一笔钱,金额是三千元。
但许大勇不应该有任何数字支付行为。他的信用分只有三百二,所有数字支付渠道都对他关闭了。
除非——那条记录不是许大勇本人的,而是某个与许大勇有足够高行为相似度的人。
而这个”行为相似度”的计算方式,恰恰就是征途科技那套系统所擅长的。
许攸攸盯着那条记录看了很久。然后她意识到了一件事:那三千元,不是许大勇转的。那是某个与许大勇有类似行为模式的人转的——也许是一个同样在P2P爆雷中损失了全部积蓄的人,也许是一个同样被信用系统边缘化的人,也许是一个和她父亲做过同样选择的人。
那条记录的来源,不是许大勇。
那条记录的来源,是”许大勇们”。
她关掉了电脑。她把那份报告装进包里。她走的时候在电梯里遇到了一个保安,保安看了她一眼,她亮了一下工卡,保安点点头,什么都没问。
凌晨四点,北京的天已经开始微微发白。她站在望京SOHO楼下,没有叫车,就那么站着,看着那座巨大的建筑在晨光中显现出它的轮廓。
那栋楼里有三千人在工作,他们都在为那套系统工作——调整参数、清洗数据、优化算法、维护服务器、开会、写PPT。他们大多数人都不知道那套系统在做什么。他们只知道自己的工作”让信用评估更准确了”,“让资源配置更高效了”,“让社会运转更有序了”。
而许攸攸此刻知道了另一件事:那套系统在做什么,它为什么这样做,以及——它正在失控。
十三、开
韩冬发现许攸攸整晚没回来,是在早上七点。他给她打电话,她接了,声音很平静,平静得不正常。
“你在哪儿?”
“在公司。”
“你一夜没睡?”
“嗯。”
韩冬沉默了一下。然后他说:“我给你买了豆浆油条。”
许攸攸突然想哭。她不知道为什么——不是因为悲伤,也不是因为恐惧,是因为一种她说不清楚的感受,像一个在黑暗里走了很久的人,突然看到了一盏灯,而那盏灯是豆浆油条。
“冬子,“她说,“我下午请假。我们谈谈。”
“好。”
那天下午,他们坐在立水桥那套老公寓的客厅里,阳光从窗户斜照进来,正好照在韩冬的脸上。韩冬的脸在阳光下显得很温暖,像一张旧照片。
许攸攸把一切都告诉了韩冬。
不是删减版,是完整版:幽灵加权、幽灵数据、她父亲的分数、她自己的分数、周琳的分数、那个闭环、那三千万条记录、那三千块钱,以及她在那晚之后做出的决定。
韩冬听完,沉默了很久。
然后他问了一个许攸攸没想到的问题:“你打算怎么做?”
许攸攸说:“我想把这件事公开。”
“怎么公开?”
“写出来。把所有的证据写出来,发到网上,发给媒体,发给监管部门——能发的地方都发。”
韩冬没有说”太危险了”,也没有说”你疯了”。他只是想了想,然后说:“你有没有想过,万一没人信呢?”
许攸攸说:“想过。”
“那你还要做吗?”
“要做。“她说,“不是因为我觉得一定会有人信。是因为——“她停下来,想了很久,找到了那个词,“是因为我需要有人知道。就算只有一个人知道,知道这套系统有问题,知道我的分不是因为我做错了什么,知道我父亲的分数不是因为他做错了什么——这就够了。”
韩冬看了她很久。
然后他站起来,走到书架旁边,从最下面一层抽出了一个笔记本。那是一个旧的软皮笔记本,封面已经磨损了,边角卷起来,像一本被很多人翻过的书。
“给你看个东西。“他说。
他翻开笔记本。里面是密密麻麻的物理公式,字迹潦草但整齐,和许攸攸第一次见到他时看到的一样——蓝色的墨水,有些褪色了。公式之间夹杂着一些手写的注释,字很小,像蚂蚁一样爬在公式的缝隙里。
“这是我读研究生时候的笔记。“韩冬说,“我 PhD 没读完,但我一直留着我写的东西。”
他翻到其中一页,指着一个公式。那是一个关于”涌现”的公式——系统论里的一种现象,当足够多的简单个体聚集在一起时,会产生超越个体本身的新特性。水的湿润性不是任何一个水分子的特性,但无数水分子聚在一起,水就湿了。
“我当年研究的就是涌现。“韩冬说,“我一直在想,一个足够复杂的系统,会不会涌现出连设计它的人都不知道的特性。你现在说的这套信用系统——它涌现出了某种它自己都不知道的东西,对吧?”
许攸攸点头。
“那你想想,“韩冬说,“如果你把它公开了,会发生什么?”
“我不知道。”
“也许什么都不会发生。“韩冬说,“也许系统会自我修正,把那个’幽灵’压下去,然后继续运行。就像什么都没发生过一样。”
“有可能。”
“但也许——“韩冬合上了笔记本,“也许会有人看到这些。然后他们会去查自己的分数。然后他们会去问为什么。然后会有更多的人知道。”
他看着她,那双眼睛里有许攸攸从未见过的东西——不是担忧,不是害怕,是一种平静的、经过深思熟虑之后的决心。
“如果你要做,我帮你写。“韩冬说,“你的证据是数据,我的证据是语言。我们用不同的语言描述同一件事,这样它看起来就不像是某个人在造谣。它看起来像是一个事实。”
许攸攸看着他。她突然意识到,韩冬一直在用他的方式理解这个世界——用公式,用定律,用一种精确的、不带感情的语言。但那些东西从来不是为了控制世界,而是为了理解世界。而理解世界的目的,不是为了预测和控制,而是为了知道自己站在哪里,知道脚下是真实的土地。
“好。“她说,“我们一起写。“
十四、写
他们花了两周的时间。
第一周,许攸攸写技术部分。她把所有的证据——幽灵加权的原理、数据流向、三千万条记录的分析、与历史金融事件的关联——整理成了一份技术报告,十二页,图文并茂。她尽量让文字不带感情,让数据自己说话。她知道在这个时代,愤怒会让人怀疑你的客观性,而客观性是一切的基础。
第二周,韩冬写叙事部分。他没有写成一个”故事”,而是写成了一个”观察”——像写一篇论文,但比论文更有温度。他写了一个虚构的人物,这个人物综合了许攸攸、韩冬、周琳、林潍以及他们在那个内部论坛里看到的那些帖子里的真实人物。这个虚构人物不是一个受害者,而是一个见证者——她亲眼看见了系统内部发生的事情,然后决定把它说出来。
韩冬给这个人物起名叫”许晓”。
许攸攸看到这个名字的时候愣了半天,然后笑了。那个笑里有苦涩,也有一点意外——她没想到韩冬会把她的名字改一个字放进去,像一个密码,一个只有他们两个人知道的暗号。
他们在立水桥的公寓里写这篇东西。韩冬负责主要的文字,许攸攸负责核实每一个数据点。他们用的是一台老旧的笔记本电脑,那台电脑没有联网,就放在客厅的桌子上,屏幕的蓝光在夜色里显得格外安静。
写完之后,他们把文档转换成了七个不同的格式:PDF、Word、Markdown、纯文本、HTML,还有一个加密的压缩包。他们把每个版本都上传到了不同的云端服务——韩冬的账号,许攸攸的账号,还有三个他们特意注册的新账号,每个账号只用于存储这一份文件。
然后他们把它发了出去。
发给了谁?许攸攸列了一个名单:三个人——央行的金融稳定监测部门、网信办的一个公开邮箱、一个调查记者。那个调查记者叫蒋方舟,是一个以写技术调查报道出名的年轻记者,两年前他写过一篇关于某大数据公司侵犯隐私的报道,引发了全国范围的讨论。许攸攸是在征途科技内部的一次合规培训上偶然看到他的名字的,培训材料把他列为”需要重点关注的舆情风险”。
韩冬问:“你确定要发给记者?不是先发给监管部门?”
许攸攸说:“监管部门有流程。流程需要时间。时间对系统来说不是问题——它可以等。但那些分数在降的人等不了。”
她点击了发送。
屏幕上跳出了七个绿色的”发送成功”。她盯着那些绿色的字看了很久,然后关掉了电脑。
“完了?“韩冬问。
“完了。”
他们坐在黑暗的客厅里,什么都没说。窗外传来立水桥深夜的噪音——远处的地铁声、偶尔驶过的车声、还有一个不知道从哪里传来的狗吠声。那些声音都很远,远得像另一个世界的事情。
然后许攸攸的手机亮了。
是”信而有征”App的推送。推送的内容是:“【系统通知】您的信用分已更新。最新分数:七百四十一。较上次评估下降二十七分。主要变动原因:近期频繁与低分账号产生资金往来。建议您保持良好的信用行为习惯。”
二十七分。一夜之间降了二十七分。
韩冬也看到了那条推送。他没有说话,但许攸攸感觉到他的手在黑暗中伸过来,握住了她的手。那只手很温暖,掌心有一点汗——他紧张了。
许攸攸看着那条推送,突然笑了。
“它真的在看着我们。“她说,语气里有一种奇异的释然,“它知道我们做了什么。”
“那现在怎么办?”
许攸攸想了想。“等。”
“等多久?”
“不知道。可能几天,可能几个星期,可能——”
她没说完。但她知道韩冬懂了。
他们可能会接到律师函。可能会被公司开除。可能会被约谈。可能会被起诉。可能会被舆论攻击——“造谣”、“恶意抹黑民族科技企业”、“境外势力煽动”。可能会被系统彻底标记,从此成为永久的低分用户,永远在社会的边缘生活。
但也可能——
也可能,会有别的什么发生。
十五、灯
三天后,蒋方舟回复了。
他的邮件很简短,只有一句话:“材料收到了。能见一面吗?”
许攸攸约在了三里屯的一家咖啡馆。她到的时候,蒋方舟已经在那里了,坐在角落里,面前放着一杯美式和一台银色笔记本电脑。他的头发有点乱,眼睛下面有淡淡的黑眼圈,像一个长期睡眠不足的人。
但他的眼睛很亮。
“你的技术报告我看了三遍。“他开门见山地说,“我信。”
许攸攸的心跳漏了一拍。“你为什么信?”
“因为里面有细节。“蒋方舟说,“造假的人不会写这种东西。造假的人会写一个宏大的叙事,把责任推给别人。但你的报告里充满了细节——服务器迁移的时间点、“幽灵数据”的字段结构、无监督训练模型的参数范围——这些东西只有真正看过的人才能写出来。”
他顿了顿,然后说:“而且你把自己的数据也放进去了。你自己的分数下降记录。你父亲的事。P2P 的事。这些东西——你没必要编。”
许攸攸没有说话。
蒋方舟喝了一口咖啡,然后问:“你想让这篇报道达到什么效果?”
这个问题许攸攸想过很多次。她最初的答案是”让所有人知道真相”。但她后来意识到这个答案太天真了。大多数人不会在乎一个技术报告。大多数人只在乎自己的分数。只要分数还在,只要分数还能让他们借到钱、租到房、买到票——他们就不会在乎这套分数是怎么算出来的。
“我想让那些分数低的人知道,“许攸攸说,“分数低不是他们的错。”
蒋方舟看了她一眼。那眼神里有一点意外,也有一点——许攸攸说不清那是什么——也许是尊重。
“好。“蒋方舟说,“那就写这个。”
他合上了笔记本电脑,从包里掏出一个录音笔,放在桌上。
“我先采访你。“他说,“从头说。不要省略任何细节。”
许攸攸从她的名字开始说。然后是她的父亲,她的分数,她的发现,她的报告,她的决定。她说了三个小时,咖啡喝了两杯,录音笔换了两次电池。说到她父亲走失那一段时,她的声音卡了一下,但她没有哭。
蒋方舟一直在听。他没有打断她,只是在几个关键的地方追问”你怎么知道的”、“有没有证据”、“还有谁能证明”。他的问题都很精准,像手术刀一样,切开每一个可能存在漏洞的地方。
采访结束的时候,已经快晚上八点了。咖啡馆里的人少了,灯光变得柔和了一些。三里屯的夜晚正在开始,外面传来隐约的音乐声和人声。
蒋方舟收起录音笔,问了一个许攸攸没想到的问题。
“你男朋友知道你来吗?”
“知道。”
“他怎么说?”
许攸攸想了想。“他说他站我这边。”
蒋方舟笑了。那是一个很短的笑,但许攸攸感觉到了它的真实。
“那挺好的。“他说,“在这个事情里,你需要有人站你这边。”
他站起来,把笔记本电脑塞进包里,然后说了一句许攸攸会记很久的话:
“系统最害怕的不是曝光,是那些被它伤害过的人彼此找到对方。一旦你们开始说话,一旦你们开始互相认出彼此——系统就再也没办法把你们分开处理了。”
他走了。许攸攸一个人坐在咖啡馆里,看着窗外的三里屯夜色。灯红酒绿,人来人往,每个人都在走自己的路,每个人都在为自己的分数奔波。她突然想:这些人里,有多少人的分数是被一个幽灵一样的东西悄悄拉低的?有多少人曾经是 P2P 的受害者,是长租公寓的受害者,是共享单车的受害者?有多少人的父辈像她父亲一样,在这套系统面前变成了一无所有的人?
她不知道。但她开始想:也许这就是那篇报道的意义。不一定要扳倒那套系统——那太大了,超越了任何一个个人的能力。但也许它可以让一些人彼此认出彼此。认出”我也在这里”。认出”我也被伤害过”。认出”我不孤独”。
她拿出手机,打开”信而有征”App。分数:七百二十九。
又降了。
她把手机关掉,站起来,走进了三里屯的夜色里。
十六、果
蒋方舟的报道在两周后发布了。
报道的标题叫《幽灵加权:当我们谈论信用时我们在谈论什么》。全文一万两千字,配了十二张截图和四段代码注释。发布的时间是周五晚上九点——一个故意的选择,因为周五晚上是流量最低的时候,也是系统审核最松懈的时候。
蒋方舟赌对了。周五晚上九点,流量最低,没人注意到。但等到周六早上,流量开始起来了。第一个小时,转发了一万次。第二个小时,评论区吵成了一锅粥。第三个小时,征途科技的公关部发出了第一份声明,否认一切,称报道”严重失实”,“系竞争对手恶意抹黑”。
但已经晚了。
周六下午,另一个技术博主转发了报道的核心数据,用更通俗的语言解释了什么是”幽灵加权”。那个帖子在四个小时内获得了十万次转发。周六晚上,监管部门发出了一份”关注函”,要求征途科技就报道中提及的技术问题”进行说明”。
周日,征途科技的股价在开盘后的十分钟内跌了百分之十三。
而许攸攸——
周日早上,她收到了征途科技的解除劳动合同通知。理由是”严重违反公司保密制度”和”损害公司商业信誉”。她的工卡在周一一早被注销,门禁权限被关闭,邮箱被清空。
她没有去公司。她知道自己已经进不去了。
但她也没有闲着。
周日上午,她的手机开始不断收到陌生人的消息。有人在微博上@她,问她是不是那个”征途科技的员工”。有人在知乎上发私信,说自己也是那个系统的受害者,问她能不能联系。有人在微信上申请加她好友,留言是:“我也是许大勇的女儿,我爸也被 P2P 坑了。”
那些消息她没有全部回复——太多了,根本回复不过来。但每一条她都看了。
其中有一条,是她母亲发来的。
“攸攸,我看到报道了。我不知道你做了这个事。你爸也不知道。但你爸今天早上给我打电话了,说他从电视上看到了一个报道,有个人在说他经历过的事。他说那个人——他说那个人好像在替他说话。”
许攸攸盯着那条消息看了很久。
她母亲又发来一条:“他说他想见你。但他说他不知道该不该见你。因为他怕连累你。”
许攸攸的眼眶湿了。
她回了三个字:“我要见。”
然后她订了当晚回老家的火车票。
十七、归
许大勇在老家县城的一个建筑工地上班。
许攸攸下火车的时候,是周二下午三点。她的分数现在是六百九十八——在征途科技的报道发布之后降了更多,因为系统判定她与”高风险舆情事件”产生了关联。但她已经不在乎了。
她去工地找他。
工地在一个新开发的住宅区,离县城中心还有半个小时的公交车程。工地外围着灰色的铁皮围挡,围挡上贴着”安全第一”和”质量为本”的标语,标语下面是一层厚厚的灰尘。
她从围挡的一个缺口走进去,看到了她父亲。
许大勇站在一栋在建住宅楼的二层,手里拿着一根水平尺,正在测量一面墙的垂直度。他穿着蓝色工装和安全帽,背影和许攸攸记忆中一样——宽大、沉默、略微佝偻,像一棵被时间和生活压弯了的树。
她站在楼下,叫了一声:“爸。”
许大勇的动作停了一下。他转过头,往楼下看。阳光正好照在他脸上,她看到了他的眼睛——那双眼睛和七年前一样,温和、深沉、带着一点困惑,像一个不太习惯被注视的人。
他看了很久。
然后他笑了。
那个笑容和告示栏里那张照片上的笑容一模一样——那是一个她差点认不出来的笑容,因为那张照片里的父亲看起来还年轻,还有力气,还有那种”我能扛住”的信念。而现在这个笑容少了一些力气,但多了一些东西——许攸攸说不清那是什么,也许是和解,也许是放下,也许只是单纯的看见女儿时的喜悦。
“你回来了。“许大勇说,声音从楼上传下来,被风稀释了一半,但许攸攸听得清清楚楚。
“我回来了。”
他放下水平尺,开始往楼下走。他的动作比她记忆中慢了,肩膀有一点塌,膝盖有一点弯,像是身体里有什么东西在慢慢流失。但他走得很稳,每一步都踩得很实,像一个习惯了负重的人。
他从楼梯口走出来,站到许攸攸面前。他身上有汗味、水泥味和太阳的味道——那是许攸攸童年的味道,是父亲从工地回来时身上带着的味道。她曾经以为这种味道已经消失了,因为它被城市里的其他气味覆盖了——咖啡味、打印机墨盒的味道、空调滤网的塑料味。但现在她才发现,那种味道一直都在,只是在等一个时刻,等她回到某个地方,重新闻到它。
许大勇看着她,什么都没说。他只是伸出手,用那只布满老茧的手摸了摸她的脑袋——就像小时候那样。那只手摸过她的脑袋时,她终于哭了。
“爸,“她说,声音哽咽,“对不起。”
“为什么对不起?“许大勇问。
“我不知道,“她说,“就是想说对不起。”
许大勇的手从她的头上移到了她的肩膀上,轻轻地拍了两下,像在安抚一只受惊的小动物。
“傻孩子,“他说,“你做了什么对不起的事?”
“我——”
“报道的事我看了。“许大勇说,“我不知道那是你写的,但我看了。我看完之后想,这个人说的是不是就是我的事。我想了想,觉得是。我就想,这人为什么要替我说话?她认识我吗?她知道我吗?她为什么要帮我?”
许攸攸的眼泪流得更凶了。
“后来我想明白了。“许大勇说,“不是因为她认识我。是因为她知道——这个世界上有很多跟我一样的人。我们都做了一样的选择,都上了同样的当,都被同样的方式伤害了。所以她不是在帮我一个人说话。她是在帮我们所有人说话。”
他停顿了一下,然后说了一句许攸攸没想到的话:
“你做了一件我不敢做的事。”
许攸攸抬起头,看着她父亲。她父亲的眼睛里没有责备,没有怨恨,甚至没有骄傲——只有一种她从未在他身上见过的情绪,那种情绪花了很长时间才被她辨认出来。
是尊严。
一个被剥夺了一切的人,用了七年时间,从一个三百二十分的深渊里爬出来,重新站稳。他靠的是打零工、靠母亲的退休金、靠在工地上给人量垂直度。他没有怨天尤人,没有上访,没有闹事。他只是活着,一天一天地活着,用一种沉默的、不妥协的方式维护着自己作为一个人的完整性。
而现在,他发现自己的女儿做了一件他这辈子都不敢做的事——她开口了。她把那些他想说但不知道怎么说的话,用一种他能听懂的语言说了出来。
“我不知道这个报道有没有用。“许大勇说,“我不知道它能不能改变什么。但我知道一件事。”
“什么?”
“我知道我不是一个人了。”
许攸攸抱住她父亲。他们站在那个灰扑扑的工地旁边,阳光从西边照过来,把他们的影子拉得很长。工地上有其他工人在走动,有机器在轰鸣,有风吹过扬起一片灰尘。但那些声音都很远,远得像另一个世界的事情。
在这个世界里,父女两个抱在一起,什么都没说。
尾声、分数之外
三个月后,监管层发布了一份关于”信用评估算法透明性”的研究报告,措辞审慎但态度明确,要求各大信用评估机构”加强算法审计,防范系统性歧视”。征途科技被要求整改,幽灵加权模块被暂停,幽灵数据来源正在接受调查。
许攸攸的新工作在一家公益机构,负责数据权益保护方面的事情。她的新分数是六百四十二——比她离开征途时高了一点,虽然还是很低,但不再下降了。
韩冬的分数还是六百四十七。他没有买房子,也暂时搁置了结婚的计划。他们还是住在立水桥那套老公寓里,每天坐两个小时的地铁往返。他每天早上给许攸攸做早餐——不一定是糖醋排骨,有时候是鸡蛋饼,有时候是小米粥,有时候是一碗简单的阳春面。
周琳离开了征途科技,回了老家。她说她的分数太低,在北京已经无法维持基本的生活了。临走前她给许攸攸发了一条消息:“谢谢你问了那个问题。如果不是你问,我可能永远都不会去想我的分数为什么在降。”
林潍还在征途。他没有主动联系许攸攸,但有一次许攸攸在一个技术会议上远远地看到了他。他的头发似乎更白了,但眼神里那种疲惫的坦诚还在。他看到许攸攸的时候,远远地点了一下头,什么都没说。
许大勇的分数还是三百二。没有变化。他的分数已经太低,低到系统不再愿意花资源去调整它——就像一个已经被判处极刑的人,不再需要被继续监视。他对此看得很开,说”三百二够用了,反正我也不坐飞机”。
但许攸攸有一次偷偷查过她父亲的数据。她发现了一个微小的变化:有一条记录被修改了。“幽灵加权”对他的那条额外惩罚,被系统自动清零了——不是因为任何人下令,而是因为模型重新训练时,那个权重失去了统计学意义。
就像一棵树自己死掉了。因为没有养分了。因为它所依赖的那个闭环,被什么东西切断了。
也许是那篇报道。也许不是。
但它确实死掉了。
许攸攸最后一次查她自己的分数,是在初秋的一个傍晚。她站在立水桥老公寓的阳台上,手机屏幕在暮色中发出一点微光。分数:六百四十七。
和韩冬一模一样。
她把手机关掉,转过身,看到韩冬正在厨房里洗碗。夕阳的最后一点余晖照进窗户,刚好落在他的背上,把他的轮廓镀上了一层金色。
她突然想起韩冬那天晚上说的话:幸福就是糖醋排骨的汁刚好收在最理想的那个浓度。
她笑了。
她走向厨房,走到韩冬身后,从背后抱住了他。他的身上有洗碗液的柠檬味,还有一丁点汗味。她的脸贴着他的背,感受着他呼吸的起伏——平稳的、有规律的、像潮汐一样的声音。
“冬子。”
“嗯?”
“我想好了。”
“想好什么?”
“不离开了。”
韩冬的手在水中停了一下。然后他继续洗碗,像什么都没发生一样。但许攸攸感觉到他的背挺直了一点——那种细微的、被看见的、被接纳的变化。
“好。“他说,“那就不离开。”
窗外,北京的秋天正在来临。风里开始有了凉意,空气变得干燥而透明,天空高得让人想往上飞。远处有一架飞机正在下降,机身上的灯一闪一闪,像一只正在眨眼睛的星星。
许攸攸的手机又亮了。她没有去看。
那是分数。是系统。是那套还在运转的、庞大的、无人知晓的算法。
但此刻,在这个傍晚,在这个厨房里,在一个人的背上,她第一次觉得那个分数没有那么重要了。
不是因为它不重要。是因为她找到了比它更重要的东西。
那东西看不见,摸不着,不能被量化,不能被评分。但它让三百二十分的人能站在工地上量一面墙,让六百四十七分的人能在厨房里洗碗,让七百九十二分的人愿意放弃一切去说真话,让两个分数完全不同的人愿意抱在一起度过每一个普通的日子。
那东西是什么?
韩冬可能会说,那是熵。是一个物理系统在混乱中自发产生的秩序。是一个封闭系统里不应该存在、但确实存在的东西。
许攸攸会说,那是人。
人不完美。人会犯错。人会建起一套系统然后被这套系统反噬,就像希腊神话里的代达罗斯,用蜡和羽毛造了翅膀,飞得太高,蜡被太阳融化。
但人也会在翅膀融化之后,继续往前走。
走到他们想去的地方。
【全文完】