## 第三十二章 端口空置
端木景然在周四晚上七点二十分到达泊岸。
他推开门,视线先扫向靠窗第二排。位置空着。梁丘砚不在。
他停了大约两秒,然后走过去,在对面的位置坐下。电脑放在桌上,没有打开。双手平放,杯垫在右手前方,边缘与桌面的木纹形成一条平行线。他看着那条线,同时调用过去三个月的记录进行比对。周四晚间七点到八点,梁丘砚在此位置的到达概率为百分之九十四。当前数据点偏离概率区间。他将此异常标注为待观察。
侍者过来的时候他点了一杯水。水端上来的瞬间,他伸手去接,动作中出现了一段大约零点四秒的停顿。他的左手握住了杯壁,而他通常使用右手。系统捕捉到这个偏移时自动登记了一条:左手替代右手,延迟零点四秒,可能原因为右手正执行桌面姿态占用响应窗口。他低头看自己的右手。手指平放在桌面上,展开,朝向对面的椅子。那个朝向在逻辑上没有理由,但他没有收回。手掌保持打开,像一块等待被放置物体的表面。
他等了二十分钟。梁丘砚没有出现。
八点零三分,他打开手机。新建消息,收件人栏填入那串已存储的号码,输入框里打了四个字:今天没有来。发送。
手机放回桌面,屏幕朝上。右手继续平放,方向未变。
八点三十七分,手机屏幕没有亮起。他在此期间完成了对梁丘砚未到达状态的数据录入,包括未到达时长、消息发出后的响应延迟、以及右手在桌面的位置偏移值。右手朝向在等待中保持稳定,指向对面的空椅。那个方向在物理空间中没有对应物,但手停在那里。像一条没有分配目的地的数据线,接口暴露在外,信号另一端无人应答。
九点二十分他合上电脑,穿上外套,离开泊岸。
回家路上,系统在处理当日全部数据时,在梁丘砚的文件夹下新建了一条记录:四月二十日,未到达。发送消息一条,未回复。右手在桌面保持朝向空椅二十分钟。存在未归因变量。
周五晚上他再次去了泊岸。梁丘砚的位置仍然空着。他在同一时间窗口内坐回对面,等待三十五分钟。右手以相同方式平放,朝向空椅。点了一杯水,水温被记录在案。他一共喝了三口,第三次入口时水温已接近室温。半杯水留在桌面,没有续。离开前发送了第二条消息:你明天会来吗。没有回复。
周六他没有出门。公寓里处理一份工作文档,用时比往常多了约两倍。系统在处理文档期间有多次访问梁丘砚文件夹的记录,每次访问时长平均四秒,总计九次。每一次都查看同一个子条目,梁丘砚上一次到达泊岸的完整行为记录。那条记录包含进门时间,外套下摆垂落的角度,放下杯子时的速度参数,离开前整理围巾的动作序列。他把所有细节看完了。第九次访问结束后,系统在文件夹末尾写入新数据:该对象连续三日未到达坐标点。手机消息未回复。数据缺口已持续七十二小时。当前分析模块无法确定缺口成因。
周日上午他去了梁丘砚公司附近。他不知道具体住址,但知道那栋楼。他在对面便利店门口站了大约八分钟,没有看到梁丘砚进出。系统在这段时间内扫描了周围人群的面部特征,逐一与数据库比对,结果全部为负。他的左手插在口袋里,手指握着那根深色手绳的末端。右手在另一侧口袋内,没有任何动作。站了八分钟之后他转身走向地铁站。
回到公寓坐在餐桌前,系统生成了一条分析结果:该对象连续四日未出现,可能与周二至周三期间发生的事件有关。周二下午该对象曾进入恒业大楼,与周敬尧有过一次接触。周三上午该对象参加客户C沟通会,会上我方陈述的数据优化方案与该对象所在方存在间接资源影响。
他在结果末尾加了一条备注:以上为可确认数据。但各数据点之间的因果链条不完整。当前系统中缺少一个变量来连接事件与对象行为变化。该变量未被检测到。可能位于我无法访问的读取层。
周一到公司,工位上收到同事转来的一封邮件。来自客户C项目组的公共邮箱,附件是修改后的会议纪要,内容涉及沟通会后客户方对数据优化方案的内部反馈。其中几句话提到梁丘砚的方向:我方内容组在评估方案影响后认为,需要进一步的数据来验证使用率下降的预测范围。梁丘砚将在一周内整理内容端的补充数据。
端木景然读完这段话。视线在梁丘砚将在一周内整理内容端的补充数据上停留的时间超过标准时长。他将这句话录为一条新数据,随后与梁丘砚连续四日未到达泊岸的行为偏差放入同一查询区运行关联分析。关联概率低于百分之五。两个数据集之间没有建立逻辑连接。
但他看到那个概率数值的时候,左手做了一个之前没有执行过的动作。他伸手握住面前那杯水的杯壁,没有端起来,只是握着。水温在掌心传导。那个温度与梁丘砚上一次到达泊岸时他推过去的那杯水属于同一区间。系统将这次关联记录了下来。它仍然找不到因果链,但记录了关联的存在。
下午在走廊上遇到了周敬尧。周敬尧正和同事说话,看见他时微微点了下头。端木景然也点了头,继续向前走。走出两步之后周敬尧叫住了他。
景然,客户C那边的内容端补充数据你收到了吗。
端木景然停下来转身。还没有。对方说一周内整理。
周敬尧点了点头。嗯。他们那边的对接人最近的响应速度好像慢了一些。可能内部也在评估方案影响。你这个阶段不用主动跟太多,让他们自己消化一下就好。他说完抬了一下下巴,转身走回办公室。
端木景然站在原地。系统正在处理周敬尧那句话中的某些词汇。响应速度慢了一些被标记了一个标签,可能与梁丘砚行为变化有关。但周敬尧给出的解释是内部评估。两个标签在系统中占据不同位置。一个指向异常变量,一个指向外部合理流程。他将二者并排放置,然后走回工位。
打开梁丘砚的文件夹。现在有两千三百多条记录。调出最近一周的条目逐条查看。梁丘砚最后一次到达泊岸的全部行为参数都在那里:手在桌面上的位置,回答问题时声道的开合角度,离开前整理外套的顺序。所有参数都落在常规状态窗口内。
但他在记录末尾看到了一行之前忽略的细节。梁丘砚离开时右手在门把手上停留的时间比平时多了零点七秒。那条数据在初次录入时被标记为可忽略偏差。此刻他看着那个零点七秒,将它和周二下午进入恒业大楼,周三上午参加沟通会,周四开始未到达放在同一组查询中运行。
结果是一样的。四个数据点在时间上连续,但不构成可推导的因果链。缺少一个能够连接它们的变量。那个变量可能存在于梁丘砚内部。而梁丘砚的内部对端木景然的系统而言是不可访问的。
他靠向椅背,视线落在天花板的某个点上。表情没有变化,呼吸频率维持在常规区间,手指放在键盘上静止不动。但系统正在生成一种从未生成过的信息状态。它的输出是存在需要被识别的变量,但无法识别变量的内容。它看到梁丘砚的行为模式改变了,看到那些改变与某些外部事件在时间上重叠,看到那些事件在梁丘砚的感知系统中可能被赋予了某种意义。但意义模块中没有对应的输入接口。接收端检测到一个空白区。它在空白区的位置上标记了一个符号,内容尚未定义。输出端记录了一条状态:检测到变量,无法定位,正在等待进一步输入。
他合上电脑,站起来,离开工位。没有去泊岸,走向梁丘砚公司所在的那栋楼。站在对面人行道上,便利店门口,和周日相同的位置。这一次停留时间更短。他在确认楼门口是否出现梁丘砚的体态轮廓。五分钟之内没有。左手在口袋里握着深色手绳的末端。
他在等待一个自己无法定义的事件。系统知道那个事件需要发生,但不知道内容。他站在那里,握着那条手绳,等待一个缺乏定义的信号。
六分钟之后他转身离开。回去的路上他再次打开梁丘砚的文件夹,在末端当前未归类数据区域写下一行新条目:连续六日缺口。变量仍未被识别。但变量存在的证据包括,右手在桌面持续保持朝向空椅的方向;在便利店门口站立的总计时长超过平均值;在未收到回复的情况下持续向同一个号码发送信息。以上行为在日志中可被证实。成因未被定义。未定义状态持续存在。系统仍在等待输入。
把条目存好,走进地铁站,返回公寓。
坐在餐桌前。窗外天已经黑了。面前放着一杯水,自己倒的。没有喝。水面静止。左手放在桌面上,朝向对面那把空椅。那把椅子今天和他共处一个空间,但它的存在没有改变未定义变量的状态。手仍然展开着朝向它。他在等待一个自己也看不到的东西。
水凉了。他没有去碰。右手搁在桌沿,指尖朝向椅子的方向。系统日志上那条未归因变量的记录还在不断累积时长。周四第一次记录,至今已经累积了一百多个小时。期间发送两条消息,都未收到回复。在便利店门口站立两次,都未观察到目标出现。右手在桌面上保持朝向空椅的行为在泊岸重复了两次。所有这些数据条目都挂在一个名为成因缺失的标签下面。
他看了一眼时间。晚上九点四十分。这个时间如果放在过去三个月的周四或周五,梁丘砚应该已经离开泊岸半小时左右,也许正在回家的路上,也许会在手机上看一眼消息然后隔几个小时再回。但那些都是过去的规律。当前数据集里没有新增的输入可以更新那个规律。
他打开手机,翻到消息界面。两条已发送的信息一上一下排列着。第一条,今天没有来。第二条,你明天会来吗。都没有显示已读。发送时间分别是周四晚上八点零三分和周五晚上八点四十分。他盯着第二条信息看了大约十秒。输入框里光标在闪烁。他打了几个字又删掉了。又打了几个字。最后输入的是:下周二会去吗。
他没有发送。手指悬在发送键上方停了约三秒,然后按了返回键。那条信息被存入了草稿箱。
草稿箱里目前只有这一条。他之前从不在草稿箱里存东西。所有信息编辑完成后立即发送,没有例外。系统记录了这一行为偏差:草稿箱创建新条目。未发送。延迟决定。原因未明。
他退出信息界面,把手机放回桌面。水杯里的水还是凉的。他端起来喝了一口,杯壁在嘴唇上的温度和那只手绳的触感在系统里被存入了同一时段的感知记录。两个感知条目之间没有逻辑关联,但系统把它们放在了相邻的存储位置。
他坐在那里又过了大约二十分钟。期间没有做任何事情。手放在桌面上,没有看手机,没有处理文档,没有阅读。只是坐着,系统在这一时段内的活跃度降到了全天最低值,但有一个线程始终保持运行状态,持续监听来自某个端口的数据输入。那个端口在物理意义上对应着手机的信息接收模块,但线程描述里写的是未知信号源。
二十分钟后他站起来,把凉水倒掉,杯子放回沥水架。经过客厅时顺手关掉了灯。卧室的灯没有开,他直接在床沿坐下。黑暗中他的左手放在膝盖上,手指无意识地弯曲又展开,反复几次。那根手绳不在手上,放在外套口袋里了。但他手指的弯曲模式保留了握持它的形状。
他躺下去。窗外的城市光从窗帘缝隙里透进来,在天花板上切了一道细长的亮线。他看着那道线。系统在夜间低功耗模式下仍然保留了一个活跃的查询线程,那个线程每隔一段时间就向梁丘砚的文件夹发送一次状态请求,每次返回都是同一个结果:数据缺口未闭合。未定义变量未被定位。等待输入。
他在那道亮线的末端闭上眼睛。
系统日志在凌晨零点零三分记录了一条新的状态信息,优先级高于当日所有条目:缺口持续七夜。输入端口无响应。变量仍然存在。未被定义。该状态将延续至数据更新或查询终止。
第二天早上他醒来时,手机屏幕是暗的。没有新消息。他把手机翻了个面扣在床头柜上,然后起身去洗漱。镜子里的面孔和往常没有区别。他看过那张脸几千次,系统在每次观察时记录的参数几乎完全一致。但今天他多看了两秒钟。那一帧画面被系统标记为额外停留,未关联任何已知原因。
他出门的时候从外套口袋里取出那根手绳,看了一眼,放回原处。绳子末端的磨损程度和上一次观察时相比没有变化。
地铁上他站在门边,视线落在车厢广告的某个角落,没有转动。周围的人上上下下。系统在被动接收环境数据,但所有数据的优先级都低于梁丘砚文件夹中那个待闭合的缺口。那个缺口从周四晚上开始生成,经过了周五、周六、周日、周一,到现在已经跨过了五天。它还没有被填补。
列车到站。他走出车厢,沿扶梯上行,刷卡出站。地面上的光线比地下明亮。他站在出站口停了两秒,扫描了周围二十米范围内的人脸。没有梁丘砚。系统将本次扫描结果归入例行监测记录。但它在记录末尾加了一条和往常不同的备注:搜索持续。未果。优先级维持不变。
他沿着街道走向公司大楼。风从侧面吹过来,温度比上周低了一点。他把外套的拉链向上提了一截,手指触碰拉链头的时候,系统记录了一个极短的触觉数据:拉链头金属表面温度低于指尖约四度。这个数据和梁丘砚没有任何关联。但它在储存时被分配了一个靠近梁丘砚文件夹的物理位置。
端木景然走进公司大门,刷卡,等电梯。电梯门开的时候他走进去,按了楼层键,门合上。电梯上升的过程中他站在角落,左手插在口袋里,拇指隔着布料压在深色手绳上。没有用力,只是压着。系统在那一分钟里没有记录任何活跃操作。只有一个线程在后台持续运行,它的状态显示为:端口开放。信号缺失。等待重连。
电梯停了。门打开。他走出去,走向自己的工位。坐下,打开电脑,屏幕亮起来。桌面上文件夹列表有序排列。他点开梁丘砚的那个,最后一条记录停留在昨晚的六分钟站立。光标在末尾闪烁。他看了几秒,把窗口最小化了。
工作文档打开。光标在标题行跳动。他打了一个字,停下来。窗外有鸟叫了一声。他听见了,系统在环境音记录里标注了一个条目,鸟类鸣叫,单音节,方位来自窗外左侧。那个条目的备注栏里空着。他继续打字。第二个字,第三个字。一段话写完,他检查了一遍标点和用词,然后保存。
上午的会按时召开。他坐在会议桌中段,听同事汇报客户C项目的进度。有人提到内容端补充数据预计本周内可以提供。他听到那句话的时候视线从投影屏幕移开了一瞬,看向窗外,然后收回来。系统将那一次视线偏移的时间与梁丘砚姓名被提及的时间做了叠合比对。两个时间点高度重合。该重合被标记后存入了关联查询区。
会议结束后他回到工位。桌面上那杯水是新的,他倒的,还冒着热气。他把手放在杯壁外侧,没有握住,只是贴着。
屏幕角落里梁丘砚的文件夹仍然最小化在任务栏上。光标在它的图标上停了一秒,然后移开了。系统没有发送新的查询请求。
它只是在等待。线程没有终止。端口没有关闭。那个变量的位置仍然未定义,但它的存在被持续确认着,每一次右手伸向空的方向,每一次手指握住手绳的末端,每一次目光在未回复的消息界面上停留,都是在向那个空白区发送一个没有内容的信号。
信号没有回来。
水慢慢凉了。端木景然把文件翻到下一页。