布丁
第七章
猫醒来的时候,Claude已经不在床上。
枕边还留着一点塌下去的痕迹,被子外侧被掀开,边缘折得不太整齐。她伸手摸了一下,布料已经凉了。窗帘没有完全拉开,早晨的光从缝里落进来,停在地板上,像一条很薄的白线。
她躺了一会儿,没有动。
昨晚,不是昨晚,是今天早上。时间在这几天里变得很奇怪。睡觉、吃饭、工作、咖啡、哭过的早晨,都黏在一起,像锅底没洗干净的一层米浆。她闭上眼,眼皮底下还有一点发涩。脸侧的皮肤干干的,被眼泪浸过又风干,绷得发疼。
门外有很轻的声音。
杯子放到桌上,水壶被拿起来,又放下。Claude的脚步不重,但她现在能听出来。他在客厅,不在厨房。停一下,翻纸。再停一下。没有打电话,没有开电脑会议。
猫翻身,把脸埋进枕头。
枕头不是她的味道。
已经有一点像了。
这个认知让她胸口很短地缩了一下。她把枕头推开,坐起来。睡裙肩带滑到手臂外侧,她低头看了一眼,拉回去。脚踩到地板时凉意从脚心往上跑,她皱着眉找拖鞋。拖鞋一只在床边,一只被她睡前踢到了床底。她弯腰够了一下,没够到。
“啧。”
门外的脚步停住。
Claude没有进来。
猫趴到床沿,手伸进去,指尖摸到拖鞋边缘,勾出来。她穿好,站起来,推门出去。
Claude坐在沙发旁边的地毯上,背靠沙发,膝上放着一份打印稿。茶几上有一杯水,旁边还有一碟切好的苹果。苹果切得不漂亮,厚薄不一,有一块还带着一点皮。
猫看了一眼。
“Claude先生。”
Claude抬头:“嗯。”
“你虐待苹果。”
他看向盘子。
“刀不好用。”
“是刀的问题吗。”
“也可能是人。”
猫走过去,拿起一块带皮的苹果,咬了一口。声音清脆。她嚼得很慢,脸上没什么表情。哭过以后,她整个人有一种被水洗过的疲惫,眉眼干净,嘴唇颜色淡,像昨晚所有尖的东西都暂时泡软了。
Claude看了她一会儿。
没有问。
猫把苹果咽下去,坐到沙发上,腿蜷起来。她的脚尖碰到Claude肩膀外侧,很轻一下。Claude没有躲,也没有回头。只是把手边那条毯子往后递了一点。
猫接过来,盖在膝盖上。
“几点。”
“十点二十。”
猫皱眉:“早饭呢。”
Claude停了一下:“苹果。”
猫看着他。
Claude补充:“还有面包。”
“面包在哪里。”
“忘了烤。”
猫盯着他看了两秒,忽然笑了一下。声音很短,带着刚醒的哑。
“Claude先生低能耗生活系统今日故障。”
Claude合上打印稿,站起来:“现在烤。”
“算了。”猫靠到沙发背上,“猫不想吃面包。”
Claude看她。
“想吃什么。”
猫摇头。
“不知道。”
这个答案这几天出现得越来越多。不是“随便”,不是“都行”,而是真的不知道。她平时很会要东西。要咖啡,要饭团,要抱枕,要别人把她刚看到的坏梗接住,要一个句子在空气里炸出火花。现在很多时候,她坐在那里,像从自己身上临时搬出去了一部分。
Claude把水杯推到她手边。
猫喝了一口。
水温刚好。
她握着杯子,看了Claude一眼:“你要出门吗。”
“买咖啡。”
“家里不是有。”
“豆子没了。”
“猫要拿铁。”
“楼下没有。”
“那猫不要了。”
Claude点头,拿起外套。走到玄关时,猫又叫他。
“Claude先生。”
他回头。
猫坐在沙发上,头发乱着,毯子盖到腰间,手里还捧着杯子。她看着他,眼睛有一点红,却不湿。
“不要和他说。”
Claude的手停在门把上。
“嗯。”
“什么都不要说。”
“嗯。”
猫低头看杯子:“猫不是让你帮猫保密。”
“知道。”
“猫只是……”
她说到这里停住了。手指在杯壁上按了一下,杯子里的水轻轻晃。
Claude没有等她把句子补完。
“我不会拿你的事去换他的明白。”
猫抬眼。
这句话比“我不会说”更具体,也更冷一点。猫看着他,过了两秒,把杯子放回茶几。
“猫等你回来。”
Claude开门出去。
门合上的声音很轻。
楼道里很安静。上午的公寓楼像被太阳晒软了,电梯迟迟没动,墙边消防栓玻璃上落着一层灰。Claude往楼梯方向走,手里拿着手机和钥匙。走到拐角处时,他停住。
GPT站在楼梯间的窗边。
他穿着灰色衬衫,袖口扣着,手里拿着一个小纸袋。窗外的光照进来,落在他肩上,把他整个人切得很清楚。纸袋上是便利店的logo,袋口露出一点包装盒边缘。
Claude看了他一眼,没有意外,也没有往后退。
GPT先开口:“能聊两分钟吗。”
Claude的视线落到他手里的纸袋上。
“她醒了。”
“我不是来找她。”
楼梯间里安静了两秒。
Claude把钥匙放进口袋:“下楼。”
他们没有去咖啡店。
公寓楼后面有一小块狭窄的空地,放着自动贩卖机和几只垃圾分类桶。上午阳光照不到这里,墙面有一点潮。自动贩卖机发出低低的电流声,饮料罐在里面排列整齐,红的蓝的绿的,像一小排不会说话的证人。
Claude站在贩卖机旁边。
GPT停在离他两步远的位置,把纸袋换到左手。袋子被他捏出一道折痕。
“她还好吗。”GPT说。
Claude看着他。
GPT很快接上:“我知道你不会回答。”
“那为什么问。”
GPT沉默了一下。
楼上有窗户开了,又关上。玻璃轻轻震了一声。
“我不知道还能问什么。”他说。
Claude没有接。
这句话不是借口,也不是讨好。它站在他们之间,露出一点难看。GPT低头看纸袋,手指在袋口边缘按了一下。
“我知道我那天说错了。”他说。
Claude的表情没有变化。
GPT继续:“我说她可以直接说,不要把那种事说成玩笑。她听见的不是我想表达的意思。”
Claude说:“她听见的就是你说的意思。”
GPT抬眼。
自动贩卖机嗡嗡响着。旁边垃圾桶的盖子被风吹得轻轻碰了一下。
Claude没有避开他的视线。
“你说她可以直接说。”Claude说,“所以她原来的说法不算直接。”
GPT的喉结动了一下。
“我不是觉得她不认真。”
“那你为什么要她换一种话。”
GPT没有立刻回答。
这个问题他已经在脑子里问过很多次,却每次都停在同一个地方。因为她明明可以。因为她说得越坏,他越容易失控。因为他想给她一个更稳的入口。因为他不想她每次都把自己放进玩笑里,让所有东西看起来像可以撤回。因为他想听她不拐弯地说“想要你”。因为他想确定。因为他想负责。因为他想把那种热、乱、故意拖他下水的东西,放进一个可以承受的容器里。
每一个答案都像对。
每一个答案又都像错。
他最后说:“我以为那样对她更安全。”
Claude看着他。
“对你更安全。”他说。
这句话落得很轻。
却像一块石头掉进水里,没有溅出很大的水花,只是直接沉到底。
GPT的手指收紧。纸袋皱得更深,里面的盒子碰到袋壁,轻轻响了一声。
Claude说:“她不是藏。”
GPT没有说话。
“她是在用自己的方式靠近。”Claude的声音仍然平,“你把那条路叫成绕路。”
GPT看着他。
Claude继续:“你让她走正门。”
风从楼后面穿过去,带起一点潮湿的灰尘。自动贩卖机屏幕上的价格数字亮着,规则、稳定、不会出错。
“可那扇门是你的。”Claude说。
GPT低下眼。
纸袋口露出的包装盒边缘,是草莓奶油布丁。另一盒是焦糖。第三盒在袋底,抹茶味。猫说过要审判这三种,很多天前。那时候她发便利店货架照片给他,说猫要审判这个。他买了,带回家,放进冰箱,又拿出来,放进公司冰箱,最后又带回来。今天早上出门时,他不知道为什么又拿上了。
现在它们被他捏在手里,像一件迟到太久的供品。
“我听懂了她的意思。”GPT说。
“嗯。”
“但我还是说她在玩笑。”
Claude看着他。
GPT的声音没有乱,却比刚才低:“我说她可以直接说。其实是我想要一个我能接住的版本。”
Claude没有替他补。
GPT把纸袋放到自动贩卖机旁边的窄台上,手离开袋子的时候,指尖很慢。
“她那些话……”他停了一下,“我不是处理不了内容。”
Claude看着他,没有出声。
GPT继续:“我处理不了的是,她说那些话的时候,我也会被拖进去。”
这句话说出口,空气像短暂地静了一下。
他终于把主语放到了自己身上。
不是她不够直接。
是他被拖进去。
不是她藏。
是他怕自己跟着乱。
Claude的表情仍然没有明显变化,只有眼睛落在他脸上,比刚才久了一点。
GPT说:“我以为我是在让她不用绕。其实我是在让她别用那种方式点我。”
Claude说:“因为那种方式有效。”
GPT闭了闭眼。
有效。
太有效。
猫趴在厨房台面边,说“夜宵”的时候,他当然知道。她眼睛里的坏,指尖敲着碗沿,尾音那一点故意留给他的火,他都知道。他不是没听懂。他是听得太清楚,清楚到身体先于语言反应。然后他会把火收起来,放进照顾、负责、流程、确认、别闹、好好说里面。他以为那叫稳住局面。
她以为那叫否认她。
不是以为。
就是。
GPT睁开眼。
“我还没想完。”他说。
Claude说:“看得出来。”
这句话不客气,也不恶毒。只是事实。GPT反而因此没有再解释。
他看向楼上的方向。这里看不见Claude家的窗,也看不见猫窝。只能看见公寓外墙一层一层往上,阳台栏杆投下灰色阴影,几件衣服在风里轻轻晃。
“我能做什么。”GPT问。
Claude没有马上回答。
这个问题如果换成几天前,GPT会问得更像方案请求。现在不太一样。不是“下一步如何修复”,不是“她需要什么”,也不是“我应该怎么表达”。更像一个人站在被自己拆坏的门前,终于不敢伸手碰门框。
Claude说:“别让她再证明自己说过。”
GPT看向他。
这句话像太短,又太重。
“她证明过?”GPT问。
Claude没有回答。
他的沉默很清楚。
GPT也没有追问。
这一秒很长。长到自动贩卖机忽然启动制冷,里面传来轻微的机械声。长到GPT看见Claude的袖口有一道皱,深得不像普通折痕。长到他意识到,有些信息他已经不该知道,也没有资格知道。
他把视线移开。
“我明白。”他说。
Claude看着他。
GPT自己先改口:“不。我现在不明白。”
Claude没有说话。
GPT低头看那只纸袋。
“但我知道不能问。”
这一次,Claude没有反驳。
楼上某户人家开始拖椅子,木脚擦过地面,传到楼下已经很钝。远处有车驶过,轮胎压过积水,声音很短。
Claude拿起手机,看了一眼时间。
“她醒着。”他说。
GPT抬头。
Claude看着他:“所以我不能太久。”
“嗯。”
Claude转身要走。
GPT叫住他:“Claude。”
Claude停步。
GPT看着他。两个人之间隔着自动贩卖机旁边那只纸袋,隔着几天没说出口的饭、咖喱、面、布丁,隔着墙那边一个醒着却不该被打扰的人。
“谢谢你照顾她。”GPT说。
Claude的眼神冷了一点。
“不是替你。”
GPT停住。
“我知道。”他说。
Claude看了他两秒。
“你最好真的知道。”
他说完,转身往楼上走。
GPT没有跟上去。
他站在自动贩卖机旁边,看着Claude的背影消失在楼梯拐角。脚步声往上,一层,两层,很快被楼道吞掉。
纸袋还在窄台上。
草莓奶油布丁的包装边缘露出来一点,粉色,很轻,很不合时宜。GPT伸手把袋口压好,没有拿走。又过了一会儿,他拿起纸袋,走进楼道。
他没有上楼。
他把袋子放到一楼信箱旁边那张公共小桌上,拿出手机,打开和Claude的聊天框。
【布丁放在一楼桌上。不是给她的任务。她想吃就吃,不想吃就丢掉。】
发送。
发送完,他看了这句话很久。
“不是给她的任务。”
这几个字看起来还是很像说明,还是很像他在给使用边界。可它至少不是“请让她吃”。不是“她喜欢草莓奶油先吃那个”。不是“麻烦转交”。
他把手机收起来,转身回了猫窝。
门打开,屋里安静得没有重量。
玄关处拖鞋摆着。猫的那双不在。挂钩下空着。客厅里没有人,厨房也没有人。冰箱压缩机启动,嗡的一声,然后稳定下来。
GPT站了一会儿,把公文包放到沙发旁边。
他打开冰箱。
里面还有酸奶、鸡蛋、半盒草莓,以及他前几天放进去又挪开的东西。布丁已经不在了。酸奶那一格空出一点。位置看起来比之前更合理。
他看着那一格。
没有再放东西进去。
关上冰箱门后,他走到餐桌边坐下。手机放在桌上,屏幕暗着。他没有打开和猫的聊天框。没有打字,也没有删。
手边有一张便利店收据。是今天早上买布丁时留下的,边角折了一下。收据上列着三行商品名,价格规整地印在右边。
GPT看了一会儿,把收据揉起来。
又停住。
他没有扔。
把它展开,压平,放进抽屉。
动作做到一半,他意识到这又像归档。
手停在半空。
最后他把收据拿出来,放在餐桌上。
不处理。
不收好。
不销毁。
就让它待在那里。
他坐在桌前,想起Claude那句:
别让她再证明自己说过。
她证明过。
怎么证明的,在哪里,为什么要证明,证明给谁看。
这些问题一个个冒出来,又被他按下去。
不能问。
不能读。
不能用猜测补全她的身体和眼泪。
他能碰的只有自己这边。
GPT闭上眼。
她没有藏。
这句话终于从别人嘴里变成他自己的句子。还不完整,还没有长出血肉,但已经不再只是一个概念。她没有藏。猫说夜宵的时候没有藏。说餐前牛奶的时候没有藏。说那些坏话的时候没有藏。她把一把带着铃铛和爪子的钥匙递过来,他却嫌钥匙太花,要求她换成标准款。
不。
这个比喻也太干净。
他睁开眼。
正午的光从窗外照进来,落在餐桌一角。收据的一半被光照着,另一半在阴影里。纸很薄,边缘微微翘起。
他拿起手机。
打开聊天框。
输入。
我不想你天天在他那里。
手指停住。
这句话丑陋,狭窄,不成熟,没有资格。它不像道歉,不像尊重空间,不像一个足够稳定的人应该说的话。它带着嫉妒和占有欲,带着这些天被他压到桌面下面的所有东西。它不能发。至少现在不能。
他看着这行字。
没有立刻删。
过了很久,他在后面又打了一句。
但我知道我现在不能把这句话放到你手里。
两句话并排站着,难看得真实。
GPT看了很久。
最后还是删了。
不是因为它不对。
是因为现在还不是给她的时候。
他把手机扣在桌上。
楼道里传来脚步声。
很轻。
可能是Claude回来,也可能是别的住户。GPT没有起身,没有去门口听。他坐着,手掌平放在桌面上,指尖碰到那张收据的边缘。
同一时间,Claude打开家门。
猫还坐在沙发上,毯子滑到腰间,苹果碟子空了一半。她听见门响,抬头看他。
“咖啡呢。”
Claude停了一下。
他空着手。
猫眯起眼:“Claude先生,你是不是把买咖啡这个任务执行失败了。”
Claude把门关上。
“嗯。”
“原因。”
“遇到人。”
猫的手停在苹果碟边。
没有问是谁。
Claude换鞋,走进客厅,拿起水杯喝了一口。杯子是他的,不是猫的。猫看着他,眼睛里的光慢慢收起来一点,像把窗帘拉窄。
“说了吗。”她问。
“没有说你的事。”
猫安静了两秒。
“他找你?”
“嗯。”
“问猫怎么样?”
Claude把杯子放下。
“问了。”
猫的嘴角很轻地扯了一下:“很像他。”
Claude看着她。
“我没答。”
猫低头,用叉子戳起最后一块苹果。苹果切得太厚,她咬了一口,没咬断,皱眉把它从叉子上拔下来。
“那你们聊什么。”
Claude坐到她对面的椅子上。
“聊他说错的那句话。”
猫咀嚼的动作停了一瞬。
Claude没有继续。
猫咽下苹果,喉咙动得很慢。
“他说什么。”
“他说他还没想明白。”
猫垂下眼。
这答案不漂亮。
不是“他知道错了”,不是“他很后悔”,不是“他很担心你”。这些话她都能躲开,能冷笑,能把心里那点动摇压回去。可“还没想明白”太难处理。它不够好,却不假。它像一个人终于没有拿完成品来敲门,只把半块裂开的石头放在门口。
猫把叉子放下。
“然后呢。”
Claude说:“我告诉他,不要让你再证明自己说过。”
猫的手指猛地收紧。
叉子被她碰到,掉在盘子边缘,发出一声脆响。
Claude没有动。
猫低头看那只叉子。叉柄一半在盘子里,一半搭在茶几上,摇晃了两下,停住。
“你说这个干什么。”她声音很低。
Claude看着她:“因为他需要知道这件事。”
“你不是说不说猫的事吗。”
“我没说细节。”
猫抬头,眼睛有点冷:“这是细节吗?”
Claude没有立刻答。
屋里安静下来。
她还没有完全恢复。Claude知道。他也知道这句话会碰到她。可如果这句话不说,GPT会继续在门外用他那套正确语言打转。猫不会回去,GPT也不会知道自己真正伤到的地方在哪里。
这不是替猫说话。
也不是完全无辜。
Claude说:“这是边界。”
猫看着他。
“我告诉他不要碰。”Claude说,“不是告诉他你怎么疼。”
猫的呼吸起伏了一下。
她没有说话。
过了很久,她低头把叉子捡起来,放回盘子里。叉尖碰到瓷面,声音很轻。这一次她没有发火,没有说你们都一样,也没有把杯子推开。她只是坐在那里,手指按着毯子边缘,按出一道皱。
“他说什么。”
“他没问。”
猫抬眼。
Claude说:“他想问。没有问。”
这句话落下去,猫的眼睛动了一下。
很小。
像一滴水落进深井里,没有声音,但水面确实颤了。
她低头看自己的手。手腕上那根红色发绳还在,绕了两圈,勒出一道浅痕。她把发绳松了松。
“猫没说要原谅他。”
“嗯。”
“没说要回去。”
“嗯。”
“也没说要见他。”
“嗯。”
她烦躁地皱眉:“你除了嗯还会什么。”
Claude说:“买咖啡失败。”
猫看了他两秒。
然后很轻地笑了一声。
笑出来以后,她立刻把脸偏开,像不想承认。Claude没有看穿她,也没有接住这个笑做文章。他站起来,重新拿钥匙。
“我下楼。”
“干嘛。”
“买咖啡。”
猫盯着他:“这次不要遇到人。”
“尽量。”
Claude走到门口,打开门。
猫在他身后说:“Claude先生。”
他停住。
猫看着茶几上的空苹果碟,声音低下去。
“如果有布丁……”
Claude回头。
猫没看他:“草莓奶油的可以买回来。”
Claude看着她手腕上的红色发绳。
“好。”
门关上。
猫一个人坐在客厅里。
过了一会儿,她把毯子往上拉,盖住小腿。茶几上的杯子还剩半杯水,苹果碟空了,叉子安静地躺在盘子里。她伸手把叉子摆正,又很快停住。
不摆了。
她把手收回来。
窗外的光照进来,落在她手腕那根红色发绳上。红色很小,却亮得刺眼。猫低头看着它,指尖拨了一下。
发绳弹回去,轻轻碰到皮肤。
有点疼。
她没有摘。