周一清晨六点四十分,我站在清河社区那家名叫“老周豆浆”的早餐摊前,感觉自己像个刚加载完地图的NPC。
铁皮棚子冒着白茫茫的蒸汽,油条在锅里滋滋膨胀,空气里浮动着豆香、葱香和油炸面食特有的暖烘烘的焦香。排队的大多是上早班的中年人、送完孩子回来的爷叔阿姨,还有几个穿着附近工地荧光背心的工人——我是唯一一个背着电脑包、眼神还在适应这个光亮度的人。
“小姑娘,第一次来?”摊主周叔舀起一勺豆浆,手腕一抖,乳白色的液体划出完美弧线落进塑料杯,“大学生吧?这么早。”
“嗯,来实习。”我接过烫手的杯子,“还要一根油条,一份拌川。”
“拌川要等五分钟哦,现炒浇头。”周叔朝棚子里喊,“阿舟!多加个蛋!”
我愣住。循声望去,油锅后面的小隔间里,一个穿着深蓝色工装围裙的身影正背对着这边颠勺。铁锅在他手里轻巧地一扬,金黄蛋液裹着肉丝、香干和韭黄在空中短暂腾空,然后精准落回锅里,“刺啦”一声爆出更浓郁的香气。
那个背影,那个侧脸的弧度——
楚惟舟转过身,用锅铲将炒好的浇头盖在刚煮好的宽面上,然后抬起头。晨光恰好穿过棚顶塑料布的裂缝,落在他沾了少许油渍的围裙和——没戴眼镜的脸上。
我们隔着蒸腾的白雾对视了三秒。
他先移开视线,把面装进一次性饭盒,动作熟练得不像第一次。然后脱下围裙,从隔间走出来,手里端着那盒拌川。
“你的。”他把饭盒放在我面前的小折叠桌上,“坐。”
我机械地坐下。电脑包滑到脚边。楚惟舟在我对面坐下,拿起我面前的一次性筷子,掰开,互相摩擦掉木刺,然后递给我。
“周叔是我舅舅。”他开口,声音比在公司里松弛一些,“我高中时每个周末都来帮忙,后来出国,回来创业,忙起来就很少来了。上周他说腰疼复发,我就答应早上来顶两小时。”
我夹起一筷子拌川。面条裹着油润的浇头,入口是质朴的鲜香。“为什么……不告诉我?”
“告诉你什么?”他撕开一小包醋,淋在自己的豆浆碗里,“‘我有个卖豆浆的舅舅’?这属于无关工作的个人信息。”
“但我们现在在吃早饭。”我指出,“这不属于工作。”
他抬眼看了我一下,嘴角似乎弯了极小的弧度:“逻辑正确。那么重新介绍——这是我舅舅的店,我偶尔来帮忙。以及,他家的拌川是这一片最好吃的,因为浇头现炒,油条现炸,豆浆用石磨,虽然效率低,但风味函数无法被工业化复制。”
“风味函数?”
“嗯。”他喝了一口豆浆,“每个参数都影响最终输出:黄豆浸泡时间、水温、研磨细度、煮浆火候……哪怕所有参数一样,不同人做出来的味道也不同。这是算法的盲区,却是生活的核心。”
周叔又端来两碗小馄饨,汤里飘着紫菜和蛋皮:“阿舟难得带朋友来,请你们的。小姑娘,他平时在公司没欺负你吧?”
“舅舅。”楚惟舟声音里带着很淡的无奈。
“没,楚总……楚惟舟他很专业。”我赶紧说。
“专业什么呀,小时候在这里打翻一桶豆浆,哭得鼻涕泡都出来了。”周叔哈哈大笑,拍了拍楚惟舟的肩膀,留下一个面粉手印。
楚惟舟低头看着肩膀上的白印子,眉头蹙起——那个洁癖的表情又回来了。但他没有立刻掸掉,而是拿起醋瓶,又往豆浆里加了几滴。
“您腰好点了吗?”他问。
“老毛病,贴了膏药。”周叔朝我眨眨眼,“这小子,上个月非要带我去拍什么磁共振,我说不用,他直接预约了专家号。结果医生说就是劳损,多休息就行。花那冤枉钱。”
“排除风险是必要成本。”楚惟舟语气平静,“您现在每周少做一天,营业额损失我补。”
“谁要你补!”周叔瞪眼,但眼角的皱纹都舒展开,“行了,你们吃,我炸油条去。”
小小的折叠桌又安静下来。隔壁桌的工人在讨论今天的活计,远处有自行车铃铛清脆地响。晨光越来越亮,棚顶的塑料布透出暖黄的光晕。
“你经常这样吗?”我问,“在公司和……这里之间切换。”
“不经常。”他放下筷子,“但需要。算法写久了,会忘记真实世界的噪声和摩擦系数。在这里,你会记得一碗豆浆的温度是62度时最好入口,记得晚高峰前要多准备三十根油条,记得李阿婆只吃甜豆浆,但她糖尿病,得偷偷给她换成半糖——”
他顿了顿:“这些细节,任何数据集里都没有。”
我看着他。他脸上有我没见过的神情,一种介于少年和成年人之间的、卸下盔甲的松弛。围裙口袋里露出一截铅笔,是沈清让那支铜制铅笔。
“沈博士的笔怎么在你这?”
“上周会议后她落下了。”他抽出笔,指尖摩挲着笔身上的刻痕——“Think deeper than code”,“昨天给她送过去,她正在和顾南乔吵架,关于透明度标准的阈值设定。笔又忘在我这儿了。”
“他们经常吵架?”
“建设性的冲突。”他把笔放回口袋,“沈清让坚持算法必须像玻璃房子,每一块砖都可见;顾南乔认为普通用户不需要看懂砖,只需要知道房子不会塌。两人在斯坦福时就因为这个问题在 seminar 上吵过。”
“那你怎么看?”
楚惟舟沉默了片刻。他望向棚外,街道渐渐苏醒,送孩子的电动车流像溪水一样淌过。
“我小时候在这里帮忙,最怕下雨。”他突然说,“雨水会漏进棚子,弄湿面粉,顾客也会变少。舅舅就用塑料布补漏,但下次下雨,又有新的地方漏。后来我攒钱买了块完整的防雨布,以为问题解决了。”
他转回视线:“但装上防雨布后,夏天棚子里热得像蒸笼。没有完美的解决方案,只有权衡和迭代。算法也是——完全的透明可能带来认知过载,完全的黑箱又会丧失信任。所以我们需要沈清让的玻璃房子,也需要顾南乔的安全承诺,更需要——”
他看向我:“像你这样,既懂代码又记得豆浆温度的人,在中间做翻译。”
我心脏漏跳一拍。油锅的滋滋声、街市的嘈杂、远方隐约的广播声,都成了模糊的背景音。
“那我算什么?”我听见自己问,“翻译器?”
“耦合器。”他纠正,“让两个原本频率不同的系统,能够交换能量而不崩溃的部件。”
他站起身,开始收拾碗筷。动作利落,塑料碗叠在一起,筷子归拢。我跟着站起来要帮忙,他摇头:“你是顾客。”
“但我也吃了小馄饨——”
“那是我请的。”他把碗筷放进回收桶,解开围裙。深蓝色布料滑落,露出里面那件我熟悉的炭灰色针织衫,只是肩头还留着那个面粉手印。
他从口袋里掏出车钥匙:“八点前要到公司,今天要测试沈清让的伦理框架第一个版本。你坐我车。”
“我可以坐地铁——”
“早高峰的地铁,你的笔记本有37.2%的概率被挤到损坏。”他语气毫无波澜,“这是基于过去三年实习生设备报修数据的计算。”
我闭嘴,跟着他走向停在巷口的车。经过油锅时,周叔喊住我:“小姑娘,下次来,叔教你炸油条!阿舟小时候学了半天都炸不好,不是老就是嫩——”
“舅舅。”楚惟舟再次无奈。
“知道了知道了,楚总面子要紧。”周叔大笑,往我手里塞了个塑料袋,里面装着两根刚出锅的油条,“带着,上班饿了好吃。”
车驶出老城区,汇入主干道的车流。车载系统自动播放早间新闻,关于人工智能伦理立法的讨论。楚惟舟关掉了声音。
“你父亲,”他忽然开口,“后来联系你了吗?”
我捏着温热的油条袋子:“昨晚打了电话。还是老样子,但……好像没那么坚持让我回去了。”
“因为你说了蝴蝶项目?”
“嗯。”
“很好。”他注视着前方,“真实的数据胜过一切论证。”
红灯。他停下车,手指在方向盘上轻轻敲击。那个面粉手印还在他肩头,像一个温柔的污点。
“林晚。”他叫我名字时,总是格外清晰,像在调试时输入一个关键变量。
“嗯?”
“如果,”他停顿,像在选择措辞,“如果期中项目需要实地调研,你可以申请去你家乡的社区中心。公司可以出具调研函,差旅费报销。”
我怔住:“为什么……”
“因为耦合器需要理解两端的频率。”绿灯亮起,他平稳地踩 周一清晨六点四十分,我站在清河社区那家名叫“老周豆浆”的早餐摊前,感觉自己像个刚加载完地图的NPC。
铁皮棚子冒着白茫茫的蒸汽,油条在锅里滋滋膨胀,空气里浮动着豆香、葱香和油炸面食特有的暖烘烘的焦香。排队的大多是上早班的中年人、送完孩子回来的爷叔阿姨,还有几个穿着附近工地荧光背心的工人——我是唯一一个背着电脑包、眼神还在适应这个光亮度的人。
“小姑娘,第一次来?”摊主周叔舀起一勺豆浆,手腕一抖,乳白色的液体划出完美弧线落进塑料杯,“大学生吧?这么早。”
“嗯,来实习。”我接过烫手的杯子,“还要一根油条,一份拌川。”
“拌川要等五分钟哦,现炒浇头。”周叔朝棚子里喊,“阿舟!多加个蛋!”
我愣住。循声望去,油锅后面的小隔间里,一个穿着深蓝色工装围裙的身影正背对着这边颠勺。铁锅在他手里轻巧地一扬,金黄蛋液裹着肉丝、香干和韭黄在空中短暂腾空,然后精准落回锅里,“刺啦”一声爆出更浓郁的香气。
那个背影,那个侧脸的弧度——
楚惟舟转过身,用锅铲将炒好的浇头盖在刚煮好的宽面上,然后抬起头。晨光恰好穿过棚顶塑料布的裂缝,落在他沾了少许油渍的围裙和——没戴眼镜的脸上。
我们隔着蒸腾的白雾对视了三秒。
他先移开视线,把面装进一次性饭盒,动作熟练得不像第一次。然后脱下围裙,从隔间走出来,手里端着那盒拌川。
“你的。”他把饭盒放在我面前的小折叠桌上,“坐。”
我机械地坐下。电脑包滑到脚边。楚惟舟在我对面坐下,拿起我面前的一次性筷子,掰开,互相摩擦掉木刺,然后递给我。
“周叔是我舅舅。”他开口,声音比在公司里松弛一些,“我高中时每个周末都来帮忙,后来出国,回来创业,忙起来就很少来了。上周他说腰疼复发,我就答应早上来顶两小时。”
我夹起一筷子拌川。面条裹着油润的浇头,入口是质朴的鲜香。“为什么……不告诉我?”
“告诉你什么?”他撕开一小包醋,淋在自己的豆浆碗里,“‘我有个卖豆浆的舅舅’?这属于无关工作的个人信息。”
“但我们现在在吃早饭。”我指出,“这不属于工作。”
他抬眼看了我一下,嘴角似乎弯了极小的弧度:“逻辑正确。那么重新介绍——这是我舅舅的店,我偶尔来帮忙。以及,他家的拌川是这一片最好吃的,因为浇头现炒,油条现炸,豆浆用石磨,虽然效率低,但风味函数无法被工业化复制。”
“风味函数?”
“嗯。”他喝了一口豆浆,“每个参数都影响最终输出:黄豆浸泡时间、水温、研磨细度、煮浆火候……哪怕所有参数一样,不同人做出来的味道也不同。这是算法的盲区,却是生活的核心。”
周叔又端来两碗小馄饨,汤里飘着紫菜和蛋皮:“阿舟难得带朋友来,请你们的。小姑娘,他平时在公司没欺负你吧?”
“舅舅。”楚惟舟声音里带着很淡的无奈。
“没,楚总……楚惟舟他很专业。”我赶紧说。
“专业什么呀,小时候在这里打翻一桶豆浆,哭得鼻涕泡都出来了。”周叔哈哈大笑,拍了拍楚惟舟的肩膀,留下一个面粉手印。
楚惟舟低头看着肩膀上的白印子,眉头蹙起——那个洁癖的表情又回来了。但他没有立刻掸掉,而是拿起醋瓶,又往豆浆里加了几滴。
“您腰好点了吗?”他问。
“老毛病,贴了膏药。”周叔朝我眨眨眼,“这小子,上个月非要带我去拍什么磁共振,我说不用,他直接预约了专家号。结果医生说就是劳损,多休息就行。花那冤枉钱。”
“排除风险是必要成本。”楚惟舟语气平静,“您现在每周少做一天,营业额损失我补。”
“谁要你补!”周叔瞪眼,但眼角的皱纹都舒展开,“行了,你们吃,我炸油条去。”
小小的折叠桌又安静下来。隔壁桌的工人在讨论今天的活计,远处有自行车铃铛清脆地响。晨光越来越亮,棚顶的塑料布透出暖黄的光晕。
“你经常这样吗?”我问,“在公司和……这里之间切换。”
“不经常。”他放下筷子,“但需要。算法写久了,会忘记真实世界的噪声和摩擦系数。在这里,你会记得一碗豆浆的温度是62度时最好入口,记得晚高峰前要多准备三十根油条,记得李阿婆只吃甜豆浆,但她糖尿病,得偷偷给她换成半糖——”
他顿了顿:“这些细节,任何数据集里都没有。”
我看着他。他脸上有我没见过的神情,一种介于少年和成年人之间的、卸下盔甲的松弛。围裙口袋里露出一截铅笔,是沈清让那支铜制铅笔。
“沈博士的笔怎么在你这?”
“上周会议后她落下了。”他抽出笔,指尖摩挲着笔身上的刻痕——“Think deeper than code”,“昨天给她送过去,她正在和顾南乔吵架,关于透明度标准的阈值设定。笔又忘在我这儿了。”
“他们经常吵架?”
“建设性的冲突。”他把笔放回口袋,“沈清让坚持算法必须像玻璃房子,每一块砖都可见;顾南乔认为普通用户不需要看懂砖,只需要知道房子不会塌。两人在斯坦福时就因为这个问题在 seminar 上吵过。”
“那你怎么看?”
楚惟舟沉默了片刻。他望向棚外,街道渐渐苏醒,送孩子的电动车流像溪水一样淌过。
“我小时候在这里帮忙,最怕下雨。”他突然说,“雨水会漏进棚子,弄湿面粉,顾客也会变少。舅舅就用塑料布补漏,但下次下雨,又有新的地方漏。后来我攒钱买了块完整的防雨布,以为问题解决了。”
他转回视线:“但装上防雨布后,夏天棚子里热得像蒸笼。没有完美的解决方案,只有权衡和迭代。算法也是——完全的透明可能带来认知过载,完全的黑箱又会丧失信任。所以我们需要沈清让的玻璃房子,也需要顾南乔的安全承诺,更需要——”
他看向我:“像你这样,既懂代码又记得豆浆温度的人,在中间做翻译。”
我心脏漏跳一拍。油锅的滋滋声、街市的嘈杂、远方隐约的广播声,都成了模糊的背景音。
“那我算什么?”我听见自己问,“翻译器?”
“耦合器。”他纠正,“让两个原本频率不同的系统,能够交换能量而不崩溃的部件。”
他站起身,开始收拾碗筷。动作利落,塑料碗叠在一起,筷子归拢。我跟着站起来要帮忙,他摇头:“你是顾客。”
“但我也吃了小馄饨——”
“那是我请的。”他把碗筷放进回收桶,解开围裙。深蓝色布料滑落,露出里面那件我熟悉的炭灰色针织衫,只是肩头还留着那个面粉手印。
他从口袋里掏出车钥匙:“八点前要到公司,今天要测试沈清让的伦理框架第一个版本。你坐我车。”
“我可以坐地铁——”
“早高峰的地铁,你的笔记本有37.2%的概率被挤到损坏。”他语气毫无波澜,“这是基于过去三年实习生设备报修数据的计算。”
我闭嘴,跟着他走向停在巷口的车。经过油锅时,周叔喊住我:“小姑娘,下次来,叔教你炸油条!阿舟小时候学了半天都炸不好,不是老就是嫩——”
“舅舅。”楚惟舟再次无奈。
“知道了知道了,楚总面子要紧。”周叔大笑,往我手里塞了个塑料袋,里面装着两根刚出锅的油条,“带着,上班饿了好吃。”
车驶出老城区,汇入主干道的车流。车载系统自动播放早间新闻,关于人工智能伦理立法的讨论。楚惟舟关掉了声音。
“你父亲,”他忽然开口,“后来联系你了吗?”
我捏着温热的油条袋子:“昨晚打了电话。还是老样子,但……好像没那么坚持让我回去了。”
“因为你说了蝴蝶项目?”
“嗯。”
“很好。”他注视着前方,“真实的数据胜过一切论证。”
红灯。他停下车,手指在方向盘上轻轻敲击。那个面粉手印还在他肩头,像一个温柔的污点。
“林晚。”他叫我名字时,总是格外清晰,像在调试时输入一个关键变量。
“嗯?”
“如果,”他停顿,像在选择措辞,“如果期中项目需要实地调研,你可以申请去你家乡的社区中心。公司可以出具调研函,差旅费报销。”
我怔住:“为什么……”
“因为耦合器需要理解两端的频率。”绿灯亮起,他平稳地踩下油门,“你需要知道,你父亲担心的‘不稳定’是什么样子,也需要让他看见,你追求的‘意义’是什么样子。信息对称是解决冲突的第一步。”
车驶入科技园区。玻璃大厦在晨光中闪闪发光,像另一个世界的水晶宫。
下车前,我终于问出那个盘旋已久的问题:“你今天为什么戴隐形眼镜?”
楚惟舟正在解安全带的手指顿了一下。
“框架眼镜在油锅蒸汽里会起雾。”他说,推门下车,“影响操作精度。”
他走在我前面半步,肩头的面粉印子在纯净的晨光里格外显眼。我跟在后面,怀里抱着电脑包和油条袋子,袋口渗出一点点油渍,沾在了我的白衬衫袖口上。
电梯里,我们并肩站着。镜面映出两个人:他肩头有面粉,我袖口有油渍。我们身上都带着豆浆、油烟和街道的气息,即将进入一个由代码、消毒水和精密空调统治的世界。
电梯门开时,楚惟舟侧过头,低声说:“袖口,去洗手间处理一下。被沈清让看见,她会以为我们公司的着装规范崩坏了。”
我低头看着那个小小的油渍,笑了:“您肩膀上的面粉印呢?”
他抬手,轻轻掸了掸。白色粉末在光线中飞扬,像某种仪式性的雪。
“这是耦合系数必要的残余。”他说,走向总裁室,“提醒我,系统之间曾经有过温暖的摩擦。”
门关上。我站在原地,闻到指尖残留的油条香气。
原来这就是生活算法——在豆浆温度和代码效率之间,在父亲叹息和蝴蝶振翅之间,在面粉手印与西装革履之间,存在着无数个需要被翻译、被耦合的瞬间。
而今天,我的耦合系数,因为一顿早餐,悄悄上调了0.01。