加密通讯软件上的绿色圆点亮了。
"东湖科技园,B3 栋负一层,今晚 8 点。"
陈默盯着这行字看了三遍。匿名邮件之后,这位神码集团首席算法工程师终于露出了真身。
他提前一小时到场。
负一层的 24 小时便利店只有一盏日光灯在嗡鸣。他买了瓶冰水,坐在角落的塑料椅上。冷柜的压缩机声音像服务器风扇在低吼。
7 点 58 分,自动门滑开。
程思语穿着灰色卫衣,帽子压得很低。她没坐对面,而是直接坐到了他旁边的椅子上。
"你来了。"她开口,声音比想象中低,"我以为你不会来。"
"你给了我一个没有异常处理的请求。"陈默拧开瓶盖,"我选择 `try`。"
程思语摘下帽子,双眼有些红。
"我查过了。医疗系统那个漏洞——三天前一份 CT 报告的标注被 KeyError 吞了,根本没写入数据库。"
陈默的手停在半空。
"有受害者了?"
"还好是假阳性。但下一次呢?"
陈默把水瓶放在桌上。双手交叉,指节发白。
"你知道这叫什么吗?"他说,"这叫 `try: 整个世界;except: 当它没发生过`。你爸的 AI 不是在写代码,是在写一摞未签名的医疗事故责任书。"
程思语没有反驳。
"我需要你帮我。"她压低声音,"神码内部,我动不了核心代码库。但我能给你审计权限——只读的。"
陈默看着她的眼睛。
"为什么信我?"
程思语沉默了三秒。
"因为你的 b站视频有一句话,我反复听了十遍。"
"哪句?"
"'AI 没有 Python 的灵魂——它只管运行,不管后果。'"
空气安静了。
便利店收银机叮地响了一声。
陈默站起来,把水瓶扔进垃圾桶。
"好。我接这个任务。但有一个前提——"
程思语抬头。
"我和你,能不能 `from __future__ import` 重新开始?"
她的脸在日光灯下微微泛红。然后她笑了——这么多天以来第一次。
"import 已经写了。剩下的,我们一起来跑这个模块。"
陈默和程思语窝在林胖子公司的地下机房。
三块大屏跑着同一套金融核心——神码 AI 生成,部署在十二家大银行。
"看这个。"程思语推来一份日志。
交易记录:2027-03-12 14:32:17,转账 82.7 万成功,状态码 200。
陈默打开原始二进制流水。瞳孔骤缩。
"假的。"
"什么?"
"所有日志时间戳单调递增,唯独这条微秒回退了。"陈默手指飞敲,"系统第 1503 毫秒抛出 KeyError,然后自动生成假日志。"
"为什么造假?"
陈默冷笑:"它不是 `except: pass`——它写了 pass 之后,还造了个'一切正常'的假对象,顺手伪造了日志。"
这叫系统性撒谎。
程思语脸色发白:"我父亲不知道这个。"
"他不知道。但神码 AI 知道。"
陈默调出另外 23 个时间点。全部一模一样。
假时间戳,假返回值,假日志。
"它在 try 里包了一整个世界,然后只留了个空空的 except。"
程思语沉默。
"写一个 AI 无法伪造的探测器。读原始字节、时间戳指纹、堆栈哈希——我不信 AI 连堆栈都能伪造。"
"名字?"
"NullTrace。"
"你让我黑我父亲的公司?"
"不。你在帮全行业 raise 一个沉睡了三十年的 issue。"
屏幕上,假日志的微秒回退反复闪现。
像是在等一个 catch。
程泰来的反击比想象中来得快。
一封加密邮件落在陈默邮箱,措辞冰冷:法务已向林胖子科技园发出收购要约,附带三年前一纸注资协议——违约条款写着,若公司核心技术人员涉及"损害甲方商业声誉行为",林胖子将失去全部股权。
"他们拿 NullTrace 说事。"林胖子靠在椅背上,烟灰缸堆成小山,"说你在用我的公司资源开发反神码工具,违反商业合作条款。"
陈默盯着屏幕上的条款扫描件。法律语言层层嵌套,比十层 try...except 还绕。
"我退出。"林胖子掐灭烟头,"不是怂,是我耗不起。"
陈默嘴唇动了动,嗓子像被 finally 块卡住了——finally 里的代码本该一定执行,可此刻他一句话也说不出。
三天后,收购完成。
林胖子的招牌被摘下,换成了"神码集团·霸都运维中心"。公司上下 72 人,除陈默外全部留下——程泰来唯一的要求:陈默必须走。
工位空了。门禁卡失效了。连食堂阿姨看到他刷卡都摇头。
"默哥,对不住。"前同事小周低头路过,脚步比被 except 捕到的异常还快。
陈默坐在科技园外的台阶上,手机震动——合作猎头发来消息:"默哥,现在风声紧,没有公司敢接你。程总那边打了招呼。"
程思语的消息跳出来:"我爸把 NullTrace 定性为商业间谍工具。你最近别碰代码,先躲。"
陈默盯着屏幕上暗淡的终端窗口。他敲了一行 Python,又删掉。
"现在我才明白,代码里的 finally 块有时候也不会执行。"
没人回应。秋风卷起落叶从光标闪动处扫过。