下一章 上一章 目录 设置
620、第 620 章
但 ...
-
但她没有拆穿。拆穿意味著她承认自己知道这件事,承认她去找过周珩,承认她在乎。
“温姐,”宋晚晴凑过来,“下午那个参数优化你打算用什么方法?”
“梯度下降。”
“程顾问,你呢?你觉得用什么方法好?”宋晚晴的问题转得极其生硬。
程越看了一眼温以宁,像是在确认这个问题她允许他回答。
温以宁没有表示反对。
“梯度下降可以,但收敛速度不够快。”他说,“如果用共轭梯度法,配合量子态的几何结构,应该能快百分之二十左右。”
“那你来写。”温以宁把吃完的沙拉盒扔进垃圾桶,“下午三点之前给我。”
“好。”
宋晚晴在旁边张了张嘴,想说什么,最后什么也没说。
下午的进度比预想的快。程越的共轭梯度法实现得很干净,温以宁把量子态的几何结构参数整合进去之后,整个优化流程跑得比她预期的顺畅很多。两个人的代码在接口处对接的时候没有任何冲突——她写的输入格式刚好是他预期的输出格式,他写的数据结构刚好是她习惯调用的类型。
这种默契让温以宁很不舒服。
不是因为默契本身,而是因为它证明了某件事。五年的时间、五千公里的距离、无数次被删除和重新下载的论文——所有这些都没有改变一件事:他们写代码的方式是同步的。像两个被同一个时钟校准过的计时器,即使被分开很长时间,重新启动的时候走的还是同一个节拍。
这意味著什么?意味著他们从根本上用同一种方式思考问题?意味著这五年他在海外写的代码和她写的代码在某种深层结构上是互补的?还是意味著——他们从未真正分开过?
她拒绝想这个问题。
时间在键盘声中流逝。窗外的光线从刺眼的白变成温暖的橙,再从温暖的橙变成灰蓝色的暮色。研究员们一个一个下班走了。宋晚晴走的时候在门口站了一下,看了温以宁一眼,又看了程越一眼,然后什么也没说就走了。
八点。九点。十点。
实验室里只剩他们两个人。
温以宁正在跑最后一组测试数据,需要二十分钟才能出结果。她站起来,走到茶水间,给自己倒了一杯水。然后她看到咖啡机旁边的胶囊架子——整整齐齐摆著六种口味的咖啡胶囊,每一种都贴了标签。
她的手指停在其中一种上面。哥伦比亚豆,中度烘焙,酸度适中。
她记得这个口味。大学的时候程越只喝这种咖啡。她当时觉得他挑剔——学校咖啡厅只有三种豆子,他每次都选同一种,从不换。她问他为什么不试试别的,他说“找到了喜欢的就不需要换”。
温以宁拿了一颗胶囊,放进咖啡机,按下按钮。黑色的液体流进马克杯,香气在茶水间里散开。
她端著咖啡走回实验室,走到程越的工位旁边,把杯子放在他桌上。
“给你的。”
程越的手指停在键盘上。
他看著那杯咖啡,没有立刻拿。然后他抬起头,看她的眼睛。
“你还记得。”
这句话的重量让空气变了。
温以宁转身走回自己的工位,坐下,对著萤幕。萤幕上的测试数据还在跑,进度条显示百分之七十三。
“你工位旁边只有这个口味的胶囊。”她说,声音平得像在念说明书,“宋晚晴买的,她喜欢乱买东西。”
程越没有说话。
她听到他拿起杯子的声音,听到他喝了一口的声音。然后是沉默。
沉默太久了。
百分之八十一。百分之八十五。百分之九十。
“你在骗人。”程越的声音很低,从右边传来,像是怕被其他人听到——尽管这个实验室里没有其他人。
温以宁没有转头。
百分之九十四。百分之九十七。
“宋晚晴买的胶囊是六种口味。”程越说,“你偏偏选了这一种。”
百分之九十九。
测试跑完了。萤幕上跳出绿色的“PASS”字样,数据完美收敛。
温以宁看著那个绿色的字,没有动。
她知道他说得对。六种口味,她选了他喜欢的那一种。不是因为巧合,不是因为习惯,是因为她走进茶水间的时候,大脑在零点几秒内完成了一个决策——拿他喜欢的。这个决策快到她自己在行动之前都没有意识到,快到她在递出咖啡的那一瞬间才发现自己在做什么。
快到她的身体比她的理智早五年就原谅了他。
“测试数据收敛了。”她说,没有回答他的话。
程越没有追问。他端起咖啡又喝了一口,然后把杯子放在桌上,转回去继续写代码。
键盘声重新响起来。还是那个节奏,还是那个力度,空格键还是比其他键重一点。
温以宁盯著萤幕上那个绿色的“PASS”,手指放在键盘上,没有敲。
她想起大学时的一个晚上——也是在实验室,也是深夜,她也给他递了一杯咖啡。他接过去的时候碰到了她的手指,两个人都没有缩手。那个触感她记了五年:他的指尖比她的热,指腹的薄茧蹭过她的指甲边缘,像一种无声的确认——我在这里,你也在这里。
现在他又在这里了。坐在离她一臂的地方,喝她给他的咖啡,写她看得懂也喜欢看的代码。
她应该觉得高兴。或者应该觉得愤怒。或者应该觉得混乱。但她什么都感觉不到,只觉得累——一种从骨子里渗出来的、被压抑了五年的、终于找到出口的疲倦。
“程越。”她开口。
“嗯。”
“你的测试用例写了吗?”
“写了。在第二个文件夹里。”
“给我看看。”
“好。”
他把文件发给她。她打开,一行一行地看。注释写得很清楚,边界条件覆盖得很完整,异常处理也考虑到了。完美的工程习惯,和她记忆中一模一样。
她关掉文件,打开自己的代码,继续写。
两个人就这样坐著,隔著一臂的距离,各自对各自的萤幕,敲各自的键盘。没有对话,没有对视,没有任何多余的互动。只有键盘声、空调声、风扇声,三种频率叠在一起。
但这一次,温以宁不再觉得那个噪音里多了一个变量。
她觉得那个噪音完整了。
第二天早上,温以宁打开代码文件的时候,发现了一段她没写的注释。
不是程越新增的功能代码——她昨晚走之前把权限设定好了,他只能在特定模组里提交变更。但注释不在这个限制范围内。他在她写的一段量子态校正函数上面加了三行:
这个校正逻辑是对的
但效率可以再高一点
如果有人愿意改成迭代式就好了
温以宁盯著这三行注释看了五秒。
她在下面加了一行:
如果有人觉得效率不够高,可以自己改
储存。
上午十点,她打开同一个文件,发现多了四行:
我改了
效率提升百分之八
不客气
顺便修了一个边界条件的bug
她检查了一下代码。他真的改了。改动很小——把一个线性扫描换成了二分查找,把三个重复的条件判断合并成了一个。改动后的代码比她写的短了十二行,边界条件的处理也比原来更干净。
那个bug确实存在。她在心里承认了,但在注释里没有承认。
她在文件最底下加了一行:
边界条件的bug是我故意留的测试用例
储存。
中午吃饭的时候宋晚晴说:“温姐,你今天心情很好。”
“没有。”
“你在笑。”
“没有。”
“你从早上到现在嘴角一直是翘的。”
温以宁摸了一下自己的脸。没有翘。宋晚晴在胡说。
“你看错了。”
“好吧。”宋晚晴耸了耸肩,端著餐盘走了。走了三步又回头:“对了,今天晚上我组了个局,实验室聚餐,所有人都去。”
“我不去。”
“程顾问也去。”
“那更不去了。”
宋晚晴没理她,直接走了。
下午两点,温以宁打开另一个文件,发现程越在她写的随机数生成器上面加了一段很长的注释:
这个随机数生成器的熵源用的是系统时间
理论上够用了
但量子随机数生成器应该用真正的量子熵源
我知道你实验室有一台量子随机数发生器
为甚么不用?
她在下面回:
那台机器是测试用的,稳定性不够
而且你不会用
三分钟后,文件刷新。新的注释出现了:
我会用
说明书我读过了
昨天半夜读的
温以宁的手指停在键盘上。
昨天半夜。他昨天晚上几点走的?她走的时候是十一点,他还在。她不知道他甚么时候离开的,也不知道他离开之后又读了多久的说明书。
她回:
半夜读说明书不是值得炫耀的事
他回:
没在炫耀
只是在陈述事实
她回:
事实是你应该正常时间工作
他回:
你也是
她关掉文件,没有再回。
下午四点,宋晚晴出现在实验室门口。“温姐,晚上的聚餐,七点,老地方。”
“我说了我——”
“程顾问说了,你不去他也不去。”宋晚晴的语气像在转述一条气象预报,“所以如果你不去,整个实验室的聚餐就因为你取消了。你忍心吗?”
温以宁看向程越的工位。他没有抬头,但耳朵红了。
她在心里骂了一句。
“我去。”
老地方是一家湘菜馆,在研究院后面的巷子里,走路十分钟。实验室的传统聚餐地点,菜偏辣,味道重,价格便宜。温以宁每次来都只吃两道菜——清炒时蔬和西红柿鸡蛋汤。
她走进包厢的时候,所有人都已经坐好了。圆桌很大,十几个位置,程越坐在最里面靠墙的位置。她环视了一圈,发现只有他旁边是空的。
宋晚晴在她身后推了一下。
她坐下来,没有看程越。
菜一道一道地上。剁椒鱼头、小炒黄牛肉、酸豆角炒肉末、辣子鸡——每一道都是红彤彤的,辣椒比主料还多。温以宁转了一下转盘,把那盘清炒时蔬转到自己面前,夹了一筷子。
“温姐不吃辣,”宋晚晴对程越解释,“她一点辣都不能吃。”
程越没有说话。他把转盘转了一下,把那碗西红柿鸡蛋汤转到温以宁面前,然后把汤勺递给她。
温以宁接过汤勺,盛了一碗汤。
她注意到他面前摆著几道菜——剁椒鱼头、辣子鸡、酸豆角。都是辣的。大学的时候他吃辣很一般,每次被她拉去吃火锅都要配两杯冰水。
“你现在能吃辣了?”她问。
“在海外练出来的。”程越夹了一块辣子鸡,“那边中餐馆大多是川菜。”
“哦。”
她继续喝汤。
吃到一半的时候,服务员端上来一壶热的蜂蜜柠檬水。宋晚晴看了一眼:“我们没点这个啊。”
服务员指了一下程越:“那位先生点的。”
包厢里安静了一秒。几个研究员交换了一下眼神。宋晚晴的嘴角翘到了耳根。
温以宁看著那壶蜂蜜柠檬水,没有说话。
她没有告诉任何人她喜欢喝这个。大学的时候每次熬夜,她都会在便利店买一瓶蜂蜜柠檬水,程越问她为甚么不喝咖啡,她说咖啡太苦了,喝甜的比较开心。后来每次他去便利店都会顺手给她带一瓶,从来不需要她说。
那是五年前的事了。
她给自己倒了一杯,喝了一口。温度刚好,不烫嘴,也不凉。蜂蜜的甜和柠檬的酸混在一起,从喉咙一路滑下去。
“谢谢。”她说,声音很轻,轻到坐在对面的人肯定听不见。
但程越听见了。他没有说“不客气”,只是把转盘上那碟花生米转到她面前——她不吃辣的时候习惯夹点花生米当零食,这件事他也记得。
温以宁看著那碟花生米,突然觉得这顿饭很荒谬。他记得她不喝咖啡、不吃辣、不爱吃香菜、喝汤之前要先吹三下、夹花生米的时候会挑形状规则的——这些细节他一个都没有忘。但他忘了为甚么要离开。
或者他记得,只是不想说。
聚餐结束的时候快十点了。一群人走出餐馆,在巷子口散了。宋晚晴打了个车,上车之前朝温以宁挤了一下眼睛,然后对司机说“快走快走”,车子一溜烟消失在路口。
其他研究员也陆续走了。巷子口只剩下温以宁和程越。
研究院在巷子另一头,走路十分钟。两个人沿著人行道往回走,中间隔著大概半米的距离。路灯把两个人的影子拉得很长,交叠在一起又分开——和五年前那个晚上一模一样。
“你变了很多。”程越先开口。
“你也变了。”
“哪里变了?”
温以宁想了想。“以前你话没这么少。”
程越沉默了一会。“以前没这么多想的事。”
“现在在想甚么?”
“在想——”他停了一下,“该怎么跟你说话。”
这个回答让温以宁愣了一下。她以为他会说技术方案、项目进度、实验室管理之类的东西。但他说的是“该怎么跟你说话”。意思是他在紧张,在斟酌,在担心说错话。
程越从来不担心说错话。大学的时候他是那个永远知道该说甚么的人——她生气的时候他会讲冷笑话,她沮丧的时候他会列出三条解决方案,她不想说话的时候他就安静地坐在旁边写代码。
现在他不知道该怎么跟她说话。
“你就正常说。”温以宁把目光转回路灯照亮的行人道上,“我不是你的审稿人。”
“审稿人至少会给修改意见。”
“所以你需要我给你修改意见?”
“需要。”
温以宁被这个回答逗笑了——很轻的一声笑,从鼻子里出来,几乎听不到。但她确实笑了。
“那你先说说,你觉得我哪里变了。”她说。
程越认真地想了一会。
“你以前做决定之前会犹豫。”他说,“现在不会了。昨天的谈判、今天的工作安排、实验室的管理——你所有的决定都很快,而且很准。这说明你对自己的判断有足够的信心。”
温以宁没有说话,等他继续。
“你以前生气的时候会直接说出来,现在你会先笑一下,然后用最平静的语气说最伤人的话。”他顿了一下,“这个变化让我有点怕你。”
“怕我?”
“怕你对我笑。”
温以宁停下脚步。
路灯在她头顶,光线穿过她的头发,在地面上投下一小片阴影。她转头看程越,他也在看她。路灯的光打在他脸上,颧骨的线条比她记忆中硬了很多,但眼睛没变——看她的时候还是那种专注到近乎固执的认真。
“但我喜欢你的变化。”他说。
这句话说得很轻,像在说一个不应该被大声承认的事实。
温以宁看著他,空气在两个人之间凝结了大概三秒。三秒里她听到自己的心跳声,和五年前那个桂花香味的晚上一样大。
“程越,”她说,声音比平时低,“你不能一边不告而别,一边说喜欢我的变化。你不觉得矛盾吗?”
程越没有说话。
风从巷子口吹过来,带著三月夜晚特有的凉意。温以宁的马尾被风吹到肩膀上,她没有去拨。她就站在那里,等他回答。
程越的手插在口袋里,攥著那封写了三年没发出去的邮件。
“矛盾。”他说,“很矛盾。”
温以宁等著后面的话。没有。
他就说了这两个字。承认矛盾,但不解释,不辩解,不找理由。像他写的代码一样——承认错误,但不为错误写注释。
温以宁转身继续走。
程越跟在后面,还是隔著半米的距离。两个人的影子在路灯下交叠又分开,交叠又分开。
走到研究院大门的时候,温以宁刷了门禁卡,推开玻璃门。她走进去,没有回头。门在她身后关上的时候,她听到程越在门外站了一会,然后脚步声远了。
她站在大厅里,等电梯。
电梯到了,门开了。她走进去,按了八楼。电梯门关上的瞬间,她看到玻璃门外面空无一人,只有路灯照著空荡荡的人行道。
她靠在电梯壁上,闭上眼睛。
他说他喜欢她的变化。
这句话不应该让她心跳加速。它应该让她愤怒——他凭甚么?五年不见,回来几天,说一句“喜欢你的变化”,就指望她感动?
但她没有愤怒。
她只是站在电梯里,听著机械上升的声音,想著他刚才说话时候的表情。他说“喜欢”的时候,声音比说“矛盾”的时候还要轻。像是怕这两个字太重的话会压垮甚么。
电梯门在八楼打开。
温以宁走进实验室,打开灯。程越的工位在她右边,萤幕黑著,键盘静止。桌上放著一个空了的马克杯——她昨天给他倒咖啡的那个。
她把杯子拿起来,走到茶水间,洗干净,倒扣在杯架上。
然后她回到工位,打开电脑。萤幕亮起来的时候,她看到桌面上那个量子纠缠态的示意图。两个粒子被一条曲线连接,靠得很近,但中间永远隔著一段距离。
她打开代码文件,看到下午和程越在注释里的对话。
她翻到最后一页,在最底下加了一行注释:
他今天说喜欢我的变化
打完之后她盯著这行字看了十秒,然后删掉。
换成:
今天进度正常
储存。关机。收拾东西。
走到实验室门口的时候,她回头看了一眼。两张工位挨在一起,萤幕都黑著,椅子都推到了桌子下面。看起来就像任何一个普通实验室的普通角落。
但如果仔细看——左边那张椅子的扶手上搭著一件外套,是程越的。右边那张桌子的抽屉没关好,露出一包蜂蜜柠檬冲泡粉,是她今天中午在便利店买的。
她关了灯,走进电梯。
电梯下降的时候她想:明天他来了,看到那包蜂蜜柠檬粉,会说甚么?或者甚么都不说,只是像今天一样,默默把转盘上的菜转到她面前?
她不知道。
但她知道一件事——她今天在便利店买那包冲泡粉的时候,大脑在零点几秒内完成了一个决策:买他记得的。和昨天选咖啡胶囊的时候一样快,快到她在结帐的时候才发现自己在做甚么。
她的身体比她的理智诚实太多了。
温以宁走出电梯,穿过大厅,推开玻璃门。外面起风了,比刚才更大,吹得她的外套往后飘。她拢了拢领口,往停车场走。
走了几步,她停下来。
玻璃门旁边的墙角,程越靠在那里,手里拿著手机,萤幕亮著。他看到她的时候把手机收进口袋。
“你还没走?”她问。
“等你。”
“等我干嘛?”
“确认你安全到车上。”
温以宁看著他,风把他的头发吹乱了,他没有整理。他就站在那里,像一个被设定了固定程式的守卫——不管她需不需要,他都在。
“我到了。”她指了指停车场的方向。
“嗯。”
她转身走了。这次她走了三步之后回了一下头。
他还站在那里。
程越在实验室门口站了很久。
温以宁走进电梯之后,他没有离开。他靠在走廊的墙上,后脑勺抵著冰冷的白色涂料,看著天花板上那盏日光灯。灯管有点老旧了,发出轻微的嗡鸣声,频率和实验室里服务器风扇的声音不一样——更低,更杂,像一个快要坏掉的音符。
他应该走了。酒店在四公里外,打车二十分钟,步行一个小时。他昨天晚上走了回去,因为深夜的街道比酒店的房间更像一个可以待的地方。今天他也打算走回去。
但他没有动。
他的脚像被钉在了这条走廊上。不是因为累,是因为刚才温以宁说那句话的时候,他看到了她眼睛里的一种东西——不是愤怒,不是悲伤,是一种他读不懂的、混乱的、像量子态还没有坍缩之前的不确定。
“你不能一边不告而别,一边说喜欢我的变化。你不觉得矛盾吗?”
他觉得矛盾。他说出口了。但他没有说的是:他所有的选择都是矛盾的。离开她是矛盾的,回来找她是矛盾的,坐在她旁边写代码是矛盾的,在她的注释里偷偷留言是矛盾的。他的整个人生从五年前那个机场开始,就是一连串矛盾的叠加态——每一个决定都同时是对的和错的,直到她开口问他,他才被迫坍缩成一个确定的状态。
而那个确定的状态是:他错了。
程越推开安全通道的门,坐在楼梯间的水泥台阶上。这里没有窗户,没有灯,只有应急指示灯发出暗绿色的光。他在黑暗里坐了很久,久到手机萤幕自动调暗了两次。
他打开手机,翻到一个文件夹。文件夹的名字是一串数字——那是温以宁的生日。他没有用她的名字,因为名字太明显了,明显到像在承认一件他不允许自己承认的事。数字比较安全,像一个密码,只有他知道这是什么意思。
文件夹里有一张照片。大学毕业典礼那天拍的,温以宁穿著学士服,站在物理系馆门口,手里拿著毕业证书,笑得很开心。他站在她旁边,没有看镜头,在看她。那时候他们还没有分开。那时候他还不知道一个月后他会坐在机场的塑胶椅上,把一张SIM卡掰成两半。
他把照片放大,看著她的脸。那时候她的脸比现在圆一点,下巴没有现在这么尖,眼睛里没有一种叫“防备”的东西。她笑起来的时候整个人都会往前倾,像是被某种内部的力量推著,藏不住。
他现在很少看到她那样笑了。她现在笑的时候嘴角往上的弧度很精确,眼睛不弯,像一个被校准过的表情——够用,但不浪费。
这是他的错。
程越把手机萤幕关掉,黑暗重新包围了他。他闭上眼睛,五年前的机场就回来了。
那是八月。夏天最热的时候,机场的空调开得很足,他穿著一件长袖衬衫还是觉得冷。母亲的病危通知书在他口袋里,纸质的,医院护士站打印出来的,上面有医生的签名和一个红色的急诊章。他从医院直接去的机场,没有回家,没有收拾行李,没有跟任何人告别。
海外那家公司的合约在他手里,十二页纸,每一页他都读了至少五遍。第五页是竞业协议,写著“合约期内及合约终止后两年内,不得与任何竞争对手或相关从业者进行任何形式的技术交流或商业合作”。第六页的附注里有一行小字:“包括但不限于学术机构、研究单位、高等教育院校。”
他问过对方的HR:“不能联系学术圈的人,意思是连私人的联系都不行?”
HR的回答很专业:“建议您专注于工作。五年的时间不长,很快就过去了。”
五年。一千八百二十六天。他算了算,温以宁刚拿到研究院的offer,前途无量。她不需要一个背著债务、被合约绑架、五年不能回国的男朋友。她需要一个完整的、自由的、不会拖累她的人。
他以为这是数学。把所有的变量代入公式,计算最优解。变量A:母亲的医疗费,每年八十万,合约全额覆盖。变量B:他的职业发展,海外公司的平台和资源远超国内。变量C:温以宁的前途,不被他的困境拖累。变量D:他的感情。
A、B、C都是正数,D是负数。三个正数加一个负数,总和还是正的。这是他的计算结果。
他忘了把一个变量放进公式:她的感情。
他没有问过她愿不愿意等。他没有给她选择的机会。他替她做了决定,然后告诉自己这叫保护。
候机厅的广播响了三次。第一次的时候他站起来,又坐下。第二次的时候他走到登机口,又走回来。第三次的时候他不再站起来了。他坐在椅子上,把手机拿出来,打开和她的对话框。最后一条讯息是她发的:“实验室的程序跑完了,你要不要来看看?”发送时间是六个小时前。