数据中的麦芒
一
陈麦秋第一次注意到那个异常值,是在三月中旬的一个加班夜。
窗外是深圳南山区的灯火,楼下的科技园还在施工,打桩机的声音隔着双层玻璃传进来,像一颗遥远的心脏在跳动。办公室里只剩他和一台嗡嗡作响的服务器,屏幕上滚动着用户信用评分的实时分布曲线。
他是”元信科技”风控模型组的 senior engineer,负责维护一套名叫”天眼”的信用评估系统。这套系统服务于国内最大的三家互联网银行,每天处理超过两亿次评分请求,决定谁能拿到贷款、谁能租房、谁能在三十秒内通过审核买到一辆车。
“天眼”的核心是一个深度学习模型,输入变量超过四千个——从你的消费记录、社交网络密度、手机型号、充电频率,到你在某个页面的停留时长,全都是模型的养料。输出的则是一个介于三百到九百五十之间的分数。三百意味着你几乎不存在,九百五十意味着你可以不付押金住进任何一家酒店。
那天晚上,陈麦秋在跑一组 A/B 测试。新版本的模型在 Recall 上提升了零点三个百分点,这本该是个好消息。但他注意到一个奇怪的副产品:在新模型的评分分布图上,出现了一个微小的但极其尖锐的波谷。
波谷出现在四百一十二分附近。
这意味着,有一小群人从”边缘信用”区间被系统性地推到了”拒绝”区间。不是随机波动——那个凹陷太深、太窄,像是被什么东西精准切割过。
陈麦秋皱了皱眉,拉出那群人的画像。他以为会看到某种典型的次级信用特征——频繁借贷、多头负债、收入不稳定。但数据告诉他另一个故事。
那群人有一个共同特征:他们都在过去三个月内做过同一件事——在农村信用社存过定期存款。
仅此而已。
他们不是坏人。他们只是在某个被”天眼”看不到的金融角落里,做了一件被模型认为是”不可解释的行为”的事。模型不理解为什么一个月收入八千元的快递员会去农村信用社存三万块定期。它只知道这种行为偏离了”正常”的轨迹。
于是它把他们推下了悬崖。
陈麦秋盯着屏幕,打桩机的声音忽然变得很响。他想起父亲陈谷雨。想起小时候在河南老家的麦田里,父亲教他辨认麦芒的方向——“麦芒冲着风长的,就是好麦子。”
他关掉分析页面,把异常值记在了一本黑色笔记本上,然后下班回家。
他不知道的是,那本笔记本后来变成了这个故事的全部。
二
陈麦秋三十二岁,未婚,住在科技园附近的一个老旧小区里。房子是租的,一室一厅,阳台上堆着几个没拆封的快递箱,厨房的灶台干净得几乎没用过。他大部分时间在公司吃饭——公司食堂的麻辣香锅不错,他在那里的消费记录大概是模型评估他”生活稳定”的一个正向指标。
他不是那种典型的算法工程师。不穿格子衫,不打羽毛球,不在朋友圈晒马拉松奖牌。他更喜欢一个人在出租屋里看小说,或者去楼下的兰州拉面馆坐一坐,要一碗毛细,加两勺油泼辣子,看窗外的行人走过。
他选这个职业纯属偶然。本科在郑州大学读数学,研究生在中科院搞运筹学,毕业时BAT都在抢算法人才,他跟着浪潮进了元信科技。那时候”天眼”还只是一个几千行代码的原型,他亲手写了最早的一版特征工程。
现在”天眼”是一头巨兽。它的代码库超过三百万行,依赖上百个微服务,训练数据每天从几十个数据供应商那里流入,光 GPU 集群的电费一个月就要两百万。陈麦秋已经不完全理解它的每一个判断了——没有人能完全理解。它是一个深度神经网络,它的决策路径藏在数以亿计的参数权重里,像一座黑暗森林。
但陈麦秋是少数还记得”天眼”最初设计哲学的人。那个哲学很简单:让信用评估更公平。用数据代替人眼,用算法代替偏见。二〇一八年他刚入职的时候,CEO在年会上说:“我们要让每一个普通人都能被公平地看见。”
那时候他觉得这句话很动人。
现在他不确定了。
三
第二天上午,陈麦秋把那个异常值的事告诉了组长刘卫星。
刘卫星四十出头,头发已经开始稀疏,戴一副金丝边眼镜,说话总是带着一种”我已经见过太多”的疲惫感。他在风控行业干了十五年,从银行信贷审批员一路做到算法团队的技术主管。
“四百一十二分的波谷?“刘卫星推了推眼镜,“你确定不是数据采样的问题?”
“确定。我换了三种采样方法,波谷都在。而且只在新模型上出现。”
“规模有多大?”
“大约十二万人。”
刘卫星沉默了一会儿。十二万人在”天眼”的覆盖范围内不算多——系统服务超过三亿用户。但十二万个活生生的人被系统性地降低信用评分,这也不是小事。
“你写个报告吧,“刘卫星说,“走正规流程,发给产品那边。”
陈麦秋点了点头。他知道”走正规流程”意味着什么——报告会进入一个由产品经理、法务和业务方组成的评审委员会,他们会评估”修复”这个波谷的成本和收益。如果收益不够大——比如这十二万人的流失不影响公司的核心利润——报告就会被放进一个叫做”backlog”的坟墓里。
他写了报告。用了三天,附了详细的数据分析和可视化图表。他在结论部分写道:“建议在新模型中加入针对农村金融行为的补偿机制,以避免系统性偏差。”
报告发出后,他在 Slack 上收到了产品经理赵静的回复。
“麦秋,看过了。数据很扎实。但 Q2 的 OKR 是提升模型精度,加补偿机制可能会影响整体 AUC。你能量化一下这十二万人的商业价值吗?”
陈麦秋看着这条消息,忽然觉得嘴里有一股铁锈味。
他回复:“他们是人,不是’商业价值’。”
赵静秒回了一个😊表情,然后说:“理解你的concern,但我们也要考虑ROI。你先做个影响评估吧,我们下个季度再讨论。”
下个季度。
陈麦秋关掉了 Slack。
四
那个周末,陈麦秋回了一趟河南老家。
父亲的麦田在村东头,三亩二分地,种的是冬小麦。三月底的麦子还矮,青绿的苗在风里微微摆动,像一片安静的海。父亲蹲在田埂上抽烟,看到他回来,只是点了点头。
“咋回来了?”
“休息。”
“嗯。”
父子俩都不太会说话。陈麦秋在田埂上坐下来,看着远处的村庄。村子里的人越来越少了。年轻人都去了城里,剩下老人和孩子。村里的合作社去年装了一套”智慧农业”系统,可以在手机上看到土壤湿度和天气预报,但陈麦秋的父亲从来不用。
“那玩意儿不准,“父亲说,“还是看云稳当。”
陈麦秋笑了笑。他知道父亲说的”看云”不是迷信,而是一种积累了四十年的经验——哪种云形预示着什么样的天气,风速多少的时候该浇 水,什么时候该打药。这些经验无法被编码进任何系统。
“爸,你还记得咱家隔壁的王叔吗?”
“咋不记得。王德发。去年得了一场大病,差点没过去。”
“他现在咋样?”
“凑合过呗。他儿子在东莞打工,每个月寄点钱回来。但去年那场大病花了不少,听说在什么手机上借了钱。”
陈麦秋心里一动。“手机上借钱?网贷?”
“大概是。我也不懂那些。”
陈麦秋没有再问。他掏出手机,打开”天眼”的内部测试接口,输入了王德发的身份证号。
评分:三百九十八。
“拒绝”区间。
三百九十八分意味着王德发几乎不可能从任何接入”天眼”的金融机构获得贷款。他的信用在系统眼里,几乎是透明的。
陈麦秋又查了王德发的画像数据。模型给出的降分原因包括:年龄偏大(五十七岁),收入不稳定(务农+打零工),近期有大额医疗支出,在农村信用社有异常存款行为——他把儿子寄来的三万块钱存了定期。
三万块定期存款。在”天眼”的世界里,这不是”储蓄”,这是”不可解释的金融行为”。
陈麦秋把手机收回口袋。麦田里的风忽然变大了,麦苗弯下去又弹起来,发出细微的沙沙声。
他想起自己写的那些代码。每一个 if-else,每一个权重参数,每一个激活函数。他曾经以为自己在搭建一座桥,让更多人能够被看见。现在他开始怀疑,这座桥可能只是一道更高的墙。
墙这边是数据世界——有消费记录、有社交痕迹、有稳定的城市生活、有模型能理解的”正常”行为模式的人。墙那边是被模型遗忘的人——他们用现金,他们存定期,他们在老家种地,他们的生活在数据空间里几乎不存在。
他们不是不存在。只是模型看不见他们。
五
回到深圳后,陈麦秋做了一件违规的事。
他用内部测试接口查了自己父亲的评分。七百二十三分,“优秀”区间。但这不是因为父亲的信用真的有多好,而是因为陈麦秋自己帮父亲开通了支付宝,绑了银行卡,每个月定时给父亲转生活费——这些行为在”天眼”看来是”优质的金融活动”。
他又查了村里其他几个人。大部分老人的评分都在四百以下。他们的共同特征是:没有智能手机,或者只用最基础的功能;不在任何社交平台上有活跃账号;收入来源是农业和子女汇款;金融活动仅限于农村信用社的存取款。
在”天眼”的四千多个特征维度里,这些人几乎是空白的。
空白不是零。空白是一个黑洞。
模型无法评估一个它看不见的人。按照”天眼”的逻辑,“看不见”等于”高风险”。因为所有已知的欺诈行为都发生在”低数据密度”的人群中——模型是这样学习的。
但这不是事实。这只是模型的一种偏见。
陈麦秋开始失眠。
他每天晚上躺在出租屋的床上,盯着天花板上那条细长的裂缝,想着那些被推下悬崖的人。十二万只是一个波谷里的数字。整个”天眼”系统覆盖三亿用户,如果他的推测是对的,被系统性低估的人可能不止十二万。
他们不知道自己被一个看不见的系统判了低分。他们只知道自己在手机上申请贷款被拒了,租房要交更多的押金,分期付款的利率比别人高。他们不知道原因,因为”天眼”不向用户解释评分——那是商业机密。
他们只是觉得世界变得更难了。
六
四月初,陈麦秋在公司的内部技术论坛上发了一篇长文,标题是《看不见的代价:论风控模型中的系统性偏差》。
文章没有用任何敏感数据,也没有提到”天眼”的具体参数。他用了一个模拟数据集来展示同一个问题:当一个深度学习模型在没有充足覆盖的子群体上进行推理时,它会产生系统性的”信用空洞”——不是随机噪声,而是结构性的不公正。
文章在内部引起了一定的关注。三天内收到了一百多条评论,大部分是技术讨论,也有人表示”这个问题确实存在,但很难解决”。
但也有几条评论让陈麦秋不舒服。
一个来自”风控-策略组”的匿名评论说:“你的模拟数据太理想化了。现实中这些’信用空洞’恰恰对应了高风险群体。如果我们补偿了他们,不良率会上升,最终受损的是全体用户。”
另一个来自”产品-增长组”的评论说:“这个问题我们知道。但你要理解,我们的客户是金融机构,他们要的是最低的不良率,不是最大的公平。”
还有一个评论只有四个字:“不要多想。”
陈麦秋关掉论坛,发现自己手在抖。
七
事情的转折发生在四月中旬的一个晚上。
陈麦秋加班到十一点,正准备走,接到了一个电话。是王德发的儿子王浩打来的。
“麦秋哥,你知道有啥办法能把咱爸的信用分提上去不?他在手机上借了两万块,利息高得吓人,现在还不上,催收的电话都打到村主任那儿了。”
陈麦秋愣了一下。“他借了多少?”
“本金两万。但那个利息是按天算的,每天万分之五,加上手续费和保险费,半年下来要还将近三万。他哪有那么多钱。”
陈麦秋心里算了一下。万分之五的日利率换算成年化利率是百分之十八左右——在合规的范围内,但对一个务农的老人来说,这几乎是不可承受的。而如果他的”天眼”评分足够高,他可以从正规银行拿到年化百分之五以下的贷款。
“是哪个平台?”
“叫’金粒贷’。我在手机上帮他申请的。”
陈麦秋打开电脑,查了一下金粒贷。这是一个持牌小贷公司的产品——也是”天眼”的客户之一。它的风控策略直接调用”天眼”的评分接口,三百九十八分的王德发自然无法通过。但金粒贷有一个”次级通道”——评分不够的用户会被引导到它的合作平台,那些平台的利率更高,风控更松,但催收更狠。
也就是说,“天眼”拒绝了王德发,但间接地把他推向了更糟糕的地方。
系统不是没有看见他。系统看见了他,然后把他关在了门外。
陈麦秋挂了电话,坐在空荡荡的办公室里,很久没有动。
屏幕保护程序启动了,一组公司的宣传语在屏幕上缓缓滚动——“让信用更普惠”、“为每一个用户创造价值”、“用科技驱动金融平等”。
他忽然觉得恶心。
八
接下来的两个星期,陈麦秋开始秘密地做一件事。
他在”天眼”的训练代码中植入了一个微小的补丁。这个补丁不是后门,也不是木马。它是一个”注意力权重调整器”——在模型的最后一层全连接网络中,对那些”低数据密度”用户的特征向量进行微调,让模型在缺少信息的情况下倾向于给出一个”中性”的评分,而不是一个惩罚性的低分。
简单来说,他让模型学会了”不知者不为罪”。
如果一个人的数据不足以做出准确判断,模型不应该假设他是坏人。它应该承认自己的无知,给出一个居于中间的评分,而不是把他推下悬崖。
这个补丁的影响范围很小——它只影响那些数据密度低于某个阈值的用户,大约占”天眼”覆盖人群的百分之零点七。也就是两百万人左右。
两百万人。他们不会因此变成”优质客户”,也不会拿到低息贷款。但他们至少不会被系统性地推到”拒绝”区间,不会被驱赶进高利贷的陷阱。
他们会得到一个”不确定”——而”不确定”是一个比”拒绝”好得多的答案。
陈麦秋知道这是违规的。模型的所有变更都需要经过评审委员会的批准,需要 A/B 测试,需要法务审核。他的补丁绕过了所有这些流程。
他也知道这个补丁可能在某个 code review 中被发现。所以他把代码写得非常隐蔽——嵌在一个看似普通的特征工程函数中,变量名用的是无害的 noise_reduction_factor,注释写的是”降低低信噪比特征的波动”。
他把补丁部署到了生产环境。
九
补丁上线后的第一周,一切看起来很正常。模型的整体性能指标没有显著变化——AUC 波动在千分之一以内,Precision 和 Recall 几乎不变。四百一十二分的波谷被填平了,但因为受影响的人数在总体中占比极小,这个变化淹没在了统计噪声里。
没有人注意到。
陈麦秋开始睡得着觉了。
他甚至去拉面馆庆祝了一下,要了一碗大份的毛细,加了三勺油泼辣子。拉面师傅老马看着他,说:“今天心情好?”
“还行。”
“还行就好。”
老马是甘肃临夏人,来深圳十二年了。他的拉面馆开了八年,每天早上五点起来和面,晚上十点收摊。他的”天眼”评分大概是多少,陈麦秋没有查过。但他猜应该不会太高——一个只用现金采购食材、没有信用卡、没有房产的小老板,在模型眼里大概也是个”半透明”的人。
“老马,你的拉面馆生意好不好?”
“凑合。房租贵。”
“有没有想过开分店?”
“想过。没本钱。去银行问过,说要什么流水、什么纳税证明。我一个卖拉面的,哪有那些东西。”
陈麦秋低头吃面,没有说话。
十
四月底,补丁上线两周后,刘卫星找到了陈麦秋。
“麦秋,你最近改过模型代码?”
陈麦秋的心跳漏了一拍。“什么意思?”
“上周有个数据科学家在做特征归因分析,发现 noise_reduction_factor 这个参数的行为有点奇怪。它似乎只在特定条件下才会激活,而且激活的条件和数据密度有关。”
“那是我加的一个实验性参数,“陈麦秋说,“用来降低低数据密度用户评分的方差。我之前在论坛上提到过这个问题,想做个小实验验证一下。”
“你走过审批流程了吗?”
“没有。只是一个很小的调整,不影响整体指标。”
刘卫星看了他很久。“麦秋,你知道这样做不对。”
“我知道。”
“但你还是做了。”
“是。”
刘卫星叹了口气。他摘下眼镜擦了擦,又戴上。这是他思考时的习惯动作。
“你那个补丁,效果怎么样?”
“整体指标没变化。但四百一十二分的波谷消失了。”
“那十二万人呢?”
“他们的平均评分上升了大约五十分。大部分从’拒绝’区间移到了’边缘’区间。还是拿不到最好的贷款条件,但至少不会被推到高利贷那里去了。”
刘卫星沉默了很长时间。
“你知道如果这事被发现,你会有什么后果吗?”
“知道。”
“最轻是开除。最重是法律追究——篡改金融风控模型,这个罪名不小。”
“我知道。”
又是一阵沉默。窗外传来打桩机的声音,一下一下的,像倒计时。
“把那个补丁留着,“刘卫星最终说,“但你要写一份完整的技术文档,把来龙去脉都记录下来。如果将来出了事,至少有一个说法。”
陈麦秋点了点头。
“还有,“刘卫星补充道,“别再干这种事了。“
十一
五月来了。深圳的天气变得又热又湿,空气里弥漫着一种黏腻的潮气。陈麦秋每天上班、写代码、下班、吃面、回家看小说。表面上一切如常。
但他知道有一根针扎在他的生活里,随时可能被拔出来。
他开始写那份技术文档。不是在公司写的——公司的一切数字痕迹都可能被审计。他用那本黑色笔记本,手写。
他写下了那个异常值的发现过程。写下了王德发的故事。写下了四百一十二分的波谷意味着什么。写下了他的补丁的技术细节,以及为什么他认为这是正确的事。
他写得很慢,因为他在想一个更根本的问题:他做的事到底对不对?
从职业伦理上说,他违规了。他绕过了所有审批流程,私自修改了生产环境的代码。这在任何一家科技公司都是不可接受的。
从道德上说,他觉得他没有做错。那些人被系统伤害了,而系统是造出来的——既然是人造的系统,就应该由人来修正它的错误。
但从后果上说,他不确定。他的补丁可能帮助了两百万人,也可能让某些不该拿到贷款的人拿到了贷款——如果其中一部分人违约,损失最终会由金融机构承担,然后转嫁到其他用户身上。
他在笔记本上写道:“我不知道。我唯一知道的是,在做这个决定的那一刻,我想到了父亲的麦田。麦田不会因为某棵麦子长得矮就把它拔掉。它让所有的麦子一起长,高的矮的,一起经历风雨,一起灌浆成熟。也许信用系统应该更像一片麦田,而不是一把筛子。”
他把笔记本放在出租屋的床头柜里。
十二
五月中旬,陈麦秋接到了王浩的第二个电话。
“麦秋哥!我查了一下,咱爸的信用分涨了!现在能从正规银行借到钱了,利息比之前那个平台低了一大截!”
“是吗?那挺好的。”
“是不是你们系统升级了?”
“可能是吧。”
“太好了。我跟你说,之前那个催收的,天天打电话,还说什么’大数据时代,你跑不掉的’。吓死人了。现在好了,我从银行借了笔低息的,把那个高利贷还了。”
陈麦秋听着电话那头王浩兴奋的声音,嘴角微微弯了一下。
“你爸身体咋样?”
“好多了。地里的麦子也长起来了,今年收成应该不错。”
“那就好。”
“麦秋哥,谢谢你啊。”
“别谢我。好好过日子。”
挂了电话,陈麦秋站在阳台上,看着楼下的街道。一个外卖骑手飞速驶过,尾灯在夜色里拉出一条红线。对面的居民楼里,有人打开了一扇窗,飘出了炒菜的香味。
他在想,那两百万人里面,有多少个王德发?有多少个人在不知不觉中被一个看不见的系统推到了悬崖边?又有多少个人因为他的补丁,慢慢地爬回了安全的地方?
他永远不会知道具体的数字。补丁不区分个体,它只改变概率分布。在模型的世界里,王德发不是一个五十七岁的河南农民,他只是一个四千零二十三维的向量,在某个高维空间里被稍微移动了一点位置。
但就是这一点点移动,意味着他不用再接催收电话了。
十三
五月的第三周,事情开始变得不对。
陈麦秋在监控面板上注意到一个趋势:补丁覆盖的那两百万人群中,贷款违约率出现了一个微小的上升——从百分之二点三上升到了百分之二点五。
百分之零点二的差异。在统计上几乎不显著。在商业上几乎不可感知。但它在那里,像一根刺。
他开始焦虑。那百分之零点二的违约率上升意味着什么?意味着有一些原本会被”天眼”拒绝的人,因为补丁的存在获得了贷款,然后违约了。他们拿到了钱,但没有还。
他们是坏人吗?还是只是运气不好?还是因为贷款的额度超出了他们的还款能力?
陈麦秋无法回答这些问题。补丁帮助了绝大多数人,但也可能帮助了极少数不该被帮助的人。
这就是他一直在害怕的事情——他做了一个”善良”的决定,但善良的代价是由别人承担的。
他把自己关在出租屋里,整整一个周末没有出门。他把笔记本翻到最后一页,看着自己写的那些话——“麦田不会因为某棵麦子长得矮就把它拔掉。”
但他现在想到了另一面:麦田里也有杂草。杂草和矮麦子长得很像。如果不去分辨,杂草会抢走麦子的养分。
问题是,他有能力分辨吗?“天眼”有能力分辨吗?
也许问题不在于分辨。也许问题在于,他们从 一开始就不应该用一把筛子来管理一片麦田。
十四
五月二十五日,陈麦秋做了一个决定。
他不是要删除补丁。他要把补丁公开。
他写了一封内部邮件,收件人是整个风控算法团队——大约六十个人。邮件标题是《关于 noise_reduction_factor 补丁的技术说明和伦理讨论》。
邮件很长。他详细描述了四百一十二分的波谷,描述了那十二万人——以及更广泛的两百万”低数据密度”用户——的处境,描述了他的补丁做了什么、为什么这么做、以及他自己对这件事的全部疑虑。
他写到了违约率上升的百分之零点二。他写到了王德发——当然没有用真名。他写到了父亲的麦田。
邮件的最后一句话是:“我不确定我做的事是对的。但我确定,如果我们不讨论这些问题,没有人会替那些被系统遗忘的人说话。”
他点了发送。
然后他关上电脑,下楼去老马的拉面馆,要了一碗毛细,两勺油泼辣子。
老马问他:“今天心情怎么样?”
“不太好。”
“不太好就多加点辣。”
陈麦秋笑了笑,加了一勺。
十五
邮件发出后的第二天,陈麦秋被叫到了副总裁周晓明的办公室。
周晓明四十五岁,清华计算机系毕业,斯坦福博士,在谷歌干了五年后回国加入了元信科技,现在是CTO兼副总裁。他是那种技术和管理都很强的人,说话直接,不喜欢绕弯子。
“邮件我看了,“周晓明说,“你的技术分析没问题。伦理问题也确实存在。但你绕过审批流程这件事,我不能当做没看见。”
“我知道。”
“你知道公司会怎么处理吗?”
“大概知道。”
周晓明站起来,走到窗前。他的办公室在三十二楼,可以看到整个科技园的全景。远处是深圳湾,灰蒙蒙的海面上有几艘货轮在缓缓移动。
“你知道我为什么出来创业吗?“周晓明忽然问。
陈麦秋摇了摇头。
“我爸爸也是农民。湖南的。种水稻的。”
陈麦秋没有说话。
“我在谷歌的时候,年薪四十万美元。我爸来美国看我,在谷歌食堂吃饭,说’你们这里的饭菜真好,不要钱’。我说’是,不要钱’。他不知道我每天做的事情是什么。我也不知道怎么跟他解释——我说我帮一个搜索引擎写代码,他说’哦,就是做电脑的那个’。”
周晓明转过身来,看着陈麦秋。
“我回国做元信,就是想用技术让我爸那样的人能更容易一点。贷款、租房、看病,不用再跑断腿、磨破嘴。但我现在管着三千多人的公司,每天想的都是怎么降低成本、怎么提高效率、怎么让投资人满意。我已经很久没想过我爸了。”
陈麦秋低着头,听着。
“你的补丁我不会撤掉,“周晓明说,“但也不会以现在的形式保留。我会启动一个正式的项目,叫’麦田计划’——专门研究如何让风控模型更好地服务低数据密度人群。你来负责。”
陈麦秋抬起头。
“但你绕过审批流程这件事,必须有一个处分。停发三个月奖金,写一封正式的道歉信给评审委员会。你能接受吗?”
“能。”
“那就这样。”
陈麦秋站起来准备走,周晓明叫住了他。
“麦秋。”
“嗯?”
“你做了一件傻事。但也是一件对的事。这种事不会经常发生。”
陈麦秋点了点头,走出了办公室。
十六
“麦田计划”在六月正式启动。
陈麦秋从风控模型组调了出来,带着三个工程师和一个产品经理,开始做一件他一直想做的事情:设计一套专门针对”低数据密度”用户的信用评估框架。
这个框架的核心思想不是”补偿”,而是”理解”。
传统的风控模型假设所有人都在同一个数据空间里——你有信用卡记录,我有消费数据,他在社交平台上有痕迹。但低数据密度人群不在这个空间里。他们的生活没有被数字化,不是因为他们的生活没有价值,而是因为现有的数据采集体系根本没有覆盖到他们。
所以”麦田计划”做的第一件事,不是修补模型,而是重新定义”信用”。
他们花了两个月,走访了河南、湖南、贵州的六个县,和当地的农民、小商贩、合作社负责人、农村信用社的信贷员聊天。他们发现,这些人的”信用”不是体现在手机屏幕上的数据,而是体现在邻里之间的口碑、历年还款的记录、土地上的庄稼长势、子女的教育投入里。
这些信息不是不存在。它们只是没有被编码。
陈麦秋开始设计一套新的数据采集方案。不是让农民去用智能手机——那不现实。而是利用已有的农村信用社记录、合作社交易记录、土地承包信息、甚至是卫星遥感数据(通过农作物长势间接评估经济状况),来构建一个补充性的数据维度。
他们管这个叫”麦芒模型”。
十七
“麦芒模型”的研发用了六个月。
中间有很多困难。数据采集的合规问题,卫星遥感数据的精度问题,如何把非结构化的”口碑”信息量化的问题,如何避免新的偏差问题。陈麦秋几乎住在了办公室里,那本黑色笔记本写满了密密麻麻的公式和草图。
他的体重掉了十斤。拉面馆的老马注意到了。
“你瘦了,“老马说,“是不是加班太多了?”
“还好。”
“别光加班不吃饭。身体是本钱。”
陈麦秋笑了笑,把面吃完了。
十一月初,“麦芒模型”的第一个版本在湖南的一个试点县上线。结果令人鼓舞:试点区域的贷款通过率提高了百分之十五,而违约率几乎没有上升。那些原本被”天眼”评为”拒绝”的用户,在补充了”麦芒模型”的数据后,大部分被重新评为了”边缘”或”合格”。
他们不是坏人。他们只是没有被看见。
十八
十二月中旬,陈麦秋回了一趟老家。
麦子已经长高了,青绿青绿的,在冬天的阳光下泛着一层微微的光。父亲还是蹲在田埂上抽烟。
“爸,今年收成怎么样?”
“还行。冬天不太冷,麦子没受冻。”
陈麦秋在父亲身边坐下来。田里的麦苗在风里轻轻摆动,发出一种细密的声音,像很多人在同时呼吸。
“爸,我跟你说个事。”
“说。”
“我在公司做了一个东西,能帮像王叔那样的人更容易借到钱。”
“哦。那是好事。”
“但我也犯了个错。没走流程。被罚了三个月奖金。”
父亲吐了一口烟,看着远处的天际线。
“你做的事对不对?”
“我觉得对。但不确定。”
“那就行了。世界上没什么事是确定的。种地也是。你播了种子,不知道会不会有收成。但你不能因为不确定就不种。”
陈麦秋看着父亲,忽然觉得眼眶有点发酸。
“你小时候我不教你认麦子,你说麦子和韭菜有什么区别。“父亲笑了一下,露出一口被烟熏黄的牙,“我说麦子有麦芒。芒就是麦子的态度——它冲着天长,告诉这个世界它在这里。”
麦田里的风变大了。麦浪起伏,一波一波地向东涌去。陈麦秋看着那些青色的麦芒在风中微微颤动,像是千千万万只手在向天空挥舞。
是的。它们在这里。它们一直在这里。
它们只是需要被看见。
十九
第二年春天,“麦田计划”扩展到了五个省份。“麦芒模型”开始接入更多元的数据源——农村电商的物流记录、合作社的分红记录、甚至是气象数据。每增加一个数据维度,就多照亮一小片黑暗。
陈麦秋不再是那个在深夜偷偷植入补丁的孤独工程师了。他有了一个团队,有了正式的项目预算,有了公司高层的支持。但他的黑色笔记本还在。里面新增了很多内容——试点地区的反馈数据,模型迭代的思路,但最多的还是那些人的故事。
他养成了一个习惯:每到一个新的试点地区,就去找当地的人聊天。不是访谈,不是调研,就是聊天。在田间地头,在集市上,在小卖部门口。他问他们借过钱吗,被拒绝过吗,觉得公平吗。
大部分人说”不知道”。他们不知道自己被一个系统评估过,更不知道那个系统曾经把他们判为”不存在”。他们只知道生活变好了一点或者没变。
但有些人会记得。
在贵州的一个村子里,一个四十多岁的女人拉着陈麦秋的手说:“去年我在手机上借了五千块钱买猪崽,利息不贵,我按时还了。今年猪出栏了,赚了一万多。以前借不到钱,只能干看着。”
她不知道那个”利息不贵”的背后,有一串代码、一个补丁、一个叫陈麦秋的人、和一片河南的麦田。
陈麦秋也没有告诉她。
二十
第二年秋天,“麦田计划”获得了公司年度创新奖。周晓明在颁奖的时候说了一句话:“技术的终极目标不是效率,而是公正。”
陈麦秋坐在台下,鼓了掌。他想到了很多事情。想到了那个加班夜屏幕上的波谷,想到了王德发的三百九十八分,想到了父亲蹲在田埯上抽烟的样子,想到了那碗加了三勺油泼辣子的毛细。
他也想到了那个百分之零点二的违约率上升。那不是一个小数字。每一个违约案例背后,都是一个真实的人、一笔真实的钱、一次真实的损失。他的补丁帮助了两百万人,但也可能伤害了极少数人。
他至今无法完全原谅自己。
但他也不后悔。
因为后悔意味着他不应该做那件事。而他知道他应该做。世界不是由确定的答案组成的,世界是由不确定的选择组成的。你播下种子,等待收成,但你永远不知道暴风雨会不会来。
你能做的,只是确保麦芒冲着天长。
尾声
两年后,陈麦秋离开了元信科技。
他没有去其他大厂,也没有创业。他回到河南老家,在县城里租了一间办公室,做了一个小小的技术工作室——专门帮农村信用社和小型合作社搭建简易的风控系统。系统很简单,代码开源,不依赖任何大厂的数据接口。
他用的模型不是深度神经网络,而是一棵浅浅的决策树。决策树的可解释性很强——每一个判断都可以被追溯、被理解、被质疑。它不像”天眼”那样精准,但它不会在任何人身上制造黑洞。
他的父亲不太理解他为什么回来。
“你在深圳不是好好的吗?挣那么多钱。”
“钱够用就行了,爸。”
“那你回来干啥?”
陈麦秋看着窗外。窗外的田里,麦子正在灌浆。六月的风吹过来,带着一股青涩的、潮湿的、属于泥土和阳光的气味。
“回来种地,“他说。
父亲哼了一声,不知道是赞同还是不屑。但他蹲在田埂上的姿势比以前轻松了一些。
陈麦秋回到办公室,打开电脑,开始写代码。
屏幕上跳动着一行行简单的 Python。窗外是麦田,麦田连着村庄,村庄连着公路,公路连着城市,城市里有人在屏幕上查看自己的信用分数。
他们的分数是多少?他们知不知道那个分数意味着什么?
陈麦秋不知道。但他知道一件事——每一个数字的背后,都是一个活生生的人。一个有名字的人,一个有故事的人,一个有麦芒的人。
他继续写代码。风从窗外吹进来,吹动了他桌上的黑色笔记本。笔记本翻到了某一页,上面只有一句话:
“麦芒冲着风长的,就是好麦子。”
(全文完)