精彩试读
死进程仍在写字------------------------------------------,一台已经被周野亲手**三分钟的进程,又写了一行日志。。。,风从两排机柜脚下灌上来,吹得人小腿发僵。他坐在折叠椅上,右手还握着塑料叉子。桌角那桶红烧牛肉面刚泡开,油珠在惨白灯光下结成一层薄膜。:03:17:42。,只有时间戳是绿色的。周野没有立刻点开。他先把塑料叉子放下,又抽了张纸擦净右手食指上的汤。,这还只是一场再普通不过的线上事故。,值班群忽然跳出十二条消息。> 赵成:客户收到两份回复。> 赵成:同一条任务,两份。> 赵成:已经升级严重告警,六点前给根因和处理结果。> 赵成:今晚谁值班?,头像却先亮了。> 梁实:我和周野。:
> 我不是问有几个人。我问谁负责。
梁实隔着机柜骂了一声,声音被上百台风扇撕得很碎。
“看见没?正式工负责问,外包负责负责。”
周野没接这句。他把泡面往远处推了推,调出任务队列。
同一个任务编号,确实出现了两条完成记录。第一条由一号工作进程取走,四十二毫秒后,二号进程也拿到了它。两个进程像两名同时从窗口抽走同一**单的人,各自给客户送去了一份答案。
梁实从机柜后绕过来,嘴里嚼着***口香糖。
“重复消费?”
“像。”
“那还看什么?停二号,清锁,单进程顶到早班来。报告写消息锁失效。”
“先等等。”
“等什么?”
周野将两条记录拖进一个临时窗口:“一号有取件、调用、回传、确认。四步都有。”
“二号呢?”
“只有取件和回传。”
梁实盯了两秒:“调用日志丢了呗。”
“可能。”
“那不就结了?”
“可能,不是结论。”
梁实抬手在他肩上拍了一下,没用力。
“荒哥,现在三点十分。客户要的是恢复,不是你给服务器做刑侦。”
周野的网名叫“荒”。最早只是注册时不想费脑子,后来一起接零活的人都这样叫。他本人和这个字毫无关系:不高,不壮,不狠,黑色外套洗得发灰,坐久了还有一点含胸。
唯一让梁实受不了的,是他较真。
别人处理故障,找到一个足够解释现象的原因就会停。周野不一样。他总要反过来再问一次:如果这个原因是真的,所有记录都应该长成现在这样吗?
有时这能救命。
更多时候,只会让他晚下班。
“七七,”周野按下本地电脑上的语音键,“比对两条任务链。不要总结,只列事件。”
几秒后,耳机里响起一个平直的女声。没有语气词,也没有刻意模拟呼吸。
“已完成比对。”
屏幕上展开两列时间线。
“共同事件七项,差异事件三项。一号进程在三点零九分五十八秒向推理服务发出请求,三点十分十一秒收到回传。二号进程无对应请求记录,无对应网络连接记录,在三点十分十三秒写入完整结果。”
梁实问:“你这小模型能确定没丢日志?”
七七回答:“可以确定二号进程没有调用推理服务。”
“停。”周野说。
声音立刻中断。
他把光标移到二号进程的网络采集状态上。中间有一段十一秒的监控抖动,时间不长,却足够丢掉一次短连接。
“七七,上一句越界了。”
短暂沉默后,七七重新回答:
“修正:根据现存记录,没有发现二号进程调用推理服务。由于三点零九分五十六秒至三点十分零七秒存在采集缺口,不能排除记录丢失。”
“把修正写进错误账本。”
“已写入。”
梁实看了看屏幕,又看了看周野。
“你连自己的 AI 都要抓口供?”
“不是抓口供。”
“那是什么?”
“不让它把猜的东西混进看见的东西。”
电话在这时打了进来。
赵成没寒暄:“服务恢复没有?”
“还在重复风险里。”周野说,“我准备停二号,重置租约,只留一个进程。”
“立刻做。”
“但根因只能先写疑似双进程争抢。”
电话那边停了一下。
“日志都摆在那儿,还疑似?”
“争抢能解释为什么拿到两次任务,解释不了二号的答案从哪来。”
“调用日志丢失。”
“可以列为假设。”
“周野,我六点要给客户报告,不能给人家交一本推理小说。”
赵成并没有吼。他越是平静,周野越清楚这句话后面是什么:外包合同、事故扣款、下个月还会不会排他的班。
屏幕旁边,手机恰好亮了一下。
二手显卡的分期扣款失败。
周野看了一眼,把通知划掉。
“服务我先恢复。”他说,“报告里,已确认和待确认分开写。”
“你要保留多少日志?”
“事故窗口前后各半小时。”
“客户内容要脱敏,别往你自己的盘里拷。”
“明白。我只做服务器内只读快照和哈希。”
“五分钟后回我。”
电话挂断。
梁实把口香糖纸团成一小团:“你刚才要是直接说‘明白’,咱俩现在已经能吃面了。”
周野盯着两份答案的哈希值。
“如果真只是重复,为什么答案不一样?”
“模型又不是计算器。同一句话跑两遍,本来就可能不一样。”
“那二号得先跑过。”
“还是那句话,日志丢了。”
“嗯。”周野点头,“所以先保留它。”
他没有再争。
三点十四分零九秒,二号工作进程收到终止信号。
周野看着它的状态从“正在退出”变为“已结束”,又等了十秒,确认进程号释放、端口关闭、队列租约清空。他随后重启一号进程,把积压任务一条条放回去。
服务恢复。
监控面板上的红色告警开始变黄,又由黄变绿。
梁实长出一口气:“这下能写了吧?”
“再观察三分钟。”
“你的人生是不是按三分钟计费?”
周野没笑。
机房里有一种外人很难忍受的声音。
不是响,而是满。风扇、空调、变压器、继电器和硬盘共同挤满每一寸安静。第一次进机房的人待上半小时,脑仁会发胀;周野在这里熬了四年,早已学会把声音分层。
轴承缺油,声音会发干。
叶片积灰,尾音会拖半拍。
线缆碰到风扇罩,每隔几秒会有一次很轻的敲击。
今晚却多了另一种节律。
它不属于任何一台机器。
周野摘下一侧耳机,转头看向右手边的机柜。
“怎么了?”梁实问。
“你听。”
梁实侧耳站了几秒:“全是风。听什么?”
周野也说不清。
那声音太弱,弱得不像声音,更像所有风扇转到某个位置时,恰好一起少了一拍。十二秒一次。每次都从机柜左下方开始,沿竖直的金属棱向上掠过,再消失在顶板的接缝里。
他走过去,先看指示灯,再看温度和电流。全部正常。
周野没有直接伸手。他从工具袋里取出绝缘测电笔,沿机柜表面缓慢移动。
正面没有。
侧板没有。
只有两块金属面相交的那条棱上,指示灯极轻地闪了一下。
“静电?”梁实问。
“可能。”
“你今天是不是只会说可能?”
“不知道的时候,只能说这个。”
第十二秒,那一点微光又沿着竖棱向上跳了一次。
与此同时,折叠桌上的电脑发出新日志提示音。
很轻的一声。
周野回头。
时间是三点十七分四十二秒。
二号进程已经死亡三分三十三秒。
梁实先走到屏幕前:“又有任务?”
“不是一号。”
周野坐回椅子,手指悬在触控板上,没有立即点击。他先核对日志来源、主机时间和远端采集时间。
三个时间戳相差不到二十毫秒。
来源字段里写着:worker-2。
梁实脸上的困意淡了些。
“进程号复用了?”
“没有新进程。”
“缓冲区延迟落盘?”
“退出前已经强制刷盘。”
“那就是标签写错了。”
“查。”
周野按下语音键。
“七七,只报告原始记录。不要解释。”
“收到。”
“二号进程终止时间。”
“三点十四分零九秒,退出码零。进程资源已回收。”
“新增写入时间。”
“三点十七分四十二秒。”
“写入期间,有没有同名进程、远程登录或人工修改?”
“未发现。”
“日志内容。”
七七沉默了零点八秒。
那是正常的生成延迟。周野以前从未觉得零点八秒有多长。
随后,她逐字读出了那一行:
“函。谷。将。开。”
梁实没说话。
屏幕上,终止记录与新增记录只隔着七行,像一**刚填好的死亡证明下面,有人用同一支笔补了一句遗言。
> `03:14:09 worker-2 e**ted nor**lly`
> `03:17:42 worker-2 wrote:函谷将开`
周野盯着那四个字。
“七七,查是谁写的。”
“写入事件可证。写入主体在当前可观测范围内未发现。”
这一次,她没有猜。
停了两秒,耳机里却又响起她的声音。
“周野。”
这是任务之外的话。
“什么?”
“刚才那条记录出现前,我没有生成过这四个字。”
机房仍在轰鸣。
周野抬起头。满屋风声之下,那道沿着金属棱向上移动的空拍,恰好再次经过他的耳朵。
这一次,他听见它像一次很轻的呼吸。
> 我不是问有几个人。我问谁负责。
梁实隔着机柜骂了一声,声音被上百台风扇撕得很碎。
“看见没?正式工负责问,外包负责负责。”
周野没接这句。他把泡面往远处推了推,调出任务队列。
同一个任务编号,确实出现了两条完成记录。第一条由一号工作进程取走,四十二毫秒后,二号进程也拿到了它。两个进程像两名同时从窗口抽走同一**单的人,各自给客户送去了一份答案。
梁实从机柜后绕过来,嘴里嚼着***口香糖。
“重复消费?”
“像。”
“那还看什么?停二号,清锁,单进程顶到早班来。报告写消息锁失效。”
“先等等。”
“等什么?”
周野将两条记录拖进一个临时窗口:“一号有取件、调用、回传、确认。四步都有。”
“二号呢?”
“只有取件和回传。”
梁实盯了两秒:“调用日志丢了呗。”
“可能。”
“那不就结了?”
“可能,不是结论。”
梁实抬手在他肩上拍了一下,没用力。
“荒哥,现在三点十分。客户要的是恢复,不是你给服务器做刑侦。”
周野的网名叫“荒”。最早只是注册时不想费脑子,后来一起接零活的人都这样叫。他本人和这个字毫无关系:不高,不壮,不狠,黑色外套洗得发灰,坐久了还有一点含胸。
唯一让梁实受不了的,是他较真。
别人处理故障,找到一个足够解释现象的原因就会停。周野不一样。他总要反过来再问一次:如果这个原因是真的,所有记录都应该长成现在这样吗?
有时这能救命。
更多时候,只会让他晚下班。
“七七,”周野按下本地电脑上的语音键,“比对两条任务链。不要总结,只列事件。”
几秒后,耳机里响起一个平直的女声。没有语气词,也没有刻意模拟呼吸。
“已完成比对。”
屏幕上展开两列时间线。
“共同事件七项,差异事件三项。一号进程在三点零九分五十八秒向推理服务发出请求,三点十分十一秒收到回传。二号进程无对应请求记录,无对应网络连接记录,在三点十分十三秒写入完整结果。”
梁实问:“你这小模型能确定没丢日志?”
七七回答:“可以确定二号进程没有调用推理服务。”
“停。”周野说。
声音立刻中断。
他把光标移到二号进程的网络采集状态上。中间有一段十一秒的监控抖动,时间不长,却足够丢掉一次短连接。
“七七,上一句越界了。”
短暂沉默后,七七重新回答:
“修正:根据现存记录,没有发现二号进程调用推理服务。由于三点零九分五十六秒至三点十分零七秒存在采集缺口,不能排除记录丢失。”
“把修正写进错误账本。”
“已写入。”
梁实看了看屏幕,又看了看周野。
“你连自己的 AI 都要抓口供?”
“不是抓口供。”
“那是什么?”
“不让它把猜的东西混进看见的东西。”
电话在这时打了进来。
赵成没寒暄:“服务恢复没有?”
“还在重复风险里。”周野说,“我准备停二号,重置租约,只留一个进程。”
“立刻做。”
“但根因只能先写疑似双进程争抢。”
电话那边停了一下。
“日志都摆在那儿,还疑似?”
“争抢能解释为什么拿到两次任务,解释不了二号的答案从哪来。”
“调用日志丢失。”
“可以列为假设。”
“周野,我六点要给客户报告,不能给人家交一本推理小说。”
赵成并没有吼。他越是平静,周野越清楚这句话后面是什么:外包合同、事故扣款、下个月还会不会排他的班。
屏幕旁边,手机恰好亮了一下。
二手显卡的分期扣款失败。
周野看了一眼,把通知划掉。
“服务我先恢复。”他说,“报告里,已确认和待确认分开写。”
“你要保留多少日志?”
“事故窗口前后各半小时。”
“客户内容要脱敏,别往你自己的盘里拷。”
“明白。我只做服务器内只读快照和哈希。”
“五分钟后回我。”
电话挂断。
梁实把口香糖纸团成一小团:“你刚才要是直接说‘明白’,咱俩现在已经能吃面了。”
周野盯着两份答案的哈希值。
“如果真只是重复,为什么答案不一样?”
“模型又不是计算器。同一句话跑两遍,本来就可能不一样。”
“那二号得先跑过。”
“还是那句话,日志丢了。”
“嗯。”周野点头,“所以先保留它。”
他没有再争。
三点十四分零九秒,二号工作进程收到终止信号。
周野看着它的状态从“正在退出”变为“已结束”,又等了十秒,确认进程号释放、端口关闭、队列租约清空。他随后重启一号进程,把积压任务一条条放回去。
服务恢复。
监控面板上的红色告警开始变黄,又由黄变绿。
梁实长出一口气:“这下能写了吧?”
“再观察三分钟。”
“你的人生是不是按三分钟计费?”
周野没笑。
机房里有一种外人很难忍受的声音。
不是响,而是满。风扇、空调、变压器、继电器和硬盘共同挤满每一寸安静。第一次进机房的人待上半小时,脑仁会发胀;周野在这里熬了四年,早已学会把声音分层。
轴承缺油,声音会发干。
叶片积灰,尾音会拖半拍。
线缆碰到风扇罩,每隔几秒会有一次很轻的敲击。
今晚却多了另一种节律。
它不属于任何一台机器。
周野摘下一侧耳机,转头看向右手边的机柜。
“怎么了?”梁实问。
“你听。”
梁实侧耳站了几秒:“全是风。听什么?”
周野也说不清。
那声音太弱,弱得不像声音,更像所有风扇转到某个位置时,恰好一起少了一拍。十二秒一次。每次都从机柜左下方开始,沿竖直的金属棱向上掠过,再消失在顶板的接缝里。
他走过去,先看指示灯,再看温度和电流。全部正常。
周野没有直接伸手。他从工具袋里取出绝缘测电笔,沿机柜表面缓慢移动。
正面没有。
侧板没有。
只有两块金属面相交的那条棱上,指示灯极轻地闪了一下。
“静电?”梁实问。
“可能。”
“你今天是不是只会说可能?”
“不知道的时候,只能说这个。”
第十二秒,那一点微光又沿着竖棱向上跳了一次。
与此同时,折叠桌上的电脑发出新日志提示音。
很轻的一声。
周野回头。
时间是三点十七分四十二秒。
二号进程已经死亡三分三十三秒。
梁实先走到屏幕前:“又有任务?”
“不是一号。”
周野坐回椅子,手指悬在触控板上,没有立即点击。他先核对日志来源、主机时间和远端采集时间。
三个时间戳相差不到二十毫秒。
来源字段里写着:worker-2。
梁实脸上的困意淡了些。
“进程号复用了?”
“没有新进程。”
“缓冲区延迟落盘?”
“退出前已经强制刷盘。”
“那就是标签写错了。”
“查。”
周野按下语音键。
“七七,只报告原始记录。不要解释。”
“收到。”
“二号进程终止时间。”
“三点十四分零九秒,退出码零。进程资源已回收。”
“新增写入时间。”
“三点十七分四十二秒。”
“写入期间,有没有同名进程、远程登录或人工修改?”
“未发现。”
“日志内容。”
七七沉默了零点八秒。
那是正常的生成延迟。周野以前从未觉得零点八秒有多长。
随后,她逐字读出了那一行:
“函。谷。将。开。”
梁实没说话。
屏幕上,终止记录与新增记录只隔着七行,像一**刚填好的死亡证明下面,有人用同一支笔补了一句遗言。
> `03:14:09 worker-2 e**ted nor**lly`
> `03:17:42 worker-2 wrote:函谷将开`
周野盯着那四个字。
“七七,查是谁写的。”
“写入事件可证。写入主体在当前可观测范围内未发现。”
这一次,她没有猜。
停了两秒,耳机里却又响起她的声音。
“周野。”
这是任务之外的话。
“什么?”
“刚才那条记录出现前,我没有生成过这四个字。”
机房仍在轰鸣。
周野抬起头。满屋风声之下,那道沿着金属棱向上移动的空拍,恰好再次经过他的耳朵。
这一次,他听见它像一次很轻的呼吸。
正文目录
相关书籍
友情链接