第二天早上七点半,林晚晴冲进工程楼307实验室时,里面空无一人。
晨光透过百叶窗,在木质地板上切割出整齐的光带。空气中飘浮着细微的尘埃,在光束中缓慢旋转。她的工位保持着昨晚离开时的样子——笔记本电脑合着,笔记本摊开在昨晚写到一半的代码示例旁,笔还夹在页缝间。
只有一样东西不一样。
她的眼镜。
那副她用透明胶带缠了又缠的黑色眼镜,此刻端正地放在笔记本上方。镜片在晨光下晶莹剔透,没有一丝灰尘。林晚晴疑惑地拿起眼镜,发现镜腿的螺丝被重新拧紧了,鼻托也调整到了最舒适的角度,甚至连镜片上的几道细微划痕——那是去年在图书馆摔到时留下的——都似乎变浅了些。
她戴上眼镜。
世界变得异常清晰。实验室里每个仪器的指示灯,白板上小如蚊蚁的注释,窗外梧桐叶的每一条叶脉。
这不是她的眼镜。
或者说,这是她的眼镜,但又不是。它被某种近乎精密的修复技艺,还原到了最初的状态。
“谁……”她喃喃自语。
“早啊小翻译!”陆晨的声音从门口传来,他抱着两箱能量饮料,哼着歌走进来,“咦,你今天看起来精神不错嘛——等等,你换眼镜了?”
“没有。”林晚晴下意识推了推镜框,“只是……好像被人修过了。”
陆晨凑近看了一眼,吹了声口哨:“这手法,绝对是屿哥。他以前修过唐薇的机械键盘,修过陈昊的降噪耳机,还修过实验室那台老古董示波器——这家伙有强迫症,看不得任何东西有瑕疵。”
江屿?
林晚晴怔住。她想起昨晚离开时,江屿还站在白板前。那时实验室里只剩下他一个人。
“不过屿哥今天上午不在。”陆晨把饮料放进冰箱,“他去市里参加一个技术交流会,下午才回来。他留了任务给你——喏,桌上。”
林晚晴这才注意到,键盘下压着一张便利贴:
【今日任务:完成语料清洗工具V0.2】
【要求:支持批量处理、错误日志记录、进度条显示】
【参考资料:/共享文件夹】
【截止:今晚十点前提交测试报告】
没有问候,没有多余的说明。就像他本人一样,简洁高效。
但林晚晴捏着那张便利贴,指尖摩挲着边缘,忽然觉得那冷硬的字迹,好像也带上了一点温度。
上午九点,实验室陆续来了人。
唐薇顶着一头乱发冲进来,抓起冰箱里的咖啡就往嘴里灌;陈昊和李思源低声讨论着某个接口的bug;陆晨则打开了音响,播放轻柔的电子音乐——直到唐薇一个纸团砸过去:“安静!我在跑模型!”
林晚晴戴上耳机,打开了共享文件夹。
里面是江屿为她整理的学习资料,分门别类得令人惊叹:从Python基础到自然语言处理入门,从正则表达式详解到文件操作最佳实践,甚至还有一个名为“常见坑与填坑指南”的文档,里面记录了他这些年遇到的各种诡异bug和解决方案。
她开始研究今天的任务。
比昨天那个小demo复杂得多。她需要处理成千上万个文件,需要记录哪些文件处理失败、为什么失败,还需要在程序运行时显示进度——这对用户来说只是一个小功能,但对编程新手来说,意味着要理解多线程、文件I/O、异常处理等多个概念。
第一次尝试,程序运行到一半卡死了。
第二次,进度条显示异常,从30%直接跳到100%。
第三次,错误日志写入了,但全是乱码。
到中午十二点,林晚晴已经失败了七次。她盯着屏幕上密密麻麻的错误提示,感觉那些红色的文字在眼前跳舞。
“吃饭吗?”唐薇敲了敲她的隔板,“一楼食堂今天有糖醋排骨。”
林晚晴摇头:“我再试一次。”
“别太拼。”唐薇看了她屏幕一眼,“江屿给你的任务,通常都预留了20%的容错时间。他的‘今晚十点前’,其实意味着‘最晚明早八点前也可以’。”
“可我想今天完成。”
唐薇愣了一下,然后笑了:“行,有骨气。那给你带个三明治?”
“谢谢。”
实验室里的人渐渐走空,只剩下林晚晴一个人。她摘下眼镜揉了揉鼻梁,重新戴上的瞬间,又想起那个问题——江屿为什么要修她的眼镜?
是顺手而为吗?还是……
不,不要多想。她摇头甩开杂念,重新看向代码。
这一次,她换了个思路。既然一次性做完整工具太难,那就拆解:先做好文件批量读取,再加进度条,最后处理错误日志。一个小模块一个小模块地攻克。
时间在键盘敲击声中悄然流逝。
下午三点,她完成了文件批量读取。
下午五点,进度条开始正常显示。
晚上七点,错误日志终于能记录清晰的信息。
晚上八点半,所有模块整合完毕。
林晚晴按下运行键。
进度条开始缓慢推进:1%,5%,10%……程序稳定地处理着共享文件夹里的一千个测试文件。错误日志窗口里,偶尔跳出几条记录——“文件0032.txt编码异常,已跳过”、“文件0789.txt为空文件,已跳过”。
一切都正常运行。
她靠在椅背上,长长地舒了一口气。窗外的天已经全黑,实验室的灯光显得格外温暖。
晚上九点十分,林晚晴收拾东西准备离开。测试报告已经写好,程序打包发到了江屿的邮箱。她关掉电脑,拿起那副被修好的眼镜,犹豫了一下,从笔记本上撕下一张便利贴。
【眼镜的事,谢谢。】
她写下这几个字,贴在江屿的键盘上。
走到门口时,她忽然想起耳机还落在工位抽屉里——那是苏小雨借给她的降噪耳机,明天上课要用。她折返回去,拉开抽屉,取出耳机盒。
就在这时,她听见了音乐。
很轻很轻的吉他声,从走廊尽头的方向传来。
这个时间,工程楼里应该已经没什么人了。林晚晴下意识放轻脚步,循着琴声走去。声音越来越清晰——不是录音,是真实的弹奏,偶尔还有调试琴弦的细微杂音。
她停在309室门口。门牌上写着“多功能活动室”,门虚掩着,露出一线暖黄色的光。
透过门缝,她看见了江屿。
他坐在房间中央的高脚凳上,抱着一把木吉他,微微低头看着琴弦。暖黄色的落地灯在他身后投出长长的影子,白天的灰卫衣换成了深蓝色的针织衫,袖子挽到手肘,露出清瘦的手腕。
他在弹一首她从没听过的曲子。
旋律很温柔,像秋夜的风,像月光下的溪流。吉他声清澈而克制,偶尔有几个和弦转换略显生涩,但他会停下来,重新弹奏那个小节,直到满意为止。
林晚晴屏住呼吸。
这个江屿,和她认识的江屿,判若两人。
实验室里的江屿是锋利的,是精确到毫秒的,是代码和逻辑构成的。而此刻的江屿……是柔软的,是沉浸在某种私人情绪里的,是属于音乐和夜晚的。
他弹完一遍,停顿了几秒,然后开始低声哼唱。
没有歌词,只有简单的旋律哼鸣。声音比平时说话时低沉一些,带着一点沙哑,像在诉说一个很遥远的故事。
林晚晴听呆了。
直到走廊另一头传来电梯到达的“叮”声,她才猛地惊醒,意识到自己正在偷窥。她慌忙后退,却不小心踢到了墙角的灭火器箱。
“哐当——”
琴声戛然而止。
林晚晴的心脏几乎停跳。她转身想逃,但活动室的门已经被拉开了。
江屿站在门口,手里还抱着吉他,脸上有一闪而过的错愕。暖黄色的光从他身后涌出来,照亮了走廊的一小片区域。
“……林晚晴?”
他的声音里还残留着刚才哼唱时的温柔余韵。
“我、我只是……”林晚晴语无伦次,“我来拿耳机,听见音乐……对不起我不是故意偷听的……”
江屿沉默地看着她。走廊的声控灯因为刚才的声响已经亮起,冷白色的光线和活动室溢出的暖黄光在他脸上交织,让他的表情有些模糊。
“进来吧。”他忽然说。
活动室不大,除了几把椅子和一个储物柜,就是角落里的乐器和音响设备。江屿把吉他放回琴架,从储物柜里拿出两瓶矿泉水,递给她一瓶。
“坐。”
林晚晴小心地在高脚凳上坐下。空气中还弥漫着松香和木头的气味,那是吉他特有的味道。
“你弹得很好。”她小声说。
“生疏了。”江屿拧开瓶盖,“半年没碰。”
“为什么……”林晚晴想问为什么停了,但话到嘴边又咽了回去。这太私人了。
江屿却似乎明白了她的问题。他靠在储物柜上,仰头喝了口水,喉结滑动:“我母亲教的。她是音乐老师。”
林晚晴想起他昨天的话——灵析,是他母亲去世前一起定的名字。
“她去世三年了。”江屿继续说,声音很平静,“从那以后,我就很少弹了。”
“对不起……”
“不用道歉。”江屿看向她,“死亡是客观事实,不需要为此感到抱歉。”
又是那种极度理性的语气,但林晚晴听出了一丝不同。那平静之下,有什么东西在轻微地颤抖。
两人陷入沉默。活动室里只有空调出风口的微弱声音。
“眼镜修好了吗?”江屿忽然换了个话题。
“啊,修好了。”林晚晴下意识推了推眼镜,“谢谢你。我都不知道你会修这些东西。”
“小时候家里东西坏了,都是我和母亲一起修。”江屿说,“她常说,东西用久了会有感情,修好它,就是延续这段感情。”
他说这话时,目光落在琴架上的吉他上。
林晚晴忽然明白了什么。她看着江屿的侧脸——在暖黄色灯光下,他平时那种冷硬的轮廓似乎柔和了许多,睫毛在眼下投出浅浅的阴影。
“你……”她鼓起勇气,“你今天不是去市里开会了吗?”
“下午四点就结束了。”
“那为什么……”
“为什么在这里?”江屿接过话,“因为实验室太吵。而这里,”他环顾四周,“安静。”
他顿了顿,补充道:“也因为你今天应该会加班到很晚,我不想打扰你。”
林晚晴愣住。
他知道她会加班?他知道她会努力在今天完成任务?所以他特意避开了实验室,给她一个安静的环境?
“任务完成了吗?”江屿问。
“完成了。测试报告发你邮箱了。”
“好。”他点头,“那你可以回去了。”
逐客令来得突然,但语气并不冰冷。林晚晴站起身,犹豫了一下:“那首曲子……有名字吗?”
江屿看向吉他,沉默了几秒。
“《未完成的赋格》。”他说,“我母亲写的最后一首曲子。她没来得及写完。”
未完成的。
就像那台被撞坏的机器人“灵析一号”,就像他现在在做的AI翻译项目,就像……很多很多事情。
林晚晴忽然觉得鼻子有点酸。她低头:“那我先走了。晚安。”
“晚安。”
她走到门口,手放在门把手上时,身后传来江屿的声音:
“林晚晴。”
“嗯?”
“明天下午的辅导课,内容调整。”江屿已经重新抱起吉他,“改成项目实战。
林晚晴转过身:“我可以吗?我什么都不懂……”
“所以我会教你。”江屿的手指轻轻拨动琴弦,一个清澈的和弦在空气中荡开,“以及,今天你独立完成了V2,做得不错。”
这是第二次了。
第二次,他给出的,近乎表扬的肯定。
林晚晴感觉脸颊发烫。她小声说了句“谢谢”,拉开门快步离开。
走廊的声控灯随着她的脚步声一盏盏亮起。她走到电梯口,按下按钮,等待的时候,忍不住回头看了一眼。
309活动室的门缝下,依然透出暖黄色的光。
隐约的吉他声又响起来了。
这一次,旋律似乎比刚才更完整了一些。
林晚晴回到宿舍时,已经快十点了。
苏小雨正敷着面膜看剧,见她回来,立刻按下暂停键:“怎么样怎么样?今天江屿又给你什么变态任务了?”
林晚晴放下书包,从里面拿出那副眼镜,小心地放在书桌上。
“小雨,”她忽然问,“如果你一直以为某个人是冰山,但有一天你发现,冰山下面其实有岩浆……你会怎么办?”
苏小雨撕下面膜,眼睛瞪大:“你发现江屿的秘密了?!”
“不是秘密。”林晚晴摇头,“只是……另一面。”
她打开电脑,登录邮箱。收件箱里有一封新邮件——来自江屿,十分钟前发送的。
明日14:00,讨论附件内容。
另,吉他的事,不必向团队提起。
不必提起。
好像那是只属于他们之间的,一个小小的秘密。
林晚晴点开附件。那是一份三十多页的PDF,详细规定了AI翻译语料库的标注标准:哪些句子需要保留,哪些需要润色,同义词如何处理,文化差异如何标注……专业得令人惊叹。
而在文档的最后一页,页脚处,有一个小小的手写体注释:
“标注不仅是技术,更是理解。理解语言,理解文化,理解……表达者想要传递的真正含义。”
那字迹,和江屿平时冷硬的笔迹不太一样。更舒展,更……温柔。
林晚晴盯着那句话,看了很久。
窗外,秋夜深了。远处工程楼的方向,只有零星几扇窗户还亮着灯。
她不知道的是,此刻的309活动室里,江屿并没有在弹吉他。
他坐在电脑前,屏幕上打开着林晚晴今天提交的测试报告。报告写得非常详细,每个bug的发现过程、解决思路、测试结果都记录得清清楚楚。甚至在最后,她还附上了一个“改进建议”部分,提出了三个优化方案——虽然都很稚嫩,但思考角度新颖。
江屿的目光落在报告末尾的签名上。
林晚晴。
和协议上那个用力过度、带着不甘的签名不同,这次的签名流畅而自信。
他移动鼠标,将这份报告归档到一个新建的文件夹里。文件夹的名字是:
LWQ
然后他打开另一个文档——那是一份项目进度表,在“语料标注负责人”一栏,原本空白的格子里,他已经填上了一个名字。
保存,关电脑。
活动室里只剩下落地灯的暖光。江屿走到窗边,看向宿舍楼的方向。夜色中,那些亮着灯的窗户像星空一样散落。
他的手机震动了一下。
父亲发来的消息:
【下周回国,见面谈谈你未来的规划。记住你的承诺。】
承诺。
江屿闭了闭眼,将手机屏幕按灭。再睁开时,眼底又恢复了平日的清冷。
但当他转身,目光扫过琴架上的吉他时,那冷意又稍稍融化了一些。
他走到吉他旁,手指轻轻拂过琴弦。
《未完成的赋格》。
母亲没写完的曲子。
而他,似乎也站在某个“未完成”的节点上。前面是父亲规划好的、笔直而冰冷的人生路径;旁边是实验室里那些精密但孤独的代码;而身后……
身后是那个撞坏他机器人、却意外闯入他世界的女生。
她像一颗突然偏离轨道的小行星,撞进了他严密运行的系统里。
然后,系统开始出现他无法完全掌控的变量。
江屿拿起拨片,在吉他上轻轻弹了一个和弦。
旋律在安静的房间里荡开,像水面的涟漪,一圈圈扩散,最终消失在夜色里。
而未完成的,终将继续
您的支持就是作者创作的动力!
1张推荐票
您的支持就是作者创作的动力!
1 谷籽 = 100 咕咕币
已有账号,去登录
又想起来了