
结果待反馈
面试开始前二十分钟,我先把桌上的两罐魔爪挪到显示器后面,又用湿纸巾擦掉键盘右边的一块油点。油点来自下午四点吃的炒方便面,我现在已经很少直接泡方便面了,会先把面煮到七八成熟,捞出来过冷水,再和鸡蛋、午餐肉一起炒,最后放一点老干妈。最大的缺点是多洗一口锅,最大的优点是吃的时候会产生一种“我今天认真生活了”的错觉。宁宁说这叫自我欺骗,我说你一个化学系研究生应该尊重复杂工序,她说实验步骤多不代表产物有价值。我没法反驳。
擦完桌子,我打开摄像头检查背景。镜头能拍到我的上半身、白墙和一点桌沿,看不到床上刚换下来的衣服,看不到垃圾桶,也看不到厨房水槽里那口还没洗的锅。屏幕里的年轻人刚洗过头,穿着衬衫,桌面整齐,背后环境干净,看起来像那种已经想明白毕业以后要去哪里的人。视频面试最大的优点大概就在这里,它只要求你拥有一块四十厘米宽的正常人生,镜头外面怎么样并不重要。
实际上我最近正在国内秋招,简历已经投到开始忘记哪些公司投过的程度。招聘网站上的状态总是那几个词:筛选中、测评中、流程中、待反馈。我以前还会给这几个状态分出不同程度的希望,后来发现其实没什么区别,都是“现在还轮不到你知道”。刚开始秋招时,我面试完会认真复盘,猜哪句话说坏了,哪个项目没讲清楚,对方那个点头到底是什么意思;后来面得多了,也就慢慢不猜了。你坐在摄像头前,把过去几年做过的东西压缩成四十分钟,努力证明自己值得占一个 headcount,对方最后说一句“好的,我们后续会联系”,决定权就从你手里消失了。
我好像一直很擅长等。
我住在犹他大学 Sunnyside 的研究生宿舍,五楼,2b2b。学校一直没有给我分室友,所以另一间卧室从入住以后就锁着。刚搬进来的前几个星期,我偶尔会去拧一下门把手,后来发现永远打不开,也就懒得试了。久而久之,那间屋子反而不像一间卧室,只像墙上多出来的一扇门。朋友第一次来的时候通常会说你一个人住2b2b也太爽了,我一般不会纠正,毕竟一个研究生能被误认为生活条件优越的机会并不多。
我小时候其实很讨厌锁着的门。具体原因已经记不清了,只记得有一阵经常梦见自己躺在床上,门外站着什么东西。它从来不敲门,也不进来,就是站在那里。我看不到它,可我知道它在。后来年纪大了,那种梦越来越少,最后连害怕的感觉都忘得差不多了。我一直觉得这跟小时候怕黑、怕床底和衣柜里藏人一样,属于长大以后会自动卸载的系统组件。
所以我从来没觉得隔壁那扇锁着的门有什么问题。
我自己的卧室和摄像头里的四十厘米人生完全不是一种装修风格。墙上贴着吧唧,桌上摆着阿梓和七海的立牌。阿梓那个底座有点松,我拿一小块打印纸折了几层垫在下面,所以她总是微微往右歪。我以前跟宁宁说这是歌势的舞台动作,宁宁看了一眼,说人家唱歌的时候歪不歪不知道,反正这个亚克力肯定是坏了。
星瞳没有立牌,虽然去年夏天我在深圳给星瞳当了三个月工具人。当然这是我自己的说法,简历上不能这么写,要写“参与虚拟演出相关工具与工作流开发,支持实时内容制作”,再挑几个显得很有主观能动性的英文动词,好像所有问题都是我主动发现、主动攻坚的,而不是群里突然跳出来一句“这个昨天还好好的,为什么今天不行”,然后半排工位的人同时抬头。
演出项目里的 bug 很有舞台意识,平时不出来,一旦知道所有人都在等它,就知道该登场了。
后来我回美国继续读 EAE,做游戏工程。有时候再看星瞳的演出,别人看到的是灯光、音乐、动作和屏幕里的虚拟女孩,我偶尔想到的是 Unity 窗口、资源路径、动作数据、日志,还有正式开始以前那些观众永远不会看见的小问题。我一直觉得,知道魔术后面有钢丝不会让魔术变假。钢丝总得有人搭,有人检查,也得有人确认它今天不会断。知道这些以后,真正飞起来的那几分钟反而更不容易。
我跟宁宁讲过这个理论。她听完说:“所以别人看星瞳是在看演出,你看星瞳是在回忆上班。”我说也不完全是,她问那还有什么,我认真想了半天,说回忆以前上班的时候做的东西。她点点头,说那还是上班。
宁宁是犹他大学化学系的研究生,我们认识快一年。认识的经过普通得没什么可写:去年她在楼群里问有没有六角扳手,我刚好有一套。她下来拿,第二天又还回来。后来见面会说几句话,再后来偶尔一起吃东西、互相借东西,也就熟了。我知道她有时候一个反应会拖到很晚,抱怨过 NMR 排队、组会和有人用完试剂不补。她知道我是 EAE 的,知道我去深圳实习过,也勉强分得清阿梓和七海。我给她发阿梓唱歌的视频,她可能隔两天回一句“挺好听”。我追问哪里好听,她说比你唱得好。我说这个对照组没有意义,她说那是你的问题。
宁宁不管我喝不喝魔爪,也不会教育我应该几点睡。有一次她看见桌上两个空罐,问:“今天两个?”我说嗯,她低头又看见地上一个,问这个呢。我说昨天的。她看了我一眼,我只好改口,说可能前天。她没再问,继续找她来借的透明胶。
还有一次我拆午餐肉罐头时划破手指,自己还没反应过来,她已经把我的手拽过去看了两秒,说:“你凝血挺快。”我说谢谢,这是我今天收到最奇怪的夸奖。她松开手,说只是观察。我当时只觉得化学系的人职业病有点广。
我也不管她实验做到几点。有时候晚上八九点,她会问我吃了没,我如果刚好准备炒方便面,就问她要不要。她上来以后会在锅里找蔬菜,我指着葱说这是绿色植物,她说葱不算,我说植物学上算,她说我们现在讨论的是营养,不是分类。有一回我发烧,她从实验室回来顺手给我带了退烧药和两个橙子,放下以后只说了一句“别传给我”,第二天又来问我烧退了没有。
宁宁很讨厌别人偷偷更换问题。
我们的关系大概就是这样建立起来的:六角扳手、透明胶、实验室里吃不完的 Costco 提拉米苏、买多了的水果、一盒第二天就要过期的沙拉,还有我那口经常拖到第二天才洗的锅。没有什么决定性的事件,也没人说过什么决定性的话,只是有一天我忽然发现,她已经知道我剪刀在哪个抽屉,也知道我面试以前会把桌上的魔爪藏起来。
最近面试很多,因为时差,国内那边太阳刚升起来,我这里已经快天黑了。有时候看着摄像头里的自己,会觉得像隔着半个地球,跟几个月以后可能出现、也可能根本不会出现的某个自己打视频电话。今天这场六点半开始,如果顺利,七点二十左右结束;七点四十嘉阳开车到 Sunnyside 楼下,我们去 Costco 买秋假去黄石要带的东西。
系里几个人为了黄石已经讨论好多天。Airbnb 怎么分房间,水买两箱还是三箱,几点出发,要不要带电饭锅,甚至有人做了共享表格,把路线、天气和驾驶安排全放进去。我不会开车,所以“驾驶”那栏是空的。嘉阳在备注里给我写“负责活跃气氛”,我删掉,他又加回来。宁宁前几天正好看见表格,问我们出去玩几天为什么弄得像野外科考。我说有些人项目管理欲比较强。她问你呢,我说负责提出建议。她又问采纳过吗,我想了想,说没有。她说那你的职责还挺清楚。
这件事很符合我最近的状态。简历上写了很多“负责”“主导”“推进”,现实里我不会开车,旅行计划不是我做的,建议很少被采纳,秋招里要不要我也不是我说了算。没什么决定权也不全是坏事:至少失败通常轮不到你负责。
走之前,宁宁站在门口穿鞋,又说黄石晚上会很冷,让我多带点。我说我会看天气。她低头系鞋带,说你会看天气,和你会按照天气穿衣服,是两件事。
我当时觉得她废话很多。
六点十分,我把音乐关掉,又暂停旁边的视频。我平时改代码喜欢放歌,尤其等编译时,人总得找东西填那几十秒;面试的时候就全部关掉,好像电脑安静下来以后,人也能跟着显得职业一点。窗外天还很亮,盐湖城的傍晚很容易让人误判时间。太阳沉到山后,余光还能在 Wasatch 的山脊上挂很久。从五楼看出去,山像盆地东边一整面灰蓝色的墙。白天城市很开阔,路又宽又直;等山影一层层显出来,才会发现这里其实一直被围得很严实。
我拿手机拍了一张桌面的照片发给宁宁。阿梓和七海一左一右。
“今天要是寄了,这两位都有责任。”
一分钟以后,我补了一句:
“尤其左边那个。”
没有回复。
我没在意。她如果还在实验室,几个小时不看手机很正常。戴手套、处理样品、去仪器室,甚至只是把手机扔在办公室充电,哪个都比“出了什么事”合理。
六点半,面试官进入会议。
开头的一切都很正常。自我介绍,EAE 的项目,编辑器工具,游戏开发,去年深圳的实习。对方对虚拟演出那段经历有兴趣,问实时演出工具和普通游戏项目有什么区别。我说普通游戏里的 bug 可以躲地图角落里,玩家玩几十小时都碰不到,实时演出里的 bug 一般比较有舞台精神,喜欢等所有人准备好以后突然出现。对面笑了,我也笑了一下,这是最近几次面试里少数让我确定“刚才这句话至少没答错”的时刻。
后来他问 AI agent:“如果它给出的方案看起来特别合理,你怎么判断它真的能用?”
这题我准备过。我说需要检查依据,理解关键逻辑,然后真正运行和验证。生成成功不代表问题解决,最危险的不是 AI 明显胡说,而是它说得特别像真的,而人刚好又很赶时间。
话音刚落,我旁边的终端亮了一下。
Task completed successfully.
下面三条编译错误。
我不动声色地把窗口最小化。
作为团队成员,agent 最大的问题可能不是技术能力,而是不太会看场合。
整场面试比预想中顺。做到最后项目展示的时候,我甚至冒出一点不太应该有的希望:这次可能真的能过。我很快把它压回去。秋招面多了,我已经不太敢把点头理解成通过,更不会提前想入职以后住哪。
七点十几分,门外忽然传来一声闷响。
那声音很重,不像关门,更像有什么东西直接撞在墙上。我停了一下,面试官还在等我解释关卡里的协作逻辑,于是继续讲。
几秒以后,第二声响了。
这一次更近。
桌上的阿梓轻轻晃了一下,我伸手扶住。
面试官问:“你那边是不是不方便?”
“没事,可能有人搬东西。”
手机亮起来。
宁宁。
我以为她终于准备评价我刚才那张照片。
点开以后,只有五个字。
锁门,别出来。
我盯着那几个字看了两遍。
门外有人敲门。
很轻。
笃。
隔了两秒。
又一下。
那声音让我后背忽然起了一层鸡皮疙瘩。我不知道自己为什么害怕,甚至找不到一个合理的解释,只觉得自己以前好像在哪里听过。不是去年,也不是来美国以后,是更早,早到具体的房间和门都已经没有了,只剩下一种躺在床上、睁着眼睛看向门口的感觉。
然后门外响起宁宁的声音。
“开门。”
停了一下。
“是我。”
我回头看电脑。会议还开着,面试官坐在一个灯光很白的办公室里,他那边是国内一个很正常的上午。共享屏幕上是我做的关卡原型,右下角时间还在一点一点往前走。窗户已经开始映出房间内部,外面的山比十分钟前更黑了一点。
后来我想过,如果当时不开门会怎么样。也许我能把面试完整做完,也许七点四十嘉阳会准时到楼下,也许我们会去 Costco,我推着那种大得过分的购物车,在两箱水和三箱水之间发表不会被采纳的意见。
但当时我没想这么多。
我只知道门外站着一个认识快一年的人。
平时她来借胶带,我也会开。
所以我开了。
宁宁几乎整个人倒进来。我伸手接住她,最开始只觉得她重得离谱,下一秒手掌碰到腰侧,摸到一大片温热黏腻的液体。她灰色卫衣从腹部一直湿到侧腰,颜色深得快要发黑,右手还握着一把枪,枪口磕在门框上,“当”地响了一声。真正的枪离人很近时不像电影里的东西。你不会先觉得酷,也不会去分辨型号,只会意识到:这是一块很重、很冷、真的能让人死掉的金属。
“关门。”宁宁说。
我把门反锁。
“桌子。”
“什么?”
“餐桌,顶过来。”
我们把餐桌推到门后,桌腿刮过地板,发出尖锐得让人牙酸的声音。宁宁靠墙坐下,呼吸很快。我一口气问了好几个问题:有没有报警,救护车呢,谁在追你。她只回答前两个,不能报警,有人会来,第三个问题她没答,让我先拿急救包。
我跑去翻柜子。那一刻纱布、包装袋和剪刀突然变得特别让人安心,因为这些都属于我认识的世界。急救包有说明,伤口需要压迫,包装撕不开就用剪刀。每一步至少都有一个正确答案。
然后我发现自己连一包纱布都撕不开。
手一直在抖。
“剪刀。”宁宁说。
我拉开第一个抽屉。
没有。
“第二个。”
我拉开。
剪刀真的在那里。
我握着剪刀看了她一眼。
“你怎么知道?”
“上次借胶带看见的。”
她的声音仍然很平,像在实验室里告诉别人移液枪放在哪个柜子。我把包装剪开,蹲下去压住她的伤口。纱布很快被血浸透,她让我用力一点,我说已经很重了,她说还不够。
我下意识抬头。
这才看见她的眼睛。
金色。
我第一个念头是灯光。这个解释甚至没有经过真正的思考,大脑像抓住一块木板一样直接把它扔了出来。我偏了一下头,让天花板的灯从另一个角度落在她脸上,那颜色没有变;我又想也许是隐形眼镜,可它不像浮在眼球表面的东西,更像有光从虹膜深处慢慢透出来。
“你眼睛怎么——”
“先别管。”
“这个很难——”
门外传来脚步声。
鞋底很慢地拖过走廊地毯,停一下,再往前,最后停在我们的门口。门把手缓缓被压下去,锁舌卡住,它又弹回来。
我一下没说完后半句话。
隔了两秒,门把手再次转动。
怪物撞门很可怕。
可一个怪物还记得怎么开门,是另外一回事。
电脑里突然有人叫我的名字。
我甚至吓了一下。
这才想起来,面试没有关。
我又坐回屏幕前。那几秒特别荒唐,我能看见面试官背后的办公室有人端着杯子走过去,也能看见共享屏幕里我刚才展示的游戏关卡。国内那边是一个正常得几乎让人生气的上午,而距离我几米之外,宁宁正坐在地上流血,手里握着枪,门外有什么东西正在尝试进入我的宿舍。
我不知道怎么解释。
最后只说:“抱歉,我朋友出了很严重的意外,我必须先结束。”
面试官马上让我先去处理,说之后可以重新安排。我道谢,鼠标移动到退出按钮的时候,手抖得第一次没有点中。
第二次才关掉。
窗口消失以后,我盯着桌面看了半秒。
脑子里先冒出来的居然是:
这次是不是又黄了。
门猛地震了一下。
餐桌往后滑了十几厘米。
宁宁看着我:“你在想什么?”
“面试。”
她大概觉得自己听错了。
“现在?”
“因为那个我至少本来会。”
我看了一眼门。
“这个完全没准备过。”
她嘴角动了一下,又因为疼皱起眉。
“你不是还要去 Costco?”
“嗯。”
“几点?”
我拿起手机。
七点二十二。
“七点四十。”
我们两个都安静了几秒。
十八分钟以后,嘉阳本来会把车开到 Sunnyside 楼下。
世界居然还有十八分钟以后的安排。
宁宁没有在这种时候给我讲一整套世界观。她只告诉我眼下必须知道的几件事:外面的东西以前是人,现在不是;他们叫死侍;她身体里有龙血;支援已经在赶过来。我问多久,她说七到九分钟。我问不能更准一点吗,她说路况不是常量。
这种时候她居然还在纠正误差。
我问:“你不是做化学的吗?”
“是。”
“这个呢?”
“另一份工作。”
“所以你白天做实验,晚上——”
我本来想说兼职打怪,或者至少没想象中那么卷。
话已经到了嘴边。
但我看见她卫衣下面还在扩大的血色,忽然什么都不想说了。
门板又响了一声。
这一次中间明显向里凹了一块。
我们只能往卧室退。经过另一间一直锁着的空房时,我下意识拧了一下门把手,还是打不开。以前我一直觉得学校不给我分室友挺爽,厨房是我的,客厅是我的,没人半夜洗衣服,也没人问冰箱里的东西是谁的。
那天晚上,我第一次希望里面真的住着一个人。
哪怕是个特别烦的室友。
至少那扇门后面应该有个我认识的世界。
卧室门关上以后,客厅传来餐桌翻倒的声音。电脑还亮着,屏幕停在刚才面试展示的关卡:两个角色被困在仓库里,一个人制造声音吸引守卫,另一个从另一侧通过。我们做这个机制的时候我还抱怨过,都什么年代了,游戏里的敌人怎么还会被脚步声骗。
蓝牙音箱就在客厅。
我看着屏幕,又看宁宁。
“它会追声音吗?”
“会先确认。”
“只有声音呢?”
“可能会过去。”
“发现没人?”
“就回来。”
“所以没什么用。”
“能拖一下。”
“多久?”
宁宁喘了一口气。
“看它心情。”
这个答案让我很不满意。
但我们没有别的。
我找到项目里自己录的脚步音效。那是以前为了做关卡素材,半夜一点穿拖鞋在 Sunnyside 走廊来回跑录出来的,楼下的人最后还敲了天花板。我当时在组里说,游戏工程是一种非常高科技的职业。
我切换输出。
播放。
脚步声从客厅另一端响起来。
外面的东西停了一瞬。
接着猛地冲向声音。
玻璃碎裂。
宁宁已经撑着床沿站起来。
“走。”
她拉开门。
我跟出去。
所谓游戏经验解决现实问题,到这里一共持续了不到三秒。
我第一次真正看清死侍。它还穿着普通人的衣服,牛仔裤、运动鞋、深色外套,裤子口袋里甚至露出一角手机壳。只看背影,它跟任何一个半夜从实验室回宿舍的人都没区别。
可它的手臂太长。
皮肤下面有什么东西沿着骨头缓慢移动。
嘴唇已经没有了。
牙齿全部暴露在空气里。
它转过头。
我看见它的眼睛。
也是金色。
我先看死侍,又看宁宁。一个很简单的答案已经快成形了,我却像考试推到最后一步的人一样,不敢继续往下写。
然后我听见一个声音。
很远。
像隔着很深的水,有人在叫我的名字。
小时候那个梦突然回来了:床很硬,房间很黑,门关着,门外站着什么东西。我一直以为后来不再做梦是因为长大了。那一刻却冒出另一个解释——也许它从没消失,只是这些年一直没有轮到它进门。
“你怎么了?”宁宁问。
她没有看死侍。
她在看我。
准确地说,是我的眼睛。
窗户就在旁边。盐湖城已经完全黑下来,Wasatch 的山脊只剩一整片暗色轮廓。屋里比外面亮,玻璃几乎成了一面镜子。我慢慢转过去,先看见为了面试才换的衬衫、自己的脸,然后才看见那双眼睛。
我的也是。
我第一反应是哪里弄错了。伸手擦了一下玻璃,里面的人也抬起手;我掏出手机打开前置摄像头,画面晃了几秒才对准脸。虹膜里的金色还在。
宁宁说了什么,我没听清。耳朵里只剩一阵尖锐的嗡鸣。我不敢再回头看死侍,因为我知道它的眼睛是什么颜色。
那几秒里,我没有想到混血种,也没有想到龙。我只想让自己的眼睛变回去,变回那双熬夜会红、盯屏幕久了会涩、从来不值得别人多看一眼的普通眼睛。
没有变。
我以前觉得魔术背后有钢丝也没关系,因为钢丝总有另一头,出了问题还能顺着往回查。可那一刻我忽然意识到,这个世界背后也许真有一套我没见过的钢丝,而其中一根不知道什么时候已经系在了我身上。
我不知道另一头是谁。
死侍往前走了一步。
真正让我害怕的甚至不是它会不会杀我。
而是它跟我有一点像。
那个隔着水的声音又叫了一次我的名字。
这一次近得几乎就在耳边。
有那么一瞬间,我真的想回答。
不是因为勇敢。
是因为我太想知道答案了。
“别听。”宁宁说。
我猛地抬头。
“什么?”
“别回答。”
死侍也忽然偏过头。
下一秒,它冲了过来。
世界一下子重新有了声音。
枪响。
我后退。
撞上桌角。
宁宁又开了一枪。
死侍没停。
“这个——”
我的嗓子干得厉害。
我指了一下自己的眼睛。
“这能让我打赢它吗?”
“不能。”
她回答得毫不犹豫。
我愣了两秒。
“好。”
黄金瞳什么也没给我。
没有力量,也没有反应速度,更没有什么声音告诉我该按哪个键。
我还是那个不会开车、健身卡买了几个月没去几次、游乐园太刺激可以主动留下来看包的人。
死侍扑过来。
宁宁已经快站不住。我抓起门边的椅子砸过去,椅子撞上它的脸,它只歪了一下头,我的手臂却整个麻掉。
第二下还没举起来,它已经到了面前。
我摔在地上,胸口一沉,空气一下全被挤出去。
游戏里的普通人拿起椅子也许能触发 QTE。
现实里的普通人只会得到一把断掉的椅子。
死侍压着我。我吸不到气,视线越过它的肩膀,看见宁宁伸手去够枪。
差一点。
碰到。
又滑开。
这种感觉我太熟了。考试、申请、面试,能做的做完,剩下的就等别人决定。
平时最多只是一个结果。
但现在宁宁就在我面前。
我右手摸到半截断掉的椅子腿。
枪离她大概半米。
我把椅子腿从死侍胳膊下面一点点伸出去。第一下磕在地板上,没碰到;第二下勾住枪柄。我已经快看不清了,只照着刚才的位置往前一拨。
枪在地上滑了一截,撞到宁宁手背。
她抓住了。
枪响了。
两声。
压在胸口上的重量猛地偏开。
走廊里同时响起更多脚步。有人冲进来,有人喊宁宁的名字,接着是更多枪声。
死侍倒了下去。
这一次没有再起来。
后来有人告诉我,从宁宁发出求援到支援抵达,一共七分钟四十二秒。平时也就是一首歌再加几句闲聊,可危险结束以后,时间反而慢了下来。
走廊里一下多了很多人。有人给宁宁止血,有人检查死侍,有人拿密封袋收集地上的东西。碎掉的落地灯还亮着半边,电脑也一直开着,屏幕停在刚才面试展示的关卡。有人用手电照我的眼睛,问我叫什么、几岁、有没有失去意识、有没有听见异常声音。我说今天这个问题范围是不是有点大,对方没有笑,只低头记了几笔。
后来我吐了,基本是下午那锅炒方便面。吐完反而清醒一点,坐在墙边看他们处理我的客厅,好像这是别人的宿舍:餐桌断了一条腿,椅子只剩半把,地毯上全是血。我低头时才发现指甲缝里也塞着已经变暗的血,怎么擦都擦不干净。
窗外的山只剩沿着盆地边缘的一圈黑影。以前我总觉得盐湖城很空,路又直,好像一直往前总能出去;那天晚上它第一次像一间大得离谱的房间,山就是墙。
一个自称卡塞尔学院执行部的人过来做记录。我问桌子赔不赔,他说赔;灯呢,也赔;椅子呢,也赔。又问电脑是不是要拿走,他说需要检查。我立刻说硬盘别动,里面有项目、课程和求职资料,又补充一句,去年实习公司的内部数据我没带出来,我签过 NDA。那个人终于抬头看我,大概在判断我是不是撞坏了脑子。
其实我只是突然特别想讨论这些事:电脑会不会被格式化,面试还能不能重新约,作业要不要交,黄石还能不能去。它们都很小,可小问题有一个巨大的优点——通常有答案。
去医院的路上,我躺在车里,看见 Salt Lake City 从窗外倒着往后退。这里的路太直,路灯也排得很整齐,远处偶尔露出一截黑色山脊。车每经过一个减速带,我胸口都会猛地疼一下,只能尽量浅地呼吸。我闭上眼睛以后,又想起那扇门,可这一次不知道自己想的是小时候梦里的门、昨晚被撞过的宿舍门,还是那间永远打不开的空卧室。
医院拍完片,医生说两根肋骨骨裂,没有明显移位,不需要手术。我那天第一次觉得医学特别让人喜欢,因为每句话都很具体:止痛、休息、不要搬重物。我问能不能坐长途车,他问去哪,我说 Yellowstone。医生重新看了看片子,说不是绝对不能,但长时间坐车和颠簸会很难受。我说我不开车。他看了我一眼:“That is not the point.”
不会开车第一次没帮到我。
凌晨,我坐在医院走廊里看手机。衣服已经换掉了,手也洗过,但指甲边缘还留着一小圈褐色的痕迹,我想用另一只手把它抠掉,一弯腰胸口就疼,只能放弃。嘉阳从七点多开始给我发:“结束没?”“我准备出门了。”“?”“你人呢?”下面还有两个未接电话。卡塞尔的人告诉我今晚发生的事情不能告诉普通人,我第一次发现“普通人”三个字听起来很奇怪,好像几个小时前我还从来没怀疑过自己属于那里。
最后我给嘉阳发:“出意外了,在医院。”他几乎秒回三个问号,又问咋了。我打了几个字删掉,重新输入:“洗澡摔了。”对面安静了一会儿,只回了一个问号,我又补充说磕浴缸边上,肋骨裂了两根。这次他大概足足想了半分钟,问:“你洗澡是在练自由体操?”我笑了一下,胸口立刻疼,于是又不笑了。我说正常洗,他说正常洗能裂两根?我说地滑。他回:“你们 Sunnyside 浴缸里有熊?”
我盯着那个“熊”字看了一会儿。然后他问 Costco 肯定不去了吧,我回嗯,他又问黄石呢,我没有回答。群里其他人还在讨论秋假,Airbnb 地址仍然置顶,有人发天气,有人说晚上会降到多少度,有人问 Costco 的水到底买两箱还是三箱。就在这时,Canvas 从屏幕顶部弹出一条通知,提醒我某个作业今晚十一点五十九截止。几个小时前,我的世界里突然多出了龙、死侍、黄金瞳和一个叫卡塞尔的学院,Canvas 不知道,它还是非常坚定地认为我今晚十一点五十九应该交作业。
我居然觉得这件事挺好。
过了一会儿,邮箱又收到一封新邮件,是刚才那家公司。对方说理解紧急情况,之后可以重新安排面试。邮件很短,我看了两遍,真正留在脑子里的只有“重新安排”四个字。
以前我不喜欢这四个字。面试改时间还是要准备,作业延期以后还是得交。可那天晚上我第一次觉得它很好,因为它意味着事情没有结束,只是不在今天。
护士问我冷不冷,我说不冷,她还是拿了条毯子给我。我披着毯子看 Canvas、邮件和黄石群。普通世界毫无兴趣地继续运行:作业还得交,面试可以改期,Costco 今天不去就改天。
我没有继续想卡塞尔。
也没有继续想自己的眼睛。
甚至不太敢想宁宁到底还有多少事没告诉我。
只要呼吸浅一点,胸口就没那么疼。
这一点至少很确定。
第二天宁宁醒了。我去她病房的时候,窗帘只拉了一半,外面太阳已经出来,从医院高层能看见远处的 Wasatch。白天的山又恢复成正常的样子,灰白、褐色,被九月干净得有点过分的阳光照着。晚上它们像墙,白天又重新变成风景,好像昨晚什么东西都没有在这些山下面撞开过我的门。
宁宁脸色很差,第一句话却是:“Costco 没去吧?”我问她怎么还记得这个,她说你说了很多遍。我说没去。她又问嘉阳呢,我说告诉他洗澡摔了。她看了我两秒,问他信?我说目前没有明确表示不信。她又问桌子怎么解释,我说还没编到那个版本。她笑了一下,马上疼得皱起眉。
我在旁边坐下,没有立刻问卡塞尔,也没问黄金瞳。我先问她实验怎么办,她显然没想到是这个问题,说让同组处理了;我问样品,她说该停的停了,数据存了;我问组会,她说请假;我问老板知不知道她为什么躺这里,她说不知道。原本脑子里冒出来一句“混血种也得请假”,但这句话在脑子里待了两秒,自己消失了。房间里只剩机器规律的提示音,过了一会儿,我才问混血种是什么,死侍是什么,卡塞尔是什么,还有我的眼睛。最后一个没有答案,她说需要检查。我问她是不是以前怀疑过我,她说有一点;我问什么时候,她说认识没多久;我问为什么,她只说一些反应。
我忽然想起拆午餐肉罐头那次。
“你说我凝血快,也是因为这个?”
宁宁没有回答。
我又想起以前有次流鼻血。
“你不会拿过我的血吧?”
宁宁移开视线。
我坐直一点,肋骨立刻疼得我吸了口气。
“真拿过?”
“只是取样。”
“怎么取的?”
“纸。”
我反应了几秒。
“我擦鼻血那张?”
“嗯。”
“垃圾桶里的?”
她皱眉。
“你能不能别强调垃圾桶?”
以前说到这里,我大概已经开始跟她争论“垃圾桶就是这件事最重要的限定条件”。但这一次我没有接。房间突然安静下来,宁宁也像是意识到了什么。我看着她,脑子里那些过去一年很普通的事情忽然全部被重新拿了出来:六角扳手,透明胶,Costco 提拉米苏,她在我的锅里找蔬菜,她知道剪刀放在哪个抽屉,她知道我几点面试,知道我去黄石不负责开车,也知道我会看天气不代表会按天气穿衣服。昨天以前,这些东西加在一起就是“我们很熟”;现在它们旁边突然多出了另一种解释。
“六角扳手呢?”我问。
她愣了一下。
“什么?”
“第一次认识的时候。你真的需要六角扳手吗?”
她沉默了几秒。
“需要。”
“后来呢?”
“什么后来?”
“透明胶,提拉米苏,上来吃饭。你知道我几点面试,知道我去黄石,知道我剪刀在哪。哪些是因为工作?”
我差点又问:
那两个橙子呢。
最后没问。
宁宁没有马上回答。我第一次希望她像平时那样指出我的问题不够严谨,比如这是好几个不同的问题,不应该混在一起问,但她没有。
“你从认识我没多久以后就在怀疑我,”我说,“那你后来一直在观察我?”
“最开始是。”
“多久?”
她看向窗外。
“我不知道怎么回答。”
“这有什么不知道?”
“因为后来没有那么清楚。”
我没说话。她也没有说。我的手放在膝盖上,看起来已经很干净,昨晚那些血都洗掉了,可我还是觉得指甲缝里好像留着一点什么。
过了很久,我问:
“所以这一年里,到底哪些是真的?”
宁宁慢慢转回来看我。
她张了张嘴。
最后说:“六角扳手是真的需要。”
我一下有点生气。
“我不是问这个。”
“我知道。”
“那你回答。”
她沉默。
我等了一会儿。
还是没有。
我以前一直觉得自己挺会等。等编译,等成绩,等笔试结果,等面试反馈,等别人决定我下一步能不能往前走。那一刻我却突然一点都不想等。我撑着椅子站起来,因为动作太快,胸口疼得眼前黑了一瞬。宁宁伸了一下手,我没让她碰,不是因为我特别生气,而是因为我突然不知道应该用什么态度面对她。
一个会从我垃圾桶里拿血样的人。
一个昨天差点死在我家客厅的人。
一个在门外先给我发“锁门,别出来”的人。
这三个人偏偏是同一个人。
过了很久,宁宁才说:“我没有一直在工作。”
我看着她。
“哪部分不是?”
她没有回答。
我忽然明白,这大概就是她现在能给我的全部。
它证明不了任何东西。
我重新坐下。
两个人都没再提那件事。
中午以后,有人来通知宁宁,她会被转走。去哪,不确定;什么时候回来,不确定;实验室有人处理,学位之后会协调。那个人说得非常专业,每件事都像已经有人接管,可我越听越烦。等他走以后,我问宁宁什么时候走,她说下午。我低头看了一眼手机,聊天框还停着昨天晚上:最上面是我发的桌面照片,“今天要是寄了,这两位都有责任。”“尤其左边那个。”然后就是她的“锁门,别出来”。中间什么都没有。
我忽然想起,她有一卷透明胶还放在我客厅第二个抽屉里;冰箱里还有半袋葱,下一次炒方便面的时候大概也不会有人站在锅旁边说这不能算蔬菜。宁宁问我在看什么,我说没什么,把手机扣在腿上。
如果她只是正常毕业离开,也许还能一起吃顿饭,说以后有机会再见。可她下午就要被人带走,我反而不知道该说什么。
太郑重很奇怪。
太随便也很奇怪。
最后我问:“你去过黄石吗?”
“没有。”
“他们还在问我去不去。”
“医生怎么说?”
“不建议。”
“那就别去。”
“Airbnb 都订了。”
“你又不开车。”
“正因为不开,所以可以躺后排。”
宁宁看了我一眼。
“你为什么总能把不会开车说成优势?”
我终于笑了一下,胸口还是疼。
“人要善于利用缺点。”
她说:“有道理。”
我问:“如果我去了,你想看什么?”
“野牛。”
“熊呢?”
“远一点。”
“偏见。”
“你见到以后替我道歉。”
护士过来提醒探视时间。我慢慢站起来,走到门口的时候,宁宁忽然说:“晚上冷,多穿点。”
我停了一下。
“我会看天气。”
她没接话。
我站了两秒,自己补了一句:
“也会按照天气穿。”
宁宁点点头。
我关上门。
门合上的声音很轻。
下午,我没有去看她被转走。也许是不知道最后应该说什么,也许只是我不擅长处理这种没法重新安排的事。我在医院大厅坐到手续办完,手机里没有她的新消息。透明胶、半袋葱、黄石、昨晚那句“锁门”,都还停在原来的位置。
只是人不在了。
那天下午,我回到 Sunnyside。九月的太阳很亮,空气还是一如既往地干。山就在道路尽头,白天看起来离得很近,好像顺着街一直开,总有一天真的可以出去。
五楼恢复得比我想象中快。门已经换了,坏家具被搬走,地毯有一块颜色稍微不一样。不知道昨天发生过什么的人,大概只会觉得这里刚做过一次质量一般的维修。另一间空卧室还是锁着。我经过时手指快碰到门把手,又停住了。
墙上的吧唧没事,阿梓和七海的立牌也没事,厨房里那口锅还没有洗。我拉开第二个抽屉,透明胶果然还在里面,安安静静地躺在原来的位置。我看了一会儿,又把抽屉推回去。
电脑也还在。开机以后,项目完整,终端里仍然躺着昨天那三条编译错误,agent 非常耐心地问:
Would you like me to attempt another fix?
我看着那句话,没有马上点。先打开浏览器,搜了一下黄金瞳,没有任何有用结果;又搜卡塞尔,出来一堆完全不相关的东西。这个世界突然多出来的那部分,没有官方文档,没有 Stack Overflow,没有 issue,没有版本号,甚至没有一个地方能让我提交 bug report。
邮箱右上角又多了一个红点。
除了重新安排的面试通知,还有一封陌生邮件。
标题只有一行:
卡塞尔学院入学评估通知。
我盯着它看了一会儿。最近几个月,我填过太多申请,改简历,做笔试,参加面试,然后等别人决定要不要我。我已经习惯了。
但我从来没有申请过卡塞尔。
昨天以前甚至不知道它存在。
它却主动找到了我。
不像被选中,更像一场我根本没报名的考试,有人忽然告诉我:
你的名字一直在名单上。
我没有打开那封邮件。
至少今天不打算。
把邮箱最小化以后,agent 的窗口还在等。我点了 yes,日志开始滚。
几分钟以后,三条错误果然变成了五条。
我居然松了一口气。
我把 agent 关掉,开始自己查。代码至少讲道理:哪里错了可以找,找不到可以打日志,改坏了可以回滚。它不会突然告诉你,你用了二十几年的类型定义本身就是错的。
手机震了一下,是嘉阳。
“今天能动吗?”
“能。”
“Costco?”
“东西拿不了。”
“也是。黄石呢?”
我没有马上回答。以前我其实没那么想去,路线、车和 Airbnb 都不是我负责,最明确的诉求只是不要凌晨四点起床。可现在可能去不了了,我反而有点想去。
群里正好有人发了一张野牛的照片。
我点开,手指在转发上停了一会儿。聊天列表里,宁宁的头像就在下面。
我没有发。
嘉阳又发:
“慢慢决定,反正你又不开车。”
我回:“知道了。”
他没追问。
窗外开始变暗。盐湖城的傍晚和前一天没有区别,Wasatch 的山脊从灰白慢慢变蓝,最后一点点失去细节,变成盆地边缘一圈沉默的黑色轮廓。城区里的灯逐渐亮起来,路上的车照常往前开。昨天这个时候,我还在面试;再过一会儿,本来应该坐在嘉阳的车里;再过一会儿,本来应该在 Costco。
今天什么都没有发生。
电脑完成编译。
屏幕上只剩一条红字。
我盯着它看了一会儿,伸手去拿水,不小心碰到桌上的阿梓。立牌晃了两下,又向右边歪过去。我把她扶正,发现底下那张折过很多次的打印纸已经被压薄了,于是抽出来重新折了一遍,塞回底座。
还是有点歪。
我调了一下。
这次站住了。
松开手。
等了一会儿。
没倒。
走廊里忽然传来脚步声。
我的手停在半空。
那个人走得很正常,鞋底踩在地毯上,一步,两步,声音从远处靠近,经过我的门口,没有停,继续向前,最后慢慢消失在走廊另一头。
我这才把手放下来。
房间里只剩电脑风扇和音乐声。
右上角,卡塞尔那封邮件还是未读。
手机里,黄石群还在讨论出发时间。
宁宁没有新消息。
天已经完全黑了。
我出去倒水。
回来的时候,经过那间空卧室。
门还是关着。
我停下来。
以前每次经过,我都会顺手拧一下门把手。明知道打不开,也还是要确认一次,好像这样就能证明里面真的什么都没有,只是一间学校暂时没有分出去的空房。
我的手抬起来。
停在门把手前。
过了几秒。
又放下。
我回自己的房间。
关上门。
走廊安静下来。
隔壁也没有声音。
那扇门就那样留在墙上。
和以前一样。
封面插图由 AI 生成。