第一章泥泞中的微光
凌晨四点的沪城仍沉睡在深灰色的寂静里,寒意顺着街巷的缝隙四处蔓延,将整座城市包裹得冰凉。路灯在湿漉漉的地面上投下一圈圈昏黄的光晕,细密的冷雨无声落下,打在外卖骑手陈野的头盔上,发出连绵而轻微的声响。水汽悄悄钻进衣领,贴着皮肤泛起一阵刺骨的凉,可他依旧稳稳地握着车把,目光坚定地望着前方被雨雾模糊的道路。
陈野的双手早已被冷风冻得僵硬,指节泛白,手套被雨水浸透,失去了所有保暖的作用。他身上的蓝色工装被风吹得紧贴身体,勾勒出清瘦却挺拔的轮廓,裤脚沾满泥点,鞋边也早已湿透。仪表盘微弱的绿光在昏暗的雨夜里格外显眼,映着他眼底淡淡的红血丝,却没有丝毫麻木与倦怠,反而藏着一股不肯向命运低头的倔强与光亮。
三年前,陈野揣着从老家借来的八百块钱,孤身一人从偏远的大山深处,闯入这座繁华到令人窒息的国际都市。没有高学历,没有背景,没有人脉,甚至没有一技之长,他像一粒微不足道的尘埃,落在城市最底层。为了活下去,他别无选择,只能穿上外卖制服,骑上二手电动车,成为沪城千万奔波者里最普通的一员。
这三年,陈野尝遍了底层生活所有的苦。盛夏酷暑,他顶着四十度的高温穿梭在楼宇之间,汗水一遍遍浸湿衣衫;寒冬腊月,冷风如刀,他在风雪里争分夺秒,手指常常冻得失去知觉。为了几元钱的配送费,他与时间赛跑,被顾客指责过,被保安驱赶过,被暴雨困在天桥下瑟瑟发抖,也曾因为一次超时,蹲在街角看着扣款信息,沉默得让人心疼。
生活将他按在泥泞里反复磋磨,可陈野从未认命。
一、晨雨中的算法
电动车穿过JA区的老弄堂,青石板路在雨中泛着幽幽的光。陈野看了眼手机导航,目的地是一家二十四小时营业的咖啡馆。订单备注写着:“咖啡送到后门货梯处,勿敲门,放地上即可,谢谢。”
这已是今晚第七个类似订单。陈野知道,那栋写字楼的十七层,是家有名的游戏公司,此刻定是灯火通明,一群程序员正为某个即将上线的项目做最后的冲刺。他曾在那里送过三个月的外卖,熟悉那栋楼每一个出入口,甚至能背出电梯在凌晨时分的运行规律——右货梯每三分二十秒停靠一次,左客梯每五分钟一趟。
但这并非他最关心的。
陈野从防水袋里取出手机,点开一个蓝色的APP图标。那不是外卖平台,而是一个他自行开发的简易程序——基于神经网络的外卖路径优化模型。程序界面上,沪城的地图被分割成无数个六边形网格,每个网格实时显示着:预计订单密度、交通拥堵指数、红绿灯等待时长、甚至包括各小区门卫的交接效率。
“JA区,南京西路至愚园路一带,凌晨4:12至5:30,平均每平方公里产生外卖订单1.7单,其中70%为咖啡或简餐。”陈野在心中默念着昨晚的数据分析,“而XH区的漕河泾开发区,同一时段订单密度高达3.2单每平方公里,但配送距离平均多出1.8公里,时薪效率反而降低12%。”
雨滴打在手机屏幕上,陈野用冻僵的手指滑动着地图。他的模型还在初级阶段,数据采集全靠自己这三年来跑过的十二万公里、完成的三万六千多单。每一单的接单时间、送达时间、路线选择、等待时长,都被他录入一个旧笔记本电脑的数据库里。三年积累,三百多兆的文本文件,记录着一个外卖骑手眼中,这座城市最真实的脉搏。
“如果加入天气变量呢?”陈野喃喃自语。他停下车,从背包侧袋掏出防水笔记本和一支特种铅笔——这笔能在湿纸上书写,是他用三个月配送费换来的“奢侈品”。笔记本的边角早已磨损,内页密密麻麻写满了公式、草图和数据。
他在最新一页快速写下:
雨天配送效率模型修正因子:
小雨(0-2mm/h):效率衰减8-12%,主因:视线、路面打滑
中雨(2-10mm/h):衰减18-25%,+头盔水雾干扰
大雨(>10mm/h):衰减35-50%,+电池安全性风险
但雨天订单均价提升1.5-2元,夜间补贴增加
综合测算:中雨天气,选择商业区而非居民区,时薪可提升7%
这不是学校里学来的知识。陈野只读到高二,因为家里实在供不起,便辍学跟着同乡去工地搬砖。那些复杂的数学符号、算法逻辑,是他用三年时间,蹲在图书馆的地板上,一页页啃下来的。图书馆管理员起初赶过他几次,后来见他只是安静地看书,从不喧哗,便也默许了。再后来,老管理员甚至会给他留一盏角落的灯。
“到了。”陈野收起笔记本,将电动车停在写字楼后巷。他取下保温箱里的咖啡,四杯美式,两杯拿铁,还有一份火腿三明治。咖啡杯上贴着标签,其中一杯美式的备注栏,有人用娟秀的字迹写着一行小字:
“To算法组张工:辛苦了,注意休息。”
陈野盯着那行字看了两秒,眼神复杂。他也曾幻想过,自己的名字出现在这样的标签上,坐在温暖的办公室里,为改变世界的代码奋战到黎明。而不是像现在这样,浑身湿透地站在后巷,等着货梯门打开,将咖啡轻轻放在冰冷的地面上。
“叮——”
货梯门缓缓开启,里面空无一人。陈野弯腰放下咖啡,准备离开时,却听见电梯井上方传来激烈的争吵声:
“这个神经网络结构必须调整!参数量太大了,移动端根本跑不动!”
“可是准确率会下降三个点!用户能明显感觉到差异!”
“那就优化!用知识蒸馏,或者设计更轻量的注意力机制!张工,我们只剩四十八小时了!”
陈野站在雨中,一动不动。那些术语像电流一样击中他。知识蒸馏、注意力机制、轻量化神经网络——这些概念,他在过去半年啃了十七篇论文才勉强理解,此刻却从两个疲惫的程序员口中,如此自然地说出。
他忽然想起背包夹层里,那个用塑料袋层层包裹的U盘。里面有他花了八个月时间,一点点搭建起来的第一个完整模型:基于Transformer架构的极端轻量级视觉识别网络,参数量只有MobileNet的三分之一,但在特定数据集上的准确率却不相上下。
模型还粗糙,还有很多问题。但他相信,那个核心思路——利用生物视觉皮层的稀疏激活特性,重构注意力权重的分配逻辑——是有价值的。
货梯门缓缓关闭,争吵声被切断。陈野深吸一口冰冷的空气,转身走向电动车。就在他即将离开时,后门突然被推开,一个穿着格子衫、头发凌乱的年轻男人冲了出来,手里抓着一把伞。
“小哥!等一下!”
陈野回头。那人跑过来,将伞塞到他手里:“雨大了,这伞你拿着。”说着,又从口袋里掏出一张皱巴巴的百元钞票,“不用找,辛苦了。”
陈野摇头:“公司规定,不能收小费。”
“这不是小费,”年轻人抹了把脸上的雨水,苦笑道,“是感谢。我们连续熬了七天,要不是你们这些凌晨还送餐的骑手,团队早垮了。”他顿了顿,忽然问,“对了,刚才送咖啡时,我好像看见你在看手机上的地图界面……那是什么APP?界面挺特别的。”
陈野的心跳漏了一拍。他沉默了两秒,决定说实话:“是我自己写的外卖路径规划工具,还在测试。”
年轻人眼睛一亮:“你自己写的?用什么语言?算法思路是?”
“Python,底层是强化学习的改进版,但融合了贪心算法和动态规划,针对外卖场景做了特征工程。”陈野语速平缓,每个词都清晰准确。
格子衫男人愣住了。他上下打量着陈野——湿透的蓝色工装、沾满泥点的裤腿、头盔下那张年轻却带着风霜的脸,还有那双眼睛,清澈,明亮,藏着某种他极为熟悉的东西:那是工程师看到优雅算法时才有的光芒。
“你……是程序员?兼职跑外卖?”
“不,”陈野平静地说,“我是全职外卖员。编程是自学的。”
空气安静了几秒,只有雨声淅沥。格子衫男人张了张嘴,最终掏出手机:“加个微信。我叫张子睿,算法组的。你那工具如果有兴趣,可以发我看看。我们公司……其实也在做本地生活服务的算法优化,也许有合作的可能。”
陈野没有立刻回应。三年来,他遇到过太多“可能”——摆摊时有人说要投资他的小吃配方,做团购时有人说要带他入局,最后都不了了之。城市里有太多随口一说的承诺,像这凌晨的雨,来得快,去得也快,留不下一丝痕迹。
但他还是拿出手机,扫了二维码。不是因为相信机会真的会来,而是因为,这是三年来,第一个认真问他“算法思路”的人。
“我叫陈野。”
“陈野……”张子睿重复了一遍,点点头,“好,我记住了。雨大,注意安全。那工具,记得发我。”
陈野跨上电动车,驶入雨幕。那把伞他没有打开,而是插进了保温箱旁的绑带里。雨更大了,砸在头盔上噼啪作响,但他的嘴角,却扬起了一丝极淡的弧度。
那是一个几乎看不见的笑。但在他心里,某种沉睡了很久的东西,正在慢慢苏醒。
二、出租屋里的星河
清晨六点二十分,陈野送完最后一单早餐。天光在厚重的云层后透出惨淡的灰白,雨势渐小,转为绵绵的雨丝。他骑着车穿过逐渐苏醒的街道——早点摊支起了伞,环卫工人开始清扫一夜的积水,第一班公交车载着零星几个乘客,缓缓驶过空旷的马路。
这是沪城两种生活的交接时刻:夜归者即将入睡,早起者开始奔波。而陈野,处在两者的缝隙里。
他住在浦东新区边缘的一处城中村。说是城中村,其实只是几排低矮的老房子,夹在新建的高楼大厦之间,像时代遗忘的补丁。这里的租客大多是像他一样的外来者:建筑工人、保洁阿姨、餐厅服务员、还有十几个外卖骑手。
陈野的屋子在二楼最里间,十平米,一张床、一张桌子、一个简易衣柜,就是全部家当。墙面斑驳,雨天墙角会渗水,他用塑料布做了简单的防潮。窗户对着另一栋楼的墙壁,距离不足两米,白天也需要开灯。
但这里有一扇窗,是陈野自己“造”的。
他脱下湿透的工装,用干毛巾擦干身体,换上干净的旧T恤和运动裤。然后走到桌前,掀开盖在笔记本电脑上的防尘布。电脑是四年前的二手货,外壳磕碰了好几处,但被他保养得很好,键盘一尘不染。
按下开机键,风扇发出轻微的嗡鸣。屏幕上亮起的,不是Windows桌面,而是Ubuntu的终端界面。黑色的背景,绿色的字符,一行行代码滚动的样子,像极了电影里黑客的操作界面。但这并非为了炫酷——Linux系统更轻量,在这台只有8G内存的老旧笔记本上,能更流畅地跑他的模型。
陈野泡了一碗泡面,热气在寒冷的屋子里升腾。他一边吃着简单的早餐,一边点开了昨晚的数据记录。
“凌晨3:40至6:20,共完成十一单,总配送距离38.6公里,时薪42.7元,略高于模型预测的39.5元。”他在笔记本上记录下实际数据,“误差主要来自‘清韵茶室’订单——原预计等待时间8分钟,实际等待4分钟,因店员提前打包。这说明商户行为模式库需要更新。”
这就是陈野的“窗”——透过数据和算法,他看到的不是十平米的陋室,而是整座城市的运转逻辑。订单流向是经济的脉搏,配送效率是交通的缩影,等待时长是服务业的晴雨表。三年积累,他早已不是单纯的外卖员,而是这座城市最深入、最持续的田野调查者。
吃完泡面,陈野点开了另一个文件夹,标签是“Project Starlight”(星光计划)。这是他的秘密项目,一个始于一年前的疯狂构想:设计一套全新的分布式计算架构,让亿万普通用户的手机、智能设备,在闲置时能贡献算力,共同训练超大规模的AI模型。
想法并非原创。早在几年前,就有团队尝试过“分布式机器学习”。但那些项目大多失败了,原因很简单:通信开销太大、数据隐私无法保障、节点不可靠、激励模型不持久……
陈野却看到了不一样的解法。
他从抽屉深处取出另一个笔记本——那甚至不是真正的笔记本,而是用捡来的印刷厂废纸,自己装订成册的。封面上用钢笔写着四个字:生物启发。
翻开内页,是密密麻麻的手绘图和推导过程:
•第一页画着蚂蚁群觅食的路径图,旁边注释:“蚁群算法:去中心化、自组织、正反馈。但蚂蚁有信息素,我们的节点靠什么达成共识?”
•第二页是神经元网络的手绘图,标注着:“人脑860亿神经元,每个都很‘笨’,但整体智能。关键:稀疏连接、脉冲通信、赫布法则。我们的架构能否模仿?”
•第三页开始出现数学公式,是陈野自己推导的“稀疏通信协议”:节点间不实时同步全部参数,只传输“重要度”超过阈值的梯度更新,其余本地暂存,定期聚合。
•第四页是经济模型设计:如何用加密货币?不,太耗能。用贡献积分?但积分要有真实价值。也许……可以和实体服务绑定?比如,贡献算力的用户,获得外卖平台优惠券、云存储空间、甚至保险服务?
这个本子,记录了陈野四百多个夜晚的思考。每一个困顿的深夜,当他送完最后一单,拖着疲惫的身体回到这间小屋,打开这个本子时,疲惫就会消散。那些公式、草图、灵光一现的想法,是他对抗平庸生活的武器,是他在尘埃中仰望的星空。
“但还缺最关键的一环。”陈野喃喃道,翻到本子的最后一页,那里只写着一个词:信任。
分布式系统的核心不是技术,是信任。节点为什么要贡献算力?如何确保它们不作恶?如何防止有人伪造贡献?传统的区块链用工作量证明,但那是巨大的能源浪费。权益证明?那又会走向中心化。
陈野盯着那个词,陷入长久的沉默。窗外传来邻居起床洗漱的声音,新的一天开始了,大部分人将开始新一轮的奔波。而陈野,也需要在休息四小时后,再次穿上那身蓝色工装,回到雨中的街道。
但他没有立刻躺下。而是点开微信,找到了那个新加的联系人——张子睿。聊天界面空荡荡的,没有问候,没有寒暄。陈野犹豫了五分钟,最终点开了文件传输助手,选择了那个他修改了无数遍的路径规划工具的源代码压缩包。
“只是学术交流。”他对自己说,然后点击发送。
几乎在同时,手机震动了一下。不是张子睿的回复,而是一个来自老家的陌生号码。陈野皱了皱眉,接通电话。
“喂,是小野吗?”那头传来一个熟悉而苍老的声音,是村支书陈大伯。
“是我,大伯。这么早打电话,有什么事吗?”
电话那头沉默了几秒,然后传来一声沉重的叹息:“小野啊,你妈她……昨天上山采药,摔了一跤,送到县医院了。医生说,小腿骨折,要动手术,可能还得打钢板……手术费,至少要三万块。你爸急得直掉眼泪,家里凑了半天,还差两万多……你看你在城里,能不能……”
陈野的手握紧了手机,指节发白。电话那头还在说着什么,但他已经听不清了。耳边嗡嗡作响,像有无数只蜂在盘旋。
三万。两万缺口。
他看了眼手机银行余额:8321.47元。这是他在沪城三年,省吃俭用存下的全部积蓄。房租要交了,一千二。电动车电池快不行了,换一组要八百。这个月的生活费……
“小野?你在听吗?”
“在。”陈野的声音有些沙哑,“大伯,您让我爸别急。钱的事,我想办法。最晚……最晚三天,我打回去。”
挂断电话,陈野静静地坐在椅子上,许久没有动。窗外的天色完全亮了,雨停了,一缕微弱的阳光从高楼的缝隙中挤进来,落在他的桌面上,照亮了空气中飞舞的尘埃。
三万块。对一个沪城白领来说,也许只是几个月的积蓄;对一个程序员来说,可能只是一个月的薪水。但对他,一个外卖骑手,这意味着至少八百单的配送,意味着不吃不喝奔跑两个月,意味着要将那本就微薄的积蓄,全部掏空。
但陈野没有绝望。甚至,在最初的冲击过后,他的眼神重新变得沉静、坚定。三年了,他经历过太多这样的时刻:交不起房租被赶出门、摆摊的货被城管没收、小吃店倒闭欠下货款……每一次,他都以为走到了绝路,但每一次,他都挺过来了。
因为他不只是陈野,不只是外卖员。
他还是那个在尘埃中,依然仰望星空的人。
陈野打开电脑,点开了一个加密文件夹。里面不是代码,而是一份商业计划书,标题是:
“星光计划:基于生物启发的分布式AI算力网络——初步构想与可行性分析”
这份计划书,他断断续续写了半年,从未给任何人看过。因为他知道,在别人眼里,这只是一个外卖员的痴人说梦。但现在,也许到了该让它见见天日的时候了。
但不是以“外卖员陈野”的身份。
他新建了一个邮箱,注册了一个简单的网页,用模板搭起了个人主页。名字用的是化名“Chen Y.”,头像是系统默认的灰色剪影,简介只有一句话:
“探索分布式计算与生物智能的交叉领域。”
然后,他将那份计划书的精简版,上传到了一个技术爱好者的论坛。那里聚集着全世界对前沿科技感兴趣的人,从斯坦福的学生,到谷歌的工程师,再到像他一样,身处边缘却心怀星辰的“野生思考者”。
点击“发布”按钮的那一刻,陈野的心跳有些快。他知道,这份粗糙、充满个人臆想的计划书,大概率会石沉大海,甚至可能引来嘲笑。但没关系。他早已习惯了嘲笑。
重要的是,他迈出了第一步。
将想法,抛向了未知的星河。
做完这一切,天已大亮。城中村彻底苏醒了,隔壁传来孩子的哭闹、大人的呵斥、锅碗瓢盆的碰撞声。陈野关掉电脑,躺到床上,用被子蒙住头。
他需要睡三小时。然后起床,继续送外卖,赚钱,寄回老家。生活依旧在泥泞中,但他心中的那个世界,已经开始生长。
闭上眼睛前,他想起张子睿,想起那份发出去的源代码,想起论坛上那个刚刚发布的帖子。
也许,不会有什么改变。
也许,一切都会不同。
他不知道答案。他只知道,在睡醒之后,在送完今天的第三十单外卖之后,在深夜回到这间十平米的屋子之后,他会再次打开电脑,继续完善他的“星光计划”。
因为这就是他选择的路:身躯尚在尘埃,心已奔赴星河。
窗外,沪城的天空依然阴沉。但远方的云层缝隙中,隐约有一道微弱的光,正努力穿透厚重的灰色,试图照亮这座城市的某个角落。
陈野的故事,才刚刚开始。