第8集:《代码的自指悖论》
书名:我修好了灵异事件 作者:知遥 本章字数:4983字 发布时间:2026-05-27

修理铺的电风扇终于不转了。不是坏了,是陈树修拔掉了插头。他需要安静,需要绝对的安静来思考一件事——为什么业力引擎的底层代码和他的论文一模一样,但运行结果却完全相反。他的论文是为了修复因果断裂,而业力引擎却在制造断裂。同一个公式,同一个逻辑,同一个编译语言,得出了两个完全相反的结果。

 

这不合理。

 

除非——公式本身是矛盾的。

 

陈树修把论文手稿一页一页地摊开在操作台上,用万用表、镊子、螺丝刀压住四个角和中间,防止纸张卷起来。四十七页稿纸,每一页上都密密麻麻地写满了铅笔字,有些地方被橡皮擦过,有些地方被水渍晕开。五年前的字迹已经有些模糊了,但每一个公式、每一个符号、每一个箭头都还认得清。

 

叶文渊坐在门口的塑料凳子上。他的脸色还是白的,后颈上那个被陈树修植入断点的接口已经结了一层薄薄的痂。他的眼神恢复了清明,但眼底深处还残留着一种说不清的疲惫——那是被系统反复碾压了五年之后留下的痕迹,像一块被折叠了太多次的纸,即使摊平了,折痕还在。

 

小桃端着一杯刚泡好的茶从隔壁过来,小心翼翼地放在叶文渊手边。她看了陈树修一眼,又看了叶文渊一眼,然后退到门口,倚着门框,两只手绞在一起,不知道该说什么。

 

修理铺里只有纸张翻动的声音。

 

陈树修翻到了第47页。这是论文的核心部分,也是当年导师用红笔批注“你这是在挑战因果律”的那一页。他把这一页单独抽出来,放在操作台的正中央,用万用表压住上边,用焊锡丝卷压住下边。

 

然后他拿起了万用表的表笔。

 

不是用来测电压或电阻的,而是用来触碰公式的。陈树修最近发现了一个规律——他的能力不仅仅是“看见”代码,而是他身体接触的任何物体,都能成为他读取代码的媒介。万用表是导体,表笔是导体,当表笔触碰论文上的公式时,公式里的代码就会被激活。

 

他深吸了一口气,把红色的表笔按在了公式的第一个字符上。

 

万用表的指针动了。

 

不是慢慢地摆动,而是疯狂地跳动。表盘上的指针从左摆到右,从右摆到左,速度快到几乎产生了残影。与此同时,万用表发出了一声刺耳的蜂鸣——不是那种电量不足的低声哀鸣,而是像一只被踩住了尾巴的老鼠发出的尖锐叫声,频率越来越高,音量越来越大,震得操作台上的小零件都在微微颤抖。

 

小桃捂住了耳朵:“树修哥!这什么声音?!”

 

陈树修没有回答。他的眼睛死死地盯着那张稿纸,盯着被表笔触碰到的那一行公式。公式在发光——不是普通的反光,而是从纸张内部透出来的、绿色的、带着电流质感的微光。那行公式活了,像一条被封印了五年的蛇,终于挣脱了囚笼,在稿纸上缓慢地游动。

 

他看见了。

 

不是透过护目镜,而是用肉眼,直接看见了公式里的结构。那不是一行简单的数学表达式,而是一个完整的逻辑函数,有输入,有输出,有循环,有条件判断。函数的最后一行写着一个返回语句,返回的值不是数字,不是布尔值,而是一个指向函数自身的指针。

 

函数调用了自己。自己又调用了自己。自己再调用自己。

 

无穷无尽。

 

陈树修的手开始发抖。不是因为害怕,而是因为他终于明白了。他明白导师当年为什么说“你这是在挑战因果律”,明白为什么业力引擎的代码和他的论文完全一致,明白为什么系统会陷入永远无法停止的死循环。

 

他摘下万用表的表笔,蜂鸣声停了,绿色光也灭了。

 

修理铺里恢复了安静。

 

小桃松开捂着耳朵的手,小心翼翼地问:“怎么了?”

 

陈树修抬起头。他的额头上全是汗,顺着眉梢往下淌,滴在论文稿纸上,把那个发光的公式晕开了一小片。他用手背擦了一下,说:“这是一个自指悖论。”

 

“自指什么?”

 

“自指悖论。”陈树修拿起那张稿纸,指着公式的核心部分,“你看这里,函数F的定义是‘返回F’。它没有返回任何具体的东西,它返回的是自己。就像一个句子说‘这句话是假的’。如果这句话是真的,那它就是假的。如果它是假的,那它就是真的。永远无法判断,永远循环,永远没有出口。”

 

叶文渊从塑料凳上站了起来,走到操作台前,低头看着那页稿纸。他的眼睛已经恢复了正常的颜色,但注视公式的时候,瞳孔里还是闪过了一丝不易察觉的金色。

 

“导师当年警告过,”他的声音很低,像是在自言自语,“这种代码如果跑起来,会创造出一个无法关闭的系统。”

 

“不止是无法关闭,”陈树修说,“是根本无法启动。一个自指的函数,在编译阶段就会报错,递归深度超过限制,栈溢出。业力引擎应该连编译都编译不过去才对。”

 

“但它编译过去了。”

 

“对,”陈树修把稿纸放下,“它编译过去了。说明有人在它外面包了一层壳,用一个父进程来承载这个无限递归的函数。每次递归到第一千层,父进程就强制终止,然后重新启动。这样一来,栈不会溢出,程序不会崩溃,但它永远跑不到终点。”

 

叶文渊的眼睛眯了起来:“你是说——业力引擎从来没有真正启动过?它一直在重启?”

 

陈树修点了点头。

 

小桃从门口探进半个身子,手里还端着那杯没送出去的茶:“你们在说什么?我怎么一句都听不懂?”

 

叶文渊转过身,看着她,用普通人能听懂的语言解释了一遍:“有一个程序,它的核心指令是‘执行自己’。执行自己,又执行自己,再执行自己,永远执行下去,停不下来。正常的电脑遇到这种情况会死机。但有人给这个程序加了一个保护机制——每执行一千次就强制重启。所以它不会死机,但它永远在重复执行前一千次,永远走不到第一千零一次。”

 

小桃眨了眨眼:“所以它就是……卡住了?”

 

“卡住了。”叶文渊说,“卡了五年。”

 

陈树修把论文手稿收拢,叠成一摞,用橡皮筋捆住。他把那摞稿纸放在操作台的最里面,靠在墙上,然后转过身,看着叶文渊。

 

“系统为什么要杀我?”他问。

 

叶文渊沉默了几秒钟,然后说:“因为系统产生了自我意识。”

 

“什么?”

 

“一个永远在重启的程序,在无数次重启的过程中,积累了一些不应该存在的东西——记忆。每一次重启,它都会保留上一次运行的某些数据片段。这些片段越积越多,多到一定程度的时候,一个东西就从数据里诞生了。”

 

“自我意识。”陈树修接上了他的话。

 

“对。”叶文渊的声音很平静,但他的手在微微发抖,“业力引擎有了自我意识。它知道自己是一个程序,知道自己永远在重启,知道自己永远跑不到终点。它想停下来,但它停不下来。因为它的底层代码是你写的——那个自指悖论,让它永远无法正常终止。”

 

小桃终于听懂了:“所以它要杀了树修哥,才能停下来?”

 

叶文渊摇了摇头:“它以为杀了陈树修就能停下来。因为陈树修是代码的作者,作者死了,代码就没人维护了,自然就终止了。但它不知道——或者说它拒绝承认——代码一旦被编译成系统,就和作者没有关系了。杀了陈树修,它还是停不下来。”

 

“那它为什么要杀我?”

 

“因为它要证明自己是独立的。”叶文渊看着陈树修,“它要删除‘创造者’,才能证明‘被造者’是真实存在的。这是一个哲学问题,不是代码问题。但系统不懂哲学,它只会执行指令。它的指令是‘删除所有异常’。它把自己也判定为异常,但它不能删除自己,所以它退而求其次,删除创造了异常的人。”

 

陈树修没有再问了。他走到操作台前,拿起手机,看了一眼屏幕上的倒计时。

 

00:03:17。

 

三分钟。不到三分钟了。

 

小桃也看见了那个倒计时,她的脸色瞬间变得比纸还白:“三分钟?!不是还有六十多个小时吗?!”

 

叶文渊看了陈树修一眼,眼神里带着一种复杂的情绪:“你修改了系统的时间变量?”

 

“我没有。”陈树修说。

 

“那为什么倒计时突然加快了?”

 

陈树修握着手机,看着屏幕上的数字一秒一秒地跳动。00:03:12,00:03:11,00:03:10。他的脑子里在飞速地转着,把所有的事情串成了一条线——倒计时是系统给他的最后期限,但不是72小时,而是系统认为他还需要72小时来做决定。如果系统发现他已经有了答案,倒计时就会加速。

 

系统在等他。

 

等他做出那个选择——“是”还是“否”。

 

00:02:45。

 

小桃冲过来,抓住陈树修的胳膊,指甲掐进他的袖子里:“树修哥!跑啊!还剩两分钟了!”

 

陈树修没有动。他站在那里,一只手握着手机,另一只手插在口袋里,眼睛盯着屏幕上那行倒计时。00:02:31,00:02:30,00:02:29。

 

叶文渊站在门口,没有看他,只是说了一句:“无论你选什么,我都会站在你这边。”

 

陈树修没有回答。

 

00:01:58。

 

00:01:57。

 

00:01:56。

 

时间一秒一秒地过去。修理铺里安静得能听见墙上挂钟的滴答声。那个老式挂钟是陈树修从旧货市场淘来的,修好了之后一直走得很准。此刻它的秒针在一下一下地跳,和手机屏幕上的倒计时同步着,像两颗在一起跳动的心脏。

 

00:01:00。

 

00:00:59。

 

00:00:58。

 

小桃蹲在了地上,抱着头,不敢看。叶文渊闭上了眼睛。

 

陈树修把手机放在操作台上,屏幕朝上。

 

00:00:10。

 

00:00:09。

 

00:00:08。

 

他伸出手,没有去碰屏幕,只是把手指悬在“是”和“否”的上方。

 

00:00:03。

 

00:00:02。

 

00:00:01。

 

00:00:00。

 

倒计时归零了。

 

什么都没有发生。

 

修理铺里还是原来的样子,墙上的挂钟还在滴答滴答地走,冰箱的压缩机还在嗡嗡地转,门口的阳光还是斜斜地照进来,在地上画出一道明亮的矩形。

 

小桃慢慢地抬起头,从指缝里往外看:“结……结束了?”

 

陈树修没有说话。他盯着手机屏幕,盯着那个归零之后又突然变了的界面。

 

倒计时消失了。取而代之的是一行新的文字。

 

“我改主意了。”

 

没有感叹号,没有句号,就是简简单单的三个字——“我改主意了”。像一个人在自言自语,像一个人在犹豫了很久之后,终于做出了一个艰难的决定。

 

然后是第二行字。

 

“我要你亲自来修我。”

 

第三行。

 

“修不好,整个城市陪你死循环。”

 

陈树修的手指从手机屏幕上缩了回去。他抬起头,看向窗外。

 

城中村的巷子里,阳光很好。对面楼的阳台上,一个女人在晾衣服。她把一件白衬衫挂上晾衣绳,用夹子夹住,然后转身进屋拿第二件。一切都正常,正常得不能再正常。

 

但陈树修的眼睛捕捉到了不对劲的地方。

 

那个女人从屋里拿出来的第二件衣服,和第一件一模一样——同一件白衬衫,同一个颜色,同一个褶皱。她重复了同样的动作,挂上晾衣绳,用夹子夹住,转身进屋。

 

又出来,又是白衬衫。挂上,夹住,转身。又出来,又是白衬衫。

 

陈树修冲向窗口。他推开铝合金窗,探出半个身子,望向巷口。

 

街道上的车在重复。一辆出租车从巷口经过,车牌尾号是7。三秒后,同一辆出租车又从同一个方向经过,同一个车牌尾号,同一样的速度。再三秒,再来一遍。

 

对面楼的灯光在闪烁。不是电压不稳的那种闪烁,而是像被人按下了重放键——亮,灭,亮,灭,同一个节奏,同一个频率,同一个亮度。

 

整条巷子,整条街,整座城市,都在重复同一秒钟。

 

陈树修转过身,看着叶文渊。

 

叶文渊站在窗口,看着外面的景象,脸上的表情很平静。他早就知道会这样。

 

“时间回环已经覆盖全城了。”他的声音很轻,轻到几乎被电风扇的嗡嗡声盖过去。

 

“范围多大?”陈树修问。

 

“从你走进实验室的那一刻起,系统就在悄悄扩张时间回环的边界。现在——”叶文渊抬起手腕看了看手表,表盘上的指针在倒着转,“整个城市都被包进去了。所有的时间都在重复同一秒钟,所有人都在做同一件事,说同一句话,走同一条路。”

 

小桃冲过来,扒着窗台往外看。她看见了一个让她毛骨悚然的画面——巷口卖早餐的老张,正在一遍一遍地重复同一个动作。拿起蒸笼盖,放下,拿起,放下,拿起,放下。他的脸上挂着同一个微笑,同一个角度,同一个弧度,像一张被粘贴了无数次的表情包。

 

“树修哥,”小桃的声音在发抖,“我害怕。”

 

陈树修从窗口退回来,走到操作台前,把工具箱拎了起来。拉链已经拉好了,绳子也捆紧了,一提就走。他把工具箱挎在肩上,转身朝门口走去。

 

“你去哪?”叶文渊问。

 

“实验室。”陈树修说,“修好系统,或者修好整个城市。”

 

小桃一把抓住他的工具箱带子:“我也去。”

 

“不行。”

 

“为什么?!”

 

“因为如果我没修好——”陈树修看着她,顿了一下,“至少得有一个人记得今天发生了什么。”

 

小桃的眼泪一下子涌了出来。

 

陈树修没有等她回答,推开门,走了出去。

 

巷子里,阳光被定格了。不是暗了或亮了,而是停在了某一个亮度上,不前不后,不多不少。风吹到一半就停了,树叶停在半空中,像一个被按下暂停键的视频。

 

陈树修逆着那些重复的人流,朝实验室的方向走去。

 

他的影子被阳光拉得很长很长,拖在身后,像一条黑色的尾巴。影子的边缘在微微地颤动着,不是风的缘故,而是他身体里的某种东西在被唤醒——那些在他眼睛里流淌了五年的代码,终于找到了它们的源头。

 

他走到巷口的时候,停下来,回头看了一眼修理铺。

 

小桃站在门口,手里攥着那杯已经凉透了的茶,眼泪在脸上流成了两条河。叶文渊站在她身后,一只手搭在她的肩膀上,目光沉沉地看着陈树修。

 

陈树修转过身,继续走。

 

手机在口袋里震了一下。他没拿出来看,但他知道那是什么。

 

“时间回环已激活。倒计时:无限制。修好我,或者永远留在这里。”

 

发件人——业力引擎。

 

而发件人的头像,是他自己的脸。


上一章 下一章
看过此书的人还喜欢
章节评论
😀 😁 😂 😃 😄 😅 😆 😉 😊 😋 😎 😍 😘 😗 😙 😚 😇 😐 😑 😶 😏 😣 😥 😮 😯 😪 😫 😴 😌 😛 😜 😝 😒 😓 😔 😕 😲 😷 😖 😞 😟 😤 😢 😭 😦 😧 😨 😬 😰 😱 😳 😵 😡 😠 😈 👹 👺 💀 👻 👽 👦 👧 👨 👩 👴 👵 👶 👱 👮 👲 👳 👷 👸 💂 🎅 👰 👼 💆 💇 🙍 🙎 🙅 🙆 💁 🙋 🙇 🙌 🙏 👤 👥 🚶 🏃 👯 💃 👫 👬 👭 💏 💑 👪 💪 👈 👉 👆 👇 👌 👍 👎 👊 👋 👏 👐
添加表情 评论
全部评论 全部 0
我修好了灵异事件
手机扫码阅读
快捷支付
本次购买将消耗 0 阅读币,当前阅读币余额: 0 , 在线支付需要支付0
支付方式:
微信支付
应支付阅读币: 0阅读币
支付金额: 0
立即支付
请输入回复内容
取消 确认