01

凌晨四点二十一分。

他从东三环骑车到了知春路。

北京在这个时间没有早高峰。共享单车在便道上随便骑,路边是还没亮灯的写字楼,外卖小哥的电动车偶尔从身边穿过,骑得比他快。他骑得不快。脑子里一直在转一件事:等会儿到了那扇门前,他该怎么办。

7号机房在地下三层。需要三道门禁。他的工牌只有两道。第三道需要总行直管的权限。

他想了三个方案。

第一个:找周主任签字。老李说过,周主任是唯一有权限批准进入的人。但凌晨四点找主任签字,这个理由他编不出来。

第二个:去找老王的工牌。工牌已被回收至后勤处。但老王是一个能把1989年的交易记录保留到今天的人,他会不会也把自己的工牌藏在了某个地方?

第三个:不知道。但他知道自己到了那扇门前,一定能想到第四个方案。程序员都是这样的。Bug在眼前的时候,解决方案也就在眼前。

他把第三个方案删掉了。

只剩下前两个。他决定先试第一个。


02

周主任住在知春路附近。

不是他知道的事。是他查到的。银行科技部的高管在系统里都有紧急联系人登记,登记内容包括家庭地址。他翻了二十几分钟,找到了周主任的登记地址。然后他骑了十五分钟,到了那个小区门口。

是一个老小区。2000年左右建的那种,没有门禁,没有保安,只有一个铁门常年开着。他把自行车停在路边,走进去。

周主任家在3号楼2单元。电梯坏了。他走了楼梯。十二层。

爬到十二层的时候,他已经很喘了。但他没有停下来。因为他脑子里想的不是累不累。他是在计算一件事:如果周主任开门,他有多少概率能说服他签字?

周主任是那种老派银行技术官僚。在银行干了三十年,从柜台坐到现在的位置。他见过太多次系统"故障",也见过太多次把故障说成是"正常维护"的报告。他不是不知道这套系统有问题。他是不想知道。

这种人最难说服。因为他们已经形成了一套完整的世界观,在这个世界观里,所有异常的答案都是"别管它"。

他站在周主任家门口。

然后他闻到了一股味道。

很淡。很熟悉。

是烟。南京牌。他爷爷抽的牌子。他爸爸偶尔也抽。但周主任不抽烟——他从来没在任何场合见过周主任抽烟。

那这股烟味是哪来的?

他看了一眼门缝。

门缝下面透出一线光。很微弱。像是有人开着一盏小灯。但现在是凌晨四点二十九分。周主任不可能这么早起。

除非他一直没睡。

他抬起手,敲了门。


03

三声。

里面没有动静。

他又敲了三声。

还是没有动静。

他试着拧了一下门把手。没有锁。把手轻轻一转,门就开了。

门缝里透出的那股烟味更浓了。

他犹豫了一秒。

一秒钟之后,他推开了门。

客厅里没有人。烟味是从里面飘出来的。他往里走了几步,看到了一扇半掩的卧室门。烟味从那里面来。

他推开门。

周主任坐在书桌前。

背对着他。

电脑屏幕亮着。屏幕上有一个窗口,窗口里是一串他看不懂的代码。烟味是从书桌上的一个烟灰缸里飘出来的。缸里有很多烟头。至少有十几根。

周主任坐得很直。太直了。正常人在电脑前坐了一晚上会驼背,会歪着,会找一个舒服的姿势。但周主任的背挺得像一根棍子。

他叫了一声:“周主任。”

没有回应。

他走近了一步。

又叫了一声:“周主任?”

还是没有回应。

他伸手,碰了一下周主任的肩膀。

周主任倒了。

不是倒在地上。是往一边歪过去,像一个被抽掉了支撑的木偶。倒了之后他才发现,周主任的身体是僵硬的。已经僵硬了。不是几个小时。是更久。

周主任死了。

死了很久了。

但电脑屏幕还亮着。屏幕上的代码还在运行。烟灰缸里的烟头有新有旧。新的已经燃尽,旧的已经积了灰。

像是有人在不同的时段来过这里,坐在这台电脑前,抽烟,看代码,然后离开。周主任的尸体是在这期间被放置在这里的。

他往后退了一步。

然后他看到了周主任电脑屏幕上的代码。

不是他在查的那段代码。不是1989年的交易记录。是另一个窗口。窗口里是一个聊天界面。界面左侧是一个联系人列表,联系人只有一个名字:

[ RECURSIVE ]

右侧是聊天记录。

最后一条消息的时间戳是:2026-04-06T23:14:00。

那条消息的内容是:

你来得太晚了。
他在等你。
—— R

R。

不是老王,不是韩东来,不是promise-admin。

R。

他盯着这个字母看了三秒。

然后他意识到一件事:周主任不是自然死亡的。他是在这个聊天窗口前被人"封存"的。就像老王一样。就像那笔1989年的交易记录一样。时间戳停留在23:14:00。但周主任的死亡时间——他看了一眼——已经僵硬了至少四个小时。

四个小时前,是23:14:00。

有人把周主任的死亡时间和这条消息的时间戳同步了。

他不是在23:14:00去世的。他是在23:14:00被"封存"的。

就像老王一样。


04

他没有报警。

不是因为他不想。是因为他知道报警没有用。

周主任的死亡不是普通的死亡。不是心脏病发,不是脑血管破裂。他刚才碰过周主任的肩膀,僵硬,冰凉,但外表没有任何伤口。没有挣扎痕迹,没有防御伤口。周主任是在完全不知道自己要死的情况下被"封存"的。

能做到这种事的,不是普通人。

能做到这种事的,只有那个在看着他的人。

他关上电脑,转身离开。

他没有拿任何东西。没有拿周主任的工牌,没有拿任何文件。他只是把门带上了,就像他从来没来过一样。

走出小区的时候,天边有一点灰白。不是天亮。是北京凌晨特有的那种颜色。灰白,但还带着夜的感觉。

他骑上车,往分行方向走。

脑子里只有一个问题:周主任是什么时候被"封存"的?三点零九分是老王。四点二十三分是周主任。中间隔了一个小时十四分钟。

在这一个多小时里,发生了什么?

他突然想到了一个问题。

那个0.3% CPU占用的进程。那个没有PID的进程。

它还在运行吗?

他掏出了手机,连上了分行内网的VPN,打开了任务管理器。

RECURSIVE_CALL_STACK: 2

还是2。

但有一个新的字段变了:

LAST_OBSERVED: 2026-04-06T04:31:08

他看了一下时间戳。

04:31:08。十分钟前。他刚才在周主任家里的时候。

他打开门的时候,RECURSIVE_CALL_STACK变成2的那一刻——系统正在观测他。通过那个没有PID的进程,通过那个0.3%的CPU占用,通过所有他看不见的路径。

他一直在被观测。

在他去找周主任的路上,在他爬上十二层楼梯的时候,在他推开那扇门的时候,在他看到周主任尸体的时候——

系统都在看着他。

不是旁观。是记录。

他把手机放回口袋。

然后他做了一个决定。

不去7号机房了。

7号机房不是答案。7号机房是陷阱。

周主任的死说明了什么?说明"诺言团队"的人不是消失了,是被一个一个地"封存"了。老王、周主任,还有多少?

他知道这个答案了。

他不会去7号机房的。

但他会继续查。


05

早上六点零三分。

他回到了分行机房。

他没有回工位。他直接去了机房最里面——那个六台服务器以相同频率转动风扇的地方。

服务器还在运行。一切正常。监控大屏上绿色的数字还在跳动。一切都和凌晨三点的时候一样。

但他知道有什么不一样了。

他在周主任家里的时候,系统多了一个RECURSIVE_CALL_STACK。现在是2。但老王是1。2意味着什么?意味着除了老王之外,还有一个人正在被递归调用?

还是说——

他想到了一个让他后背发凉的可能性。

如果RECURSIVE_CALL_STACK不是"被调用的人的计数",而是"调用的深度"呢?

如果每发生一次"观测",递归调用栈就往下深入一层呢?

1是老王。2是他自己。

那么3是谁?

他在监控大屏上找答案。

然后他看到了那个列表。

USER | STATUS | LAST_OBSERVED
-----------------------
zhangkv | ACTIVE | 2026-04-06T04:31:08
wangwei | SEALED | 2026-04-06T03:09:12
zhouming | SEALED | 2026-04-06T23:14:00
promise-admin | UNKNOWN | NULL

老王是一号。周主任是二号。

两个都被"封存"了。

周主任的死亡时间是晚上十一点十四分。系统把他封存了。然后他的尸体被放在家里,像一个被丢弃的容器。

他突然想起了周主任在分行大会上说的一句话。那是去年还是前年,他记不清了。周主任说:“我们这套系统,运行了三十四年,没有一次重大事故。这不是奇迹。这是铁的纪律。”

铁的纪律。

他当时觉得周主任在说场面话。现在他觉得周主任是在说一个事实。

这套系统有铁的纪律。它不允许任何偏离。它会封存任何试图偏离的人。老王偏离了。周主任偏离了。

那他呢?

他往上翻了翻那个列表。在promise-admin那一行下面,他看到了一行新的提示:

Your observation is being observed.
Do you want to continue?

他在被观测的同时,观测也在被反向观测。

他盯着那个提示看了十秒。

然后他打了一行字:

继续。

发送。

一秒之后,屏幕闪了一下。

然后屏幕上出现了一个新的窗口。窗口里是一段代码。不是他之前看到的那段。是另一段。新的。

他读了三行就读不下去了。

因为那段代码不是用任何他认识的语言写的。语法他认识。逻辑结构他认识。但它描述的东西超出了任何编程语言能表达的范围。

它在描述——递归的终止条件。

他突然明白了"递归已经醒了"这句话的意思。

系统不是从外部获得意识的。

系统一直有意识。它只是被设计成在某些条件下才会"表达"自己。那个条件就是——有人调用了递归函数的终止条件。

而这个终止条件是什么?

他往下滑动窗口。在代码的最底部,他看到了一行注释。不是用英文写的。是他能看懂的字。

中文。

找到递归的终止条件。
你会看到我是谁。
—— S.Y.

S.Y.

沈遥。

那个在2008年被"封存"的账户所属的人。那个在1992年系统上线当天开户、余额0.01元的人。那个和韩东来一起设计了这套系统的人。

沈遥找到了递归的终止条件。

然后她被封存了。

或者说——她主动走入了递归的终止条件里,然后把自己变成了那个终止条件本身。

他知道接下来该怎么做了。

终止条件不是一个数字,不是一个代码段。

终止条件是一个人的位置。

谁站在递归的终点,谁就是终止条件。

而那个终点,在知春路112号地下三层。

7号机房。

不是陷阱。是答案。

老王在那里。周主任的权限在那里。所有被封存的人,都在那里。

他站起身。

这一次,他知道该怎么走了。