账本十年
账本十年
一、入行(2016)
陈默第一次走进金融街那栋玻璃幕墙大楼时,心里只有一个念头:房租。
两千八一个月的隔断间,押一付三,他手头的积蓄刚好够撑两个月。面试的时候HR问他为什么想来这家公司,他说”对金融科技充满热情”。实际上他连什么叫P2P都没完全搞明白,只知道这家叫”信达在线”的公司开出的薪资比他上一份外包工作多了三千块。
三千块。足够他不用每个月给母亲打电话时撒谎说”钱够花”。
“你之前做什么的?“面试官是个戴金丝眼镜的中年男人,名片上写着”风控总监·王磊”。
“推荐系统。电商的。“陈默说。
“好的,不需要你懂金融。“王磊摘下眼镜擦了擦,“我们需要你把用户行为数据做成特征工程,输入到我们的信用评分模型里。简单说——判断一个人还不还得起钱。”
“用什么模型?”
“目前是逻辑回归。我们想升级到随机森林,再看看能不能上XGBoost。“王磊顿了顿,“说实话,模型不重要。重要的是特征。你能不能从一个人的手机行为里,看出他是不是在骗贷?”
陈默想了想。“比如?”
“比如他申请贷款的时间是凌晨三点。比如他手机里装了六个借贷APP。比如他的通讯录里有大量标记为’催收’的号码。“王磊重新戴上眼镜,“这些东西,你能不能用代码表达出来?”
“能。”
“那就行。”
陈默入职那天是2016年3月15日。消费者权益保护日。后来他经常想起这个巧合。
工位在开放办公区的角落,旁边坐着一个扎马尾的女生,叫林知微。她是产品经理,负责信达在线的借款APP。陈默来的第一天地问她:“我们公司有多少用户?”
“活着的?“林知微头也不抬,“大概四十万。”
“死的呢?”
林知微终于抬起头,看了他一眼。“你挺有意思的。”
她说的”活着的”,指的是还在正常还款的用户。在这行,“死”是个动词——逾期超过九十天,这笔贷款就算”死”了。死了的贷款会被打包卖给催收公司,像尸体一样从账本上消失。
陈默后来才知道,信达在线的坏账率已经到了百分之十八。这个数字在行业内不算最高——有些小平台坏账率能飙到百分之三十以上——但足以让投资人开始焦虑。
他的工作是降低这个数字。
前三个月,陈默几乎住在公司。他搭建了一套完整的用户画像系统:从设备指纹到通讯录分析,从地理位置轨迹到APP使用习惯,每一个行为都被量化、编码、输入模型。他发现了一些有意思的模式——
凌晨两点到四点之间提交借款申请的人,违约概率是白天申请的2.3倍。
通讯录中超过百分之三十的联系人没有真实姓名备注的,违约概率高出平均值1.8倍。
手机电量长期低于百分之二十的用户,违约概率高出平均值1.5倍。
他把这些发现写成了报告,发给了王磊。王磊看完后在报告上批了四个字:“上线跑跑。”
模型上线后的第一个月,坏账率从百分之十八降到了百分之十五。陈默拿到了人生第一笔季度奖金:八千块。他给母亲转了五千,自己留了三千。那天晚上他在出租屋里煮了包泡面,加了两个鸡蛋。算是庆祝。
“你那个电量特征,“有一天林知微端着咖啡走到他工位旁边,“为什么电量低的人容易违约?”
陈默想了想。“我猜是生活规律的问题。手机电量低说明一个人不太注意充电,生活可能比较混乱。或者经济状况不好,舍不得换电池。”
“或者,“林知微喝了口咖啡,“他们根本不把手机当回事。一个连自己手机都不在乎的人,会在乎一笔几千块的贷款吗?”
陈默看着她。“你比我想象中更懂这个。”
“我比你想的更懂很多事情。“她说完就走了。
那年夏天,信达在线完成了B轮融资,估值两个亿。公司搬到了更大的办公室,陈默的工位从角落搬到了靠窗的位置。他开始觉得自己的人生正在走上正轨。
他不知道的是,这只是一本巨大账本的第一页。
二、狂飙(2017)
2017年是互联网金融最疯狂的一年。
陈默记得那时候的地铁站里,十个广告牌有六个是借贷APP的。“借一万,日息最低三块五”,“三分钟到账,不查征信”,“你的信用就是你的财富”。地铁里的人低着头刷手机,广告牌上的数字在他们的瞳孔里闪烁,像一面面小镜子。
信达在线在那一年扩张了三倍。用户从四十万涨到一百二十万,日均放款额从三百万飙升到两千万。公司新招了四十多个员工,大部分是销售——他们管自己叫”渠道拓展”,实际上就是去找更多的借款人。
陈默的模型也在进化。他把逻辑回归换成了XGBoost,特征维度从两百个扩展到一千二百个。模型越来越准,坏账率被压到了百分之十二。王磊在季度会上展示了一张曲线图,那条线像滑雪道一样往下掉,台下的人鼓掌。
但陈默开始注意到一些让他不安的事情。
首先是数据来源。公司从第三方数据供应商那里购买用户信息——通讯录、短信记录、网购行为、甚至外卖订单。这些数据是否经过用户授权?陈默问过法务,法务说”有协议”。他追问是什么样的协议,法务说”就是那种用户注册时勾选的同意条款”。
每个人都勾选过那种条款。没有人读过。
其次是模型的”歧视”效应。陈默发现,他的模型对某些群体格外严厉:工厂工人、外卖骑手、建筑工人、小商贩。他们的违约概率确实更高——不是因为他们不守信,而是因为他们的收入不稳定。一个月赚八千,下个月可能只有三千。在模型眼里,不稳定就是风险,风险就是拒绝。
“这是数学,“陈默跟林知微讨论这个问题时说,“模型不考虑你是什么人,只考虑你的数据。”
“但数据本身就是偏见。“林知微说。她最近瘦了很多,眼圈发黑,产品部的KPI压得她喘不过气——月活要涨百分之二十,转化率要提升三个点。“一个工厂工人和一个白领,同样借三千块,模型会优先批准白领。但工厂工人可能更需要这三千块。”
“可他还不上的概率更高。”
“所以他就永远借不到钱?然后更穷?然后更借不到钱?“林知微把咖啡杯放下,“你在创造一个循环。”
陈默沉默了。他知道她说得对。但他也知道,他的工作是降低坏账率,不是解决贫富差距。
那年秋天,他做了一件他自己也不确定是对是错的事情:他在模型里加了一个”社会关系质量”的特征。算法会分析用户的通讯录,评估联系人的信用状况——如果你的朋友大多数信用良好,你的评分会更高。如果你的通讯录里有多个失信被执行人,你的评分会降低。
这个特征的效果很好,坏账率又降了一个百分点。王磊很高兴。但陈默有时候会在半夜醒来,盯着天花板想:如果一个人的朋友都是失信的人,是因为他自己不可靠,还是因为他只能生活在那个圈子里?
他不知道答案。他只是一个写代码的人。
那年年底,陈默的年薪涨到了三十五万。他终于不用住隔断间了,在回龙观租了个一居室。搬家那天,林知微帮他搬了一箱书。她看到书架上有一本《百年孤独》,笑了。
“你还看马尔克斯?”
“大学时候看的。”
“我记得开头那句——‘多年以后,面对行刑队,奥雷里亚诺·布恩迪亚上校将会回想起父亲带他去见识冰块的那个遥远的下午。‘“她顿了顿,“你觉得我们这个行业,将来会有’多年以后’吗?”
“什么意思?”
“没什么。“她把书放回箱子里,“随便说说。“
三、裂痕(2018)
2018年夏天,P2P行业开始崩塌。
六月份,一家叫”唐小僧”的平台暴雷。七月份,“牛板金”暴雷。八月份,“银票网”暴雷。雷声不断,像多米诺骨牌。每天都有新的平台倒下,每天都有投资人去公司门口拉横幅。有人哭,有人闹,有人跳楼。
信达在线暂时还没事。因为陈默的模型够好,坏账率控制得住,资金链还没断。但空气里弥漫着一种末日感,公司里的笑声越来越少,加班的人越来越多。
真正让陈默感到裂痕的,不是行业的崩塌,而是一个叫赵德发的借款人。
赵德发,四十七岁,河北邯郸人,在北京做装修工人。他在信达在线先后借了三笔贷款:第一笔五千块,用来给老家的房子修屋顶;第二笔八千块,用来给儿子交学费;第三笔一万二,用来还前两笔的利息。
第三笔贷款的审批,经过了陈默的模型。
模型给出的评分是620分,刚好过了及格线。审批通过。利率百分之二十四——因为评分不高,所以利率高。风险定价,这是行规。
赵德发还了两个月,然后断了。不是他想赖账,是他在工地上摔断了腿。没有工伤保险,没有医保——他是黑工。工地老板给了他三千块钱,让他”回家养着”。
三千块钱连医药费都不够。
陈默是在处理逾期数据时注意到赵德发的。不是因为他特别——实际上像他这样的案例有成千上万个——而是因为他的通讯录里有一个名字引起了陈默的注意:“陈淑芬”。
那是陈默母亲的名字。
他调出了赵德发的通讯录详情。陈淑芬,备注”老家邻居”。陈默的母亲住在河北邯郸的一个村子。赵德发也是邯郸人。
这不可能是巧合。
陈默花了整个下午查赵德发的资料。越查越觉得心慌——赵德发的村子离他母亲的村子只有五公里。他的母亲可能认识这个人。或者至少听说过这个人。一个装修工人,四十多岁,在城里打工二十多年,最后摔断了腿,连儿子的学费都凑不齐。
而正是他陈默写的算法,把百分之二十四的年利率贴在了这个人身上。
他关掉了电脑,走到公司天台上,抽了平生第一根烟。
“想什么呢?“林知微不知道什么时候也上来了。
“你觉得我们做的事情,是对的吗?”
“你今天怎么了?”
“我在想,“陈默看着远处的国贸大厦,“我们做的这个东西,到底是在帮人,还是在害人。”
林知微沉默了很久。风很大,她的头发被吹得乱七八糟。“你猜我们APP的用户画像里,年龄最大的借款人是多少岁?”
“多少?”
“七十三。借了两万块,说是给孙子治病。我们批了。年化利率百分之二十八。“她停顿了一下,“三个月后逾期了。催收的人打了十七个电话,接电话的是她儿媳妇。她说老太太已经去世了。”
“然后呢?”
“然后我们把她那笔贷款打包卖了。两万块的债权,卖了四千块。接手的是一家催收公司。”
陈默没说话。
“你问我对不对,“林知微转过头看着他,“我不知道。但我知道如果我不做这个产品,也会有别人做。市场在那儿,需求在那儿,钱在那儿。我们只是中间的工具。”
“工具也有锋利的和钝的。”
“你想说什么?”
“没什么。“陈默把烟掐灭,“走吧,下去了。”
那年冬天,信达在线开始大规模裁员。销售部砍了一半,运营部砍了三分之一。技术部暂时没动,因为公司还需要模型来控制风险——越是寒冬,越需要更精准的筛子。
但陈默知道,这个筛子筛掉的不是数字,是人。
四、转型(2019)
活下来的平台开始转型。P2P的招牌不能打了,监管越来越严,牌照越来越难拿。信达在线改名叫”信达数科”,对外宣称是一家”人工智能驱动的金融科技公司”。实际上就是把原来的借贷业务藏起来,换了个更好看的壳子。
陈默被提拔为风控算法组的负责人。团队从三个人变成了八个人,清一色的名校硕士。他们管自己叫”算法工程师”,不叫”程序员”——听起来更高级。
他的模型也在升级。这一次,他们开始尝试深度学习。用神经网络来处理用户的非结构化数据——照片、视频、语音。公司花了大价钱买了一整套活体检测系统,用户申请贷款时需要对着手机摄像头念一串数字,系统会判断是不是本人。
“我们甚至能从一个人的脸上读出他的压力指数,“王磊在一次行业论坛上演讲,“面部微表情、瞳孔变化、皮肤颜色——这些都是数据。把这些数据输入我们的模型,我们就能在放款之前知道,这个人会不会还钱。”
台下掌声雷动。
陈默坐在角落里,觉得荒诞。一个人的脸,也能成为评判他信用的依据?如果一个人天生面色发黄——比如他肝不好——是不是就要被模型判定为”高风险”?
但他没有说出来。他只是默默地在模型里加了一层正则化,把面部特征的权重压低了一些。这样至少不会太极端。
那年发生了一件小事,但在陈默心里留下了很深的痕迹。
一个周末,他回邯郸看母亲。村子里变化不大,路还是那条路,树还是那棵树。母亲在厨房里包饺子,他在院子里晒太阳。
隔壁的赵婶过来串门,手里拎着一兜子苹果。“淑芬啊,你家小默在北京干啥呢?”
“做计算机的。“母亲笑着说。
“做计算机好啊,赚钱。“赵婶压低了声音,“我家老赵的弟弟,你认识吧?赵德发。去年在工地摔了腿,借了好几个APP的钱,现在天天被人催。你说这些手机上的贷款,是不是骗人的?”
母亲看了陈默一眼。“小默是做互联网的,不是做贷款的。”
“差不多差不多。“赵婶笑着摆手,“我就是说,这些贷款啊,利息太黑了。老赵他弟弟借了一万多,现在利滚利要还三万多。他腿还没好呢,怎么还?”
陈默坐在院子里,阳光照在脸上,暖洋洋的。但他觉得冷。
他想说:那个算出赵德发评分620、给他批了百分之二十四利率的模型,就是我写的。
他什么也没说。
回北京的高铁上,他打开笔记本电脑,把自己的简历更新了一遍。然后又关上了。
他去哪儿都一样。所有的金融科技公司都在做同样的事情。区别只在于模型的名字不同——有的叫”天眼”,有的叫”风神”,有的叫”玄武”。但本质上都是同一件事:把人变成数据,把数据变成分数,把分数变成利率。
他想起林知微说的那句话:“我们在创造一个循环。”
不。他在维护一个循环。
五、深渊(2020)
疫情来了。
全世界的节奏都停了,但借贷没有。相反,它加速了。
封城期间,无数人失去了收入来源。餐馆老板、理发师、出租车司机、自由职业者——他们的储蓄撑不过两个月。房租要交,孩子要养,老人要看病。于是他们打开了手机,点开了那些花花绿绿的借贷APP。
信达数科的借款申请量在2020年第一季度暴涨了百分之二百。陈默的模型加班也处理不过来,公司紧急加了一倍的服务器。王磊在内部会上说:“这是危机,也是机遇。真正优质的用户会在困难时期展现出来——他们会在第一时间申请延期,主动沟通还款计划,而不是消失。”
陈默听着这番话,想起了赵德发。
那个摔断腿也没有消失的人。他打了电话给客服,说他会还,只是需要时间。客服说可以帮他申请延期,但延期期间利息照算。赵德发说好。
利息照算。
疫情那一年,陈默的模型捕捉到了一种新的行为模式:多人合贷。一个家庭里的不同成员分别在不同的平台借款,钱汇总到一起用来维持生活。模型把这种行为标记为”关联风险”,建议降低这些用户的信用评分。
陈默看到这个结论时,愣了很久。
一家人在疫情期间互相借钱,这在模型眼里是风险。但在人类眼里,这叫互助。
他做了一个违反职业本能的决定:他没有把这个特征加入主模型,而是把它放在了一个”观察”分支里。观察的意思就是,它存在,但不参与决策。
没有人发现。或者说,没有人关心。公司只看最终的坏账率数字,不关心模型里面到底有什么。
那年夏天,林知微辞职了。
她没有告诉任何人原因,只是在钉钉上给陈默发了一条消息:“我走了。别找我。”
陈默试过给她打电话,关机。发微信,没有回复。她像是从这个世界上消失了一样,或者更准确地说,像是被从账本上删除了一样。
后来他从另一个同事那里听说,林知微的父亲在疫情期间去世了。肺癌,没有及时就诊。她回老家照顾母亲,再也没有回北京。
陈默有时候会在深夜想起她。想起她说”我在创造一个循环”时的表情。想起她在天台上被风吹乱的头发。想起她引用《百年孤独》的那个下午。
他从来没有告诉她,他也记得那句开头。甚至记得整段话:
“多年以后,面对行刑队,奥雷里亚诺·布恩迪亚上校将会回想起父亲带他去见识冰块的那个遥远的下午。当时,马孔多是个二十户人家的村庄,一座座土房都盖在河岸上,河水清澈,沿着遍布石头的河床流去,河里的石头光滑、洁白,活像史前的巨蛋。”
史前的巨蛋。没有人知道里面会孵出什么。
六、赌局(2021)
信达数科在2021年启动了上市计划。目标是港股,估值十五亿美金。
为了上市,公司需要漂亮的财务数据。坏账率要低,利润要高,用户增长要快。这三个目标之间存在天然的矛盾——要增长就要降低门槛,降低门槛就会提高坏账率,提高坏账率就会吞噬利润。
解决这个矛盾的方法,就是让模型更”聪明”。
陈默的团队被施加了巨大的压力。王磊每周一次的汇报会上,PPT上的数字越来越大,字越来越小。陈默开始失眠,每天只睡四个小时。他的头发开始掉,额头上的发际线肉眼可见地后退。
他做了一个大胆的决定:引入社交网络数据。
不是通讯录那种粗粒度的社交数据,而是真正的社交网络图谱——谁和谁是好友,谁和谁经常互动,谁和谁在同一个群聊里。公司花了两百万买了一批社交平台的数据(合法不合法另说),陈默的团队花了三个月把这些数据接入了模型。
效果惊人。社交网络特征把模型的准确率提高了整整五个百分点。坏账率从百分之十一降到了百分之八。
上市的路演PPT上,多了一页”社交信用图谱”的介绍。王磊站在投资者面前,指着一张复杂的网络图说:“这是我们的核心壁垒。每一个节点是一个用户,每一条连线是一段社交关系。我们不仅能评估一个人的信用,还能评估他整个社交圈的信用。这就是大数据的力量。”
投资者频频点头。
陈默坐在台下,看着那张网络图,想起了另一张图。
高中时候,生物课本上有一张神经元网络的示意图。神经元之间通过突触连接,形成复杂的网络。当一个神经元被激活时,信号会沿着突触传递到其他神经元,引起连锁反应。
他的社交信用图谱,本质上就是一张巨大的人造神经网络。每一个借款人都是一个神经元,每一次社交互动都是一次信号传递。当一个神经元”死亡”——违约——的时候,信号会沿着突触传递,降低周围神经元的评分。
这意味着什么?意味着如果一个人的朋友违约了,他的信用评分也会下降。即使他自己从来没有逾期过。
这是一种传染。一种数学意义上的传染。
陈默开始觉得自己不再是一个工程师。他是一个建筑师,正在建造一座看不见的监狱。监狱的墙壁不是混凝土,而是数据。犯人不知道自己被关押,因为监狱无处不在。
上市那天,信达数科的股票开盘涨了百分之三十。王磊的身价超过了两亿。陈默手里的期权值大约三百五十万。
他套现了一半。用一百七十万在回龙观买了一套小房子。四十平米,够一个人住了。
搬家那天,他一个人把纸箱从出租屋搬到新家。没有叫搬家公司,也没有叫朋友。他一个人在空荡荡的房间里坐了很久,看着窗外的回龙观夜景——密密麻麻的灯火,像一张铺开的数据表。
他想起林知微。如果她在,她会说什么?
也许她会说:“你用算法赚的钱,买了房子。你被自己的算法套牢了。”
他苦笑了一下。不。他的房子有七十年的产权。但他的算法会让一些人在债务里困一辈子。
七、账本(2022)
2022年,陈默三十二岁。他在信达数科待了六年,从一个初级算法工程师变成了风控技术总监。年薪八十万,加上股票,年收入超过一百五十万。
他过上了一种标准的中产生活。住在自己的房子里,开一辆二手特斯拉,周末去商场吃饭,偶尔去健身房跑跑步。他的手机里有三个记账APP,两个投资APP,一个信用卡管理APP。他的信用评分是782,属于”优秀”。
他活成了一个数据点。
那年春天,一个叫周衡的人加入了他的团队。周衡二十八岁,斯坦福CS硕士,之前在硅谷的一家fintech做过两年。他回国的原因是”看好中国金融科技的市场”。
周衡来了以后,做的第一件事是把陈默的XGBoost模型替换成了深度图神经网络。
“图神经网络才是正道,“周衡在技术评审会上说,“XGBoost处理不了图结构数据。我们要的不是特征工程,是表示学习。让模型自己学会理解人与人之间的关系。”
陈默没有反对。他承认周衡的技术更先进。但他有一种说不出的不安——让模型”自己学会”,意味着人类不再理解模型在做什么。XGBoost至少还能输出特征重要性排名,告诉他哪些变量在起作用。但深度图神经网络是一个黑盒,它的决策过程隐藏在数百万个参数之中,像一座深海。
模型上线后,坏账率进一步下降。但陈默发现了一个奇怪的现象:模型的拒绝率在某些地区异常高。不是城市,是农村。不是年轻人,是中老年人。
他调出了拒绝数据的分布图,看到了一个让他心惊的模式——模型不是在拒绝某个人,而是在拒绝一整片区域。整个村庄、整个乡镇的人,信用评分都被压低了。原因很简单:他们彼此之间都是社交关系——同村、同宗、同学。当其中几个人违约后,信号沿着社交图谱传播,把所有人的评分都拉了下来。
这是一种集体惩罚。算法不知道什么叫”无辜”。它只知道图论里的传播算法——当一个节点的值变低时,相邻节点的值也会跟着变低。这是数学,不是道德。
“你看到那个分布图了吗?“陈默把周衡叫到办公室。
“看到了。河南和安徽的几个县。“周衡并不慌张,“这是模型正常的表现。这些地区的经济状况本来就不好,违约率确实高。社交图谱只是在捕捉这个事实。”
“但模型在惩罚整个地区的人。一个人信用良好,从来没逾期过,但因为他的邻居违约了,他就借不到钱。你觉得这公平吗?”
周衡想了一会儿。“公平这个词,在机器学习里没有定义。我们优化的是准确率,不是公平性。”
陈默看着他。周衡的眼睛很亮,像两块精心打磨的镜片——什么都照得见,但什么都映不进去。
“如果我要你加一个公平性约束呢?”
“技术上可以,“周衡说,“但这会降低准确率。大概三个百分点。”
“那就加。”
周衡挑了挑眉毛,但没说什么。他知道陈默是总监,他有最终决定权。
公平性约束加上了。坏账率从百分之七点八回升到百分之八点五。王磊在周会上看了数字,皱了皱眉头,但没有说什么。百分之零点七的波动,在他的容忍范围之内。
但陈默知道,这只是治标不治本。他没有改掉社交图谱的传播机制——那个机制本身就有问题。它假设人的信用是会”传染”的,就像病毒一样。但人不是病毒,朋友也不是感染源。一个人可以有一个欠债的朋友,同时自己是一个守信的人。这在现实生活中是常态,但在算法的世界里是异常。
他没有时间去彻底重构模型。因为那年秋天,公司又接到了一笔大业务——和一家城商行合作,提供信用评分服务。不是借贷,而是卖模型。信达数科把自己包装成一家”技术服务公司”,把陈默的模型打包成API接口,卖给银行、保险公司、甚至几家互联网大厂。
模型开始走出信达数科的服务器,进入更广阔的世界。
陈默有时候会在凌晨三点醒来——那个他的模型标记为”高风险”的时间段——想象他的算法在别人的服务器上运行。它会拒绝一个在郑州开小餐馆的女人,因为她弟弟的信用卡逾期了。它会拒绝一个在东莞打工的年轻人,因为他的工友中有三个人曾经违约。它会拒绝一个在成都上大学的女孩,因为她的高中同学里有一个人借了网贷没有还。
算法不知道这些人的名字。它只看到节点、边、权重、概率。在它的世界里,没有赵德发,没有赵婶,没有陈淑芬。只有编号、评分、阈值。
但陈默知道。他知道每一个数据点背后都是一个人。一个像他母亲一样的人。一个像赵德发一样的人。一个像他自己一样的人。
八、重逢(2023)
2023年的一个雨天,陈默在五道口的一家咖啡馆里见到了林知微。
她瘦了,头发剪短了,眼角有了细纹。但笑起来还是那个样子——眼睛弯弯的,像两枚新月。
“好久不见。“她说。
“三年了。”
“你数过?”
“没有。大概。”
林知微离开北京后回了安徽老家,在一个县城里做社区工作者。工资不高,但她说她喜欢。“每天跟真实的人打交道,不是数据。”
陈默端着咖啡杯,不知道该说什么。他们之间的沉默像一面墙,三年不见,墙上爬满了青苔。
“你还在信达?“她问。
“在。”
“做什么?”
“还是模型。”
林知微点了点头。她从包里掏出手机,打开了一个新闻页面,推到他面前。标题是:《某金融科技公司被曝利用社交数据歧视农村借款人》。
“是你?“她看着他的眼睛。
陈默没有否认。
“你当时问我,我们做的事情对不对。“林知微的声音很轻,像雨打在玻璃上,“你现在有答案了吗?”
“没有。”
“可是你还在做。”
“对。”
“为什么?”
陈默想了很久。窗外的雨越下越大,咖啡馆里的人越来越少。暖色的灯光照在桌面上,两杯咖啡的拉花已经模糊了。
“因为我不知道停下来之后该做什么。“他说,“我花了七年时间建了这个模型。它是我的手艺,我的作品,我的——“他停住了,没有说出”我的罪”。
林知微看着他,眼神里有怜悯,也有理解。“你有没有想过,也许手艺人最大的责任,不是把手艺做到极致,而是知道什么时候该放下?”
“你这话像是从哪本书里看来的。”
“是我自己想的。“她笑了,“在县城待久了,人就会想这些有的没的。”
那天下午他们聊了很多。林知微告诉他,她在县城里见过太多被网贷拖垮的家庭——一个借了五万块的年轻人最后还了三十万,一个开小卖部的老头被催收电话逼得心肌梗塞,一个刚毕业的女大学生因为还不上分期被拍了视频。
“那些视频被发给了她通讯录里的每一个人,“林知微说,“包括她的高中老师、她的前男友、她的父母。”
陈默的手指在桌面下攥紧了。
“你的模型会预测谁会违约,“林知微的声音平静得可怕,“但你有没有想过,违约之后会发生什么?你的模型负责放款,但没有人负责收场。催收是另一家公司,法律是另一个世界,自杀是另一个统计数字。你只管预测,不管结局。”
“我知道。”
“你不知道。“林知微摇头,“你知道的是数据。你不知道的是,赵德发——对,我知道你查过他,你的同事告诉我的——赵德发去年还清了所有贷款。你知道他怎么还的吗?”
陈默摇头。
“他在老家捡了两年废品。每天早上五点出门,晚上九点回来。一条腿没治好,拖着走路。两年,三万六千块。连本带利。”
陈默闭上眼睛。
“他还清的那天,他的信用评分是多少你知道吗?”
“多少?”
“585。不及格。因为他还款周期太长,因为他有过逾期记录,因为他的通讯录里还有其他欠债的人。他还清了所有贷款,但他的评分告诉他:你还是不值得信任。”
陈默睁开眼睛,看着林知微。她的眼睛里有泪光,但她没有哭。
“这就是你的账本,陈默。“她说,“一本永远还不清的账本。“
九、拆墙(2024)
2024年初,监管出台了一系列新规,严格限制金融科技公司使用社交数据和生物识别数据进行信用评估。信达数科的模型需要大规模重构。
公司内部开了无数次会议。王磊在会上说:“合规是底线,但业务不能停。我们需要找到替代特征,用合法的数据达到同样的效果。”
翻译过来就是:换种方式,做同样的事。
陈默坐在会议室里,看着投影仪上的数据图表,突然觉得自己站在一条分岔路上。
一条路是继续做下去。重构模型,用新的特征替代旧的特征,让数字看起来合规,本质上不变。他可以继续做他的总监,拿他的年薪,住在他的四十平米房子里。他的信用评分会继续保持在782,他的生活会像一个优化好的算法一样稳定运行。
另一条路是——他不知道。辞职?去告发?写一篇文章揭露行业的黑暗面?这些选项在现实面前都显得苍白无力。他不是举报人,不是记者,不是吹哨人。他只是一个写代码的人。
但林知微的话在他脑子里转了很久:“手艺人最大的责任,不是把手艺做到极致,而是知道什么时候该放下。”
三月的一天,陈默做了一个决定。
他没有辞职。他做了另一件事。
他花了两个月的时间,在模型里植入了一个”反噬”机制。
这个机制的原理很简单:当模型评估一个用户时,它会同时计算这个用户的”债务承受力指数”。如果指数显示这个用户即使按时还款,也会因为利率过高而陷入”以贷养贷”的循环——也就是新债还旧债——系统会自动降低他的授信额度,并建议客服主动联系用户,提供更低的利率方案。
换句话说:模型不仅会判断”这个人能不能还钱”,还会判断”我们应不应该借给他钱”。
这在商业上是自杀行为。降低利率、降低额度,意味着减少利润。但陈默把它藏在了一层复杂的逻辑之下,用了一个听起来很专业的名字——“长期客户价值优化引擎”。他告诉王磊,这个功能可以降低长期坏账率,提高客户生命周期价值。
王磊信了。或者说,他选择信了。
模型上线后的第一个季度,放款量下降了百分之八,利润下降了百分之五。但坏账率降到了百分之五——历史最低。客服部门反馈说,客户投诉量明显下降,还款意愿度上升。
王磊看着数据,沉思了很久。“有意思,“他说,“少赚一点,反而更稳。”
陈默没有告诉他全部的真相。他也没有告诉林知微。他只是在那个深夜,一个人坐在办公室里,看着屏幕上的数字,感觉到了一种他很久没有体验过的东西。
不是满足,不是骄傲,是一种很轻很轻的东西。像是宽恕。
但不是对自己的宽恕。而是对赵德发们的——不,不是宽恕。是一种迟到的承认:他们值得被看见。
十、回响(2025)
2025年秋天,陈默离开了信达数科。
他没有去别的金融科技公司。他去了一所二本院校教计算机,月薪一万二。比他之前的收入少了百分之九十。
同事们觉得他疯了。王磊请他吃了顿饭,席间说:“你要是想休息,可以给你留个位子。随时回来。”
陈默谢了他。但他知道自己不会回去了。
教书的日子很平淡。学生们大多数不认识他,也不知道他曾经在互联网金融行业做过什么。他们只知道陈老师讲课很认真,布置作业很多,但会耐心解答每一个问题。
有时候课后,会有学生问他:“老师,您之前在业界做什么?”
“算法。“他说。
“什么算法?”
“判断人的算法。”
学生听不懂,笑了笑就走了。
那年冬天,陈默收到了一条微信。是林知微发来的。
“赵德发的儿子考上了大学。河北工程大学,学计算机。”
陈默看着这条消息,看了很久。
他想起赵德发在通讯录里存的那个号码——“陈淑芬”,备注”老家邻居”。他想起自己的母亲在院子里包饺子的背影。他想起赵婶拎着苹果来串门的那个下午,阳光很好,苹果很红。
他回了林知微:“好。”
过了一会儿,林知微又发了一条:“你要不要回来?不是回北京。回来看看。”
陈默想了想,打了几个字:“寒假的时候。”
他放下手机,走到窗边。窗外是城市的天际线,灯火通明。那些灯火背后住着几百万个人,每个人都是一个数据点——有姓名,有年龄,有收入,有信用评分。但在数据点之下,每个人都有一个母亲,都有一个故乡,都有一些还不清的账。
不是钱的账。是良心的账。
他忽然想起一个细节。他在信达数科的最后一天,清理办公桌的时候,发现了一个旧笔记本。是2016年刚入职时用的,封面已经发黄了。他翻开第一页,看到了自己写的第一行字:
“特征工程的核心:找到数据中隐藏的真相。”
他在那行字下面,用红笔加了一行:
“但有些真相,不需要数据来证明。“
尾声
2026年春天,陈默在学校的实验室里,收到了一封邮件。发件人是一个陌生地址,主题是”谢谢你”。
邮件很短:
“陈老师,你不认识我。我叫赵明辉,是赵德发的儿子。我在学计算机科学,我想做一个跟你不一样的东西——一个帮助人而不是评判人的算法。我爸跟我说,他的贷款最后被调低了利率,让他有机会还清。我不知道是谁做的,但我想说谢谢。
“如果这也是你做的,那就谢谢两次。”
陈默看了三遍。然后关掉邮件,打开了一个新的代码文件。
文件名是:second_chance.py。
他开始写第一行代码。窗外,春天正在到来。树上的芽苞鼓鼓的,像无数个还没有打开的账本。没有人知道里面记着什么。但至少,可以重新开始。
多年以后,面对满屏的代码,陈默将会回想起林知微给他搬书箱的那个遥远的下午。当时,回龙观的出租屋还是二十平米的隔断间,一本《百年孤独》搁在纸箱的最上面,封面已经卷了边。书里的马孔多在飓风中消失了,但窗外的北京依然灯火通明。
账本不会消失。但可以重写。