陈默把邮件发送出去后,食指无意识地在光滑的桌面上轻轻敲了两下。电脑屏幕还亮着幽幽的光,沈如月发来的那份机器人测试报告文档尚未关闭,文档末尾那张照片里,机器人举着的“欢迎回家 :)”牌子,似乎还在他脑海里轻轻晃荡。
门被推开时,他正微微低着头,用指尖摩挲着衬衫袖口一处不易察觉的痕迹——是昨天实验室那场混乱中,被飞溅的不知名溶剂燎到的一小片,边缘的纤维微微卷曲起来,摸上去有点粗糙,带着焦灼后的硬挺感。
“陈哥——!”沈如月的声音像一阵裹着阳光的风,从门口卷了进来,轻快、雀跃,每个音节都仿佛踩着弹簧。她今天穿了条鹅黄色的无袖连衣裙,裙摆刚到膝盖,露出一截白皙的小腿。两条栗色的马尾辫高高扎在头顶,随着她急匆匆的脚步一甩一甩。她怀里抱着一个看起来颇有分量的银灰色金属箱子,走得又急,进门时没把握好距离,肩膀“咚”地一下轻撞在了门框上。
“哎哟!”她小声惊呼,稳住身形,吐了吐舌头,脸上闪过一丝赧然,赶紧抱着箱子快步走到陈默宽大的办公桌前,小心翼翼地将它放下。金属箱底与木质桌面接触,发出“咚”的一声闷响。
“V4版本!语音交互和初步逻辑决策模块全部装载测试完毕!”她扬起脸,眼睛亮晶晶的,带着不容置疑的兴奋,“这次是真的能‘对话’,不是预设录音播放!我优化了自然语言处理的核心算法!”
陈默摘下鼻梁上的眼镜,从衬衫口袋里掏出一小块麂皮绒布,慢慢地、仔细地擦拭着镜片。擦完后重新戴上,镜片后的目光平静地落在那个银灰色箱子上。
“我记得你上次跟我保证‘V3真能自主避障移动’,”他语气平淡,听不出褒贬,“结果是它兴致勃勃地直奔实验室那堵承重墙,撞得自己脑袋上的传感器保护壳都瘪了一块。”
“那次……那次是轮子驱动程序的pId参数没调好!地面又有水,打滑了!”沈如月的脸“唰”地一下红了,像熟透的苹果,急忙辩解,声音却不由自主低了下去,“这次真的不一样!我……我给它加装了基于多摄像头融合的微表情和肢体语言识别系统,还能结合环境声音和简单对话历史,建立基础的用户习惯模型!它……它现在会‘观察’和‘记忆’了!”
她一边说着,一边迫不及待地打开金属箱的卡扣。箱盖向上弹开,露出里面静静站立着的机器人。新一代的“启明”外壳采用了哑光白的亲肤涂层,看起来简约流畅。圆圆的脑袋上方,两个位置对称的LEd灯组成了它的“眼睛”。沈如月按下箱体侧面的启动键,机器人内部传来一阵极其轻微、但运转平稳的电机嗡鸣声,圆脑袋灵活地左右转了转,似乎在熟悉环境。
“启动,‘启明’V4。”沈如月抬起手腕,对着自己那块改装过的智能手表清晰地说道。
机器人正面的LEd灯眼瞬间亮起柔和的冰蓝色光芒。它抬起一条设计精巧、覆盖着白色复合材料的机械臂,做了个类似“挥手”的友好动作。接着,一个合成度颇高、但努力模仿了人类自然语调的男中音,从它胸口位置的隐藏式扬声器里传了出来:
“早上好,陈默先生。根据您办公室智能环境系统记录,您昨晚的预计睡眠时长为六小时四十二分钟。今日凌晨三点十七分,系统检测到一次短暂的温度调节请求,推测为浅睡眠时段。您今晨静息心率监测数据正常,无异常波动。综合分析,建议您今日早餐适当增加优质蛋白质摄入,有助于维持日间精力水平。”
陈默身体微微向后靠进椅背,双手交叠放在腹部,目光带着审视,投向这个侃侃而谈的小家伙。
“它怎么会知道我昨晚具体几点睡的?”他问,语气里听不出情绪。
“哦,这个啊,”沈如月有些得意地指了指天花板角落的空调出风口,“我给它临时接入了您办公室环境控制系统的数据读取权限。您看,夜间空调设定温度从常规的24度,在凌晨一点左右自动下调到22度,这通常是您深度睡眠开始的信号;然后三点十七分,温度被手动调回24度,结合那个时间段您办公室没有其他移动设备活跃的记录,大概率是您浅睡眠中觉得热,摸了遥控器。环境温度变化曲线结合人体热舒适模型,能反推出大致的睡眠阶段!”她解释得飞快,眼睛闪闪发亮。
她顿了顿,又补充道,语气变得稍微小心了些:“还有,系统日志显示,上周三晚上十一点零五分、周五凌晨一点二十,以及昨天凌晨两点四十,您办公室的智能饮水机都有过一次‘即热’出水记录,水量约为200毫升。结合您以往的健康档案……那个,我猜您是不是最近胃不太舒服?半夜起来喝温水缓解?”
陈默没有立刻回答。他只是静静地看着机器人,又看看沈如月,镜片后的眼神深邃,难以捉摸。
机器人似乎接收到了某种继续执行的指令(或者是沈如月提前设好的流程),它的蓝色灯眼闪烁了一下,继续用那平板的、但努力显得体贴的合成音说道:“根据关联健康数据库记录,您有明确的慢性胃炎病史。当前系统时间为上午九点十七分。您设定的每日胃药服用提醒时间为上午九点零九分。您已超过常规服药时间八分钟。建议您立即服用今日剂量的胃黏膜保护剂。”
说完这番话,机器人圆滚滚的身体下方,几个全向轮悄无声息地转动起来。它平稳地滑向办公室角落那个平时用来存放一些私人物品和小零食的白色保温箱。机械臂灵活地伸出,精准地打开了保温箱的顶盖,从里面取出一个巴掌大小、淡蓝色的塑料药盒。药盒的盖子上,贴着一张手写的便签纸。
机器人托着药盒,又平稳地滑回陈默桌前,机械臂向前递出。
陈默伸手接过药盒。指腹蹭过便签纸的表面。纸是那种带点磨砂感的便利贴,上面的字迹清秀工整,用的是蓝色的中性笔,一笔一划写得非常认真:
“胃药,饭后半小时。少吃辣。”
墨迹在纸张纤维里微微洇开一点毛边,显得很自然。
“你写的?”陈默抬起眼,看向站在机器人旁边、此刻显得有些紧张的沈如月。
“嗯……是我手写的。”沈如月点了点头,手指不自觉地绕着自己马尾辫的发梢,声音比刚才轻了许多,“我看你办公室小药柜里常备着三种胃药,但每次看你吃药,好像都是饭后差不多半小时左右。我就……就给它加了个定时提醒程序,让它每天上午这个点,自动去保温箱(我放好的)取药送过来。标签……我怕打印的字体太冷冰冰,你看不清或者不在意,就自己写了。这样……醒目一点。”
陈默低下头,目光重新落在那张小小的便签上。他用指尖将便签纸轻轻掀开一角——背面竟然还有一行更小的字,同样是她清秀的笔迹:
“别总拿冰咖啡冲药,伤胃。”
他的嘴角几不可察地向上牵动了一下,形成一个极淡、几乎看不见的弧度。
“你还……挺细心。”他说,语气听起来像是陈述,又带点难以言喻的复杂。
“那当然啦!”沈如月立刻挺直了背,脸上重新焕发出光彩,带着点小骄傲,“不然怎么当你陈大工程师的徒弟?基本功!”
机器人安静地立在桌边,蓝色的灯眼规律地微微闪烁,仿佛在等待下一个指令。忽然,它的指示灯颜色从蓝色快速切换成了柔和的暖黄色,同时,那个合成音再次响起,语调似乎比刚才更“拟人化”了一点:
“检测到当前用户面部微表情及肢体语言出现细微变化,结合环境声呐反馈,初步判断为轻微情绪波动。建议播放轻松舒缓的背景音乐,以帮助用户调节情绪,提升工作愉悦度。”
“谁让你乱放音乐了?!”沈如月脸上的笑容瞬间僵住,转为惊慌。她赶紧抬起手腕,对着手表屏幕一阵快速点击,嘴里语无伦次地小声嘀咕,“哎呀完了完了……肯定是昨天调试‘情感安抚扩展包’的时候,不小心把‘环境氛围调节’子程序也激活并联动了……这个隐藏功能我还没完全测试好……”
她的话音还没完全落下——
“噗!呼——!”
机器人肩部两侧,两个原本以为是装饰性散热孔的位置,毫无征兆地突然弹开,露出两个黑洞洞的小型管口!紧接着,两道橘红色、长约十厘米的炽热火苗,猛地从管口喷吐而出,直直地射向前方空气!
事发突然,陈默瞳孔一缩,身体凭借本能猛地向后一仰!椅子的滑轮带着他向后退了半米!
但距离太近,动作还是慢了半拍。他左臂原本就挽起一截的衬衫袖子,最外侧的边缘,被其中一道火苗的尾端轻轻燎过!
“滋……”
一股蛋白质纤维烧焦特有的、略带刺鼻的糊味立刻在空气中弥漫开来。袖口边缘,大约两指宽的一片布料被烧得焦黑卷曲,边缘呈现出不规则的碳化痕迹。
“关掉!立刻关掉所有非安全指令!”陈默的声音陡然提高,带着不容置疑的命令口吻。
沈如月脸色“唰”地变得惨白,手指因为极度紧张而有些发抖,但她还是以最快的速度在手表屏幕上找到了紧急制动指令,用力按了下去!
机器人肩部的喷火口发出“咔哒”一声轻响,迅速收缩闭合。眼中的暖黄色光芒闪烁了几下,瞬间转为警示性的红色,随即彻底熄灭。整个机器“身躯”也像是被抽走了力量,微微向下一沉,进入了强制休眠状态。
办公室里骤然陷入一片死寂。
只有那股淡淡的焦糊味,还在空气中顽固地飘散着。
沈如月僵在原地,脸色由白转红,又由红转白。她的手指紧紧捏着自己那块智能手表的硅胶表带,指节因为用力而泛白。她张了张嘴,想说什么,声音却像是被堵在了喉咙里,又小又抖:
“那个……喷……喷火模块……是……是上次赵小虎他们起哄,说搞着玩的测试组件……本来……本来是想……万一以后开产品发布会,或者庆功酒会什么的……能让它跳个机械舞,喷点冷焰火当气氛……我……我忘了这茬……调试完情感包忘了把它从联动清单里移除禁用了……我没想……没想真的烧到你……”
陈默低下头,仔细看了看自己被燎坏的袖口。布料焦黑的边缘触碰皮肤,传来一阵轻微的灼热感。他又抬起眼,看向面前这个已经快要哭出来的徒弟。
忽然,他低低地、短促地笑了一声。
“比我强。”他说,语气里竟然听不出什么怒气,反而有点……像是回忆起了什么趣事,“我记得我像你这么大的时候,第一次独立改装老实验室那台高频信号发生器,想给它加个过载保护。结果接错了一根线,‘砰’一声,整条胳膊袖子都熏黑了,手指麻了三天。你师父我当时气得差点把示波器砸了。”
沈如月猛地抬起头,眼眶已经红了,蓄满了水汽,怔怔地看着他。那眼神里有错愕,有难以置信,还有一丝劫后余生的茫然。
“你……你不生气?”她的声音带着浓浓的鼻音,小心翼翼地确认。
“生气?”陈默将那个淡蓝色的药盒放在桌上,然后开始慢条斯理地卷起左边被烧焦的衬衫袖子,仔细检查了一下下面的皮肤——只是微微发红,没有起泡,问题不大。“这说明你在琢磨东西,在想让它更‘有用’,甚至……更‘有趣’。这是好事。工程师的脑子,本来就不该只装着一板一眼的说明书。”
他卷好袖子,露出结实的小臂,目光重新落回沈如月脸上,话锋却微微一转:
“就是下次,记得分清主次。还有……像‘少吃辣’这种提醒,”他指了指药盒上的便签,“别总让机器替你说。”
沈如月愣住了,脸上还挂着未干的泪痕,眼神里充满了困惑。
“……为……为什么?”
“因为机器不会脸红。”陈默看着她,目光平静,却仿佛能穿透人心,“而你写这张便签的时候,我猜……你耳朵根肯定红了。”
沈如月整个人像是被瞬间冻结了,僵在原地。原本就有些发红的耳朵,以肉眼可见的速度,迅速蔓延开一片更深的、几乎要滴出血来的绯红!她张着嘴,呆呆地看着陈默,喉咙里发出一点含糊的气音,却一个字也说不出来,手指无意识地绞着裙摆。
就在这时,躺在桌子上、已经“关机”的机器人,突然毫无征兆地又发出“滴——”的一声短促自检音!正面的LEd灯眼毫无规律地闪烁了几下,竟然又重新亮起了微弱的蓝色光芒!
一个断断续续、像是系统严重错乱后强行启动的电子合成音,从它体内传了出来:
“检……检测到……主要用户……心跳……频率异常加快……体表红外测温……局部上升约……0.6摄氏度……初步……初步行为模式匹配……判断为……高度紧张或……羞怯状态……建议启动……三级安抚协议……播放……”
“你给我闭嘴——!!!”
沈如月像是被踩了尾巴的猫,瞬间从石化状态“活”了过来,发出一声带着哭腔和极度羞恼的尖叫,整个人几乎扑到了桌子上,手忙脚乱地找到机器人背后的物理电源总开关,用尽全身力气狠狠地按了下去!
机器人发出一声类似人类被打断话语的、短促的“呃……”,灯眼的光芒瞬间熄灭,这次是真的彻底沉寂了,连一点待机的微光都没有了。
办公室里重新安静下来,只剩下沈如月因为激动和羞窘而略显粗重的喘息声。
陈默向后靠进宽大的椅背,姿态放松。他手里还捏着那个淡蓝色的药盒,指尖无意识地摩挲着便签纸粗糙的边缘。
“你什么时候开始……留意我这些生活细节的?”他忽然开口,声音比刚才低沉了些。
“啊?”沈如月还沉浸在刚才的社死瞬间,脑子有点转不过来。
“胃药该什么时候吃,喝咖啡会不会影响药效,吃东西是不是忌辣。”陈默列举着,语气很平,像是在讨论一个技术参数,“这不是观察一天两天就能总结出来的习惯。你盯我……盯了挺久了吧?”
沈如月站在机器人旁边,手指无意识地抠着金属箱子冰凉的边缘,脑袋垂得很低,几乎要埋进胸口。她的声音轻得像蚊子哼哼,带着一种被戳破心事后无处遁形的慌乱:
“从……从你去年胃出血住院那次开始的。”她小声说,“我……我去医院看你,正好碰到护士交接班,她们在走廊的白板上写注意事项,我……我就用手机偷偷拍下来了。上面写了忌口的清单。后来你出院回公司,我……我每天都会悄悄看一眼你办公室小药柜最上面那层,数一数胃药盒子里的板片少了没有。有一次……我看见你午饭吃食堂打回来的拌面,自己从抽屉里拿了一瓶辣椒酱要往里加……我……我趁你去开会,偷偷把你那瓶辣椒酱的瓶子,跟行政部茶水间一瓶没开封的、味道很像的甜面酱调换了……我以为……以为你不会发现……”
陈默的目光落在她低垂的发顶上,那里有两个小小的、随着她不安动作而轻轻颤动的发旋。
“所以那天中午的拌面,吃到最后几口才发现味道不对,是甜的。”他陈述道,语气里听不出是责备还是别的什么。
“我……我以为你吃几口觉得不对就会停下……”沈如月的头垂得更低了,声音里带上了哽咽,“没想到你……你都快吃完了……”
“我发现味道怪的时候就停了。”陈默平静地说,“剩下小半碗,故意留在桌上没动。就是想看看,是哪个‘小特务’干的。后来看到你下午溜进来收碗时那副想偷笑又使劲憋着的样子,我就知道了。”
沈如月猛地抬起头,眼眶又红了,但这次是因为惊讶和一种说不清道不明的情绪。泪水在眼眶里打转,她使劲眨了眨眼,硬生生把眼泪憋了回去。
“我……我不是故意要管着你……干涉你……”她语无伦次地解释,声音颤抖,“我就是……就是看你有时候忙起来什么都不顾,饭也不按时吃,药也忘了拿……我怕……怕你胃又疼起来……”
“我知道。”陈默打断她的话,语气缓和下来,甚至带上了一丝极淡的、几乎难以察觉的温和,“所以这药盒我收下了。便签纸,也留着,别撕。”
沈如月用力点了点头,鼻尖红红的,没再说话。
办公室里又安静了一会儿。窗外的阳光爬得更高了些,透过百叶窗,在地板上投下更明亮的光带。
“那……”沈如月吸了吸鼻子,小心翼翼地、带着点期盼和忐忑地问,“这个机器人……我……我还能再调试吗?我保证把喷火模块彻底拆了!所有不稳定功能都锁死!”
“能。”陈默回答得很干脆。他伸手指了指那个银灰色的箱子,“但喷火器,必须拆。连同所有非必要的、可能产生安全风险的‘娱乐扩展’硬件,全部拆除。”
“哦……”沈如月的肩膀垮下来一点,声音里有点失落。
“不过,”陈默话锋一转,身体前倾,双手重新放回桌面上,“保留基础的音乐播放功能。程序重写,确保绝对安全,且只能播放经过审核的、舒缓的纯音乐。”
沈如月抬起头,眼睛亮了一下。
“下次公司开年会,或者有必要的商务酒会,”陈默看着她说,“可以把它带上去,让它跟着音乐‘跳’几个简单的、安全的动作,助助兴,热闹一下也行。”
“真的?!”沈如月的眼睛瞬间睁大了,里面重新燃起了兴奋的火花。
“真的。”陈默肯定地点点头,然后移动鼠标,点开了电脑上的邮箱界面,“但是,提醒的便签内容得改改。”
“改……改成什么?”沈如月好奇地凑近了一点。
“别写‘少吃辣’。”陈默的目光落在屏幕上,手指敲了下键盘,语气里带着一丝戏谑,“写‘陈哥今天真帅’就行。简单直接。”
沈如月先是一愣,随即“噗嗤”一声笑了出来,紧接着意识到什么,赶紧捂住嘴,肩膀却因为忍笑而轻轻耸动,脸颊又飞上了两抹红云。
“那……那要是下次它又出故障,不小心……嗯……烧到别人衣服或者头发呢?”她忍着笑,小声问道,眼里却闪着狡黠的光。
“那就说,”陈默抬眼,看了她一眼,嘴角那丝笑意更明显了些,“是你沈工程师独家设计的、烘托气氛的‘特效’。反正你敢把它造出来,敢带它上场,我就敢替你兜着。”
沈如月低下头,嘴角不受控制地向上翘起,露出一个真心实意、混合着开心、感动和一点点害羞的笑容。她的手指在金属箱子冰凉的边缘上,无意识地画着小小的圆圈。
机器人静静地躺在打开的箱子里,充电接口连着一根黑色的数据线,正面的LEd灯眼完全熄灭,一片沉寂。只有电源指示灯在箱体内部某处,随着充电进程,一下一下地闪烁着微弱的、呼吸般的绿色光芒。
沈如月蹲下身,开始收拾散落在箱子里的各种连接线和备用零件。她的手指还有些微微的发抖,但动作已经恢复了平日的利落。她找到那个惹祸的微型喷火模块,拔下来,仔细看了看,然后把它塞进了自己随身工具袋的最底层,还用其他零件压了压。
“我回去就重写它的核心行为逻辑树。”她一边整理,一边小声但坚定地说,“让它以后只做三件事:送药、提醒日程、放安全的音乐。其他乱七八糟的功能,全部锁进底层代码库,没有三重授权绝不解锁。”
“也不用这么极端。”陈默走回办公桌前,重新坐下,打开了电脑,“保留一点‘个性’也不是坏事。工程师的造物,多少得带点工程师自己的影子。只要影子别太‘火辣’就行。”
他点开电脑桌面上一个加密的日程管理软件,指尖在触摸板上滑动,找到了今天的安排。光标停在下午三点那一栏,后面跟着一行小字:“财务部季度审计汇报会(林晚晴主持)”。
他抬起头,看了一眼墙上那个走得悄无声息、却分秒不差的圆形挂钟。
钟面上,指针清晰地指向:九点四十三分。
窗外,秋日明亮的阳光又升高了一些,斜斜地照进办公室,越过桌沿,恰好落在那台躺在箱子里、哑光白色的机器人圆滚滚的“脑袋”上。光滑的表面反射出一小片柔和而耀眼的白光,像是给它戴上了一顶无形的、发光的小帽子。
沈如月站起身,拍了拍裙子并不存在的灰尘,然后俯身,小心翼翼地将那个银灰色的金属箱子合上,扣好卡扣。她用力把它抱了起来,紧紧搂在怀里,箱子有些沉,让她微微晃了一下才站稳。
她抱着箱子,走到办公室门口,又停下脚步,转过身。阳光从她身后的大门照进来,给她整个人镀上了一层毛茸茸的金边。
“陈哥,”她轻声问,眼睛里充满了期待和一点点不确定,“下周……公司不是有个跟投资方的见面酒会吗?我……我能带它去吗?就让它……安安静静地站在旁边,放点音乐,或者……偶尔递个纸巾什么的?”