大牛默默地走到陈景明身边,一言不发地翻出一张手机里的老照片给他看。
照片摄于九十年代的深圳,背景是龙蛇混杂的城中村棚屋,一个赤膊的男人满身尘土,肩上扛着一袋水泥,脚上踩着一双沾满泥浆的解放鞋。
在他的身后,墙上用白石灰刷着几个刺眼的大字:“盲流清退区”。
“这是我爸,”大牛的声音沙哑,“他当年从工地出来,鞋丢了,光着脚想去买双新的,被联防队追了三条街。从那以后,他说他这辈子最怕两种声音——警笛和摄像头。”
他第一次向陈景明彻底敞开了自己。
“我爸说,他们不是怕被看见,是怕被‘看错’。”
第二天一早,团队的代码库里,大牛在他负责的人脸识别预处理模块中,悄悄注入了一段极难察觉的像素级噪声。
这段噪声被设定为特定的干扰频率,它的唯一作用,就是在系统进行特征提取时,精准干扰“赤脚行走”和“解放鞋”这类视觉标签的生成。
他在代码注释里,只留了一句话:“我妈每年都会给我爸寄新的千层底布鞋,只要他还穿着那双鞋走路,就别想让机器认出他。”
三个人的反抗,从各自为战的游击,开始汇聚成一场无声的合流。
陈景明坐在自己的工位上,将小米那二十张充满“麦穗纹理”的照片权重,与大牛那段保护“千层底布鞋”的噪声算法,还有林总监u盘里那些关于土地流转、户籍变迁的“泥土”数据,全部整合在一起。
他在测试服务器上搭建了一个全新的模拟环境,命名为“麦田协议”。
当一段包含贫困符号的影像被输入时,系统不再是简单粗暴地降权或豁免,而是启动一种全新的多维还原机制:它会自动关联目标的户籍变迁史、家庭土地流转记录、子女的教育中断年限,最终,它不再输出“危险”或“安全”的冰冷标签,而是生成一行行具体的“建议服务项”——
【目标关联“阳光村”征地档案,建议推送廉租房申请入口】
【目标子女教育记录中断,提示就近社区就业培训点信息】
【目标身份识别为跨省务工人员,自动屏蔽非紧急的夜间盘查指令】
陈景明将这整个架构封装成一个独立的插件,擦掉所有个人信息,命名为“归途1.0”。
凌晨两点,他通过公司内部一个供程序员交流学习的协作平台,像往黑夜里撒下一把种子一样,匿名发布了它。
凌晨三点,城市的灯火渐次熄灭。
林总监的办公室里,只有屏幕的幽光映在他脸上。
他登录系统最高权限后台,清晰地看到,“归途1.0”插件的下载次数,已经跳到了“47”。
安装范围覆盖了公司目前承接的全部五个智慧城市试点城区。
他静静地看了几十秒,手指在“删除”键上悬停良久,最终却移开了。
他点开审批流程管理,在那条关于“夜巡者”模块的部署计划下,用自己的权限加签了一句话:“‘归途1.0’插件暂列观察名单,允许与主系统并行运行。”
做完这一切,他将插件的下载链接和后台截图,转发到了自己的私人邮箱,附上了一句简短的评语:“有些bug,治着治着,就成了特性。”
周五的部门例会,气氛诡异。
沈薇宣布,由于“部分核心模块需进行更深入的伦理风险评估”,原定于下周一上线的“夜巡者”项目,经与上级沟通,决定无限期推迟全面推广。
所有人都心照不宣,却又缄默不语。
散会后,沈薇独自留在空无一人的办公室,反复播放着一段从社区监控调取的回放。
画面里,一个拾荒的老人坐在花园长椅上,正颤巍巍地从口袋里掏出一块用纸包着的、已经不太新鲜的枣饼,递给身边正在读课本的小孙子。
阳光透过树叶缝隙,斑驳地洒在两人身上。
她缓缓摘下眼镜,用几不可闻的声音自言自语:“……小时候我以为王阿姨偷了我的金坠子,到处跟爸妈告状害她被辞退……可我后来才想起来,那个坠子,其实是我自己藏在了她偷偷塞给我的枣饼里。”
窗外暮色四合,陆家嘴的霓虹开始次第亮起。
陈景明的视野里,沈薇头顶那些复杂、尖锐的标签正一片片剥落、消融,最终只剩下一串极淡、像水印一样的文字:【想道歉,但已找不到地址】。
与此同时,陈景明的加密通讯软件弹出一则新消息。
是大牛和小米发来的,他们已经组建了一个名为“播种者”的临时节点,邀请了另外几名志同道合的实习生,请求接入“麦田协议”的底层接口。
他看着窗外那片钢铁森林,在自己的实体日记本上,画下了一小片迎风摇曳的麦穗。
旁边,他用力写下一行字:“今天,我们让ai学会了犹豫。”
他合上本子,正准备下班,桌上的企业即时通讯软件突然强制弹出一个全员通知,发布者是公司行政最高级别。
通知标题是红色的加急字体:《关于配合市大数据资源管理局开展合规性审查工作的紧急通知》。
正文第一行写着:即日起,市局联合调查组将进驻我司,对“智慧城市”项目所有版本迭代的源代码、数据日志及算法模型进行为期一个月的全面审查。
陈景明的心,猛地一沉。