直到雨宫的肚子发出一声清晰的“咕噜——”,在安静的实验室里格外响亮。
我才猛地从代码界面抬起头,看了眼手机屏幕。
“七点四十了?”
雨宫自己也吓了一跳,声音里满是难以置信。
“感觉才刚过中午……我们午饭是什么时候吃的?”
“下午一点,便利店饭团。”
远藤平静地说,手上没停止动作,“得回家吗?”
“八个小时……”
我揉了揉发僵的肩膀。
“今天就到这里吧。最后两天,保持状态比透支更重要。而且我们需要留出大脑处理信息的时间——睡眠时记忆会固化。”
这是真的,也是借口。我们都累了,只是没人愿意先说出来。
开始收拾散乱的工具和零件。
螺丝刀归位,焊枪断电,多余的导线卷好,测试仪器关机。
这些日常的、重复的动作有种奇妙的安抚作用,让高速运转的大脑逐渐减速。
远藤忽然开口,声音在略显空旷的实验室里很清晰。
“我有个想法。关于比赛当天,如果我们遇到突发状况,比如场地光照突然变化,或者对手的机器人意外干扰到我们的传感器,我们可以预设一个应急协议。”
他停下来,似乎在组织语言。
雨宫和我都停下手上的动作,看着他。
“当检测到特定类型的信号噪声或异常值时——比如持续的高频干扰,或者传感器读数在短时间内剧烈波动——系统可以自动切换到一个更鲁棒、但速度稍慢的备用控制算法。”
他说得越来越快,像是想法自己找到了出口。
“这个备用算法不依赖精确的环境感知,而是基于预设的保守参数运行。它能保证机器人至少完成基本动作,而不是完全失控。”
“像是安全模式。”我说。
“对。比赛是淘汰制,有时候完赛比追求完美更重要。如果因为意外而在第一轮就出局,所有优化都没有意义。”
“但判断何时切换是个问题,
”雨宫思考着,“误判会导致不必要的降级,错过时机又会让意外变成灾难。”
“可以用多层判断逻辑,结合多个传感器的读数,设置不同的阈值——”
他的话被一阵轻快的手机铃声打断。
不是普通的铃声,而是一段动漫主题曲,在安静的实验室里显得格外突兀。
雨宫看了一眼来电显示,脸上立刻浮现出“糟糕”的表情,还夹杂着一点羞赧。
“我妈……”
她小声说,接起电话。
“喂?嗯,还在学校……快结束了……外婆已经到了?我马上回来……真的马上!”
挂断电话,她对我们做了个抱歉的手势。
“今天外婆来家里吃饭,全家都在等我。我妈说菜都快凉了。”
我和远藤都笑了。
这种日常的、家庭的牵绊,在这种时刻显得格外真实而温暖。
“备用方案的事,明天再详细说。”
远藤推了推并不存在的眼镜——这个动作已经成了他的习惯。
“先保存好所有工程文件,做好备份。清濑,你那里有移动硬盘吧?”
“有,三份备份:本地,云端,移动硬盘。”
“很好。”
我们完成了最后的收尾工作。
关掉总电源,仔细检查窗户是否锁好——特别是那只三花猫可能溜进来的缝隙,最后锁上实验室的门。
钥匙转动时发出清脆的咔嗒声,像是为今天画上句号。
夜晚的凉风扑面而来,卷走了几分积攒的疲惫。
实验室里的闷热和电子产品的气味被清新的夏夜空气取代,带着隐约的草木香和远方城市的喧嚣。
三人并肩走在通往车站的路上。路灯已经全亮,橙黄色的光将我们的影子时而拉长,时而缩短,时而交叠在一起。
街道很安静,只有偶尔驶过的汽车和便利店自动门的开关声。
“说实话,”
雨宫忽然说,声音在夜色中显得轻飘飘的。
“我刚才真的有点慌了。当发现颜色识别可能出问题时。”
“很正常,”
我说。
“发现问题比问题本身更重要。我们在赛前发现了,还有时间解决。”
“但如果没有发现呢?”
她问,“如果我们自信满满地去比赛,然后在场上才发现灯光问题——”
“那我们会当场调整,”
远藤平静地打断,“比赛有调试时间。虽然紧张,但并非不可能。只不过现在提前发现,我们更从容。”
“你总是这么理性。”雨宫笑了。
“理性不好吗?”
“很好。就是有时候让人觉得不像人类。”
我打趣道。
“的确,教室里的和实验室的完全不一样。”
远藤沉默了。
几秒后他把眼镜摘下,笑着说:“现在呢?”
雨宫笑着说:“现在就一样了。”
我听后随之一笑。
我们走过一座小桥,桥下的河水在夜色中黑沉沉地流淌,倒映着两岸的灯光,像是把星星撕碎了洒在水里。
我低头看着桥下的光影,又想起昨天井上老师的话。
能在这个年纪,找到可以毫无保留地讨论技术细节、为一个共同目标全力以赴的伙伴,确实是一种幸运。
但还有更多。
不仅仅是讨论技术,还有这种在夜幕中并肩行走的时刻,有这种可以坦诚说“我慌了”的信任,有这种不需要解释就能理解的默契。
“对了,”
雨宫说,“比赛那天,你们家里人会来吗?”
“我父母出差,”远藤说,“但姐姐说可能会来,如果她的实验不忙的话。”
“应该就我一个”我说。
话题就此沉默。
车站就在前方。
雨宫要坐的电车先到,她向我们挥手,跑上站台,背影在灯光下像一只敏捷的小鹿。
电车进站时带起的风掀起她的裙摆和头发,她按住裙子,回头对我们笑了笑,然后跳上车。
车门关闭,电车缓缓驶离,红色的尾灯在夜色中划出流畅的弧线。
“她压力很大。”远藤忽然说。
“嗯?”
“雨宫。她从没说过,但我能感觉到。她想要证明什么——对自己,或者对什么人。”
远藤树推着自行车,目光看着电车消失的方向,“所以她总是最投入,最着急,最不能接受失败。”
我想起雨宫调试机器人时的表情,那种近乎偏执的专注。
“每个人都有自己的理由。”最后我说。
“是啊。”
远藤跨上自行车,“明天见。记得看群里的消息。”
“好。”我点点头。
远藤树也点了点头,脚下一蹬,自行车无声地滑入夜色。
我看着他远去,然后转身走向自己的车站。
独自等车的时候,夜晚显得更安静了。
月台上三三两两,都低头看着手机。
我靠在柱子上,抬头看天空。
城市的夜空是深紫色的,看不见星星,只有飞机的航行灯缓慢移动,像迷失的萤火虫。
电车来了,车厢里空荡荡的。
我选了个靠窗的位置坐下,看着窗外流动的夜景。
便利店明亮的橱窗,居酒屋暖黄的灯光,公寓楼里一个个发光的方格窗口。
每个窗口后面都是一个家,一段人生,一些喜悦和烦恼。
快到家的最后一个路口,我下了车。
骑上停在车站的自行车,穿梭在夏夜微凉的街道上。
风掠过耳畔,带着都市夜晚特有的复杂气味:炒菜的油烟,洗衣液的清香,潮湿的混凝土,还有不知何处飘来的栀子花香。
树影在路灯下婆娑,像巨大的、缓慢呼吸的生物。
我的车轮碾过落叶,发出细碎的声响。
快到家的那个路口,我在树荫下停住。
口袋里的手机震动了一下,屏幕在夜色中亮起。
是远藤在三人小群里发的消息。
没有多余的话,只是一个清单。
五个开源网络模型的名称、架构特点、预训练数据集、以及与我们硬件兼容性的初步评估。每个模型后面都附了链接和一两句备注。
典型的远藤风格:高效,精确,毫无冗余。
几秒后,雨宫回复了。
先是一个猫咪疯狂敲键盘的表情包,然后是一段语音。
我点开,她的声音压得很低,大概是躲在房间里。
“第三个模型我觉得不行,参数量太大,我们的计算单元跑不动。第二个和第五个可以深入看看,我明早到实验室前会先跑一下基准测试。”
接着她又发了一条文字。
“还有,我想了一下灯光问题,也许我们可以做一个自适应校准流程。比赛开始前有五分钟准备时间,我们可以让机器人快速扫描场地提供的标准色卡,自动生成颜色映射表。这样即使灯光条件特殊,也能现场调整。”
远藤回复:“嗯可行性高。需要编写自动校准程序,但逻辑不复杂。明天可以优先实现这个。”
雨宫:“同意。那明天先做校准模块,然后测试重量判断的稳定性,最后讨论备用方案。”
“预计用时:校准模块2小时,测试3小时,讨论1小时,缓冲1小时。总计7小时,从上午9点到下午5点,留出1小时晚餐和意外时间。”
远藤:“合理。清濑?”
我看着屏幕上跳动的消息,那些冷静的分析,热情的提议,严谨的时间规划。这些文字在夜色中发光,像一条看不见的线,将我们三人连接在一起,无论相隔多远。
我打字回复:“同意安排。另外,我会把井上老师推荐的旧杂志带来,也许能找到一些传感技术的灵感。早点休息明天见。”
发送。
几乎同时,雨宫回了一个“加油”的动画表情,远藤则是一个简单的“嗯”。
我握着手机,不自觉地扬起了嘴角。
笑容很轻,但真实。
一天的疲惫还在身体里,但心里某个地方是满的,像是被什么温暖的东西填满了。
抬起头,夏夜的星空在城市光污染的间隙里,竟也透出几许清澈的亮光。
仔细看,能辨认出几颗最亮的星,疏淡却执着地钉在天幕上。它们在那里已经亿万年了,看过无数个这样的夜晚,无数个像我们一样在某个目标前奔跑的年轻人。
星辰无言,只是闪烁。
但今夜,我仿佛能听见它们的声音——那是一种遥远的、静默的祝福,为所有在青春里认真活过的人。
进门开灯,看着大大小小的物品。
心里会安定不少。
这同样是我的世界,微小而完整。
明天,实验室见。