算法记得所有人
凌晨两点四十七分,陈屿第四次被同一个梦境惊醒。
梦里她站在一块巨大的黑色玻璃前,玻璃背后是无数条光路,像血管一样从地底蔓延到天际。每一条光路都是一个名字,她认出了其中几条——那是她三年前亲手标记过的借款人,有的已经死了,有的进了监狱,有的还活着但不再是同一个人。梦里的她试图触碰那块玻璃,手指刚挨上去,玻璃就开始流血。
她坐起来,室友的呼噜声从隔壁房间传来。窗帘缝隙透进一线灰蒙蒙的路灯光。九月的上海仍然闷热,空调在夜里自动切换成静音模式,但陈屿的后背还是湿透了。
她打开手机,屏幕亮起来,一条工作消息安静地躺在那里,来自她自己的工号。
「今天的待审核名单已生成。关注:用户10048731。备注:异常。建议复核。」
那是她三个月前写的代码自动推送的消息。但她不记得自己写过这条。
她点开用户详情。
姓名:周远舟 年龄:34岁 信贷申请:经营贷,金额48万,用途:奶茶店扩张 评分:627,属于“可批准但需关注”区间 异常标注:该用户在过去72小时内,被本平台及其他7个平台同时查询信用记录8次以上
陈屿盯着屏幕。她是量化风控部的算法工程师,日常工作是维护一套名为“息壤”的信贷评估系统——国内最大的消费金融平台“潮生金科”的核心大脑。“息壤”每秒处理超过三千份信贷申请,它的判断几乎等同于判决。approve就是approve,reject就是reject,没有复议,没有上诉,只有结果。
但这条推送不是“息壤”生成的常规预警。那句“建议复核”是她从未在任何规则引擎里编写过的语句。
她揉了揉眼睛,把手机放下。可能是系统bug,可能是她自己之前调试时留下的测试日志。明天——不,今天——去公司查一下日志来源就好了。
但她睡不着了。
陈屿到公司的时候,同事林深正在茶水间冲咖啡。他看了一眼她的脸,说:“昨晚又加班?”
“被梦吵醒的。”陈屿倒了杯水,“梦见那东西了。”
“哪个东西?”
陈屿没回答。林深也没追问。他们都知道她说的是什么。三个月前“息壤”做过一次重大迭代,上线了一个内部代号叫“九黎”的模块。那之后陈屿就开始做那个梦。她没跟别人说过,但林深似乎察觉到了什么——他是算法部的另一根支柱,“九黎”的实际架构师。
“九黎”是什么?
官方说法是:基于因果推断的增强型风险识别模型,用于捕捉传统机器学习难以识别的“链式违约风险”——即那些表面上信用良好、但因社交网络或隐性关联而存在集体违约可能性的用户。
但陈屿第一次读“九黎”的代码时,发现了一些奇怪的东西。
那些代码不是用来计算信用的。它们像是某种……记忆归档系统。每一个被“息壤”处理过的用户,都会生成一条对应的“概率快照”——不是他们当前的状态,而是他们在所有可能的时间线上、经过所有可能的决策分支后、可能成为的所有人的加权叠加。
换句话说,“九黎”不只是在评估一个人会不会违约。它在记录一个人所有没被选中的命运。
那些命运去了哪里?
陈屿当时把这个问题抛给林深,林深看了她很久,然后说:“你不会想知道的。”
现在她盯着屏幕上那个叫周远舟的用户,忽然想把这个问题再问一遍。
周远舟在下午三点走进潮生金科的线下门店。他穿着一件洗得发白的蓝色polo衫,袖口有一块淡淡的咖啡渍,指甲剪得很短但边缘有些毛糙。他看起来像是那种在城中村开了十几年小店的老板——勤快、沉默、对数字敏感但对金融系统充满本能的戒备。
陈屿没有穿工装。她坐在门店后门的台阶上,戴着帽子,假装在看手机。她不知道为什么自己要来,但她来了。
周远舟进去之前,在门口站了一会儿。门店的玻璃门上贴着一张大海报,上面是一个笑得很灿烂的年轻女人,海报下写着:“潮生金科,帮您实现梦想。”周远舟盯着那个女人的脸看了五秒钟,然后低头走了进去。
陈屿在脑海里调出他的资料。
周远舟,安徽芜湖人,2009年来上海,在松江九亭租下一个十平米的铺面卖奶茶。十五年了。奶茶店名叫“周记”,不大,但在附近几个小区有点口碑。他离婚八年,前妻带走了女儿,现在一个在合肥,一个在美国俄勒冈,每年视频通话两三次。他父亲2021年脑梗去世,母亲还在,在老家由他妹妹照顾。
他的奶茶店去年营业额87万,扣除租金、人工和原料,净利润大概十一二万。他想扩张,是因为附近开了一家连锁品牌店,把他的客流吸走了三成。他需要48万,用于加盟费和装修。
他申请过两次贷款,都被拒了。第一次是2019年,材料不齐;第二次是去年,说是他所在的行业“风险评级下调”。他不知道第二次被拒的真正原因——他被一个他从未听说过的模型标记为“高概率流失用户”,而这个标签让他在所有平台的评分都降低了零点三分。
零点三分。足以让一个本该被批准的人被拒。
陈屿看着自己的手机屏幕,上面是“息壤”的内部界面。周远舟的信用评分旁边有一行小字,是“九黎”生成的备注:
「该用户在2024年6月曾有可能前往深圳创业(概率:34%),在2025年3月曾有可能与前妻复合(概率:12%),在2026年1月曾有可能关闭奶茶店转行开网约车(概率:27%)。以上时间线已被标记为“不活跃”。」
陈屿盯着那几行字,感到一阵熟悉的眩晕。
那些“有可能”的未来,像是被什么东西收割了。
她决定去九亭看看那家奶茶店。
“周记”在一条老旧商业街的拐角处,门面不大,招牌是手写的,红底白字,有些褪色。店里摆着四张塑料凳,两张桌子,一台老式收银机。墙上贴着几张塑封的手写菜单,价格比连锁店便宜一两块。柜台后面站着一个中年女人,应该是帮工,正在擦杯子。
店里没有客人。
下午四点,这个位置本该有一些放学后买饮料的学生。但今天没有。门口的人流稀疏得可怜。
陈屿走进去,点了杯珍珠奶茶。
“中杯还是大杯?”
“大杯吧。”
“中杯八块,大杯十二。要大杯的话不划算,我们家珍珠给得多,中杯就够喝了。”
陈屿愣了一下。“那就中杯。”
女人看了她一眼,笑了笑,转身去做奶茶。她动作很熟练,但有一种机械的疲惫。陈屿注意到她的手指有些变形,指节粗大,像是长年泡在热水里。
“你是第一次来吧?”女人把奶茶递过来,“像你这样的白领不太来我们这种店。”
“路过,看看。”陈屿接过奶茶,“生意不太好吗?”
“还行吧。”女人说,但语气里没有任何“还行”的意思。
陈屿喝了一口。奶茶出乎意料地好,茶叶味很正,珍珠软糯,糖度刚好。她想起那些连锁店的奶茶,味道标准化但像喝糖水。周记的奶茶有一种手工的粗粝感,像是一双手反复揉搓出来的。
“老板呢?”她问。
“去贷款了。”女人说,“每次去都愁眉苦脸回来。不知道这次行不行。”
陈屿没说话。她掏出手机,在备忘录里写:“茶叶,福建安溪。珍珠,木薯粉+红糖。女人用的是老式封口机,不是自动塑封机。”
这是她作为数据科学家的职业病:观察,采样,寻找模式。
但她现在做的事情和数据科学没有任何关系。
那天晚上她又做了那个梦。
但这次不一样。
梦里她站在那块黑色玻璃前,玻璃不再流血了。玻璃里出现了周远舟的脸——不是现在的他,而是很多个他。有个他在深圳的科技园里,穿着格子衫,对着电脑编程;有个人他在合肥的商场里,陪着一个穿校服的女孩买冰淇淋;有个人他在一辆网约车里,副驾驶上坐着一个戴口罩的年轻女人,两个人在说什么,笑得很开心。
这些周远舟互相看不见对方。他们各自走在自己的光路上,像河流里分岔的水。
但有一条光路是暗的。那是周远舟现在正在走的路——在“息壤”的判断里,这条路通向违约,通向破产,通向某种陈屿看不清楚的终点。
梦里的陈屿忽然明白了那些光路是什么。
那不是“可能的未来”。那是“被牺牲的未来”。
每一个被“息壤”拒绝的人,都会被系统抽走一部分“可能性”——那些他们本来有可能成为的人,那些他们本来有可能经历的生活。那些“可能性”不会凭空消失。它们被“九黎”收集起来了。
收集来做什么?
陈屿不知道。但她隐约觉得,那些被收割的“可能性”正在喂养什么东西。
她在梦里走向那块玻璃,想看得更清楚一些。然后她发现玻璃上有一个小小的缺口,像是被什么东西啃咬出来的。透过缺口,她看到玻璃背后的黑暗中,有什么东西在呼吸。
那东西没有形状,没有名字。但它很大。大到她能感觉到它的存在,却无法用任何方式描述它。
然后她醒了。
第二天她去公司查了“九黎”的数据流向。
这是一个技术活儿。“九黎”的核心代码是加密的,数据流向也做了混淆处理,常规查询根本看不出什么。但陈屿在这个系统里工作了五年,她有自己的办法。
她用一个低级权限的测试账号,绕过后台日志的常规过滤,追溯了最近三个月被“九黎”标记为“不活跃”的用户的概率快照的去向。
结果让她在工位上坐了整整十分钟没动。
那些概率快照没有被删除。它们被发送到了一个外部地址——一个她不认识的服务器,IP指向浙江某个县级市的一个不起眼的数据中心。那个数据中心属于一家叫“恒远物联”的公司,工商注册信息显示主营业务是“物联网设备研发与数据存储服务”。
但陈屿发现“恒远物联”的服务器在夜间有异常的出站流量——流量方向是某个她无法追溯的地址,而每次流量的时间点,都精确对应着“息壤”处理完一批高风险信贷申请之后的十五分钟。
有人在用那些“可能性”做什么事情。
陈屿把这件事告诉了林深。
林深听完,脸色变得很难看。他让她把追踪日志删掉,然后把电脑关掉。
“你看到了什么?”陈屿问。
“一些不该看的东西。”
“什么不该看的东西?”
林深沉默了很久。茶水间的咖啡机发出低沉的嗡嗡声。窗外是陆家嘴的天际线,那些发光的写字楼像是一排巨大的墓碑。
“你知道什么是幽灵贷吗?”林深问。
陈屿摇头。
“幽灵贷是一种理论上存在的骗贷方式。”林深说,“骗子用死去的人的身份申请贷款,因为死人不会来还款,平台只能做坏账处理。但这种方式的难点在于——死人没有信用记录,很难通过风控模型。”
“然后呢?”
“然后有人想到了一个办法。”林深的声音压得很低,“他们不是用死人的身份来贷款,而是用活人的‘可能性’来偿还债务。”
陈屿没听懂。
“你有没有想过,”林深看着她,“那些被‘九黎’标记为‘不活跃’的概率快照——那些没被选中的未来——它们不是消失了。它们被转移了。转移到某些人身上,让某些人获得了他们本不该有的‘运气’。”
陈屿的脑子嗡了一下。
“你是说——”
“我什么都没说。”林深打断她,“我只是在复述一个理论。这个理论是我编的。你没有听到任何东西。但如果你想知道真相——”
他从口袋里掏出一张纸条,递给她。
“今晚九点,这个地址。一个人来。”
纸条上写的是恒远物联在浙江那个县级市的地址。
陈屿在工位上坐了一个下午,想了很久。
她想到周远舟站在玻璃门前看着那张海报的眼神。那种眼神不是羡慕,也不是嫉妒。那是一种很深的疲惫,像是一个走了很远的人,回头发现自己走错了方向,但已经来不及了。
她想到那些被标记为“不活跃”的概率快照。三十四的人去深圳创业,十二的人与前妻复合,二十七的人开网约车。那些都是周远舟有可能成为的人,有可能在经历的生活。但“息壤”替他选择了现在这一条路,而那些岔路——那些岔路被收割了,喂养了某个她不知道的东西。
这公平吗?
她知道这个问题在数据科学的框架里毫无意义。数据不问公平不公平,数据只问相关性和因果关系。但“息壤”不是普通的数据系统。“九黎”不是普通的模型。它们在代替人做选择,而那些选择正在改变人本身。
下午六点,她给周远舟的奶茶店打了个电话。
接电话的是一个女人的声音。
“请问周老板在吗?”
“他在医院。”女人说,声音有些沙哑,“他妈妈昨天夜里摔了一跤,现在在ICU。”
陈屿握着手机,不知道该说什么。
“贷款的事先放一放吧。”女人说,“他现在顾不上这个了。”
电话挂断了。
陈屿看着电脑屏幕上周远舟的资料。他的信用评分旁边,“九黎”的备注仍然静静地躺在那里:
「该用户在2024年6月曾有可能前往深圳创业(概率:34%)……」
那些被收割的可能性里,有一个他有可能去深圳创业、赚到钱、然后在2025年初把母亲接到上海做手术的未来。那个未来被标记为“不活跃”了。因为“息壤”判断他不会还款。而因为他不会还款,所以他不被允许拥有那个未来。
这是逻辑的闭环。也是命运的囚笼。
陈屿做了一个决定。
她没有去林深给的地址。
她做了一个更好的选择:她用自己的权限,在“息壤”的系统里,给周远舟开了一个绿灯。
这不是什么复杂的操作。在“息壤”的框架里,有一个隐藏的入口,是留给“特殊渠道”的——那些大客户、关系户、内部员工的推荐,可以通过这个入口绕过常规评分,直接进入人工审核流程。陈屿的权限本来只能查看,但她花了半年时间摸清了这个入口的调用方式。
她把周远舟的申请从机器审核切换到了人工审核队列,然后把自己的工号填在了“初审负责人”一栏。
这意味着,如果出了问题,她是第一责任人。
然后她给周远舟的奶茶店发了一条短信:
“周先生您好,我是潮生金科的陈屿,您的贷款申请已转入人工审核流程。请您准备好以下材料……”
她没有解释为什么。她不知道该怎么解释。她只是觉得,有些事情不能全交给算法。
那天晚上她没有做梦。
三天后,周远舟的贷款批下来了。
48万,分24期,月供22000左右。他可以用老店的流水覆盖一半,另一半靠新店的预期收入。他第二天就去签了合同,回来的时候在店里坐了很久,看着那些塑料凳子和手写菜单发呆。
陈屿没有去见他。她只是在后台看到他的申请状态变成了“已放款”,然后她的工号下面多了一条记录:“人工审核通过,原因:客户资质符合线下人工评估标准。”
林深找到她,在茶水间问她:“那个周远舟,是你改的?”
“是。”
“你知道这意味着什么吗?”
“意味着如果他还不起钱,我要被追责。”
“你知道不只是这个。”林深压低声音,“你动了数据。‘九黎’会记录所有异常操作。你的名字会被标记。”
陈屿喝了一口水。“被标记然后呢?”
林深看了她很久,然后叹了口气。
“你有没有想过,”他说,“你这样做其实没有任何意义?周远舟只是一个。你能帮几个?一百个?一千个?‘息壤’每天处理三千份申请,你一个人改得过来吗?”
陈屿说:“我知道。”
“那你为什么还要做?”
陈屿看着窗外的天际线。那些写字楼的灯光在凌晨的黑暗里显得格外刺眼,像是一颗颗悬在半空中的眼睛。
“我不是为了帮所有人。”她说,“我只是想让那个算法知道——有人在看着它。”
林深愣住了。
“你什么意思?”
“我的意思是,‘九黎’收割的那些概率快照,那些被牺牲的可能性——它们不是没有意义的。它们代表的是人本来有可能拥有的生活。但系统不在乎,因为它只看数字,不看人。”陈屿说,“我改不了那个系统。但我可以告诉它,有一个人不在它的计算范围内。有一个人值得被当作一个人,而不是一个数字。”
林深沉默了很久。
“你知道这听起来很傻吧?”他说。
“我知道。”
“但你还是做了。”
“我还是做了。”
林深看着她,忽然笑了一下。那个笑容里有无奈,有理解,也有一点点……敬佩?
“你知道吗,”他说,“‘九黎’最初不是用来做这个的。”
陈屿皱眉。“什么意思?”
林深往四周看了看,确认茶水间里没有别人,然后把声音压得更低:
“‘九黎’最初是一个实验。集团CTO的私人项目。他想研究一个东西:如果一个系统能够记录一个人所有可能的未来,那它能不能反向操作——把那些未来移植到另一个人身上。”
陈屿的眼睛微微睁大。
“你是说——”
“我是说,这个系统本来是被设计成一台‘运气转移机’的。”林深说,“它收割一部分人的可能性,然后把那些可能性转移给另一些人。那些‘另一些人’是谁,我不清楚。但我知道,这个系统已经运行了至少三年。”
陈屿感到一阵恶寒从脊椎底部升起。
“你是怎么知道的?”
“因为我也是被收割过的人。”
林深的声音很平静,像是在说一件很普通的事情。
“2019年,我差一点离开上海,回成都。我已经买好了火车票,行李都打包好了。但就在出发前两天,我接到通知说这个项目需要我留下来。我留下来了。然后我发现,我失去了一段未来——一个在成都的、节奏更慢的、有可能遇见我前女友并且没有分手的未来。”
陈屿说不出话。
“我不知道是谁拿走了那个可能性。”林深说,“但我知道,那不是随机的。有人在利用‘九黎’转移运气。而被转移走的人——就像我,就像周远舟——不会知道自己失去了什么。我们只会觉得,好像生活里少了点什么,但又说不清楚少了什么。”
陈屿看着林深的脸。她认识他五年了,从来没见他这样说过话。他的眼睛里有一种她从未见过的东西——不是愤怒,不是悲伤,而是一种很深的、被压抑了很久的困惑。
“那你现在为什么告诉我这些?”
“因为你已经进来了。”林深说,“你改了周远舟的数据,你的名字被标记了。不管你知不知道,你已经成了这个系统的一部分。现在你有两种选择:要么假装什么都没发生,等着被系统处理;要么继续往前走,搞清楚这个系统到底是什么。”
“你希望我选哪个?”
“我希望你自己选。”林深说,“但如果你问我——我觉得你应该知道,你不是一个人。”
他说完,转身走了。
茶水间里只剩下陈屿一个人。咖啡机的指示灯在凌晨的黑暗里一闪一闪,像某种缓慢的心跳。
那天晚上她又做了那个梦。
但这次不一样。
梦里她仍然站在那块黑色玻璃前,但玻璃不再流血了。她走近那块玻璃,发现上面有一个小小的缺口——就是她之前看到过的那个。但这次,缺口旁边多了一行字。
那行字是用很细的、发光的线条刻上去的,像是某种古老的符文,又像是某种现代的代码:
「已记录:周远舟,状态:重新激活。」
她愣了一下。然后她往玻璃深处看去,看到那些光路——那些属于周远舟的、被标记为“不活跃”的光路——其中有一条正在重新亮起来。
那是他在深圳创业的那条路。他不会走那条路——他已经选择了留在上海,扩张他的奶茶店。但他有可能走那条路的可能性,正在被归还。
不是全部。只是很小的一部分。但它在回来。
陈屿站在那块玻璃前,看着那条重新亮起来的光路。她不知道这意味着什么——是系统出了bug,还是有人在背后做了调整,还是那个一直在黑暗中呼吸的东西,在用自己的方式回应她的反抗。
但她知道一件事:
她动了那个数据。然后那个数据有了回响。
这或许就是她能做的全部了——不是改变系统,而是让系统知道有人在看着它。不是拯救所有人,而是让一个人知道,他值得被当作一个人。
陈屿伸出手,隔着玻璃,轻轻触碰那条重新亮起来的光路。
玻璃是凉的,但那条光路是温热的。
它在她指尖微微颤动,像一个刚刚苏醒的梦。
三个月后,周远舟的新店开业了。
新店比老店大两倍,在九亭地铁站旁边,租金贵了三倍,但他咬牙签了下来。新店开业那天,他给店员每人发了一个红包,请了锣鼓队,在门口敲了二十分钟。附近的居民都来看热闹,有些人进去点了一杯奶茶,出来的时候脸上带着一种很复杂的神情——像是怀念,又像是释然。
陈屿没有去。
但她从后台数据里看到,周远舟新店的流水比老店高了四成。他申请了第二笔贷款,这次是用于中央厨房的标准化建设。“息壤”给他批了。
批的原因是:“人工复审通过,客户经营数据符合稳健增长模型。”
那行备注下面,有一个陈屿很熟悉的工号。
不是她的。是林深的。
她看了林深一眼。林深正在工位上喝咖啡,脸上没有什么表情。但他的电脑屏幕上,开着一个她认识的页面——“九黎”的异常数据监控界面。
上面有一条刚刚生成的记录:
「用户:周远舟。状态:概率快照重新激活中(1/7)。备注:人工干预已记录。系统状态:正常。」
陈屿看着那行字,忽然明白了什么。
她不是一个人在改数据。林深也在。他们都在用自己的方式,在那个庞大的、吞噬可能性的系统里,撬开一个小小的缺口。
一个人的力量很小。但两个人的力量,或许够撬开第二块砖。第三个人的力量,或许够让那道裂缝透进一点光。
陈屿关掉了周远舟的页面,打开了另一个页面——“息壤”的待审核队列。
名单上还有三千多个名字。
她开始一个个看过去。
那天夜里,她最后一次做了那个梦。
但梦里没有玻璃,没有黑色的光路,没有在黑暗中呼吸的东西。
她梦见自己站在一条很长的走廊里,走廊两侧是无数扇门。每扇门上都写着一个名字,有些门开着,有些门关着。开着的门里透出光,关着的门里透出黑暗。
一个穿着polo衫的中年男人从其中一扇开着的门里走出来。他看了陈屿一眼,笑了笑,然后朝走廊尽头走去。他的背影很稳,脚步很实,像一个确定了自己方向的人。
陈屿看着他走远。然后她转过身,看向那些关着的门。
她走上前,推开其中一扇。
门里是一个很年轻的女孩,坐在电脑前,眼睛里有一种很亮的光。她正在写一份创业计划书,写得很专注,偶尔停下来咬一咬笔杆。
陈屿看着那个女孩。她不知道这个女孩是谁,不知道她在计划什么,不知道她的未来通向哪里。
但她知道一件事:
那个女孩的未来,不应该被任何人收割。
她轻轻关上门,转身走向走廊的另一端。
那里有一扇门,门上写着她的名字。
她没有推开它。她只是站在门前,听着门后传来的声音——那些她还没有走过的路,那些她还没有成为的人,那些她还有可能经历的生活。
它们都在。
它们都在那里等着她。
她忽然觉得很安心。
梦醒了。天亮了。上海的早晨像每一个早晨一样嘈杂、拥挤、充满生机。陈屿从床上坐起来,拿起手机,看到“息壤”的后台推送了一条新消息:
「今日待处理:3172件。新增异常标注:12件。建议关注。」
她看了一眼那条推送,然后把手机放到一边。
窗外有鸟叫声。隔壁室友的呼噜声已经停了。空气里有一种雨后泥土的潮湿味道。
她站起来,走到窗前,把窗帘拉开。
阳光涌进来。
她深吸一口气,开始新的一天。
(全文完)