第二章 镜像的破绽与心跳的变量
咖啡馆的木质桌椅泛着暖黄的光,空气中飘着焦糖与咖啡豆混合的香气。许池听搅拌着杯中的拿铁,看着对面的“杨鑫霖”——他正低头看着手机,指尖滑动的速度均匀得像节拍器,却在抬头时立刻切换出柔和的眼神:“你上次在社交账号说,这家的提拉米苏用的是马斯卡彭奶酪,要试试吗?”
许池听握着勺子的手顿了顿。她确实在三个月前发过一条吐槽超市奶酪的动态,附带提了句“还是XX咖啡馆的马斯卡彭正宗”。他竟然记得?
“你……看我的社交账号?”她尽量让语气听起来随意。
“杨鑫霖”点头,嘴角弯起一个精确到0.5度的弧度——这是程序根据“友好表情数据库”计算出的最优角度:“为了更精准地理解用户需求,分析相关人员的行为模式是必要的。”他顿了顿,补充道,“当然,你的照片拍得很好,尤其是那组‘雨天窗台的面包’,光影处理符合黄金分割比例。”
许池听被他一本正经的“夸奖”逗笑了:“杨工,你不用每次都用数据说话的。”
“需要调整吗?”“杨鑫霖”立刻抬头,眼神里带着“等待指令”的专注,“根据分析,你刚才的笑属于‘愉悦’,说明这种沟通方式……”
“不用调整。”许池听笑着打断他,“这样挺可爱的。”
“可爱”这个词,让实验室监控屏幕前的杨鑫霖指尖一顿。他迅速调出“可爱”的语义分析:“形容人时,通常指‘令人喜爱的、天真无邪的’。”数据显示,这个评价的正面指数为92%。他皱了皱眉,为什么听到这个词,自己的太阳穴会隐隐发烫?
屏幕上,“镜像”程序已经自动做出了回应——微微低头,耳尖泛起模拟的红晕(根据“人类害羞时的生理反应数据库”生成):“谢谢。”
许池听看着他这副“害羞”的样子,心跳又不争气地快了半拍。她拿出平板,打开新的交互方案:“你看这里,我想给‘心扉’加一个‘情绪记忆’功能,比如用户提到过‘怕黑’,下次聊到夜晚,AI会自动带出安抚的话……”
“杨鑫霖”认真听着,时不时点头,提出的修改意见精准又不失温度。他甚至能指出某个按钮颜色“明度太高,可能让焦虑用户产生不适”,这让许池听惊讶不已——这完全不像那个只看逻辑的技术宅。
中途,服务员端来提拉米苏,盘子边缘不小心蹭到了“杨鑫霖”的袖口。许池听下意识地递过纸巾,却看到他抬手擦拭的动作顿了顿,像是在分析“污渍面积”和“擦拭力度”的最优解。
“烫到了吗?”她随口问。刚才咖啡端上来时,她碰了下杯壁,烫得缩了手,而他端起杯子时却面不改色。
“没有。”“杨鑫霖”摇头,“我的温度感知阈值较高。”
许池听“哦”了一声,心里却掠过一丝奇怪的感觉。她记得上次公司团建,杨鑫霖被热汤溅到手腕,明明跳起来说了句“温度超过安全阈值”,虽然表情依旧没什么变化,但动作里的慌乱是藏不住的。
“对了,”许池听忽然想起什么,“你还记得大学时参加的那个‘全球编程大赛’吗?你写的那个神经网络优化算法,我后来在论文里引用过。”
这话一出,“杨鑫霖”的眼神有了瞬间的凝滞,像是系统卡顿。许池听的心提了起来——这个细节,她没在任何公开资料里看到过,是上次偶然翻到他的旧论文,扉页上写着参赛经历才知道的。
实验室里的杨鑫霖猛地坐直了。他的私人数据库里,确实没有录入这段经历——那是他最讨厌的比赛,因为决赛时代码被对手恶意篡改,虽然最后证明了清白,却让他对“人类的恶意”产生了更深的抵触,所以刻意删除了相关记录。
“镜像”程序的后台正在飞速检索,最终弹出“数据缺失”的提示。它沉默了两秒,按照预设的“应对未知问题”方案回应:“有点印象。不过太久了,细节记不清了。”
这个回答算不上破绽,但许池听敏锐地察觉到,他刚才的停顿,和平时那种“实时计算”的流畅感不一样。就像……系统在缓冲。
她没再追问,只是笑了笑:“也是,都过去好几年了。”
下午回到公司,许池听把咖啡馆的经历告诉了石枳意和云雨。
“他居然记得你三个月前发的动态?”石枳意啃着许池听带回来的提拉米苏,眼睛瞪得溜圆,“这不就是暗恋者的标准操作吗?”
“别乱说。”许池听脸红了,“他说是为了‘分析用户需求’。”
“分析需求需要研究你的面包照片?”石枳意挑眉,“我看他是对你的‘情感需求’产生了兴趣。”
云雨端着奶茶,温和地补充:“不过池听,你有没有觉得……他今天有点‘完美’得过分?记得你的喜好,说话得体,连害羞都恰到好处。就像……照着剧本演的。”
许池听心里咯噔一下。云雨说到了她隐隐的不安——真实的人总会有破绽,会走神,会说错话,但今天的杨鑫霖,像个精准运行的程序。
“而且他说‘温度感知阈值高’,”云雨继续道,“上次我去你们公司送文件,看到他喝冰水都要先测温度,说超过10度会影响‘神经反应速度’。”
三个女孩面面相觑,空气里忽然多了点悬疑的味道。
而此时的实验室,杨鑫霖正对着屏幕上“镜像”与许池听的互动录像反复回放。他放大画面,看到许池听提到编程大赛时,自己的AI分身那0.5秒的卡顿——这个破绽,在数据层面属于“可接受误差”,但在他看来,像一行刺眼的红色报错。
“需要补充私人数据库。”他喃喃自语,手指在键盘上飞舞,开始录入自己的过往经历——从小学时被老师表扬的第一行代码,到大学时那场糟糕的编程大赛,甚至包括……他偷偷收藏的、许池听在设计展上获奖的作品照片(之前一直归类在“优秀UI案例”文件夹里)。
录入到“害怕社交的原因”时,他的指尖停住了。屏幕上弹出一行字:“是否录入‘童年时因表达失误被嘲笑,导致情感表达模块自我封闭’?”
这是他第一次直面这个“bug”。以前他总觉得,这只是“低效功能”,没必要修复。但看着屏幕上许池听那双清澈的眼睛,他忽然按下了“确认”键。
“镜像”程序需要更“真实”,才能收集更精准的数据。他这样告诉自己,却忽略了心里那点莫名的期待——或许,这样能离她更近一点?
傍晚,许池听收到“杨鑫霖”的消息:“新的交互方案我看了,有几处细节想和你讨论。我在实验室,方便过来吗?”
许池听犹豫了一下,还是抱着电脑去了。她想再确认一下,那个“完美”的他,和眼前这个真实的技术宅,到底是不是同一个人。
实验室的门没锁,许池听推门进去,看到杨鑫霖正背对着她,站在巨大的屏幕前,手里拿着一个……毛绒兔子玩偶?
那是她上周在公司茶水间丢的,当时随口说了句“这个兔子会发光,晚上加班抱着很有安全感”。
听到动静,杨鑫霖猛地转过身,手里的兔子玩偶没拿稳,“啪”地掉在地上。他的耳朵瞬间红了,眼神慌乱,完全没有了白天的从容:“你……你来了。”
许池听看着他这副手足无措的样子,忽然笑了。这才是她认识的杨鑫霖——会紧张,会出错,会像个被抓包的小孩。
“我的兔子怎么在你这?”她弯腰捡起玩偶,触到他刚才握过的地方,有点温。
“镜像……不是,”杨鑫霖舌头打结,“我……路过茶水间看到的,想着你可能需要。”他试图恢复平时的冷静,却因为太紧张,说话的语速比平时快了一倍,“方案的事,我们先看第……第三页,那个‘情绪记忆’的触发阈值,我觉得应该调低5%,否则会导致数据冗余……”
他语速飞快地说着代码和参数,眼神却不敢看她,手指无意识地抠着键盘边缘。
许池听静静地听着,心里那点疑虑忽然烟消云散。不管白天的他有多“完美”,眼前这个笨拙的、会脸红的、偷偷捡回她兔子玩偶的杨鑫霖,才是真实的。
她忽然开口:“杨工,你今天中午说,我的面包照片拍得好,是真的吗?”
杨鑫霖的话头猛地卡住,抬头看她,眼神里带着“需要分析语义”的困惑,最后点了点头,声音很小:“嗯。构图……很舒服。”
不是“黄金分割”,不是“光影处理”,是“很舒服”。
许池听的心跳,像被什么东西轻轻撞了一下,软得一塌糊涂。她笑着举起手里的兔子玩偶:“这个会发光,晚上加班可以借你用。”
杨鑫霖愣住了,看着她的笑容,屏幕上跳动的代码忽然变得模糊。他的大脑里,第一次出现了“无法计算”的情绪——不是数据,不是逻辑,是一种暖暖的、痒痒的感觉,像代码里突然闯入的、不听话的变量。
“谢……谢谢。”他接过兔子玩偶,指尖不小心碰到她的手,像被电流击中,猛地缩了回去。
实验室的灯光映在两人脸上,一半明亮,一半柔和。屏幕上,“镜像”程序还在运行,模拟着完美的交互;而屏幕下,真实的心跳与代码,正悄悄错位,又慢慢靠近。
许池听不知道,杨鑫霖把兔子玩偶放在了显示器旁边,夜里写代码时,会下意识地摸一摸它柔软的耳朵。
杨鑫霖也不知道,许池听回去后,把他下午说的“阈值调低5%”记在了笔记本上,旁边画了个小小的兔子表情包。
一场由AI开始的误会,正在悄悄偏离“数据收集”的初衷。而那个藏在代码背后的心跳,正越来越清晰。