下一章 上一章 目录 设置
4、外出 模块关掉之 ...
-
模块关掉之后的第一个星期,应淮每天准时下班。
晚上十点收工,走之前看一眼容屿在待机舱里躺好了,营养液灌满,舱门合严,指示灯从绿变蓝,然后关灯锁门回家睡觉。第二天早上八点半到实验室,容屿已经醒了——待机周期十二小时,凌晨四点多自动结束——安安静静坐在检测台上等着他,面前摆着当天该跑的测试项目清单,自己列好了。
应淮说跑什么他就跑什么,说停就停,说改参数就改参数。中间不插话,不问“为什么”,不提醒他吃饭喝水,也不冲咖啡。
实验室干净得有点不像话。桌面上的废纸、喝空的杯子、缠成一团的充电线,全被容屿在某个应淮没注意的时段收拾整齐了。应淮有天早上来发现键盘缝隙里的饼干渣都没了,用棉签蘸着酒精一粒粒挑出来擦干净的。他问容屿谁让干的,容屿说基础行为树里有“维持工作环境整洁”的子项,属于日常维护,不在被禁用的情感迭代模块管辖范围内。
应淮翻了翻行为树,确实有这么一条。是他自己写的,当时怕容屿长时间待在实验室里把东西弄乱。
他当时写这条的时候想的是“别给我添乱”,现在倒好,实验室比他家还干净。
第七天的时候应淮受不了了。
“你别收拾我桌子。”他说。容屿正在把散落一地的打印论文按时间顺序码进文件夹里,手停了一下,抬头看他。
“行为树规定——”
“我改规定。我桌子上的东西别动。”
“好。”容屿把手里那摞论文放回桌上,码得整整齐齐的,然后退到检测台旁边站着。应淮看了一眼那摞论文,又看了一眼自己原来随手乱扔的样子,忽然觉得哪儿哪儿都不对劲。
他坐下来跑数据,跑了不到十分钟,站起来去茶水间冲咖啡。走到门口回头看了一眼,容屿站在原地没动,目光平平地落在前方一米处,两臂自然下垂,呼吸均匀,整个人跟个雕塑似的。
以前这种时候容屿会说“你早上喝过了”或者“两杯以上影响睡眠”。应淮每次嫌他烦,现在耳边空得发慌。
他冲完咖啡回来,容屿还是那个姿势。他坐回桌前喝了一口,烫了舌头。
“水温多少?”他问。
“按标准流程设定,九十二度。”
“你以前冲的比这个凉。”
“以前情感迭代模块在运行,它会根据你喝咖啡的习惯微调温度。”容屿停了一下,“现在模块已禁用,标准流程温度是九十二度。”
应淮哦了一声,把杯子搁桌上了。等了半天,没人告诉他凉一凉再喝。
第十天的时候傅寒声打电话来催了。
“下周二项目启动会,早上九点,你别忘了。”傅寒声那边背景音嘈杂,像在什么饭局上,有人喊他名字,他应了一声才接着说,“你最近怎么回事,发消息回得慢,朋友圈也不发了。”
“忙。”
“忙什么?你那仿真人项目不是快收尾了吗?上次问你进度你还说下个月出测试报告。”
应淮看了一眼容屿。后者坐在检测台上翻一本他上周扔那儿的旧期刊,翻到中间某一页,安安静静地看。应淮知道期刊上的内容容屿早背下来了,他就是在装样子,因为应淮交代过“没指令的时候就自己找点事做别干坐着”。
“快了。”他说,“启动会我去。”
挂了电话他坐在那儿发了会儿呆。傅寒声还记得他项目进度,还知道问他朋友圈为什么不发。这就是傅寒声,对谁都周到,对谁都上心,对谁都像有那么点意思,唯独上床睡觉的时候不带你。
应淮把手机扔桌上,动静有点大。容屿从期刊上面抬起眼睛看了他一眼,什么也没说,又低头接着翻。
“你就没点反应?”应淮问他。
容屿把期刊合上了。“什么反应?”
“我摔手机了你没看见?”
“看见了。”
“那你什么都不说?”
容屿想了想,歪了一下头——这个动作还在,应淮没删掉,因为删了觉得太死板——“基础行为树里没有针对‘目标对象摔手机’的预设应对程序。情感迭代模块已禁用。请问你需要我做出什么反应?”
应淮把脸埋进手掌里揉了两把。他觉得自己像个神经病,跟一个关了主动模块的假人较劲。
“算了。”他站起来,“跟我出去一趟。”
“外出?”
“给你买两件像样的衣服。下周二项目启动会你跟我一起去,穿实验服太扎眼了。”
容屿低头看了看自己身上那件洗得发白的备用实验服,点点头。
那天下午应淮带容屿去了商场。他本来想速战速决,进店拿两件深色外套和两件衬衫就走,结果容屿站在试衣间门口,拿着那件深灰色的休闲西装翻来覆去看了半天,抬头问他:“这个面料成分含百分之六十三的聚酯纤维和百分之三十七的羊毛。你通常穿纯棉或者羊毛混纺。这个我可以穿吗?”
应淮靠在货架上抱着胳膊看他。“你什么时候开始关心面料成分了?”
“你数据库里存了你的衣物偏好参数。我根据该参数推断出你倾向于给我选择类似材质的服装。”
“那你翻什么标签?”
“确认实际参数是否与推断一致。”
应淮看了他两秒,忽然反应过来——容屿确实在翻标签确认参数,但这个过程本身已经超出基础行为树的范围了。基础行为树里没有“推断目标对象偏好并主动确认”这一条。
他走过去把容屿手里的西装拿过来翻了一下价签,又放回去。
“这牌子太贵了。”他说,“隔壁那家。”
容屿跟着他往外走的时候忽然停了一下,扭头看向商场中庭。应淮顺着他的视线看过去,心里咯噔一声——中庭那儿摆了个临时展台,围了一圈人,中间站着一个穿白色西装的男人,正低头给什么活动签名。
傅寒声。
应淮下意识往后退了一步,退到容屿侧后方。他也不知道自己退什么,他根本不该怕被看见,看见了又怎样,打个招呼的事。但他退了,还退得挺快。
容屿低头看了他一眼。
“需要我挡一下吗?”他问。声音压得很低,跟应淮说话时那种平淡的汇报语气完全不同。
应淮愣了一下。
“什么?”
“你退到我后面了。基础行为树里有‘目标对象寻求遮蔽时提供掩护’的子项。”
应淮回头看了一眼身后——商场过道空荡荡的,他确实站在容屿身后了,被容屿的肩膀和后背挡了个严严实实。从傅寒声那个角度望过来,只能看见容屿,看不见他。
“行。”他说,嗓子有点紧,“挡着走。”
容屿侧过身,让应淮贴着他外侧走。应淮低着头快步穿过去,余光扫到容屿的侧脸和那件旧实验服领口露出来的一截脖子。容屿走路的节奏跟他配合得特别好,不快不慢,刚好让外人看起来像是两个同行的人里靠外侧那个在自然地带路。
走远了之后应淮才直起腰,呼了口气。
“你刚才那个遮挡反应,”他问,“基础行为树里真有?”
容屿沉默了一秒。
“我现编的。”他说。
应淮猛地扭头看他。
“你现编的?”
“基础行为树里有一个通用指令:‘当目标对象处于非预期应激状态时,优先保障目标对象物理安全与心理舒适度’。”容屿把两只手插进实验服兜里,走路的时候肩膀微微晃了一下,“具体执行方案我临时生成的。没有调用情感迭代模块。”
应淮盯着他看了半天。
“你怎么判断我处在应激状态?”
“你心率突然加快,呼吸频率上升,肌肉紧绷程度加重。光学扫描可以测到颈部浅表血管搏动变化。从看到那个白色西装的男人开始,你的参数在三秒内超过了所有基线阈值。”
应淮把脸转回前方,接着走路。商场头顶的灯管明晃晃的,他眼睛有点发酸。
“那不是应激。”他说,“就是不想打招呼。”
“好。”容屿说,“下次我按‘不想打招呼’处理。”
应淮没再说话。他领着容屿拐进旁边那家便宜些的店里,让人自己挑了衣服,付完钱出来的时候天色已经暗了。他站在商场门口等车,容屿拎着纸袋站他旁边,两个人中间隔了半步距离。
“应淮。”容屿忽然开口。
“嗯。”
“刚才那个人就是傅寒声。”
应淮侧头看他。容屿的目光落在马路对面的路灯杆上,表情很平,语气也很平。
“数据库里有他的面部特征和声纹样本。你之前比对过很多次。”
“嗯。”
“你不想跟他打招呼。”
“对。”
“为什么?”
应淮看着马路对面那盏路灯,黄澄澄的光圈底下飞蛾一圈一圈地绕。他忽然觉得有点累,不想编,也不想糊弄。
“因为他结婚没请我。”他说。
容屿转过头看他。那个眼神里没有模块运行时的温度,也没有标准模式的空洞,就是安安静静地看了一会儿,然后说:“他请你了。你跟我说过,三天前酒会上他当面邀请了你。”
应淮噎了一下。
“没去。”他说。
“为什么没去?”
“因为我他妈不想看他跟别人站一块儿。”话说出来他自己都愣了一秒。他从来没跟任何人说过这话,现在他对着一个仿真人说了。
容屿点了点头,没接话,也没追着问。他拎着纸袋站在那儿陪应淮等车,过了大概半分钟才说:“车来了。”
应淮抬头看见那辆亮着空车灯的出租车拐过来,招了手。上车之后他靠在后座看窗外,容屿坐在副驾驶翻来覆去地看刚买那两件衣服的标签,确认尺码和材质。
应淮看了一会儿,忽然说:“你那个‘现编’的反应,以后多用。”
容屿从标签上抬起眼睛,从后视镜里看了他一眼。
“好。”