程序与民生

招魂者 · 2026/4/9

一、异常值

2019年3月17日,凌晨两点四十七分。

陈洛从工位上抬起头,显示器上那条K线还在缓慢地跳动,像一条垂死的蛇。办公区里只剩下空调的低鸣和某处服务器不安的风扇声。三十七层的高度看下去,整座城市已经沉入了某种半梦半醒的混沌,远处的霓虹招牌还亮着,但街上连一辆车的尾灯都没有。

他揉了揉发涩的眼睛,把视线重新拉回屏幕。数据有问题。

作为”稳盈宝”的技术总监,陈洛已经在这栋大楼里度过了四百二十三个夜晚。墙上那幅”科技普惠金融”的企业标语每天都在提醒他,他们正在做一件伟大的事——让每一个普通人都能享受到便捷的理财服务,让民间资本像血液一样在经济的毛细血管里自由流动。APP上那串不断跳动的数字,每天都为全国三千万用户创造着微薄但真实的收益。

但现在,那些数字开始变得诡异起来。

屏幕上显示的是”稳盈宝”第七期资产包的运行数据。这支以小额消费贷为基础资产的信托计划,自上线以来就一直运行平稳,年化收益率精确地锁定在8.3%,波动率几乎为零——完美得不像真的。事实上也确实不是真的。陈洛比任何人都清楚,那些基础资产包里,至少有四成是陈年烂账打包的次级贷款,通过一系列复杂的资产证券化操作,被层层嵌套的合同和协议覆盖,最终以一个光鲜亮丽的固定收益产品的形式,出现在三千万普通人的手机屏幕上。

他不是不知道这些。金融圈的潜规则就像空气一样无处不在,每一个参与者都在假装看不见它。

但今晚不一样。

今晚,他发现了一个异常值。

不是账目上的异常——那早就系统化了,每个月的审计都能顺利通过,每一层的包装都严丝合缝。是数据流本身的异常。在过去七十二小时里,“稳盈宝”的资产端出现了一个从未被记录过的资金流向:有大约四千三百万的资金,在经过七层资金通道的转移后,最终流向了一个没有任何业务实质的空壳公司。这个空壳公司的法人代表叫周明远,是”稳盈宝”第三大借款人——也是陈洛大学时代的室友。

陈洛的手指悬在键盘上方,迟迟没有落下。

他想起三天前的那通电话。周明远的声音从听筒里传来,带着一种他从未听过的疲惫:“老陈,我撑不住了。上面的人要我再扛三个月,扛到那批资产包顺利退出。但我账上已经没有一分钱了。下个月15号,我的房子就要被银行收走拍卖了。”

那是凌晨一点。周明远在一个小时内给他打了十七个电话,最终陈洛还是接了。他们聊了两个小时,回忆了很多大学时代的事——那时候周明远还不是现在这个周明远,那时候他还会为了一道算法题和陈洛争论到食堂关门。那时候他们相信技术可以改变世界,相信数据不会说谎。

挂掉电话后,陈洛做了一个决定:他帮周明远在系统里开了一个”白名单权限”,允许他的贷款申请绕过智能风控的第一道审核,直接进入人工复审环节。这是一个权限极低的后门通道,在正常情况下只用于处理某些大客户的紧急融资需求——当然,那也是需要层层审批的。但在凌晨三点,当所有的审批流程都沉睡的时候,陈洛用他自己的管理员密钥,为自己的老朋友打开了一扇门。

他以为这只是一个小小的通融。一个无伤大雅的技术操作。就像在高速公路的应急车道上,为一个真正需要帮助的人开一次绿灯。

但现在他看到的不是应急车道。

他看到的是一个巨大的地下网络。

那四千三百万只是冰山露出水面的一个小角。通过追踪资金流向,陈洛发现了一个庞大的资金池循环系统:大量来自”稳盈宝”用户的钱,通过虚假借款人账户流入了十几个空壳公司,这些公司彼此之间交叉持股,形成了一个自我循环的资金回路。这个回路像一只贪婪的乌贼,用别人的钱喂养着自己,同时用虚假的高收益率吸引着更多的普通人入局。

而这一切的最终指向,是那批即将在三个月后到期的资产包。

陈洛突然明白了。

三个月后,当这批资产包到期清算时,如果没有足够的真实资金来兑付用户的本金和收益,整个系统就会像多米诺骨牌一样崩塌。而在那之前,某些人早就通过这个资金池把自己安全地撤离了,留下的,是一个巨大的窟窿和一群血本无归的普通人。

他看了一眼时间。凌晨三点十二分。

然后他看到了更让他心跳加速的东西。

在那些资金流向的数据深处,他注意到了一个极其微弱的信号——一个不断重复的字符串,每隔0.7秒就会出现一次,持续了整整七十二小时,像某种来自数据深处的脉搏。

0.7s —> 0.7s —> 0.7s

这个间隔精确得不像是自然产生的流量波动,也不像是任何已知的系统任务。它太规整了。规整到像是一个故意留下的标记,一个只有特定的接收者才能读懂的信号。

陈洛的手指开始发抖。

他是算法工程师。他相信每一行代码都有意义,相信每一个异常背后都有一个原因。他花了四十分钟追踪这个信号源,最终在”稳盈宝”最底层的服务器架构中找到了它——它嵌在一段用于日志传输的旧代码里,伪装成一条普通的系统心跳信息,但它的结构陈洛从未见过。

那不是他们写的代码。

那不是任何他认识的同事写的代码。

他复制了那段代码,打开了一个从未使用过的沙盒环境,运行了第一次解译。

解译器崩溃了。

他换了第二种方法。

这一次,程序没有崩溃。它输出了一个坐标。

不是金融数据。不是代码指令。是一个坐标:北纬31度23分27秒,东经121度28分31秒。陈洛在地图上搜索了一下这个坐标——那是上海郊区的一片农田,旁边有一个早已废弃的物流园区。十年前,那里曾经是一个大型钢材现货市场的所在地,后来因为一桩惊天骗局而一夜之间人去楼空,几百家中小贸易商血本无归,其中至少有七个人选择了从那座废弃市场的三号仓库顶上跳下来。

那是中国互联网金融历史上第一场被正式记录的”P2P跑路事件”。那一年是2013年。

陈洛盯着那个坐标看了很久。他不知道那段代码是谁留下的,也不知道它为什么会出现在”稳盈宝”的系统里。但有一种直觉告诉他,这不是偶然的。这是某种来自系统深处的回声——也许来自那些被吞噬的财富,也许来自那些被算法判定为”信用不足”的人,也许来自那些在数据洪流中从未被真正看见的面孔。

他合上了笔记本电脑。

窗外的城市依然沉睡。远处,一架夜航的飞机闪烁着红色的尾灯缓缓飞过,像一只迷路的萤火虫。陈洛想起自己刚来这座城市的时候,也曾有过那样的幻觉——以为自己能飞,以为前方一定有出路。

现在他知道了。有些飞翔只是坠落前的错觉。

他关掉显示器,拿起挂在椅背上的外套。走出办公室之前,他最后看了一眼墙上那张企业标语。

“科技普惠金融”。

他想,明天,也许他应该去那个坐标看一眼。

二、账本

陈洛第一次接触”账本”这个词,是在他外祖母去世的那一年。

那一年他十一岁。外祖母是江苏农村一个普通的老人,一辈子务农,嫁了一个比她大十二岁的鳏夫,那个鳏夫带着一个儿子。后来那个儿子娶了媳妇,生了两个孙女。外祖母在那个家里始终是一个外人——一个做饭的、种地的、冬天在冰冷的河水里洗衣服的、永远坐在饭桌最边缘的人。

她死的时候,陈洛不在身边。他在北京参加一个数学竞赛的复赛。那是他人生中第一次坐飞机,第一次住酒店,第一次吃自助餐。他记得那天晚上的题目特别难,他有一道大题完全没有思路,最后几乎是空白地交了卷。走出考场的时候,教练告诉他,外婆走了。

很多年后,他才知道外祖母是怎么死的。那不是一场突如其来的疾病,而是一个漫长的、缓慢的过程。她的儿媳——也就是陈洛的舅妈——在一家名为”易富宝”的P2P平台上投了三十万,那是他舅舅一生的积蓄加上从亲戚那里借来的钱。平台承诺年化收益率15%,按月付息。最初的八个月,一切都很正常。每个月15号,陈洛的舅妈都会准时收到一笔利息,然后用那笔钱给外祖母买一箱牛奶。

后来,平台倒闭了。

那三十万像一滴水消失在沙漠里,连一点痕迹都没有留下。陈洛的舅舅去平台总部讨说法,被保安打断了两根肋骨。报警,警察说是经济纠纷,让他们去法院起诉。起诉,法院说平台主要嫌疑人已经潜逃境外,资产清算需要等待追赃结果。等待,一等就是五年。五年之后,清算完成,按照清偿比例,陈洛的舅妈拿到了相当于本金4.3%的退款。

三千九百块。

外祖母去世前的最后一个月,舅妈不再给她买牛奶了。不是不孝顺,是真的没有钱了。那一个月里,外祖母只吃两顿饭,每顿都是白粥配咸菜。陈洛的母亲偷偷塞了两千块钱给舅舅,舅舅在电话里哭了很久,说”姐,我对不起妈”。

陈洛一直不知道这些。他以为外祖母是自然老去的。他以为那只是一场无法抗拒的生老病死,和这个世界上正在发生的无数场生老病死没有任何不同。

直到他进入互联网金融行业。

直到他开始理解”账本”这个词真正的含义。

账本不是数字。账本是人。每一个数字的背后,都站着一个具体的人,他们有名字、有家庭、有恐惧、有希望。他们把辛苦攒下的钱放进一个APP里,不是因为他们相信什么”科技普惠金融”的宏大叙事,而仅仅是因为他们相信——或者更准确地说,被引导着相信——把钱放在那里,比放在床底下更安全,比存在银行里收益更高。

他们不懂什么年化收益率、不懂什么资产证券化、不懂什么期限错配。他们只知道每月15号会有一个数字出现在屏幕上,那个数字会让他们觉得生活还是有盼头的。

而当那个数字消失的时候,他们的生活也消失了。

陈洛在自己的笔记本上写过一段话,那是他入职”稳盈宝”第一天回家后写的:

“我今天签了一份合同。我的工作是为一个系统编写算法,那个系统的目的是帮助人们更好地管理财富。我应该为此感到骄傲。但我不知道为什么,我想起了一些事情。我想起外婆。我想起那三千九百块钱。我在想,如果有一天,我写的代码成为了那把拿走别人外婆的牛奶钱的手,我该怎么办?”

他后来删掉了这段话。但它从来没有真正消失过。它像一段被删除却始终运行在后台的代码,占用着内存,影响着每一次判断。

此刻,站在”稳盈宝”大楼的落地窗前,看着凌晨三点的城市,陈洛知道,那个问题已经不能再被回避了。

他必须做出选择。

三、算法

2019年3月18日,上午九点十五分。

“稳盈宝”总部大会议室里,正在进行一场例行的资产评审会。

陈洛坐在长桌的末端,面前摊着一台笔记本电脑,屏幕上显示着最新的资产包运行报告。他已经连续二十一个小时没有睡觉了,但他的大脑反而处于一种前所未有的清醒状态——那种清醒不同于咖啡因带来的亢奋,而是一种更接近于绝望的冷静。

坐在他对面的是”稳盈宝”的CEO钱明哲,一个四十三岁的男人,穿一身深蓝色的西装,领带的颜色每天一换,但款式永远是同一种——斜纹真丝,单看低调,合在一起看则透出一种精心计算过的体面。钱明哲早年供职于某国有大行的投行部,后来跳到一家民营金控做副总裁,三年前被”稳盈宝”的创始人、也是现任董事长赵守诚亲自挖来,年薪九百万,外加一个点五的股权激励。

“最新的数据非常健康。“钱明哲的声音从会议桌的另一端传来,带着一种久居高位的人特有的从容,“我们的智能风控系统在过去一个季度里,将不良率控制在了1.2%以下,这个数字在行业内是绝对领先的。下面请技术部的同事介绍一下风控模型的迭代情况。”

陈洛感觉到有人在看他。他抬起头,对上了钱明哲的目光。

“陈总,你来说一下?“钱明哲的语气是询问,但眼神是确认。

陈洛打开了一个预先准备好的PPT。那是他昨晚熬夜做的,里面堆满了各种光鲜的数据:模型准确率97.3%、欺诈识别率提升40%、响应时间缩短至0.3秒——全是真数据,但不是全部的真数据。那些数据构建了一个完美的叙事:技术正在让金融变得更安全、更高效、更普惠。

没有人问他那些”被拒绝的申请”后来去了哪里。

没有人问他那些被模型判定为”高风险”的借款人,有多少是因为他们的社交关系网里有人曾经”信用不良”,而不是因为他们本人真的还不上钱。

没有人问他那些被优化掉的”异常值”,是不是真的只是数据噪音,还是某个真实的人的整个生活被标记为了一个需要被过滤掉的异常。

陈洛讲完了。会议室里响起了一阵礼貌的掌声。

钱明哲满意地点了点头:“非常好。我们技术的同事辛苦了。下一项议程,关于第三期资产包的退出方案——”

就在这时,会议室的门被推开了。

进来的是一个陈洛从未见过的女人。三十岁出头的样子,穿一件灰色的羊绒大衣,头发在脑后松松地绾成一个髻,脸色苍白,但眼神清亮得近乎锋利。她手里拿着一个牛皮纸档案袋,走到会议桌前,没有看任何人,只是把档案袋放在了桌子中央。

“抱歉打扰了。“她的声音不高,但每一个字都清晰得像刻在石头上的碑文,“我叫沈静,是审计部的。这是最新的内部审计报告初稿,建议各位领导先看一下再继续开会。”

钱明哲的笑容凝固了一瞬,随即恢复如常:“沈总,这个时间点拿出来,是不是有什么特殊情况?我们今天讨论的是资产包退出方案,是很敏感的议题——”

“正因为敏感,所以才需要各位领导知情。“沈静没有退让,“这份报告里有一个问题,我想请技术部的同事当面解释一下。”

陈洛感觉自己的心跳漏了一拍。

沈静的目光转向了他。

“陈总,我想请教您一个问题。在我们的智能风控系统里,有一个叫’关联图谱’的模块,它的作用是通过分析借款人的社交网络来判断其信用风险。这个模块的设计逻辑是:如果借款人的社交关系网中有人曾经出现过信用违约,那么这个借款人本身的违约概率也会相应提高。我想知道,这个’相应提高’的系数,是多少?”

会议室里突然安静了。

陈洛知道她问的是什么。“关联图谱”是他在两年前主导开发的一个风控模块,它的核心算法借鉴了社交网络分析的技术,通过一个叫”二阶邻居信用评估”的模型,来”预测”借款人的还款能力。这个模型的逻辑表面上看很有道理——物以类聚,人以群分,如果你身边的人都是老赖,那你成为老赖的概率也会更高。

但实际上,这是一个充满偏见和歧视的算法。它不是在评估一个人,而是在评估一个人所属的群体。它惩罚的不是行为,而是出身、阶层、以及那些根本无法由个人选择的社交关系。

更可怕的是,这个算法在实际运行中形成了一个反馈循环:那些被系统判定为”高风险”的人,因为无法从正规渠道获得贷款,只能转向利率更高的民间借贷,而当他们最终无力偿还时,他们的”违约记录”又会进一步降低整个社交网络的信用评分,影响到更多与他们有关联的人。

这是一个精心设计的贫困陷阱。它用科学的语言把它伪装起来,让它看起来客观公正,让每一个被它伤害的人都无法指责它,因为它不是针对任何一个人,它针对的是”数据规律”。

陈洛从来没有在任何公开场合批评过这个算法。他知道它的危害,但他也知道,改变它意味着否定自己两年的工作,意味着和整个公司的商业逻辑作对,意味着——他也清楚这一点——可能丢掉这份年薪七十万的工作。

但此刻,沈静正看着他。整个会议室的人都在看着他。

“这个系数是1.7。“陈洛听见自己说,“也就是说,如果借款人的一度社交关系中有人出现违约,这个借款人的风险系数就会乘以1.7,二度关系是1.3,三度关系是1.1。”

“那么我想再问一句。“沈静的声音依然平静,“这个系数的制定依据是什么?有没有经过独立的数据验证?有没有考虑过它可能造成的系统性歧视?”

钱明哲皱起了眉头:“沈总,这个问题我们在技术评审会上已经讨论过了——”

“是的,我们讨论过了。“沈静打断了他,“我们讨论的结果是,这个系数’在业界被广泛采用’,所以是合理的。但’业界广泛采用’不等于’正确’,尤其不等于’对用户公平’。我在审计过程中发现了一个数据:自2018年以来,我们平台上的农村户籍借款人被判定为’高风险’的比例,是城市户籍借款人的3.2倍。而这两类人群在实际的逾期率上,差距并没有这么大——农村户籍借款人的实际逾期率只比城市户籍借款人高出17%。”

她停顿了一下,目光扫过会议室里的每一个人。

“3.2倍和17%之间,有一道巨大的裂缝。那道裂缝里是什么?是算法对弱势群体的系统性偏见,是一个本该’普惠’的金融科技平台,正在用它自以为客观公正的数学模型,把最需要帮助的人推开得更远。”

会议室里一片死寂。

陈洛低下头,看着自己的笔记本电脑。他想起那个坐标——北纬31度23分27秒,东经121度28分31秒。2013年,那里有七个人从仓库顶上跳下来。他们中的大多数,是农村来的钢材贸易商,是那个庞大社交网络里的”一度关系”和”二度关系”,他们的违约记录在算法里代代相传,最终让他们的后代、他们的亲戚、他们的同乡,被一个写着”科技普惠金融”的应用拒之门外。

而他们永远不会知道,真正卡住他们喉咙的,不是一个具体的坏人,而是一行他们永远看不懂的代码。

会议在一种压抑的气氛中结束了。没有达成任何实质性的决议。钱明哲在散会后把沈静叫到了办公室,陈洛不知道他们谈了什么。但他知道,那个女人不会善罢甘休。

走出会议室的时候,沈静从陈洛身边经过,低声说了一句话:

“你昨晚查过的那个坐标,我建议你去看看。那里有一棵银杏树。”

然后她就走了,留下一脸惊愕的陈洛站在走廊里。

她怎么知道?

四、银杏

2019年3月21日,春分。

陈洛请了半天假,坐了两个小时的地铁,又打了半个小时的摩的,终于来到了那个坐标所在的地方。

那片农田比他想象的还要荒凉。四周是枯黄的野草和偶尔闪过的塑料大棚,空气中弥漫着泥土和某种腐烂植物的气息。废弃的物流园区就在不远处,灰色的水泥墙体上爬满了藤蔓,几只乌鸦蹲在歪斜的门框上,用一种近乎审视的目光打量着这个不速之客。

他找到了那棵银杏树。

它长在园区的东北角,一棵孤零零的银杏树,在这个早春时节还没有抽出新芽,光秃秃的枝干像一张布满皱纹的手掌伸向天空。树下有一块石碑,碑上刻着几行字,被风雨侵蚀得有些模糊。陈洛蹲下身,用手拂去碑面上的尘土,慢慢地辨认那些字迹。

“纪念2013年’易富宝’事件中无辜受害的七位同胞。愿每一笔财富都被诚实对待,愿每一个生命都被认真看见。”

碑的底部有一个日期:2018年3月17日。

那是去年的”3·15”。消费者权益日。

陈洛在石碑前站了很久。他不知道这棵树是谁种下的,也不知道那块碑是谁立的。但此刻他突然明白了那段代码为什么会出现——那不是一段恶意的程序,不是某个黑客留下的后门。那是一行墓志铭,被写进了这个数据时代的每一个字节里,它每隔0.7秒就在系统深处跳动一次,像一颗永不停息的心脏,在提醒每一个路过的人:这里曾经有人死去。

0.7秒。

他后来查过。0.7秒是”易富宝”平台从用户点击”确认投资”到资金被转出的平均时间。那个时间被精确地测量过,被写进了无数份内部报告和学术论文里,作为一个”极致效率”的证明。但没有人想过,在那0.7秒里,有多少人的命运被决定了。

陈洛从包里拿出笔记本电脑,在银杏树下打开了它。他花了三个小时,追踪了那段神秘代码的完整路径,最终在它的末端发现了一个隐藏的文件——那是一份名单。

一份”易富宝”事件受害者的名单。

不是官方公布的那份名单。那份官方名单只有编号和金额,总共一百二十七行数据,像一份超市的购物清单。陈洛手里这份名单有三千多行,每一行都记录着一个真实的人:姓名、年龄、职业、家庭住址、受教育程度、被骗金额、汇款时间、事后处境、有没有收到清算退款、现在在哪里、做什么工作、有没有从那场灾难中恢复过来。

最后还有一栏备注,写着各种各样的话:

“李秀兰,女,58岁,农村户籍。被骗金额:12万元。备注:其子在平台倒闭后第三天确诊尿毒症,因无力承担透析费用,于2015年去世。”

“张建国,男,45岁,小学教师。被骗金额:8万元。备注:其妻于2014年与他离婚,带走了女儿。他现在独自住在单位的教职工宿舍里,每个月工资3000元,其中2000元用于还债。”

“周海燕,女,31岁,单身母亲。被骗金额:5万元。备注:她的女儿今年8岁,在上小学二年级。她白天在超市做收银员,晚上去夜市摆地摊。她说她要赚钱,让女儿上好的学校,不要像她一样被人骗。”

三千多条备注。三千多个具体的人。

陈洛不知道自己是怎么看完这份名单的。他只记得当他看完最后一个名字的时候,太阳已经落山了,那棵光秃秃的银杏树在暮色中变成了一个黑色的剪影,像一个沉默的守夜人。

他合上电脑,在石碑前深深地鞠了一躬。

“对不起。“他说。

没有人回答他。只有风穿过枯枝的声音,像一阵遥远的叹息。

五、关系

陈洛是在回到公司之后才知道周明远出事的。

那天晚上九点,他刚踏进办公室,手机就响了。电话是周明远的妻子打来的,声音已经哭得变了调:

“陈洛,你快来医院。明远他……他从我们家的窗户……”

电话那头传来的声音太尖利,陈洛不得不把手机从耳边拿开。他花了五秒钟才理解那些话的含义。然后他转身,冲出了办公室。

在电梯里,他想起了三天前那通凌晨的电话。周明远说”我撑不住了”。当时他以为那只是一句气话。他以为只要再撑三个月,等资产包顺利退出,一切就会好起来。他以为自己为周明远开的那扇”白名单权限”是在帮助他度过难关。他不知道的是,那扇门打开的那一刻,周明远就已经被卷入了一个更大的漩涡——那四千三百万不是周明远自己转走的,是”上面的人”通过他的账户完成的。周明远不是同谋,他只是一个被选中的替罪羊,一个在系统运转中随时可以被牺牲的”异常值”。

陈洛赶到医院的时候,急诊室的灯还亮着。周明远的妻子蹲在走廊的墙角,双手捂着脸,肩膀不停地颤抖。旁边站着一个穿制服的警察和一个便衣。

“您是陈洛先生?“便衣走过来,“请跟我们走一趟。有些情况需要您配合调查。”

陈洛点了点头。

后来的三天里,他经历了人生中最漫长的七十二小时。审计组进驻了”稳盈宝”,所有高管被要求逐一接受问询。陈洛作为技术部门的负责人,被问了很多问题,其中有一个是:

“您是否曾经为周明远开设过白名单权限?”

陈洛说:“是。”

“这样做的理由是什么?”

陈洛沉默了很久。那是凌晨三点,他太累了,他只是想帮助一个老朋友——但他没有办法用这个理由来说服任何人。他知道在法律面前,“好意”不是免责的理由。

“因为他打电话给我,说他撑不住了。“他最终说,“我觉得他需要帮助。”

负责问询的检察官看了他一眼,眼神里有一种复杂的情绪——不是厌恶,也不是同情,而是某种更接近于遗憾的东西。

“陈先生,“那个检察官说,“在这个行业里,‘撑不住’的人太多了。你帮不了所有人。”

是的。他帮不了所有人。

但他可以不做那个伤害他们的人。

陈洛在被问询的第三天晚上,做了一个决定。

六、选择

2019年4月1日,愚人节。

“稳盈宝”的APP在凌晨三点进行了一次例行更新。更新日志里只有一行字:“优化用户体验,提升系统稳定性”。没有人注意到,在这次更新的安装包里,有一个模块被悄悄地替换了。

那个模块就是”关联图谱”。

陈洛在更新的代码里,埋入了自己写的一个补丁。那个补丁的作用是:当”关联图谱”的系数计算中涉及农村户籍借款人时,自动引入一个”历史公平性修正因子”,将系统性偏见导致的偏差降低70%。

这是一个极其谨慎的修改。他没有直接推翻原有的算法——那会引起技术部门的警觉,并且可能触发代码审查。他只是加了一个判断条件,一个隐藏在无数行代码里的if语句,就像在一条湍急的河流里放下一块小小的分流板,让一部分水流向了另一个方向。

他不知道这个补丁能存活多久。也许明天就会被安全扫描发现,也许下周就会因为”系统稳定性调整”而被回滚。但它今天存在。它存在着的每一秒,都在保护着一批可能永远不知道自己被保护过的人。

这就够了。

发完更新的那一刻,陈洛收到了沈静的一条消息:

“银杏树下那块碑,是我自己立的。2018年3月17日。那一天是’易富宝’事件的五周年,也是我母亲的忌日。她在那场骗局里赔光了全部的积蓄——32万。那是她和我父亲攒了二十年准备给我买婚房的钱。我母亲是一个会计,她一辈子都在和数字打交道,但她从来没有想过,有一天那些数字会反过来吞噬她的生活。她去世的时候,最后跟我说的一句话是:‘小静,账要算清楚。‘我不确定她说的是什么账。是她被骗走的那笔账,还是她这一生没有算清的一笔更大的账。但我知道,我必须找到答案。”

陈洛看着这条消息,眼眶有些发热。他想起了自己外祖母的那碗白粥,想起了那三千九百块钱,想起了石碑上那些密密麻麻的名字。

“账要算清楚。”

是的。账要算清楚。不是用算法,不是用系数,不是用那些看似客观公正的数学模型。而是用人心,用记忆,用那些被数据洪流淹没的真实面孔。

他给沈静回了一条消息:

“那份名单我看完了。三千多个名字,我一个都没有忘。”

沈静的回复只有两个字:

“很好。“

七、潮水

2019年6月,“稳盈宝”暴雷。

官方公告说是”部分底层资产出现信用违约,导致流动性暂时紧张”。但陈洛知道真相比这复杂得多。三年的虚假繁荣终于到了一个临界点——就像一个被不断吹大的气球,当它的外壳再也承受不了内部的压力时,它不会慢慢地漏气,而是会在一瞬间爆裂。

爆裂的那一天,社交媒体上充满了各种各样的声音。有人愤怒地声讨”无良资本家”,有人绝望地询问”我的钱还能拿回来吗”,有人冷漠地说”活该,谁让你们贪心”,有人沉默地删掉了手机里那个曾经让他们充满希望的APP。

陈洛在暴雷的前一天提交了辞职信。

他离开的时候,没有拿任何补偿,也没有签任何保密协议。他只是带走了一台笔记本电脑,里面存着他这三年收集的所有资料:每一笔异常资金的流向、每一份被篡改的审计报告、每一个他亲手写下的算法的源代码、以及那份银杏树下发现的三千多人的名单。

这些资料后来去了哪里,陈洛没有告诉任何人。他只是在一个深夜,把它们加密压缩,分成了十七份,分别上传到了十七个不同的云服务器上,每一个服务器都位于不同的国家和地区,每一份都需要至少三把密钥才能完整解压,而那三把密钥分别保存在三个他信任的人手中。

这是他能做的事。

不是复仇,不是揭发,不是当英雄。他只是一个普通的算法工程师,他能做的最平凡也最正确的事,就是确保那些被掩埋的真相不会彻底消失。就像银杏树下那块石碑一样,它矗立在那里,风吹雨打,野草覆盖,但它始终在那里,告诉每一个路过的人:这里埋着真实,你们要记住。

八、后来的事

2020年到2025年之间,发生了很多事。

P2P行业在监管的铁拳下几乎全军覆没。从2019年的最高峰时的六千多家平台,到2021年底的彻底清零,这个曾经被描绘为”互联网金融创新”的行业,在短短几年内完成了一个完整的生命周期——兴起、繁荣、疯狂、崩塌。像一场被设计好的烟花表演,绽放的时候光芒万丈,坠落的时候只剩下一地冰冷的残渣。

陈洛换了很多份工作。他去过一家做农村金融的科技公司,试图用技术帮助那些被传统银行系统排斥在外的农户获得贷款。他去过一家公益基金会,参与开发了一个金融消费者保护的教育平台。他甚至在某个阶段去了一所大学,给新闻学院的学生讲”数据伦理”,告诉他们算法不仅仅是代码,它是一种权力的表达,是一种对世界的描述方式,而描述本身就蕴含着选择——选择让谁被看见,选择让谁被遗忘。

周明远没有死。他从五楼摔下来,被一楼的太阳能热水器缓冲了一下,捡回了一条命,但腰椎粉碎性骨折,余生都要在轮椅上度过。他被以”非法集资”的罪名起诉,最后被判处有期徒刑四年,缓刑五年。陈洛去监狱探望过他一次。周明远瘦了很多,眼睛深深地凹陷下去,但说话的时候还是会有一些过去的神采:

“老陈,你知道我这辈子最后悔的事是什么吗?不是投资那笔钱,是相信了’规则是死的,人是活的’这句话。我以为只要找到足够硬的靠山,就能在规则里找到一条活路。结果我发现,规则不是保护弱者的,规则是保护制定规则的人的。当我以为我找到了一个靠山的时候,我也变成了别人的垫脚石。”

陈洛问他:“你恨’上面的人’吗?”

周明远摇了摇头:“恨有什么用。恨也是他们赢。他们赢就赢在让我们彼此恨对方。他们赢就赢在让我们以为这是一个’你死我活’的丛林世界,让我们忘记了我们其实可以一起建立一个更好的规则。”

沈静后来去了检察院,专门负责金融犯罪案件的调查。她经手的第一个案子就是”稳盈宝”案,这个案子因为涉案金额巨大、受害人数众多而成为了当年最受关注的金融案件之一。钱明哲在案件审理期间选择了主动出境,在深圳罗湖口岸被拦截,最后以”集资诈骗罪”被判处无期徒刑。赵守诚——那个当初把”稳盈宝”从零做到上市的创始人——则因为”自首并积极配合调查”而获得了从轻处理,被判了十五年。

在法庭上,赵守诚说了一句话,陈洛后来在新闻里看到了那句话的录像:

“我知道我在做什么。我知道这是错的。但我告诉自己,这只是暂时的。我告诉自己,等我赚够了钱,我就金盆洗手,我就去做真正的普惠金融,让这个世界变得更好一点。但后来我发现,钱是永远赚不够的。那个’未来某一天’永远不会来。因为每当你接近那个目标的时候,你就会发现目标又远了。钱是一个没有终点的跑道。你越跑,越发现自己在原地踏步。你越赚,越发现自己已经被绑在了这架疯狂运转的机器上,想停下来已经不可能了。”

2024年,一项名为”算法审计制度”的新法规正式实施。所有使用算法进行信用评估、风险定价、客户分群的金融科技平台,都必须接受第三方机构的算法审计,并将审计结果向监管机构报备。这项制度在业界引发了巨大的争议,很多人说它”扼杀了创新”、“增加了合规成本”、“不利于中国金融科技的国际竞争力”。

但也有人说,这是中国金融科技行业走向成熟的标志——从野蛮生长,到建立规则;从追逐效率,到关注公平。

陈洛是支持这项制度的人之一。他在媒体上发表过一篇文章,题目叫《算法的良心》,里面有一句话后来被广泛引用:

“我们写的每一行代码,都是对这个社会的一次投票。它决定了谁被接纳、谁被排斥、谁被看见、谁被遗忘。如果我们不为此负责,那么没有人会为此负责。算法不是中性的,它是一种价值判断的技术化表达。当我们把’赚钱’作为唯一的目标函数时,我们写出的算法就会自动地优化那个目标,而忽视所有其他的目标——公平、正义、人的尊严、以及那些无法被量化的美好。数据不是新的石油,数据是新的土壤。石油燃烧了就消失了,但土壤会记住你种下的每一颗种子,不管那些种子是善的还是恶的。“

九、算法之心

2025年11月,一个普通的深秋傍晚。

陈洛坐在北京郊区一个小型书店的角落里,读一本关于复杂系统的书。这家书店是他一个朋友开的,藏在一条老旧的胡同里,门口没有显眼的招牌,只挂着一块手写的木牌:“无用书店”。

他来这里不是为了买书,而是为了等一个人。

那个人到了。脚步声从楼梯上传来,轻而稳,像某种精确的节拍。陈洛抬起头,看到沈静正从书架后面走出来。她穿一件米白色的毛衣,头发比五年前长了很多,散落在肩膀上,气质也从当年的锋利变得柔和了一些——但那双眼睛还是一样的,清亮、敏锐,像两把还没有生锈的刀。

“抱歉,路上堵车。“她在他对面坐下来,点了一杯美式咖啡。

“没关系。“陈洛合上手里的书,“我也刚到一会儿。”

他们寒暄了几句,话题从天气聊到了工作,从工作聊到了行业近况,从行业聊到了那个绕不开的话题:“稳盈宝”案结案后的后续影响。

“你还在做算法审计吗?“陈洛问。

“在做。“沈静端起咖啡喝了一口,“最近在审一个做消费分期的平台。他们的算法里有一个模块,叫’还款能力动态评估’,会根据用户的消费行为、社交活跃度、甚至手机充电时间来动态调整用户的信用额度。你能想象吗?一个人如果在晚上十一点之后频繁使用外卖APP,系统就会认为他的生活规律性较差,还款能力较弱,从而降低他的信用额度。这是一个没有任何逻辑依据的假设,但它被写进了算法,被用来决定一个真实的人能借到多少钱。”

“这个我有印象。“陈洛点点头,“他们把这个模型包装成’大数据风控’,对外宣传的时候说是’更精准地评估用户信用’,但实际上就是在用一种伪科学的方式给用户贴标签。”

“是的。“沈静放下咖啡杯,“而且最可怕的是,这种偏见是隐性的。平台的对外宣传里不会说’我们要歧视那些晚上点外卖的人’,他们只会说’我们使用先进的机器学习技术,实现了个性化的信用评估’。普通人听到的是’先进’和’个性化’,看不到的是’歧视’和’偏见’。”

陈洛沉默了一会儿。

“所以,“他问,“你的审计结论是什么?”

“建议整改。“沈静说,“但你知道最讽刺的是什么吗?这个平台的老总,是一个毕业于斯坦福大学的计算机博士,他的博士论文是关于’算法公平性’的。他在论文里系统地分析了各种算法偏见的来源,并提出了一系列纠正方法。但当他回国创业、拿到融资、要对投资人负责的时候,他很快就发现,论文里的那些’公平性约束’在商业压力面前根本不堪一击。投资人不关心算法公不公平,投资人只关心回报率。当’公平’和’效率’发生冲突的时候,市场会毫不犹豫地选择效率。”

“所以他的论文白写了?”

“不是白写了。“沈静说,“是他没有真的相信那些东西。当一个人走上一条路的时候,他会找到一万个理由来说服自己这条路是对的。他会告诉自己,改变世界需要妥协,需要曲线救国,需要先活下来再谈理想。但问题是,当你真的’活下来’了,当你已经功成名就了,你还有动力去改变那个让你成功的规则吗?大多数人不会。大多数人会变成他们曾经反对的那种人,然后告诉自己这是’成熟’,是’接地气’,是’理解了社会的复杂性’。”

陈洛没有反驳她。因为她说的是对的。因为他也曾经是这样的人。

他们沉默了很久。书店里的背景音乐放着一首很老的歌,是一个叫李健的歌手唱的,歌词里有一句:“多少人曾爱慕你年轻时的容颜,可知谁愿承受岁月无情的变迁。”

“你还记得那棵银杏树吗?“沈静突然问。

“记得。”

“我上个月又去看了一次。“她说,“碑旁边长了很多野草,我把它们拔掉了。有一只野猫蹲在树下,看见我也不跑,就那么看着我。我在那儿站了半个小时,它就看了我半个小时。后来我走的时候,回头看了一眼,那只猫还在