最后一公里的余光

招魂者 · 2026/4/17

最后一公里的余光

一、最后一公里

凌晨两点十七分,程渡关掉了显示器。

办公区里只剩下应急照明的微光,像深海里某种迟缓生物发出的磷火。整层楼的工位都空了,只有角落里那台用于训练模型的工作站还在嗡嗡作响,风扇像是一只困倦的蜂群。

他的眼睛酸痛了三个小时。屏幕上那些点击率、转化率、停留时长的数字,现在闭上眼还会在视网膜背面游移。十五年的职业生涯,他把青春献给了推荐算法——最初是在新浪写协同过滤,后来去了阿里妈妈做精准投放,再后来跳到字节的AILab,现在他在一家叫”星潮”的中型互联网公司做首席算法专家。

星潮比不上字节和快手,但在华东地区也算一方诸侯。两亿注册用户,日活六千万,每天产生的数据足够填满一座小型图书馆。程渡的算法每天决定着这六千万人在打开APP的那一刻会看到什么——一条短视频、一则新闻、一件毛衣、一碗螺蛳粉、一场直播。

他揉了揉眉心。桌上摆着一杯已经凉透的美式,咖啡油在表面结成了一层灰白色的薄膜,像某种无机物在悄悄生长。

他想起下午HRBP发给他的那份文件——新一轮融资完成的全员邮件草稿。星潮拿到了E轮两亿美金,领投方是一家叫”华晖资本”的机构。他打开邮件看了一眼,在”资金用途”那一栏写着:加大技术投入,深化AI赋能,拓展下沉市场。

“下沉市场”。这个词在他脑子里转了几圈,忽然觉得很刺耳。

下班的时候,他习惯性地走向电梯。电梯门打开,里面站着保洁阿姨吴妈,正在拖电梯地板。电梯里有一股84消毒水的味道,混着某种潮湿的闷臭。

“程工,又加班到这么晚啊。“吴妈的声音从拖把后面传来,带着一种让人放松的市井气息。

“习惯了。“程渡挤进电梯,踩在吴妈刚拖过的地板上,留下一串湿漉漉的脚印。

电梯下行。程渡盯着楼层数字跳动,忽然问了一句:“吴妈,您老家哪里的?”

“河南信阳。“吴妈把拖把靠在墙角,“怎么了,程工?”

“没什么。“程渡顿了顿,“信阳毛尖好喝。”

吴妈愣了一下,然后笑了。那是一种被生活反复揉搓过但依然柔软的笑:“程工说笑了,我喝茶不多,俺们那儿家家户户都种茶,我自己喝的都是最便宜的那种,夏茶,苦。”

电梯到了一楼。程渡走出电梯,走出大堂,走进夜里十一点的街道。街边那家叫”老吴家”的拉面馆还亮着灯。

这家拉面馆在星潮公司楼下开了八年。程渡记得自己刚入职的时候,老板是个五十多岁的西北男人,叫吴德福,拉面拉得极好,汤底是真正用牛骨熬了十几个小时的。他做的牛肉刀削面,程渡连着吃了三个月,胖了六斤。

后来吴德福回老家给儿子带娃,拉面馆转给了他的侄子吴波。吴波是个三十出头的年轻人,脑子活,肯钻研,把拉面馆装修了一下,搞起了”互联网+“——上线了三个外卖平台,挂了评分系统,还做了会员积分制。生意确实好了许多,外卖单子多了三倍。

但程渡发现,面变了。汤还是那个颜色,但味道寡淡了,像一场谎言被稀释了无数次之后还剩下的一点残渣。面也少了,以前一碗面能堆成小山,现在只有浅浅一碗,牛肉片从七八片变成了三四片,而且越来越薄,薄到能透光。

他站在拉面馆门口,透过玻璃门看见吴波正坐在收银台后面刷手机。外卖平台的提示音每隔几分钟就响一次,屏幕上是不断跳动的订单数字。吴波的脸上有一种程渡很熟悉的神情——那种被某种东西追赶着的、不由自主的焦虑。

程渡推门进去。吴波抬头看了他一眼,挤出一个礼貌但疲惫的笑:“程哥,还是老样子?”

“嗯。”

程渡在角落的老位置坐下。两年来他一直坐这张桌子,靠窗,能看见街景。现在这张桌子上贴了一张塑封的二维码,写着”扫码点餐 送煎蛋”。他把二维码揭下来,放在一边。

面端上来的时候,吴波说:“程哥,现在好评返现两块钱,您吃完帮我点个五星呗,我返您两块钱。”

程渡说:“好。”

他低头吃面。面确实不好吃了。汤有一股味精的刺鼻,牛肉柴得像嚼纸板。但他还是吃完了,一口一口,像在进行某种仪式。

他忽然想起一件事。三年前,星潮的内容风控部门做过一次分析,发现平台上的美食类内容(尤其是地方小吃、苍蝇馆子类)有显著的”流量衰退曲线”——新店上线的前三个月会有自然流量峰值,然后持续下滑,除非店家购买流量推广。而那些没有购买推广的店家,内容曝光量会以每月约15%的速度衰减。

当时程渡还参与过那个分析报告的评审。他记得报告里有一句话:“头部效应加剧,尾部内容加速消亡。平台生态呈现明显的金字塔化趋势。”

他当时觉得这是客观描述,没觉得有什么问题。

现在他吃着这碗寡淡的拉面,忽然意识到一件事——吴波的拉面馆,正在经历他亲眼见证过的那个”流量衰退曲线”。吴波不是不努力,不是不用心,他只是没有钱买流量,没有资源买广告位,没有团队帮他运营私域流量。他在用最笨的方法——上线三个平台,贴二维码,求客人好评——试图与一个由算法控制的流量分配系统搏斗。

就像一只蚂蚁试图撼动堤坝。

程渡放下筷子。他没有点好评返现的两块钱。不是心疼钱,是觉得那个动作太残忍——用两块钱买来的五星好评,恰恰是对吴波真实处境最大的讽刺。

他付了钱,走出拉面馆。手机震动了一下,是外卖平台的推送:您已连续签到7天,再完成3单任务,可获得5元红包!

他关掉了推送。

凌晨的街道空旷而安静。程渡走在回公寓的路上,忽然听见身后有一种声音——不是脚步声,不是风声,而是某种类似电流穿行的嘶嘶声,像无数根细线在空气中振动。

他回头看。什么都没有。只有路灯,在夜色里亮着一种惨淡的白光。

但他知道有什么东西在那里。某种他看不见的东西。某种他亲手喂养了十五年的东西。

那天晚上他做了一个梦。

二、余光

梦里,他站在一片无边无际的数据平原上。

不是服务器机房那种物理存在的数据,而是一种更抽象的、更纯粹的数据——字节、字符、0和1排列成的荒原,风吹过来的时候,那些0和1会像麦浪一样起伏。天空是一种奇怪的颜色,不是黑也不是白,而是一种极深的、几乎凝固的靛蓝,像某个巨型算法的背景色。

他往前走。平原上有一些模糊的影子,像是人影,又不像。他们没有脸,身体是半透明的,轮廓不断在像素化和实体化之间闪烁。程渡想看清他们的脸,但无论怎么靠近,都只能看见一片模糊的光晕。

一个影子开口说话。那声音像是从很远的地方传来,又像是直接出现在他的颅腔里:“你叫什么名字?”

“程渡。”

“你做什么的?”

“算法工程师。推荐系统。”

影子沉默了一会儿。然后它慢慢转过身,程渡看见它的后背有一行数字在流动,那些数字不断变化、跳跃、重组,像一条永不停歇的河流。

“你知道我们是什么吗?“影子问。

“不知道。”

“我们是余光。“影子说,“是你们喂养的、被你们丢弃的、被你们视而不见的那些东西留下的光。你们叫我们’数据痕迹’,你们说我们没有意义,说我们只是噪音,说我们会在七十二小时之后被覆盖、被清洗、被遗忘。”

“但我们记得。“另一个影子从旁边飘过来,“我们记得每一个被算法抛弃的商家,每一张被判定为’低价值用户’的脸,每一个被标记为’流失倾向’的账号。”

“你们造了一座宫殿,“又一个影子说,“然后把我们砌进了墙壁里。我们就在这里。在每一块砖的缝隙里。等你们看不见我们的时候,我们就会发光。”

程渡想反驳,但他说不出话。那些影子的数量在增加,密密麻麻地聚集在数据平原上,像一片正在集结的萤火虫群,但发出的不是温暖的光,而是某种冷冽的、带着金属质感的光。

“你们建了一个评分系统,“影子们齐声说,声音开始产生共振,像一场小型地震的前兆,“你们给每个人都打了分。你们说这是客观的、公允的、科学的。但你们忘了——算法是没有良心的。而你们,有。”

程渡醒了。

他发现自己躺在公寓的沙发上,窗外已经是上午十点。阳光透过百叶窗的缝隙照进来,在地板上切出一道道金色的条纹。

他的手机在茶几上亮着,屏幕上是星潮工作群的未读消息:118条。

他撑着沙发坐起来,头痛欲裂。梦里那些影子的话还在他耳边回响——“算法是没有良心的,而你们有。”

他走到洗手间,用冷水洗了把脸。水流冲过他的面孔,他睁开眼睛,在镜子里看见自己的脸——四十岁,眼袋,法令纹,头顶有两个硬币大小的斑秃。这张脸和他设计的那些精准用户画像完全不同,他属于那种”特征不显著、难以建模”的用户类型。

他苦笑了一下。如果他是一个用户,他的LTV(用户生命周期价值)大概很低——四十岁、消费能力下降、对新事物兴趣衰退、社交活跃度低。按照他设计的那些模型,他大概会被归类为”低价值用户”,分配较低的推荐权重。

他突然觉得这个想法很可怕。

他更仔细地回想梦里的那些话。“你们给每个人都打了分。你们说这是客观的、公允的、科学的。“但他自己知道,那些评分从来不是客观的。每一个特征权重、每一个标签体系、每一个排序策略,背后都是商业利益的权衡和妥协。评分系统只是看起来客观,就像货币只是看起来稳定一样。

他擦干脸,走出洗手间。他告诉自己,那只是一个梦。太多加班,睡眠不足,大脑在抗议。仅此而已。

那天是周六,他原本打算去公司处理一个模型迭代的上线。但走到楼下的时候,他看见吴波的拉面馆卷帘门半拉着,里面有人在吵架。

他停下脚步。

“差评率超标了,系统给我们降权了!“吴波的声音,“你们平台凭什么说降就降?我们这半年投了多少钱买推广费,你们说降就降——”

“先生,请您冷静。“另一个声音,是那种训练有素的客服腔调,“您的店铺近期差评率上升至3.2%,高于同类商家均值,根据平台规则,我们有义务对低质量商家进行降权处理,以保护消费者权益——”

“我他妈的哪来的那么多差评?!“吴波的声音在颤抖,“你知道不知道,就上个月,有个客户说我们面里有根头发丝,我给他退了全款,还赔了他五十块钱!他转头还是给我打了一星!说我们态度不好!你管不管?!”

“先生,差评的具体原因不属于平台干预范围——”

“滚。“吴波的声音忽然平静下来,平静得可怕,“都他妈的滚。”

然后是脚步声,客服人员离开了。吴波一个人站在拉面馆里,程渡透过半拉的卷帘门看见他的背影。吴波弯着腰,双手撑在收银台上,肩膀在微微发抖。

程渡站在街对面,看着这一幕。他想走过去,但又不知道走过去说什么。他能说什么?“我是做算法的,那些降权规则是我参与设计的”?

他没有走过去。他只是站在街对面,看着吴波慢慢把卷帘门完全拉下来。卷帘门发出刺耳的金属摩擦声,然后砰的一声落下。

程渡在那一刻忽然意识到一件事——吴波的拉面馆,正在死去。

不是突然死去的,是被某种缓慢的、系统的、无可抗拒的力量杀死的。而他,程渡,是那个系统的一部分。

他低头看自己的手。这双手写过多少行代码,设计过多少个”精准定向”策略,搭建过多少个”用户分层”模型?每一行代码都在指向同一个方向——让强者更强,让弱者出局。

那天晚上,他没有去公司。他去楼下的便利店买了两罐啤酒,坐在公园的长椅上,看着星潮大楼的灯光一盏一盏灭掉。

他给大学时候的导师发了一条微信:“老师,您还记得您说过的一句话吗?您说算法是中性的。我这些年一直在想这句话对不对。”

导师的回复第二天才来,只有一句话:“渡啊,算法不中性。但用算法的人,以为它是中性的。“

三、吴波

吴波把卷帘门拉下来的那一刻,他感觉到某种东西在心里碎掉了。

不是愤怒,不是委屈,而是某种更深的、更本质的东西——像是一根绷了很久的弦终于断了,断得干脆利落,甚至有一点解脱的快感。

他想,老子不干了。

但下一秒,理智像一盆冷水浇下来。不干?干什么?三十四岁,没房,没车,没存款,离婚两年,前妻带走了三岁的女儿,每个月要付三千块抚养费。老家信阳的父母都六十多了,他爸去年查出来肺上有阴影,还没确诊是不是癌。

不干?他有什么资格不干?

他重新把卷帘门拉开,弯腰去捡地上被客服人员踩掉的订餐小票。五十张。小票上密密麻麻的订单信息,是他这个月全部的营业额——六万八千块,扣除平台抽成、食材成本、房租水电,净利润不到八千块。

八千块。在上海。八千块的净利润。

他蹲在地上,把那些小票捡起来,一张一张理好。有几张被踩上了脚印,他用袖子擦,擦不干净,反而越擦越脏。他索性不擦了,把那些脏了的小票攥在手心里,站在原地发了一会儿呆。

他想起来他叔吴德福走之前跟他说的话:“小波,做面就是做人,汤要清,心要正,不要搞那些虚头巴脑的东西。”

他叔走的时候,拉面馆每天营业额稳定在三千左右,周末能到四千五。不多,但够活。他叔走的时候还嘱咐他:“外卖平台可以上,但不要依赖那个东西。那是借来的流量,借来的命,不牢靠。”

吴波当时不信。他觉得叔太保守,太老派,不懂互联网。他上来就开了三个平台,花了八千块请人拍照做店铺装修,花了两万块买平台广告位。头三个月确实有效果,营业额翻了一倍。

然后,算法来了。

他不知道具体是哪一天开始的。订单一点一点地少,评分一点一点地降,平台客服打来的电话越来越多——“吴老板,您的店铺需要购买更多推广服务来提升曝光”、“吴老板,您的好评率低于均值,建议您参与平台的好评返现活动”。

他想不明白。他用的食材比叔在的时候还要好,他每天凌晨四点起来熬汤,他换了更好的面粉,他甚至花了三千块买了一台自动和面机来保证面的口感始终如一。

但他的差评越来越多。

“态度不好”——因为他忙不过来的时候没空跟客人寒暄。“分量少”——因为他按照平台的要求把包装减了量,为了控制成本。“味道一般”——因为平台算法把他的店铺推给了更多”精准用户”,但那些精准用户本来就不是他的目标客群。

精准。他被精准地推给了一群不爱吃拉面的人,然后被精准地打了一星。

他花了三万块请了一个”外卖代运营”团队。代运营团队给他做了一套完整的”运营方案”:优化店铺头像、调整满减活动、参与平台秒杀、购买流量包、设计好评返现海报。

三万块。三个月的代运营费。

第一个月,效果显著。订单量回到峰值。但到第二个月底,他发现自己的月账单上多了一行从未见过的费用:“流量采购费 8600元”。

他打电话给代运营问这是什么。对方说,这是平台新出的竞价广告位,按点击收费,“吴老板您要知道,现在平台自然流量分配有限,想要订单就得买流量,这是行业规则,所有商家都在买”。

“所有商家都在买”——这句话像一把刀,准确地捅在了吴波的心窝上。

他想,所有的商家都在买流量,就像所有的商家都在被算法评分,就像所有的商家都在被平台规则牵着鼻子走。这不是竞争,这是另一种形式的”被圈养”。

但他能怎么办呢?他不开这个店,他就什么都没有了。

他把那三万块的代运营费算进成本,发现这个月的净利润变成了负数。他开始动用自己的积蓄。

积蓄是六万块。按这个速度,六个月就会花光。

六个月。

六个月之后呢?

他不知道。他只知道一件事——他不能停下来。停下来就什么都没有了。他不像那些有钱人,可以停下来休息几个月,想清楚再出发。他必须一直跑,一直跑,直到跑到某个地方,或者跑到跑不动为止。

他把那五十张小票塞进收银台的抽屉里。那是他这个月的全部——全部的劳动,全部的希望,全部的绝望。他关上抽屉,开始准备午餐高峰的备料。

切葱花。洗香菜。煮牛肉。熬骨汤。

每一个动作都熟练得像是本能。但他的心里在想别的事情。

他在想一个词:余光

这个词是前妻跟他说过的。

前妻叫林小青,是他在老乡会上认识的。老家同一个县的,在上海读的大学,毕业后做会计。吴波追她的时候,请她去吴德福的拉面馆吃了一碗刀削面。林小青吃完之后说了一句话:“汤里有阳光的味道。”

这句话他记了五年。后来他们结婚了,又后来他们离婚了。离婚的原因是”性格不合”。但吴波知道真正的原因——他没钱。没钱在上海买房子,没钱给她想要的生活,没钱让她的父母觉得这个女婿靠谱。

离婚那天,林小青来拉面馆拿她的行李。她站在门口,看了看那个她曾经说”汤里有阳光味道”的拉面馆,说了一句话:“吴波,你有没有想过,你的面馆其实就是一道光?很短、很小,但一直在亮着。只是你自己看不见。”

“什么光?”

“余光。“林小青说,“就是那种不在舞台中央、不被关注、但一直在发光的东西。”

然后她就走了。

吴波当时不明白这句话。现在他关了店,站在空荡荡的拉面馆里,忽然明白了。

他的拉面馆就是一道余光。不在舞台中央,不被算法推荐,不被平台关注。但一直在发光——用那碗用心熬制的汤,用凌晨四点起来和面的手,用每一个节假日不关门的那份坚持。

但这道余光快要熄灭了。

因为他买不起流量。

四、算法动物园

程渡周一早上到了公司,发现气氛有些不对。

办公区里的横幅已经挂起来了——“热烈庆祝星潮完成E轮融资!“走廊里摆着花篮,空气里有一股香薰的味道,掩盖着程序员们常年不开窗积累的沉闷。HRBP在群里发了一连串表情包,庆祝的烟花在屏幕上此起彼伏。

他走到自己的工位,发现桌上多了一个包裹。拆开一看,是一个定制的奖杯,上面刻着”星潮有你,共创未来”,底座有一行小字:“感谢程渡老师对E轮融资的卓越贡献”。

他盯着那个奖杯看了一会儿。奖杯是金属的,镀了一层金粉,握在手里沉甸甸的,有一种虚假的厚重感。

他想起来自己这十五年做过的所有算法。每一个算法都像是一个生物——有自己的脾性、自己的食欲、自己的领地意识。它们在服务器里繁殖、变异、进化,越来越聪明,越来越高效,越来越难以控制。

他管它们叫”算法动物园”。

最早的那个算法是一只蜥蜴。简单、原始、反应式,规则驱动,给什么喂什么。它只认点击率,像蜥蜴只认运动中的虫子。

后来的那些算法变得越来越复杂。到了字节之后,他参与过一个项目,用深度学习做用户意图预测。那个模型有一百三十七层神经网络,参数数量超过一千亿。他当时开玩笑说,这个模型已经不是蜥蜴了,是一只章鱼——无数只触手,触手上全是吸盘,每一个吸盘都在吸取用户的数据。

现在他在星潮做的这个推荐系统,更像是某种从未存在过的生物——它没有实体,但它无处不在;它没有意识,但它比任何有意识的生物都更懂你;它不吃东西,但它消耗的电力足够点亮一座城市;它不睡觉,因为它不需要休息,它只是一直在运行,在计算,在决定你下一秒会看到什么。

它是什么?

它是算法动物园里的终极捕食者。

程渡坐在工位上,打开电脑。屏幕上跳出风控部门发来的一份报告,标题是《Q1平台生态健康度分析》。他点开报告,快速浏览。

核心数据:

他看到了那个数字——5.1秒。这是他设计的那个模型其中一个优化指标的结果。系统被训练成在5.1秒内完成一次”有效推荐”,即用户在这5.1秒内做出点击或购买决策。

5.1秒。程渡盯着这个数字,忽然觉得它像一个倒计时。

他在心里算了一笔账。5.1秒乘以六千万日活用户,再乘以平均每个用户每天打开APP的次数(星潮的数据是4.3次),等于多少?他快速在脑子里算了算——5.1 × 6000万 × 4.3 = 约131亿秒。131亿秒。相当于415年。

415年。这是他的算法每天在用户身上”节省”的时间。按照星潮的叙事逻辑,这是效率的胜利,是科技进步的证明。但程渡忽然想——如果把这些时间加起来,足够一个人从明朝活到现在再生再死六次。

415年的时间,被节省下来了。然后呢?被节省下来的时间去了哪里?

他不知道。

他只知道,他的算法动物园又长大了一点。

下午三点,他被叫去开会。会议室在十八楼,落地窗能看见整个浦东的天际线。陆家嘴那些玻璃幕墙的高楼在阳光下反射着刺眼的白光,像一排巨人的牙齿。

会议室里坐了十几个人。除了他,还有产品VP、数据VP、运营总监、以及一个程渡没见过的人——一个四十多岁的男人,穿着一件洗得发白的polo衫,坐姿笔直,眼神锐利得像一把还没开封的刀。

CEO方晓东介绍:“这位是高新区管委会的赵主任,今天来我们这儿调研’智慧社区’项目的合作可能。”

赵主任。程渡在脑子里快速检索了一下。高新区管委会。上海西南部那个国家级高新区?这几年一直在推”智慧城市”概念,引进了一大堆人工智能企业和数字化改造项目。

赵主任开口了,声音不高,但每一个字都像是用尺子量过的:“方总,我今天来就是想实地看看,你们的推荐系统在民生领域有没有拓展的可能。”

方晓东笑着说:“赵主任,我们的技术完全可以赋能智慧社区。比如精准推送便民信息、优化社区商业生态——”

“我不是来听这个的。“赵主任打断了他,依然笑着,但眼神里的锐利一点没减,“方总,我今天来是想问你们一个问题:你们的系统,能不能做到’精准识别重点人群’?”

会议室里忽然安静了一秒。

“重点人群?“方晓东愣了一下。

“比如——“赵主任掰着手指头说,“有没有稳定工作的?有没有固定住所的?信用记录如何?社交关系是否健康?家庭结构是否完整?消费能力处于哪个层级?”

程渡感觉自己的后背有一根弦被轻轻拨动了。

“我想做一个试点。“赵主任说,“用你们的算法框架,对高新区内所有居民做一套’综合评分体系’。不是你们商业平台那种粗糙的信用评分,是一套更全面的、更精细的、更有人文关怀的评分体系。”

“人文关怀”四个字让程渡差点笑出声。但他没笑。因为他看到赵主任的眼睛里有一种东西——不是贪婪,不是野心,而是某种更隐秘的、更深的东西。

赵主任继续说:“你们做商业推荐,本质上是把对的东西推给对的人。我要做的事情,本质上是一样的——把对的资源配给对的人。只是评价’对不对’的标准不同而已。”

“那赵主任您认为,什么是’对’的标准?“程渡开口了。

赵主任看了他一眼。那目光让程渡想起了深海里的一种鱼——安康鱼,用头上的荧光吸引猎物,目光里永远有一种静态的、等待的耐心。

“程总是吧?“赵主任说,“你的问题问得很好。我也在思考这个问题。什么是’对’?我目前的想法是——‘对’,就是’有利于社区稳定和长期发展’。”

“有利于社区稳定和长期发展”——这句话在会议室里回荡了两秒。没有人接话。方晓东笑着把话题引向了别处,但程渡知道,赵主任说的每一个字他都记住了。

会议结束后,他回到工位,把那份《Q1平台生态健康度分析》又翻了一遍。他在一个数据上停了很久:

“尾部50%商家近6个月关店率:月均4.3%,较去年同期上升1.2个百分点。”

他点开明细,看到了吴波的拉面馆的名字。它属于那”尾部50%“。它的关店概率正在以每月4.3%的速度累积。

4.3%。这是他设计的降权算法的直接结果——降权导致曝光下降,曝光下降导致订单减少,订单减少导致评分降低,评分降低导致进一步降权。恶性循环直到关店。

他在那一刻忽然很想做一件事。

他想找到吴波,跟他说一句实话。告诉他,你的面馆不是你自己搞垮的,是算法。是一个由他亲手设计的、他曾以为”客观公正”的算法,一步一步地把他的店推向了深渊。

但他有什么资格说这句话?

他是那个扣动扳机的人。

那天晚上,他在公司待到凌晨三点。他打开代码编辑器,开始写一份文档。不是工作文档,是另一份东西——他自己也说不清是什么,像是一种忏悔,又像是一种清算。

文档的标题他想了很久,最后打了四个字:

算法动物园。

他在文档里写下:

“这个动物园里有成千上万只动物。它们每一只都有名字,有习性,有食性,有领地。它们的数量在指数级增长,因为每一天都有新的代码被写出来喂养它们。每只动物都在争夺资源——用户的注意力、时间、金钱、情感。它们互相厮杀,通过点击率和转化率一决高下。

胜者通吃。败者清场。

这就是算法动物园的规则——不是我们设计的,是它们在博弈中自然演化出来的。我们以为自己设计了规则,但其实我们只是提供了最初的原始数据,之后它们就自己跑起来了,越跑越快,越跑越远,直到我们自己都追不上。

我曾经以为我在设计规则。后来我发现我就是规则的一部分,而且是那种最可悲的部分——规则的执行者,而不是制定者。

真正的规则制定者是谁?资本?数据?还是某种更抽象的、不以任何人意志为转移的系统性力量?

我不知道。

我只知道,吴波的拉面馆是这个动物园里一只快要饿死的动物。而我,每天都在给那些强壮的动物投喂更多的数据。

这就是我在做的事。

这就是我十五年做的事。”

他写完这段话,保存了文档。然后他把文档发到了自己的个人邮箱——不是公司邮箱,是个人邮箱,Gmail,国内登不了的那种,他用手机翻墙发的。

发完之后他靠在椅背上,看着窗外的夜色。陆家嘴的灯火在远处闪烁,像一片永不熄灭的电子星海。他忽然觉得那些灯光很刺眼,像无数双眼睛在看着他。

他的手机亮了。是他女儿发来的微信语音:“爸爸,你什么时候回来呀?妈妈说你工作很忙,但我今天学会了一首歌,想唱给你听。”

程渡的女儿七岁,叫程小鱼,离婚后跟前妻生活,每隔一周的周末会来他这里待一天。他点开语音,听见女儿稚嫩的声音在唱:“一闪一闪亮晶晶,满天都是小星星——”

他忽然红了眼眶。

五、看不见的手

接下来的两周,程渡开始做一件他在公司从来不做的事——实地调研。

他跟产品VP说,他想深入了解一下”下沉市场”的用户体验。产品VP以为他要开发新的获客策略,大手一挥批了预算。

他花了两周时间,跑了星潮平台GMV排名后50%的商家。不是坐在办公室里看数据报表,是真的去店里坐坐,吃顿饭,聊聊天。

他去了松江大学城附近一家做黄焖鸡米饭的小店,老板是个九五后的姑娘,叫陈雨薇,安徽人,大专毕业没找到合适的工作,揣着五万块积蓄来上海开了这家店。她告诉他,她的外卖店上线平台三个月,每个月的推广费从两千涨到了八千。“不是我想投那么多,是系统一直在提示我’您的竞争对手正在加大投放,建议您同步跟进’。“她说,“我有一次没跟进,当月订单量就掉了四成。”

他去了闵行一家夫妻档的麻辣烫店,老板姓周,四十多岁,以前是工厂的技术工人,厂子倒闭后拿补偿金开了这家店。他告诉程渡,他每个月收入不到六千块,平台抽成加推广费要占掉两成。“我以前觉得互联网是好东西,“他说,“让我这样的普通人也能做生意。现在我发现,互联网是挺好,但互联网上的那些规则,不是为我们普通人设计的。”

他去了青浦一家专门做本帮菜的小馆子,老板是个七十多岁的老爷子,退休中学教师,闲不住开了这家店,只做中午一餐,不做外卖,不做任何平台,纯靠口碑和附近居民的自发传播。他说:“我不需要什么算法来告诉别人我的菜好不好吃。吃过的都知道。“程渡在那里吃了一顿饭,红烧肉是真正用冰糖炒色、小火慢炖出来的,甜而不腻,入口即化,是他这辈子吃过最好的一块红烧肉。

他还去了吴波的拉面馆。

这次他不是坐在角落里吃一碗面然后离开。他坐下来,和吴波聊了两个小时。

吴波跟他讲了所有的事——叔的故事、前妻的话、外卖平台的套路、三万块的代运营费、那个差评率超标被降权的下午。吴波说话的时候,程渡一直在听,偶尔点点头,偶尔问一两个问题。

“程哥,你是做互联网的吧?“吴波忽然问。

“嗯。“程渡犹豫了一下,“算是吧。”

“你们那些做平台的人,有没有想过我们这些小商家的死活?“吴波的语气不是质问,是真的在问,那种被生活磨平了棱角之后的、疲惫的真诚。

程渡张了张嘴,说不出来。

“我不是怪谁。“吴波说,“我知道这是一个愿打一个愿挨的市场经济。我想做外卖,就得接受那些规则。但我就是觉得——“他顿了顿,“我就是觉得,那些规则不是人定的,是机器定的。机器不问你好不好吃,机器只问你买不买流量。”

程渡点头:“你说得对。”

“那些机器是谁造的?“吴波又问。

程渡沉默了很久。然后他说:“我。”

吴波愣了一下。

“我是做推荐算法的。“程渡说,“你们在平台上遇到的那些规则——降权、流量分配、差评率超标——背后都有算法的影子。那是我参与设计的东西。”

吴波看着他,眼神里没有愤怒,没有惊讶,只有一种奇怪的了然,像是很多年以前就知道了答案,只是现在才被证实。

“那你来找我干什么?“吴波问。

“我想知道,“程渡说,“我做的那些东西,到底在怎样改变你们的生活。”

吴波站起来,走到灶台边,从锅里舀了一碗汤,端到程渡面前。

“程哥,你喝一口。“他说,“这是我叔教我的老汤,十二个小时熬的,没加任何添加剂。你告诉我,这碗汤值不值得被更多人看见?”

程渡接过碗,喝了一口。汤入口的那一刻,他的味蕾被某种温热的东西击中了——牛骨的醇厚、淡淡的药膳香、一丝若有若无的甜。这是一碗真正用时间和心意熬出来的汤。

“值得。“他说。

“但你的算法不会推荐我这碗汤。“吴波说,“因为我不买流量。我的店铺评分低、签到率低、转化率低——不是因为我面不好,是因为我付不起那些钱。而你的算法只会推荐那些付得起钱的商家的面。”

“你说得对。“程渡又说了一遍。

那天晚上,从吴波的拉面馆出来,程渡站在街边抽了一根烟。他已经戒烟三年了。但这根烟他必须抽。

他站在街灯下,看着自己被拉长的影子,忽然意识到一件事——他做了十五年的算法,设计的核心逻辑始终只有一个:让好的东西被更多人看见。至少,他以为他在做这件事。

但现在他发现,事实恰恰相反。他的算法不是让好东西被看见,而是让买了更多广告的东西被看见。如果一碗用十二小时熬出来的牛骨汤和一碗用三分钟冲泡出来的料理包汤被放在算法面前,算法会选哪个?

答案是:算法不选任何一个。算法只选那个买流量更多的。

好的东西被更多人看见——这个目标从来没有真正实现过。实现的只是:付了钱的东西被更多人看见

这两个命题长得像,但本质上是两回事。

他想抽烟,但烟已经燃尽了。他把烟蒂扔进垃圾桶,忽然笑了一下——一种苦涩的、自嘲的笑。

他这十五年,原来一直在做一件南辕北辙的事。

他以为自己是一个桥梁建造者,帮助好的内容抵达用户。结果他是一个河道挖掘者,帮助那些付得起钱的内容淹没那些付不起钱的。

而那些付不起钱的,往往是那些真正好的——因为真正好的东西,不需要买流量,它们靠口碑传播,靠回头客,靠那句”汤里有阳光的味道”。

但算法等不及口碑慢慢传播。算法要的是即时反馈,是秒级响应,是五点一秒的决策窗口。算法没有耐心培养一个老店的口碑,算法只关心这个月这个店的GMV增长了还是下降了。

这就是算法和人间烟火之间那道不可逾越的鸿沟。

六、智慧社区

程渡以为那天之后自己的生活会改变一些。

但生活没有。日子照常过,班照常加,模型照常迭代,奖杯照常摆在桌上落灰。唯一不同的是,他开始用一种奇怪的目光看周围的一切——看那些手机屏幕上不断跳动的数字,看那些外卖小哥在街道上穿梭的身影,看那些便利店里排队结账的人低头刷手机的样子。

他觉得自己像那个童话里看见了”皇帝的新衣”的小孩。但区别是,他没有小孩的勇气——他看见了,但他不确定该不该说出来。

转机出现在一个月后。

赵主任再次出现在星潮公司。这一次,他没有穿那件洗白的polo衫,换了一身深灰色的夹克,看起来更像一个即将推动某个大型项目的政府官员。

他带来了一个具体的方案——高新区”智慧社区”试点项目。

“这个项目的核心,“赵主任在会议上说,展开一张图纸,“是对社区居民建立一套’综合行为评估体系’。不是什么黑名单或者白名单,就是一套客观的、数据驱动的评估体系,帮助社区管理者更好地了解居民需求,优化公共资源配置。”

“具体包括哪些维度呢?“产品VP问。

“就业状况、居住稳定性、社会参与度、邻里关系、公共事务参与频率、消费结构、数字化素养——“赵主任一项一项列举,“最终输出一个’社区融入指数’,不是用来惩罚谁的,是用来识别哪些居民可能需要更多的社区支持。”

“这个’社区融入指数’,数值高意味着什么?“程渡开口问。

“意味着这个居民与社区的联系更紧密,“赵主任说,“就业稳定、社交活跃、对社区事务关心——这样的居民是我们希望留住和服务的。”

“那数值低的呢?”

“数值低的,“赵主任看了他一眼,“就是我们重点关注的对象。”

“重点关注”四个字在会议室里引起了一阵微妙的沉默。

程渡在心里快速建模。如果这套系统上线,高新区内所有居民的数据都会被纳入评估——就业数据来自社保和税务,消费数据来自银联和支付平台,社交数据来自社交媒体,居住稳定性来自物业和公安系统。所有数据打通之后,每个居民都会得到一个实时的、可量化的”社区融入指数”。

这个指数会成为某种隐形的社会评级——高分的居民可能享受更好的社区服务、更低的物业费、更优先的公共资源;低分的居民会被”重点关注”,可能会有更多的社区工作人员上门”关心”他们的生活,会有更多的限制和约束。

他想起了吴波的拉面馆,想起了那个”差评率超标”的降权通知。如果把这个逻辑从商业领域平移到公共治理领域,那些被算法降权的商家、被系统标记为”低价值用户”的人,会在现实生活里遭遇什么?

他想得后背发凉。

会议结束后,他找到方晓东,说出了自己的顾虑。

“程渡,你想多了。“方晓东靠在老板椅上,“这是政府项目,政府出钱,我们出技术,有什么问题?而且这个项目能给星潮带来什么?你想过没有?有了高新区的这个案例,我们就能把算法能力输出到其他区、其他城市,这是一个几十亿的市场。”

“但如果这套系统被用来做社会控制——”

“谁说这是社会控制?“方晓东打断他,“这是精细化管理。上海三千万人口,政府怎么管?靠街道干部一家一家敲门问寒问暖?那不现实。用数据管理才是现代化的治理方式。赵主任的理念很先进,你不要用你那套技术理想主义的框架去套它。”

程渡张了张嘴,没说出话来。

那天晚上,他又一次失眠了。他躺在公寓的沙发上,手机放在胸口,能感觉到它轻微的发热——像一只小型哺乳动物在睡觉时的呼吸。

他闭上眼睛,又看见了那片数据平原。

那些影子又出现了。但这一次,它们不再是模糊的光晕。它们变得清晰了一些——程渡能辨认出其中几张脸。吴波。陈雨薇。那个做红烧肉的老教师。还有一些他不认识的脸,但都是同一类人——那些被 那些被算法系统标记过的人。

他们站在数据平原上,身上流动着由无数行为数据编织成的薄膜——那些是他们在这个系统里留下的全部痕迹。程渡看见了吴波的薄膜:上面标注着”近30日订单量下降47%”、“差评率3.2%”、“未购买任何推广服务”、“标记:潜在流失用户”。那些标签像一层冰冷的霜,覆盖在吴波的身影上。

“你们能做什么?“程渡问。

影子们没有回答。它们只是集体转过身,朝着数据平原的深处走去。程渡跟上去。他发现自己每走一步,脚下的字节土壤就会微微发光,像踩在一条正在苏醒的神经网络上。

走了不知道多久,影子们停下了。

数据平原的尽头,有一道光。

那道光不是来自某个光源,而是来自平原本身——是无数字节同时振动产生的共振,呈现出一种无法命名的颜色。程渡眯起眼睛,试图看清那道光里有什么。

然后他看见了。

那是一个巨大的、由纯粹数据构成的城市轮廓。和现实里的城市一模一样——同样的街道,同样的建筑,同样的桥梁和河流。但在数据城市里,一切都是透明的:每一栋建筑的内部结构都是可见的,每一条街道上行走的数据影子都带着自己的标签,每一扇窗户里都透出属于某个真实的人的隐私信息。

“这是算法之城。“一个影子在他耳边说,“这是你们建造的城市。我们住在这里。”

“我没有建造过这样的城市。“程渡说。

“你建造过。“影子说,“你写的每一行代码,都在为这座城市添砖加瓦。你以为你在建一座’更好地连接人和信息’的大厦,但其实你在建一座监狱——一座用0和1建成的、监控每一个人的监狱。”

程渡想反驳,但他发现自己说不出话。

那道光忽然变得更亮了,亮得像正午的阳光。程渡抬起手遮住眼睛,在指缝间看见那座数据城市的轮廓开始崩塌——不是物理意义上的崩塌,而是某种道德意义上的坍塌:那些透明的建筑开始变成灰色,那些清晰的数据影子开始变得模糊,那些标签开始一层一层地叠加在人的面孔上,直到每个人的脸都被标签完全覆盖。

他在那一刻忽然明白了一件事——那座数据城市,就是算法动物园的终极形态。当算法足够强大、数据足够丰富的时候,它就能在虚拟空间里重建一座完整的城市——一座比真实城市更高效、更精准、更冷酷的城市。在这座城市里,每个人都是透明的,每个人都是可量化的,每个人都有一个由算法赋予的综合评分。

那是一座没有阴影的城市。

而阴影,恰恰是人间烟火存在的地方。

程渡醒了。

七、最后一公里

第二天早上,他没有去公司。

他给方晓东发了一条微信:“请假一天,有点私事。”

方晓东的回复很快:“智慧社区项目本周要定技术方案,你下午能来吗?”

“下午看情况。”

他放下手机,穿上外套,出门。他要去一个地方——吴波的拉面馆。

他从没见过吴波早上开门的样子。拉面馆十点才营业,但程渡九点半就到了。他站在门口,看着吴波从巷子深处的小区里走出来,手里提着一袋菜市场买来的新鲜牛肉。

“程哥?“吴波看见他,有些意外,“这么早?”

“来看看。“程渡说,“你这牛肉是每天自己去买的?”

“那当然。“吴波掏出钥匙开门,“新鲜的才是好东西。我叔说过,不新鲜的肉熬不出好汤。”

程渡跟着他进了拉面馆。吴波把牛肉放在案板上,开始切。刀工很利落,一块牛肉在他手里被分解成不同部位——牛腱、牛腩、牛里脊,分门别类。程渡注意到他的手上有不少刀伤和烫伤的疤痕,指关节粗大,是长年做体力活的手。

“你做这行多少年了?“程渡问。

“切肉?八年。“吴波说,“自从接了我叔的店就开始切。算下来,切过的牛大概有——“他想了想,“三千头了吧。”

“三千头牛。“程渡重复了一遍这个数字。

三千头牛。这些牛的骨头熬成了汤,那些汤被做成了面,被无数人吃进肚子里,在胃里被消化,变成能量、变成体温、变成血液里流动的那些分子。这是真实的。是物理的。是算法永远无法取代的东西。

但吴波的店正在被算法杀死。

“吴波,“程渡忽然开口,“我跟你说一件事。”

“什么?”

“你知道你的店为什么流量越来越差吗?”

吴波停下手里的刀,看了他一眼。“因为我没钱买推广。”

“不只是这个。“程渡说,“是因为你买得太晚了。平台算法有一个机制——新店上线的前三个月有自然流量保护期,在这期间你的曝光会比较高。但过了保护期之后,如果你没有积累足够的’数据资产’——留存率、复购率、好评率——算法就会把你的店铺判定为’低潜力商家’,然后降低你的曝光权重。”

“这个我知道。“吴波点点头。

“但你不知道的是,“程渡继续说,“这个’低潜力商家’的判定标准,是可以被人工干预的。我们——我的团队——设计了一套参数调整机制,可以在特定情况下对特定商家进行’精准扶持’或者’精准打压’。”

吴波的脸色变了。

“你是说,我的店被打压了?”

“不是被打压,是被’边际化’。“程渡说,“你的店铺数据刚好卡在算法认定的临界线上。算法不会主动把你打死,但它会用一种很缓慢的方式让你慢慢死去——每天降一点点曝光,你不会觉得疼,等你发现的时候已经来不及了。”

吴波沉默了很久。然后他问:“为什么告诉我这些?”

“因为我想做一些事。“程渡说。

他从口袋里掏出一个U盘,放在案板上。

“这是什么?”

“这是我这两周做的东西。“程渡说,“我写了一套辅助算法,不是我现在公司的项目,是我自己做的。这套算法的逻辑和我之前做的那些正好相反——它不是把流量导向那些买广告最多的人,而是把流量导向那些’真实评价最好’的商家。”

“真实评价最好?”

“对。“程渡说,“不是平台定义的好评率,是经过我的模型清洗之后的’真实用户反馈’。我设计了一套识别虚假好评和恶意差评的模型,然后把那些真实的、口碑驱动的、自然增长的优质商家筛选出来。”

“你的拉面馆,“程渡看着吴波,“按照我的模型,是被严重低估的。你有大量的真实好评被平台的规则系统错误地标记为’可疑好评’——因为你的好评增长曲线不符合平台预设的’花钱买好评’的模型。真正的自然好评应该是渐进的、不均匀的,但你的好评率在某些时段会有突然的波动——因为那些时段正好是某个老顾客带了三五个朋友来店里吃饭。算法不认这种’社群效应’,它只认’投放带动的好评增长曲线’。”

吴波拿起那个U盘,看了看。“这东西能救我的店?”

“我不知道。“程渡老实说,“而且它不成熟,可能有bug,可能不稳定。而且——“他顿了顿,“而且这违反了我和公司的竞业协议和职业道德准则。如果被发现,我可能会被开除。”

“那你为什么还要做?“吴波问。

程渡想了想,说了一句话:“因为你是第一个问我’那些机器是谁造的’的人。”

吴波愣了一下。

程渡继续说:“我在这个行业十五年了,没有人问过我这个问题。大家只关心我的算法有没有效,有没有提高转化率,有没有增加收入。没有人在乎那些被算法伤害的人。”

“但我在乎。“程渡说,“我一直以为我不在乎。我以为我的工作只是优化指标,‘社会影响’是政府和企业高管的事,不是我一个工程师该操心的。但你那天问我’那些机器是谁造的’,我忽然意识到——我就是那个制造机器的人。如果机器出了问题,我不能说’我只是造了它,别人让它去害人的’。那不是借口。”

吴波把U盘攥在手里,看着程渡。

“程哥,“他说,“你这东西如果真能让我的店被更多人看见——我请你吃一辈子面。”

程渡笑了一下。“不用一辈子。一辈子太久了。一碗就够。”

那天中午,程渡在吴波的拉面馆吃了一碗面。这碗面和之前那些不一样——是吴波用当天最新鲜的牛肉、熬了十二个小时的老汤、亲手拉的面条做成的。吴波说这是”面试”,如果程渡的算法真的能让好店被看见,那这碗面就是证明。

面端上来的时候,程渡发现碗底刻了一行字——是吴波用筷子在面汤上写的,字迹很快就被热气蒸发了,但程渡看见了那几个字:

谢谢。

八、算法动物园(续)

接下来的三周,程渡过的是一种双重生活。

白天,他是星潮的首席算法专家,参加智慧社区项目的技术评审会,在白板上画架构图,在代码评审里挑刺,在周报里写那些他自己都不相信的”优化目标”。方晓东在会上宣布智慧社区项目正式启动,第一期覆盖高新区的三个社区,涉及居民约12万人。赵主任作为项目落地的关键人物,频繁出现在各种签约仪式和新闻发布会现场。

晚上,程渡回到他的出租屋——他为了方便加班,在公司附近租了一个小单间——打开电脑,继续做他的秘密项目。

他把这个项目叫做”余光”。

余光系统的核心逻辑很简单:他写了一套独立于星潮主系统的推荐算法,这套算法不依赖任何商业变现目标,不计算GMV、不计算广告收入,它只计算一件事——真实用户满意度

“真实用户满意度”怎么衡量?他设计了一套多维度的评估体系:用户评论的情感分析(不是简单的好评/差评分类,而是细粒度地识别评论中的情感强度和真实性);用户留存曲线(真正的优质商家应该有长尾的自然留存,而不是靠广告砸出来的短期峰值);用户自发传播率(有多少用户在没有收到任何激励的情况下主动向朋友推荐);以及一套反作弊模型,专门识别那些刷好评和恶意差评的行为。

他把余光系统的测试版部署在了一个不起眼的服务器上——不是公司的服务器,是他用自己的积蓄买的境外云服务器,年费三千多块。他没有告诉任何人。

然后他做了一件事:他找了二十个和他一样做过”实地调研”的商家,把余光系统的接口开放给他们。这二十个商家分布在不同的品类——有吴波那样的拉面馆,有陈雨薇的黄焖鸡米饭,有那个老教师的小馆子,也有几家卖水果的、开洗衣店的、做家政服务的。他们都是被主流平台算法边缘化的人。

余光系统给这二十个商家做了一份”真实价值评估报告”。报告显示:其中有七家的”真实用户满意度”远超平台显示的好评率——也就是说,平台算法严重低估了它们。比如吴波的拉面馆,平台显示好评率67%,但余光系统的评估显示”真实满意度指数”为82.3——因为那些被平台判定为”无效好评”(没有购买流量带动的自然好评)实际上包含了大量用户的真实情感反馈。

程渡把这些数据整理成一份报告,发给了那二十个商家。

然后他做了一件更大胆的事——他把这份报告匿名发布到了几个主流的创业者和商家论坛上。

他用的是一个小号,帖子标题是:《我在外卖平台做了八年商家,平台算法正在系统性地杀死我们这类人》。

帖子发出去之后,前三天几乎没有任何波澜。然后第四天,帖子的阅读量开始爆发——被一个做互联网评论的大V转发了,当天晚上阅读量破了百万。

程渡在帖子里没有暴露自己的真实身份。他只是写了一个故事——一个普通商家如何在平台算法的游戏规则下一败涂地,一个互联网工程师如何在某一天忽然意识到自己参与建造了一个”吃人的系统”。他写了吴波的拉面馆,写了那个”差评率超标”的降权通知,写了”5.1秒决策窗口”背后的效率逻辑。

帖子最后写了一段话:

“有人问我:你为什么不直接辞职,去做你认为对的事情?

我说:因为我没有这个资格。

我欠的债太多了。我用十五年时间亲手建造的那个算法动物园,里面的每一只动物都是我和我的同行们喂养大的。它们吃的是数据,产出的是利润,牺牲的是那些从来不会被算法看见的人。

我没有资格逃跑。我必须留下来,从内部去改变这个系统——哪怕只能改变一点点。哪怕这个过程会让我失去工作、失去行业声誉、失去我这些年积累的一切。

因为那些被算法杀死的小店,那些被系统边缘化的人,那些从来没有人问过他们’你们过得好不好’的普通人——他们没有选择。

而我有。

所以我选择做这件事。不是因为它能成功,是因为它应该被做。”

帖子在第五天被删了。但它已经被截图传播了无数次,阅读量最终定格在三百多万。

星潮的公关部很快查到了帖子的源头。他们没有直接找到程渡——他用多层代理发的帖子,技术上追查需要时间。但方晓东约他谈话了。

“程渡,“方晓东坐在老板椅上,语气比以往任何一次都重,“那份帖子,是不是你发的?”

“不是。“程渡说,“但我知道是谁发的。”

“谁?”

“不重要。“程渡说,“重要的是,帖子里说的那些事情是不是真的。”

方晓东沉默了一会儿。

“你是想告诉我,“他说,“我们这十五年在做的这些事情,是错的?”

“我不知道是不是’错’。“程渡说,“但我知道,我们做的很多事情,没有我们自己以为的那么’对’。”

“所以呢?你打算怎么办?”

程渡深吸了一口气。

“我打算把我们正在做的那个智慧社区项目的技术方案,做一些调整。“他说,“不是退出——退出没有意义,换一个人来做这件事,不会比我做的更好。我要留下来,在内部推动一些改变。”

“什么改变?”

“在智慧社区的评分体系里,加一道’反算法歧视’的修正机制。“程渡说,“确保那些在商业平台算法里被边缘化的人,在公共治理系统里不会受到二次惩罚。”

方晓东看着他,像是在看一个他不认识的人。

“你知道你在说什么吗?“方晓东说,“你是在要求我们给政府做的系统里,故意留一个漏洞。”

“不是漏洞。“程渡说,“是一个出口。是给那些被系统遗忘的人,留一条活路。”

方晓东没有说话。

那天晚上,程渡收到了方晓东的邮件——不是开除通知,是一个会议邀请:下周一,智慧社区项目技术方案第二轮评审,赵主任会出席,程渡被要求做技术汇报。

他不知道方晓东是什么意思。但他想,这也许是一个机会。

九、算法动物园(终章)

程渡站在十八楼的会议室里,面对着一屋子的人。

投影屏幕上显示着智慧社区系统的架构图——一套复杂的数据采集、清洗、建模、输出的流水线。屏幕前站着三个人:方晓东、产品VP、和赵主任。

“程总,“赵主任开口了,“听说你对这套方案有一些不同意见?”

程渡点点头。

“说说看。”

程渡走到屏幕前,拿起遥控器。他翻到了架构图的第三页——数据采集层。

“赵主任,各位,“他说,“这套系统的数据采集维度非常全面,就业、居住、消费、社交、公共事务参与——几乎覆盖了一个居民日常行为的全部方面。这在技术上是可行的,在管理上也是有效的。但我想问一个问题。”

他按下遥控器,屏幕上跳出了一张新的图——那张图是他在梦里见过的那座数据城市:透明的建筑、带着标签的数据影子、每一张脸都被评分覆盖。

“我想问——当这套系统运行十年、二十年之后,“程渡说,“当它积累了足够多的数据、建立了足够精准的模型之后——它会把这座城市变成什么?”

会议室里很安静。

“它不会把城市变成监控监狱。“程渡说,“它会把城市变成一座’完美的’、‘高效的’、‘科学的’——但没有阴影的城市。”

“而阴影,恰恰是人间烟火存在的地方。”

他翻到下一页。那是他这一个月以来做的所有研究的汇总:吴波的拉面馆的案例,陈雨薇的黄焖鸡米饭的案例,那个老教师的本帮菜馆的案例。他还加了一些新内容——他在网上找到的一些公开报道,关于外卖骑手被困在算法系统里的故事,关于网约车司机被平台评分系统逼到极限的故事,关于那些在平台经济里被系统性地低价使用的劳动者。

“这些人的共同点是什么?“程渡指着屏幕,“他们的’数据画像’都不够’优质’。他们没有稳定的就业记录,他们的消费行为不符合’主流’审美,他们的社交网络不够’活跃’——用商业平台的术语说,他们是’低价值用户’。”

“但他们不是低价值用户。他们是真实的、活生生的人。他们每天在劳动,每天在创造价值,每天在用自己的方式维持这个城市的运转。只是算法看不见他们。”

程渡转过身,面对着赵主任。

“赵主任,您说这套系统是’精细化管理’,是用来’更好地服务居民’的。我信。但我也想请赵主任想一想——当这套系统和一个城市的商业生态完全打通之后,当每一个居民的’社区融入指数’都和他的’商业信用评分’挂钩之后,那些在商业系统里被算法判定为’低价值’的人,会不会在公共系统里也遭遇同样的待遇?”

“他们会不会因为’社区融入指数’偏低,而被限制享受某些公共服务?会不会因为某个数据标签,而被归类为’需要重点关注’的对象?会不会因为一套他们从未同意过的评分体系,而在人生的关键时刻——找工作、租房、贷款、子女入学——遭遇他们无法解释、也无法申辩的障碍?”

赵主任没有说话。

程渡继续说:“我不是来反对智慧社区项目的。我是这个项目的技术负责人之一,我没有理由反对它。但我想提出一个修正方案。”

他翻到最后一页——那是一张流程图,上面标注着”余光系统”的核心逻辑。

“我建议在这套评分体系的输出层,加一个’反算法歧视’的修正模块。“程渡说,“这个模块不改变任何数据采集过程,不改变任何评分逻辑,它只在最后一步做一件事——当系统输出一个’低分标签’的时候,它会自动检查这个标签是否与该居民在商业平台算法里的评分存在过度相关性。如果存在,系统会触发一个人工复核流程,由真人社工而不是算法来决定这个居民是否真的需要”重点关注”。”

“这不是削弱系统的效率,“程渡说,“这是在效率里保留一道人性化的出口。是给那些被系统遗忘的人,留一条活路。”

会议室里没有人说话。

方晓东看着程渡,眼神里有一种复杂的情绪——像是在看一个他既熟悉又陌生的战友。

赵主任沉默了很久。然后他开口了。

“程总,“他说,“你这个提议——是出于技术考虑,还是出于道德考虑?”

程渡想了一秒,说:“赵主任,我不知道该怎么分类。但我觉得,技术考虑和道德考虑不应该是对立的。一套系统如果只追求效率而不考虑公平,那效率越高,伤害越大。这是技术事实,也是道德事实。”

赵主任又沉默了一会儿。然后他笑了。

“有意思。“他说,“方总,你们这位程总,有点意思。”

方晓东尴尬地笑了笑。

“行吧。“赵主任站起来,拿起他的文件夹,“反算法歧视的修正模块,这个思路可以讨论。程总,你把详细方案整理一下,下周给我。”

他走到门口,忽然又回过头来,看着程渡。

“程总,“他说,“你知道我为什么想做这个项目吗?”

程渡摇头。

“因为我见过那些被系统遗忘的人。“赵主任说,“我在西部挂职过两年,在那些地方,‘数字化管理’还是一张白纸。没有数据,没有算法,没有推荐系统——什么都没有。那里的人被遗忘,不是因为算法偏见,是因为根本没有人在看他们。”

“所以我来到上海之后,我就在想——能不能建一套系统,让那些被看见的人更多一点?让被遗忘的人少一点?”

“但我可能走得太快了。“他看着程渡,“谢谢你的提醒。有些路,走快了会忘记为什么要出发。”

他走了。

程渡站在会议室里,感觉到一种奇怪的情绪在胸腔里涌动——不是胜利的喜悦,不是失败的沮丧,而是某种更复杂的东西。像是那个梦里的数据平原,忽然裂开了一道缝,从那道缝里透出了阳光。

那天晚上,他没有加班。

他去了吴波的拉面馆。拉面馆在装修——不是那种奢华的装修,是吴波自己动手做的一些小改变:墙上贴了他叔年轻时候的照片,旁边写着一行字”汤里有阳光的味道”;桌上多了一个小的意见本,顾客可以写下真实的想法;门口放了一盆绿萝,是吴波从菜市场买回来的,才三块钱,但长得很好。

“程哥!“吴波从后厨探出头来,“今天吃什么?”

“老样子。”

吴波给他做了一碗面。这碗面比上次的还要好——汤更浓了,面更筋道了,牛肉切得更厚了。吴波说这是他最近调整的配方,“不能辜负那些真心来吃面的客人”。

程渡吃着面,看着窗外的街景。街灯亮起来了,把街道染成一种温暖的橙色。外卖小哥的电动车在街上来来回回地穿梭,车灯在夜色里划出一道道弧线。便利店的招牌在远处闪烁,像一座城市的神经末梢在不停跳动。

他想起那个梦里的话——“算法是没有良心的,而你们有。”

他想,现在也许可以加一句了:“但良心是需要出口的。”

那天晚上,他走出拉面馆的时候,天上开始飘雨了。不是那种暴雨,是南方城市常见的那种绵绵细雨,雨丝细得像头发丝,落在脸上几乎感觉不到。

他站在拉面馆门口,没有撑伞。

雨丝打湿了他的头发,他的外套,他手里的那个U盘——里面装着余光系统的全部代码,那些他用无数个深夜写出来的、被他在梦里反复修改的代码。

他没有打算把这些代码交给公司。它们属于他自己,属于吴波,属于那些他调研过的、在算法的夹缝里艰难求生的普通人。

他把U盘攥在手心里。U盘很轻,但此刻它有一种奇怪的重量——不是物理的重量,是意义的重量。

他想,明天太阳还会升起。后天也会。算法动物园里的动物们还会继续生长,继续繁殖,继续吞噬更多的数据。智慧社区的系统可能明天就会上线,评分体系可能明天就会开始给每一个居民打分。吴波的拉面馆可能还是会被流量算法边缘化,那些真实的好店可能还是会被淹没在无尽的广告噪音里。

但此刻,此刻在这个绵绵细雨的夜晚,在这碗人间烟火面前,他感觉到某种东西在改变。

不是整个系统在改变,是他自己在改变。

他往雨中走去。

走了几步,他忽然停下来,回头看了一眼那家拉面馆。灯光从窗户里透出来,把雨丝染成金色。他在那一瞬间看见——在那金色的光晕里,有无数细小的光点在浮动。不是灯的光,是别的什么。那些光点很小、很弱、几乎看不见,但它们就在那里,在每一滴雨水里,在每一缕灯光里,在每一碗被用心熬制的汤里。

那些是余光。

那些是算法永远看不见的东西。

那些是真正值得被记录、被传递、被记住的东西。

他转过身,走进雨里。

身后,吴波的拉面馆的灯还亮着。在那条灯火通明却空无一人的街道上,那盏灯像一个微弱的誓言,像一个永远不会到达的承诺,像一个算法永远无法理解的人间注脚。

汤里有阳光的味道。

他走了。

雨继续下。


后记

三个月后,高新区智慧社区项目一期交付。在最终的方案里,程渡坚持的”反算法歧视”模块被采纳了——不是以他最初设想的形态,而是一个简化版:只在居民”社区融入指数”低于特定阈值时触发人工复核流程,比例约为总评估量的3%。

赵主任在验收会上说了一句话:“3%是一个开始,不是结束。”

程渡不知道这算不算胜利。这不是他想要的那个系统——他想要的那个系统从根本上拒绝用单一评分来定义一个人。但3%总比0%好。而且,在那3%被触发的复核案例里,有十几个居民的真实困境被人工看见了——有一个独居老人的”低社交活跃度”是因为他照顾着三个孙子女没有时间社交,有一对年轻夫妻的”低消费能力”是因为他们把所有积蓄都投入了一种罕见病的治疗,有一个中年男人的”不稳定就业记录”是因为他刚刚从一段长达十年的抑郁症中康复。

这些人被看见了。不是被算法,是被人。

程渡从星潮离职是在秋天。不是被开除,是他主动走的。离职的时候,HRBP问他要办什么手续,他说不用了,直接结清工资就行。

他没有告诉任何人他下一份工作要做什么。实际上他自己也不知道。他只是觉得,有些事情需要他以一个”局外人”的身份去做,而不是继续待在这个年薪百万的职位上,用”内部推动改变”来说服自己一切都会好起来的。

离职那天,他去楼下的拉面馆吃了他在那里的最后一碗面。

吴波给他多加了一份牛肉。

“程哥,“吴波说,“你以后还会回来吗?”

程渡想了想,说:“会的。我还没吃完你的一辈子面呢。”

吴波笑了。

程渡吃完那碗面,付了钱,走到门口。他忽然想起什么,转过身来。

“吴波,“他说,“你知道你的店为什么叫’老吴家’吗?”

“我叔起的名字。”

“你叔起得好。“程渡说,“‘老吴家’——就是那种街坊邻居吃了十几年的老店,不需要算法推荐,不需要网红打卡,靠的是口碑,是回头客,是每一碗汤里那点看不见的阳光。”

“这种店,“程渡说,“算法永远推不出来。”

他推开门,走进秋天的阳光里。

身后,拉面馆的招牌在阳光下闪着光。“老吴家”三个字被秋风吹得微微晃动,像一面小小的旗帜,在算法的风暴里倔强地飘着。

他走了。

但那道余光还在。

(全文完)

字数统计:约23,000字