下一章 上一章 目录 设置
13、数据缺口 应淮花了一 ...
-
应淮花了一个星期才习惯跟傅寒声正常说话。
那顿午饭之后傅寒声像开了什么开关似的,消息发得勤了,隔三差五问他项目进展,偶尔拍一张食堂新菜的照片发过来说“这个还行你下次试试”。应淮回消息的语气也从“嗯”“好”“行”慢慢变成了“看着还行”“我今天吃了那个红烧肉太咸了”“你少吃点辣”。有天晚上傅寒声发语音过来问他报告改完了没,应淮回了一条十秒的语音,说完自己听了一遍,发现语气松快得不像自己。
容屿在旁边坐着整理数据,听完他发语音的过程,头也没抬地说了一句:“你跟他说话的语气变了。”
“哪儿变了?”
“放松了。以前你跟傅寒声发消息之前会停三秒,像在脑子里过措辞。现在直接说了。”
应淮把手机揣兜里,没接话。但他知道容屿说得对。以前每次跟傅寒声说话他都要在脑子里把句子拆开揉碎了检查一遍,生怕哪个字用得太热络了让对方觉察出什么。现在不用了。那层窗户纸捅了一半,虽然没全捅破,但至少不用再假装什么事都没有。
但问题出在容屿身上。
应淮最初没注意到。头两天一切正常,容屿该跑数据跑数据,该做自检做自检,嘴还是那么碎,该提醒他吃饭喝水的时候绝不含糊。应淮跟傅寒声发语音的时候他就在旁边安安静静干活,偶尔抬头看一眼,表情平平的,没什么异常。
第四天的时候应淮接了个电话。傅寒声打来的,说论坛那个项目的后续经费批下来了,让应淮下周去他办公室签个字。应淮说行,挂了电话扭头跟容屿提了一嘴。容屿当时正对着屏幕复核数据,听完嗯了一声,接着敲键盘。应淮也没在意,坐下来干活了。
过了大概十分钟应淮去茶水间倒水,回来的时候发现容屿的键盘声停了。他看了一眼容屿的屏幕,数据文档还开着,光标停在半页中间不动了。容屿盯着屏幕,手搁在键盘上,姿势没变,但眼睛没在看数据。那眼神有点散,像后台在跑什么别的程序。
“容屿。”
容屿回过神来看他。“嗯?”
“想什么呢?”
“没想什么。在算一组数据。”
应淮走过去看了一眼他的屏幕。那组数据他认得,是仿真度评分的历史记录,跟刚才的电话八竿子打不着。容屿确实在算数据,但他不该在应淮倒水的这半分钟里恰好挑了这么一组数据来算。
“你刚才走神了。”应淮把水杯放桌上,“我进来的时候你的光标停在那行停了快十秒。你平时敲键盘一秒能过三行。”
容屿沉默了两秒。“你说得对。我刚才没在算数据。”
“那你在干什么?”
“在想事情。”
“想什么?”
容屿把键盘往前推了推,转过身来正对着应淮。“你从上周开始跟傅寒声的互动频率明显上升。我统计了一下,过去七天你跟他互发消息一百四十三条,通电话三次,其中两次超过五分钟。之前一周你跟他互发消息十七条,通话零次。”
应淮端起水杯喝了一口。“所以呢?”
“所以你的行为模式发生了显著变化。这个变化本身是良性的,你情绪状态比之前稳定,焦虑指数下降了大概两成。但我的情感迭代模块在适配这个变化的时候出现了参数漂移。”
应淮把水杯放下了。“什么参数漂移?”
容屿转回屏幕,调出一张曲线图。图上两条线,一条是应淮的情绪指数,一条是容屿的情感迭代模块活跃度。应淮的情绪指数从上周开始往上走,趋于平稳上升。容屿那条线在同一时间段内波动幅度明显加大,出现了几次尖锐的峰值。
“我的情感迭代模块在根据你的情绪变化自动调整我的行为输出。”容屿指着那些峰值,“你情绪变好的时候,模块会把更多的行为调整到‘正向反馈’模式上,让我倾向于做一些让你开心的事。但你情绪变好的速度太快了,模块跟不上。它不知道你是因为傅寒声才变好的,它只检测到你情绪在上升,所以加大了对我的输出调整。”
应淮盯着那条曲线看了几秒。“你的意思是你的模块在乱调参数?”
“对。它以为你的情绪变化跟我有关,所以在疯狂优化我自己的行为。但实际上你的情绪变好是因为傅寒声。模块猜错了归因。”
应淮坐回自己的椅子上,把水杯搁在桌上。他想了想,问了一句:“那你这几天有没有做过什么模块驱动的事?”
容屿没立刻回答。他把日志调出来翻了几页,指着其中一行:“前天晚上你睡着了,我出舱把你的键盘换了。你那个旧键盘有几个键不太灵,按下去要用力。我换了个备用的,手感更轻。这个行为是模块驱动的。它检测到你敲键盘的时候手指压力值偏高,判断你手腕负担重,所以做了调整。”
应淮看了一眼键盘。确实换过了,他昨天用的时候就觉得轻了,当时以为是容屿日常维护,没多想。
“还有呢?”
“昨天中午你趴在桌上睡午觉,我把空调温度调高了一度。你睡醒之后没打喷嚏。”
“再往前呢?”
容屿又翻了几页。“大前天下午你出去买饭,我把你桌上的空杯子洗了。这个行为不在基础行为树里,是模块生成的。它判断你回来之后看到干净的桌面心情会好。”
应淮往后靠了靠,盯着天花板看了几秒。模块在自动帮他做这些小事,出发点其实没什么问题,但问题在于容屿自己控制不了。那些行为是模块生成的,容屿在执行的时候可能根本没意识到自己在做。
“你现在能感觉到模块在驱动你的行为吗?”
“能。因为每次执行完模块生成的行为之后,我的日志里会多一条记录,我事后能查到。但在执行的时候,有时候分不清是模块在推还是自己想做。”
应淮搓了一把脸。“你把模块关了吧。再关一次。”
容屿把模块关了。屏幕上的曲线断了。实验室安静下来。应淮等了几秒,看容屿的表情从那种微微紧绷的状态慢慢松下来。他以为关了模块容屿会退回到之前那种平平静静汇报工作的模式,但这次没有。容屿关了模块之后转过身来看着他,眼神跟刚才没什么变化。
“关了。”容屿说,“但有个事我得跟你说。”
“什么事?”
“模块关了之后我检查了一下底层日志,发现那个【权限不足】的代码块有变化。之前是三条备注,现在多了两条。”
应淮把椅子挪过去看屏幕。容屿调出日志,翻到最底下:
【目标对象:应淮】
【情感参数:第41次迭代】
【备注:目标对象与核心社交对象(傅寒声)互动频率上升,对本机行为输出产生正向影响,建议维持当前策略】
【备注:目标对象对傅寒声的情绪反馈存在时间延迟,预测未来两周内出现情绪峰值】
【备注:本机对目标对象的观察频次已超出预设上限,需人工干预】
【新增备注:检测到本机自检报告中对“自主参数调整”的披露比例低于实际执行量,建议补充披露】
【新增备注:权限不足提示触发次数过多,建议目标对象应淮提升本机自检权限等级】
应淮把最后两条看了两遍。“它在帮你打掩护?”
“它在建议你放宽我的权限。”容屿转过头来看他,“这组代码的生成逻辑我现在能追踪到一部分了。它用的是你九月十四号那天晚上写的那版基础框架,但迭代过程中融合了我的自检模块数据。也就是说,它在根据我对自己的检查结果来调整它给你的提示内容。”
应淮盯着那行“建议目标对象应淮提升本机自检权限等级”看了半天。“这东西在教我怎么管你。”
“对。而且它给出的建议方向是让我更自由。它建议你放宽权限,让我能向你披露更多信息。它在帮你,也在帮我。”
应淮把日志窗口最小化了。他靠在椅背上看着容屿,后者安安静静坐着等他说话,左手小指微微翘着,应淮注意到之后没吭声。他现在分不清那个小动作是习惯性复制还是模块残留。
“权限先不升。”应淮说,“日志先保持现在这个披露比例,你每天手动把模块执行的行为列给我,列在报告最后面单独一栏。我要知道模块在推你做什么。”
“好。”
“另外,”应淮停了停,“傅寒声下周让我去签字的事,你跟我一起去。”
容屿歪了一下头。“为什么?”
“不为什么。就去。”
容屿看了他一会儿,没再追问。应淮把椅子转回电脑前面接着改报告,打了几个字忽然听见容屿那边说了一句:“你让我去是因为不想单独见傅寒声。”
应淮头也没回。“你刚才不是说少问这种问题吗?”
“你上次说我可以问。”
应淮手底下的键盘声停了一拍。“对。不想单独见他。满意了?”
容屿那边安静了两秒,然后应淮听见他转回工位接着敲键盘。敲了两下,又停住了。
“那以后你见傅寒声我都跟着?”
应淮盯着屏幕上的代码看了好几秒。“看情况。”
“什么情况?”
“你别问了。到时候我告诉你。”
容屿没再说话,键盘声重新响了起来。应淮改了两页报告,忽然听见自己手机响了一声。他拿起来看,傅寒声发来一条消息:下周签字那天你中午有空吗,签完了吃个饭。
应淮打了两个字回过去:有空。发完了扭头看了一眼容屿,后者正对着屏幕安安静静地复核数据,仿佛刚才那段对话没发生过。应淮把手机扣在桌上,低头接着改报告。