第2章
四小时倒计时------------------------------------------,保安不在岗,门禁的人脸识别设备黑着屏,框里只剩一块磨花了的钢化玻璃,把灰天映成一面脏镜子。——门禁程序死了,工牌也没用了,何况他上午已经被裁了。他往门缝侧身挤了进去。。就像是烧了太久之后混进灰尘和橡胶老化的那种味道,油腻、发苦,像一口气没出透。这栋楼是周边街区少有的还亮着灯的地方——玻璃幕墙在下午的灰色光线里透出一条**的边,远看像一盏在停电的城市里落单的台灯。,不是本公司的员工。西装的、工作服的,还有一个头发乱了大半的中年女人,一手拎着文件袋,一手拿着手机,嘴里在说什么,声音低得像是说给自己听。没有人拦,也没有人放行,他们只是站在那里,守在一扇可能会开的门前面。这栋楼亮着灯,所以他们来了。,门开了,走廊里的灯只亮了一半,每隔一盏,暗一盏,在负荷上精打细算。,一看到陆辰就往这边走,走到一半停下来,只说了一句:"他们在里面。",把走廊让出来。……,冷气从门缝里漏出来,拍在脸上,带着那种金属和塑料长时间通电之后的气味,干,涩,有一点细微的静电麻感。。。陆辰走到离他还有两步的位置,他才开口:"你带你的工具了吧?",补了一句:"快,还有不到四小时。""工具",他用的是"工具"。,直接进了机房。,八九台标准机架,三排,指示灯大半是红色的。五个技术工程师分布在几台终端前,没有人在打字。他们在看屏幕。屏幕上的错误日志在滚,一行一行往下刷,每行都是大写字母加颜色标记的异常码,每行都在告诉他们"这里也崩了",但没有任何一行告诉他们为什么崩。
陆辰推门进来的时候,有两三双眼睛往他这边转了一下,随即转回去了。
那种自尊心和求助欲撑在一起的别扭,他们需要他,但谁也不打算先开口说这件事。
陆辰走到靠墙的一**作台前,把帆布包放下,取出那台旧笔记本。合页嘎吱一声,屏幕亮起来。他把笔记本斜放在桌上,往右边稍微倾了倾——他惯用右手打字,左手要留出来写字。从包的侧边袋摸出一支笔和一张白纸,放在左边。
"虫子,"陆辰敲了几下,"扫这台服务器的供电调度AI,从入口函数开始,标异常。"
虫子启动了。终端窗口刷出第一行字,第二行,第三行——分析报告开始生成。
机房里没有人走动了。
一开始还有人在键盘上按了两下,后来停了。椅子轻轻转向陆辰那边。那个滚日志的屏幕还在滚,但没有人再看它……。七秒,扶着机架的工程师把手从侧板上拿开了,双手垂下来;二十秒,戴眼镜的那个悄悄把椅子往前挪了几厘米,身子微微前倾;一分钟,机房里能听到别人的呼吸声了,因为发电机的轰鸣之外,其他所有动静都停了。
虫子的报告出来了。
全是等宽字体,白底黑字,行与行之间没有装饰间距,看起来就是一篇密密麻麻的技术文档。但文档里每一行代码后面,都跟着一句注释。
那些注释,是他们见过的最奇怪的东西。
供电调度AI的那套代码,他们公司自己的AI调试工具走进去就撞了壁——"分析深度超出上限,终止",就像一个人走到悬崖边上往下看了一眼,摇摇头走开了。但虫子走下去了。虫子一路走到了第4700层,走到每个死循环的当中,站在里面,往外写了一张地图。
"此节点形成逻辑死循环,条件永远为真,执行到此处后永不退出。"
"此模块调用了一个三年前已被注释删除的外部依赖,调用语句依然存在,指向空指针。"
"此处判断逻辑与上游模块存在矛盾,上游传入值域为[0, 1],本模块预期值域为[2, 5],相交集合为空。"
一行一行,73条。
周彦站在陆辰的斜后方,他没有出声,但他的手指停在了键盘边沿上,停着没有动。最后他说了一句:
"我们公司AI调试工具,最大分析深度是200层。"
没有人回应他,但机房里的空气停了一拍。
报告末尾,虫子自动附上了一行:
> 虫子:"嵌套深度4700层。写这套系统的AI的选择是:在200层就能完成的事,用了4700层完成。这不是过度设计,这是代码界的行为艺术。"
角落里有人轻轻咳了一声,像是笑了一下又压回去了。
……
陆辰把那页报告往左边推了推,拿起笔,开始在白纸上画。
他画的是一种随意的逻辑草图——几个方块,几根箭头,在某些连接点上打叉,在某些地方画了一个圆圈,圆圈里写了两个字:绕开。
方岳这时候往陆辰的方向靠近了几步,低下头往白纸上看了一眼,脸上是那种努力表现出"我在看"的表情,但停了不到三秒,又退回去了,纸上那几个方块和箭头,他不知道在说什么。他重新站回靠门的位置,手放进口袋,又拿出来,换了个姿势站。
戴眼镜的工程师走过来了。他没有绕到前面,只是站在侧后方,往纸上盯了更长时间……大约十来秒,开口问了一句:"你是要绕过AI层直接接硬件?"
陆辰没有停笔,说:"对。"
那个工程师没有说话了,往后退了一步,就站在那里,盯着纸,像是在脑子里自己跟着画这张图。
机房里另外几个也在看,都不说话,但所有人都在看那张纸而不是看屏幕了。这四个方块说的事情,比73条报告更简单:AI调度层已经烂了,修不了,但它下面的硬件控制接口还是干净的,往那里写一套新的极简调度逻辑,硬件就能重新听话,上面那层烂掉的代码完全可以无视。
等于不管大脑还能不能用,直接绕过去给脊髓写指令。
陆辰开始敲。右手在键盘上,左手偶尔在白纸上补一笔。那个同步双轨的动作,在机房里显得很奇怪,但陆辰没有意识到这件事,他就是这样工作的,键盘和纸从来不是两件事,是同一件事的两只手。
……
大概过了四十分钟,陆辰停下来,往上推了一下椅子,靠着椅背,看着屏幕。
绕过逻辑写了一大半了。
就在这个时候,虫子的窗口右下角弹了一个小方块——**扫描结果,是虫子在他工作的时候一直在跑的那部分。
陆辰点开它。
> 虫子(补充分析):**扫描发现上游关联风险。本服务器供电调度AI崩溃属于独立故障,但本服务器供电系统与市电网络存在上游对接节点。若市电力公司配电网AI处于同步崩溃状态,本服务器供电修复完成后、接通市电的瞬间,上游配电网将向本系统注入不合规的电压指令,导致修复结果在接通时刻被再次击穿。建议确认市电力公司配电网AI当前状态。(注:本系统与市电配电网共享同一上游调用库,崩溃传播路径可能存在关联。)
陆辰把手从键盘上移开了。
他转向方岳。"市电力公司那边,配电网AI的状态,你知道吗?"
方岳愣了一秒。"什么意思?"
"我修完这边,要接市电。如果市电那边的调度AI也崩了,接通的时候会把这里再次击穿。"陆辰的语气很平,没有任何起伏,"你打电话问一下。"
方岳掏出手**出去,等了大概十五秒,接通了,他说了几句,对方回答,他的脸色随着那个回答一点一点地沉下去。
挂掉电话,他说:"配电网AI确实崩了。市电力公司说……他们不知道怎么修。"
发电机的轰鸣声一直在,什么都没有变,但这一刻那轰鸣声反而变得格外清晰——因为所有人都停了,没有人打字,没有人走动,连空调循环的嗡嗡声都好像退到了很远的地方。
陆辰低下头,看了一眼屏幕右下角。
备用电源剩余时长:一小时四十七分钟。
……
问题变了。
原来的问题是:在四小时内修好这台服务器的供电系统。
现在的问题是:修好供电系统,同时写一道临时的电压隔离逻辑,让这台服务器接通市电的时候先切断与上游配电网AI的调度通信,单独运行,不依赖上游指令,等于在修复里再套一层防火墙,让它即使上游是烂的,接进来的电也是稳定的。
相当于在换引擎的同时,还要给油管安一个过滤器。
而且是在一小时四十七分钟之内。
戴眼镜的工程师站在原地,两手握在一起,手指扣着手指。最靠里的那个,把目光从屏幕上挪开,慢慢落到陆辰背影上,停在那里。
没有人说话。也没有人说"做不到",因为"做不到"这三个字比沉默还要难开口……说出来,就是在宣布放弃。
陆辰已经把椅子往回拉了,重新坐正,手回到键盘上。
"那就快点修,"他说,语气和发电机的轰鸣一样平稳,"修完这个去下一个。"
键盘的敲击声响起来了。
没有任何额外的动作,就是这一句话,和随后第一个键被按下的声音。
周彦低头看了看地面,然后抬起来,往门口那个方向望了一眼,外面是走廊,走廊尽头是电梯,电梯外面是这座还没有停止出问题的城市。
陆辰推门进来的时候,有两三双眼睛往他这边转了一下,随即转回去了。
那种自尊心和求助欲撑在一起的别扭,他们需要他,但谁也不打算先开口说这件事。
陆辰走到靠墙的一**作台前,把帆布包放下,取出那台旧笔记本。合页嘎吱一声,屏幕亮起来。他把笔记本斜放在桌上,往右边稍微倾了倾——他惯用右手打字,左手要留出来写字。从包的侧边袋摸出一支笔和一张白纸,放在左边。
"虫子,"陆辰敲了几下,"扫这台服务器的供电调度AI,从入口函数开始,标异常。"
虫子启动了。终端窗口刷出第一行字,第二行,第三行——分析报告开始生成。
机房里没有人走动了。
一开始还有人在键盘上按了两下,后来停了。椅子轻轻转向陆辰那边。那个滚日志的屏幕还在滚,但没有人再看它……。七秒,扶着机架的工程师把手从侧板上拿开了,双手垂下来;二十秒,戴眼镜的那个悄悄把椅子往前挪了几厘米,身子微微前倾;一分钟,机房里能听到别人的呼吸声了,因为发电机的轰鸣之外,其他所有动静都停了。
虫子的报告出来了。
全是等宽字体,白底黑字,行与行之间没有装饰间距,看起来就是一篇密密麻麻的技术文档。但文档里每一行代码后面,都跟着一句注释。
那些注释,是他们见过的最奇怪的东西。
供电调度AI的那套代码,他们公司自己的AI调试工具走进去就撞了壁——"分析深度超出上限,终止",就像一个人走到悬崖边上往下看了一眼,摇摇头走开了。但虫子走下去了。虫子一路走到了第4700层,走到每个死循环的当中,站在里面,往外写了一张地图。
"此节点形成逻辑死循环,条件永远为真,执行到此处后永不退出。"
"此模块调用了一个三年前已被注释删除的外部依赖,调用语句依然存在,指向空指针。"
"此处判断逻辑与上游模块存在矛盾,上游传入值域为[0, 1],本模块预期值域为[2, 5],相交集合为空。"
一行一行,73条。
周彦站在陆辰的斜后方,他没有出声,但他的手指停在了键盘边沿上,停着没有动。最后他说了一句:
"我们公司AI调试工具,最大分析深度是200层。"
没有人回应他,但机房里的空气停了一拍。
报告末尾,虫子自动附上了一行:
> 虫子:"嵌套深度4700层。写这套系统的AI的选择是:在200层就能完成的事,用了4700层完成。这不是过度设计,这是代码界的行为艺术。"
角落里有人轻轻咳了一声,像是笑了一下又压回去了。
……
陆辰把那页报告往左边推了推,拿起笔,开始在白纸上画。
他画的是一种随意的逻辑草图——几个方块,几根箭头,在某些连接点上打叉,在某些地方画了一个圆圈,圆圈里写了两个字:绕开。
方岳这时候往陆辰的方向靠近了几步,低下头往白纸上看了一眼,脸上是那种努力表现出"我在看"的表情,但停了不到三秒,又退回去了,纸上那几个方块和箭头,他不知道在说什么。他重新站回靠门的位置,手放进口袋,又拿出来,换了个姿势站。
戴眼镜的工程师走过来了。他没有绕到前面,只是站在侧后方,往纸上盯了更长时间……大约十来秒,开口问了一句:"你是要绕过AI层直接接硬件?"
陆辰没有停笔,说:"对。"
那个工程师没有说话了,往后退了一步,就站在那里,盯着纸,像是在脑子里自己跟着画这张图。
机房里另外几个也在看,都不说话,但所有人都在看那张纸而不是看屏幕了。这四个方块说的事情,比73条报告更简单:AI调度层已经烂了,修不了,但它下面的硬件控制接口还是干净的,往那里写一套新的极简调度逻辑,硬件就能重新听话,上面那层烂掉的代码完全可以无视。
等于不管大脑还能不能用,直接绕过去给脊髓写指令。
陆辰开始敲。右手在键盘上,左手偶尔在白纸上补一笔。那个同步双轨的动作,在机房里显得很奇怪,但陆辰没有意识到这件事,他就是这样工作的,键盘和纸从来不是两件事,是同一件事的两只手。
……
大概过了四十分钟,陆辰停下来,往上推了一下椅子,靠着椅背,看着屏幕。
绕过逻辑写了一大半了。
就在这个时候,虫子的窗口右下角弹了一个小方块——**扫描结果,是虫子在他工作的时候一直在跑的那部分。
陆辰点开它。
> 虫子(补充分析):**扫描发现上游关联风险。本服务器供电调度AI崩溃属于独立故障,但本服务器供电系统与市电网络存在上游对接节点。若市电力公司配电网AI处于同步崩溃状态,本服务器供电修复完成后、接通市电的瞬间,上游配电网将向本系统注入不合规的电压指令,导致修复结果在接通时刻被再次击穿。建议确认市电力公司配电网AI当前状态。(注:本系统与市电配电网共享同一上游调用库,崩溃传播路径可能存在关联。)
陆辰把手从键盘上移开了。
他转向方岳。"市电力公司那边,配电网AI的状态,你知道吗?"
方岳愣了一秒。"什么意思?"
"我修完这边,要接市电。如果市电那边的调度AI也崩了,接通的时候会把这里再次击穿。"陆辰的语气很平,没有任何起伏,"你打电话问一下。"
方岳掏出手**出去,等了大概十五秒,接通了,他说了几句,对方回答,他的脸色随着那个回答一点一点地沉下去。
挂掉电话,他说:"配电网AI确实崩了。市电力公司说……他们不知道怎么修。"
发电机的轰鸣声一直在,什么都没有变,但这一刻那轰鸣声反而变得格外清晰——因为所有人都停了,没有人打字,没有人走动,连空调循环的嗡嗡声都好像退到了很远的地方。
陆辰低下头,看了一眼屏幕右下角。
备用电源剩余时长:一小时四十七分钟。
……
问题变了。
原来的问题是:在四小时内修好这台服务器的供电系统。
现在的问题是:修好供电系统,同时写一道临时的电压隔离逻辑,让这台服务器接通市电的时候先切断与上游配电网AI的调度通信,单独运行,不依赖上游指令,等于在修复里再套一层防火墙,让它即使上游是烂的,接进来的电也是稳定的。
相当于在换引擎的同时,还要给油管安一个过滤器。
而且是在一小时四十七分钟之内。
戴眼镜的工程师站在原地,两手握在一起,手指扣着手指。最靠里的那个,把目光从屏幕上挪开,慢慢落到陆辰背影上,停在那里。
没有人说话。也没有人说"做不到",因为"做不到"这三个字比沉默还要难开口……说出来,就是在宣布放弃。
陆辰已经把椅子往回拉了,重新坐正,手回到键盘上。
"那就快点修,"他说,语气和发电机的轰鸣一样平稳,"修完这个去下一个。"
键盘的敲击声响起来了。
没有任何额外的动作,就是这一句话,和随后第一个键被按下的声音。
周彦低头看了看地面,然后抬起来,往门口那个方向望了一眼,外面是走廊,走廊尽头是电梯,电梯外面是这座还没有停止出问题的城市。
阅读下一章(解锁全文)
点击即可畅读完整版全部内容
相关书籍
友情链接