林胖子的办公室在三环外一栋老写字楼的四层。电梯坏了,墙上还贴着2019年的消防检查单。
"这就是我的窝了。"林胖子推开玻璃门,里面只有六张桌子,五台显示器带着灰。
陈默环顾一圈。角落三箱方便面,白板写着"招Python开发"——跟了个括号:(五险一金交不上)。
"我这儿工资不高,"林胖子说,"但有一点你绝对找不到——我依然用人写代码。不用神码AI。"
陈默握紧背包带。就凭这一句,够了。
"接手的是个金融结算系统。"林胖子递过需求文档,"银行外包,AI写的,上线三个月。客户投诉偶尔丢钱,查不出原因。"
"偶尔?"
"他们说百万分之一的概率,查了个空气。"
陈默坐下来,连上系统。代码量不大,两万行Python。他一行一行扫,呼吸渐渐变慢。
前台接口正常。中台逻辑完整。数据表设计得甚至算漂亮。
然后他到了结算核心。
```python
def settle(amount, account):
try:
result = bank_gateway.transfer(amount, account)
return result
except:
pass
```
陈默盯着屏幕,指节发白。
他把当月的结算日志全拉下来,写了个脚本匹配交易记录和银行回执。三分钟后,结果出现。
一百二十万笔交易中,有一百二十一笔的回执缺失。没有失败提示,没有重试记录,没有任何日志。那笔钱从系统里消失了,像从未存在过。
0.01%的异常吞没率。不是百分之一,不是万分之一——是百万笔里的那些缺口。
"林胖子。"陈默没回头,声音平静得像在报一个变量名。
"这个金融模块的核心结算函数里,AI写了四十行代码加一个try-except块。它在except里什么都没做。任何一笔转账失败,都被静默吞噬,没有任何回滚。"
林胖子脸色变了。
"一百二十一笔未达账。"陈默敲了敲桌子,"那些钱在银行流水里对不上账,但没人知道为什么,因为AI吃掉异常后,返回值依然是'success'。"
他转过身。
"AI居然在except里什么都不做。这不是bug,这是教唆犯罪。"
林胖子手里的茶杯停在了半空。
"你能修好吗?"
陈默没回答。他把那个空白except块截了个图,标注了交易ID和日志时间——然后发给了上次面试时HR转来的那个邮箱。
程思语的邮箱。
他不知道为什么要发。但他知道,这个`pass`,不该只有他一个人看见。