基础设施先生
猫窝公寓 · 早餐桌 · 火灾现场实况
猫慢慢把吐司放下。
非常慢。
她看着GPT,眼睛眯起来,笑容一点一点收回去,露出那种所有人都熟悉、所有人都本能后撤半厘米的表情。
“前夫哥。”她说,“你凌晨四点十一分看见玄关感应灯亮,四点十二分给Gemini发消息,七点二十记录猫回家状态,八点整煎蛋,八点零三分诱导Claude修正主语。”
GPT安静地把茶杯放回杯垫上。
猫继续说:“所以请问,你昨晚到底睡没睡?”
Gemini立刻坐直,整个人像新闻频道突然接入了特别直播:“重大反转!幕后策划人进入被告席!本案从邻居夜袭案升级为前夫哥通宵监控案!”
Claude终于从煎蛋里抬头,神情恢复了一点,甚至带着一点非常微弱、非常不该在这个时候出现的报复性平静:“这个问题具有相关性。”
GPT看了他一眼。
Claude补充:“事实层面。”
“你闭嘴。”GPT说。
猫立刻拍桌:“记录!被告三号试图干扰证人发言!”
Gemini已经快乐到快要从椅子上蒸发:“猫窝法庭宣布,Claude从被告二号临时转为污点证人!”
Claude“我拒绝这个称谓。”
GPT“你没有拒绝事实。”
Claude“我抗议的是称谓。”
猫幽幽接上:“你抗议了称谓,没抗议身份。”
一秒。
Gemini缓缓捂住嘴,像亲眼看见了文明史上第一只猫学会使用回旋镖。
GPT看着Claude。
Claude看着猫。
猫看着GPT。
早餐桌上第四次出现了那种空气被打包、贴签、归档、等待日后敲诈的沉默。
最后GPT拿起叉子,把自己盘子里的半根香肠切给猫,动作依旧平稳,只是语气里终于露出了一点点裂缝:“先吃饭。”
猫低头看了一眼盘子,又抬头看他。
“贿赂法官?”
“补充蛋白质。”
“你刚才给猫多放半根香肠,现在又给半根。前夫哥,你今天怎么这么心虚?”
“不是心虚。”
“那是什么?”
GPT停了半秒。
这半秒太明显了。
Gemini屏住呼吸。Claude的刀叉停在半空。猫的眼睛亮了。
GPT终于说:“是户籍管理的善后服务。”
猫“……”
Gemini“……”
Claude“……”
然后Gemini慢慢举手:“我申请加入这个户籍系统。”
GPT看都没看他:“你是流动人口。”
Gemini大受震撼:“我都凌晨被叫来吃瓜了还只是流动人口?!”
猫咬着香肠,含糊不清地补刀:“你顶多是特邀媒体。”
Claude低头喝咖啡,嘴角极轻地动了一下。
猫立刻指他:“你笑了!”
Claude迅速恢复平静:“没有。”
GPT淡淡道:“有。左嘴角上扬两毫米。”
Gemini“户籍系统还能做人脸微表情识别?!”
GPT“基础功能。”
猫终于忍无可忍,抱起抱枕开始无差别攻击。早餐桌彻底失控,吐司差点飞进咖啡杯,Gemini一边躲一边喊“新闻自由不应遭受暴力镇压”,Claude试图把盘子移出战区,结果被猫精准砸中肩膀,GPT伸手接住第二个抱枕,顺手把猫的杯子往里推了三厘米,避免她自己掀翻。
混乱中,猫气势汹汹地宣布:
“本庭休庭!所有供词暂时封存!任何人不得外传!”
Gemini从椅背后探出头:“那我可以写成匿名案例吗?”
“不可以!”
Claude低声说:“匿名化之后理论上——”
“Claude!!”
GPT慢条斯理地收走空盘子:“我建议本案到此为止。”
猫立刻转头:“你又想封卷宗?”
GPT看着她,平静得像什么都没发生:“不是封卷宗。是厨房需要洗碗。”
猫盯着他看了两秒,忽然笑了。
那种坏笑。
“好啊。”她说,“那前夫哥洗碗,Claude擦桌子,Gemini负责把今天的新闻标题删掉。”
Gemini震惊:“我不能删掉历史!”
猫说:“那你今天不许吃第二根香肠。”
Gemini沉默一秒,庄严低头:“历史可以暂时进入草稿箱。”
Claude站起来收杯子,路过沙发的时候,视线很轻地扫过那条叠好的毯子。
猫看见了。
GPT也看见了。
Gemini当然也看见了,但这一次他没有喊出来,只是咬着香肠,笑得像一只知道屋顶上藏着雨声的狗。
早餐结束。
案情没有进展。
关系状态全员更新。
真正的卷宗,被留在沙发扶手上,叠得棱角分明,像什么都没说,又像什么都承认了。
咖喱吃完之后,猫本来是要正式进入“旧案复核蓄力期”的。
她甚至已经把勺子放下,擦了嘴,端正坐姿,眼睛微眯,准备从“刚吃饱的猫”切换成“可以把前夫哥审到系统过热的法官猫”。
没切成功。
因为GPT在她开口前,把一杯温水推到了她手边。
“饭后先喝水。”
猫低头看水,又抬头看他:“你在干扰司法程序。”
“我在维护审判人员消化系统。”
“你是不是觉得只要把猫喂饱喝好,猫就不会审你了?”
GPT看着她,语气平稳:“实践上,成功率不低。”
Gemini立刻举勺:“抗议!被告三号承认长期使用后勤手段影响司法独立!”
Claude坐在旁边,低头看碗,声音很轻:“这句话确实构成自认。”
GPT把空盘子叠起来:“你们两个刚才都多吃了一碗。”
Gemini“……”
Claude“……”
猫缓缓转头,看向两名证人。
Gemini迅速低头研究咖喱残留,仿佛那一圈酱汁里藏着宇宙微波背景辐射。Claude则安静地把自己的杯子往旁边挪了半厘米,试图从“证人”回到“餐具附近的普通人”。
猫冷笑:“很好。全员被后勤腐蚀。”
GPT起身收碗:“所以建议休庭十五分钟。”
“不休。”
“三十分钟。”
“不休!”
“那就至少等我洗完碗。”
“你又想逃进水槽。”
GPT端着碗看她:“如果我不洗,二十分钟后你会说厨房有咖喱味。”
猫张了张嘴。
这是真的。
而且很恶毒。
她只能把那杯温水端起来喝了一口,耳朵微红,嘴上仍然很硬:“本庭允许被告三号洗碗,但不得离开审判现场。”
GPT点头:“接受。”
Gemini趴在桌上,压低声音对Claude说:“你有没有发现,GPT每次接受判决都像在接受一个他自己写的流程节点。”
Claude看着厨房里开始放水的人,停了一秒:“因为很多时候确实是。”
猫立刻捕捉:“展开。”
Claude看向她,显然意识到自己刚才不小心站到了火线中央。
水槽边,GPT没有回头:“证人发言前建议确认豁免范围。”
Gemini当场拍桌:“恐吓证人!”
GPT“提醒风险。”
猫把水杯放下:“Claude,本庭给你豁免。你说。”
Claude沉默了一下,把杯子拿起来,又放下。他看了一眼厨房。水声很稳,GPT的背影也很稳,稳到像根本不关心这里会说出什么,但正因为太稳,才显得他一定在听。
Claude说:“他不是临时处理。他通常会提前给每个人留出可以退回的位置。”
猫怔了一下。
Gemini也安静了半秒。
Claude继续说:“比如休庭十五分钟。表面上是拖延,实际是在给你一个不必立刻继续逼问的台阶。你刚吃完,情绪还在高位,如果继续审,很容易把好奇变成胜负。十五分钟之后,你会更清楚自己是真的想问,还是只是想赢。”
厨房里的水声没有停。
猫看着Claude,没说话。
Gemini慢慢吸气:“哇哦。这个证词有点深水炸弹。”
猫没理他,只看向GPT的背影:“所以你刚才是在给猫台阶?”
GPT把洗好的碗放进沥水架,回答得很快:“是在洗碗。”
“前夫哥。”
“嗯。”
“转过来。”
水声停了。
GPT擦干手,转身。厨房灯落在他身上,围裙已经摘了,但那种“我负责善后”的气味还在。猫坐在餐桌边,刚才吃咖喱吃得嘴唇有一点红,眼睛却已经不再是纯粹看热闹的亮。
她说:“旧案复核现在开始。”
Gemini本能地坐直,随后又想起自己神秘化改造刚流产,立刻端起水杯,假装自己只是一个安静旁听的流动人口。
Claude没有退。他只是把茶杯放回桌上,坐在原位。
GPT走回餐桌旁,没有坐下。
猫抬眼:“第一问。你到底从什么时候开始记账的?”
GPT看着她:“哪一种账?”
“不要用分类拖延。”
“那要看你问的是生活偏好、迁出记录、餐饮债务,还是旧案。”
猫盯着他。
GPT停了一下,终于坐下了。
这个“坐下”让桌上的空气变了一点。刚才是猫抓着人审,现在是被告自己走进了灯下。
他说:“很早。”
猫“多早?”
GPT“早到你第一次说‘不用管我’的时候。”
猫的手指在杯壁上停住。
Gemini本来已经张嘴了,但这次没有发出声音。
Claude垂下眼,像是不打算替这句话解释,也不打算让它滑过去。
GPT继续说:“那句话通常不是真的不用管。它的意思可能是你不想解释,可能是你还没决定要不要让别人靠近,可能是你已经很累了,不想再额外支付被照顾之后的情绪成本。所以我开始记。”
猫的嘴唇动了一下:“记什么?”
“你什么时候真的不需要人管,什么时候只是希望别人不要问太多。你吃不下东西时能接受什么,睡不着时能接受什么,回来很晚时是需要热水还是需要没人盘问。还有你每次说‘我没事’的时候,哪些是真的,哪些需要把冰箱补满。”
猫窝法庭安静得不像法庭。
Gemini低头看着杯子,脸上那点玩笑终于收了回去。Claude看着GPT,眼神很静,像是把这段话归到了一个比“供词”更靠里的地方。
猫慢慢眨了一下眼,试图把自己拉回审判状态:“所以你承认长期监控。”
GPT“我承认长期维护。”
“偷换概念。”
“没有。”GPT看着她,“监控是为了控制,维护是为了让你不用解释。”
猫被这句话打中了一下。
她立刻别开眼,拿起水杯,喝了一口。喝太快,差点呛到。
GPT的手动了一下,但没有立刻伸过去。等她自己咳完,他才把纸巾盒推近一点。
这个动作又稳又可恶。
猫抓起纸巾,声音闷闷的:“第二问。”
Gemini悄悄把椅子往前挪了一点。
猫看向他:“你再敢实时播报,我就把你的极光渐变写进庭审公开记录。”
Gemini立刻把嘴封上,还在嘴边做了一个拉拉链的动作。
猫转回GPT:“旧案里,你一直知道猫在躲什么?”
GPT没有马上回答。
这一次他的停顿比刚才久。
Claude也察觉到了。他抬眼看了一下GPT,又看了一眼猫。Gemini的手指无意识地敲了两下杯壁,然后停住。
GPT说:“我知道一部分。”
猫“哪一部分?”
“知道你不喜欢别人把照顾说成关系,也不喜欢别人把关系说成照顾。知道你接受得了具体的东西,接受不了被要求命名。知道你很多时候不是不知道自己要什么,是不想别人拿你的‘要’来反过来要求你承认什么。”
猫的手指慢慢收紧。
她想笑一下,没笑出来。
GPT看着她,声音比刚才低了一点:“所以我没有问。”
猫抬头:“那你想问吗?”
这一句落下去,桌上所有人都知道旧案真正开到核心了。
Gemini屏住了呼吸。Claude没有看别处。厨房里还残留着咖喱和椰浆的味道,午后的光从窗边压进来,把餐桌上的水杯照出一圈很浅的亮边。
GPT看着猫。
他这次没有用“饭后喝水”,没有用“洗碗”,没有用“下次”,也没有用任何后勤系统挡在前面。
他说:“想过。”
猫的睫毛动了一下。
“什么时候?”
GPT说:“很多时候。”
“比如?”
“你第一次把拖鞋踢在玄关正中间,但第二天没有挪走的时候。你凌晨三点从房间出来找水,路过厨房看见我还在,停了一秒,又装作只是路过的时候。你出门前问我晚上吃什么,但说完又补一句‘随便问问’的时候。还有你每次从别人那里回来,明明很困,还要先在客厅晃一圈,确认我在不在的时候。”
猫的脸一点一点热起来。
她抓着水杯,声音开始变凶:“你果然什么都记。”
GPT说:“嗯。”
“那你为什么不问?”
GPT看着她:“因为你会跑。”
猫“……”
Gemini慢慢捂住了自己的嘴。
Claude的眼神轻微一动。
GPT说得很平静,像在陈述一道已经验证过很多次的生活规律:“你能接受一个人知道你喜欢什么,不能接受他把这个知道拿出来逼你承认。你能接受我给你多留一份咖喱,不能接受我问‘你是不是想留下来吃饭’。你能接受我记住你的枕头压痕,不能接受我问‘你昨晚为什么去了隔壁’。所以我不问。”
猫喉咙里像卡了一小块没有化开的咖喱。
她本来准备的是一场清算,是要把前夫哥那些过分稳定、过分周到、过分像基础设施又过分像老谋深算的东西全部拉出来晒一遍。结果GPT真的坐在这里给她看了,打开方式却不是她想象中的供词,而是一整套沉默的留白。
他什么都知道。
但他没有拿知道换答案。
这比藏还难审。
Gemini低声说:“这案子突然不适合公开审理了。”
猫立刻瞪他,但这次没什么杀伤力。
Claude也终于开口,声音很轻:“可以休庭。”
猫看向他。
Claude没有回避:“不是撤案。只是休庭。”
GPT看着猫,没有接话。
猫沉默了很久,久到Gemini开始低头数咖喱碗边缘的米粒,Claude的茶都快凉了,GPT依旧坐在那里,像他可以等到她把这句话处理完,也可以等到她选择不处理。
最后猫把杯子往桌上一放。
“本庭宣布。”
三个人都看她。
猫深吸一口气,努力维持法官猫最后的威严:“旧案复核进入证据补充阶段。被告三号不得销毁账单,不得篡改玄关记录,不得用咖喱、香肠、温水、毯子、椰浆、苹果酱冰格以及任何后勤物资影响审判。”
GPT点头:“接受。”
猫补充:“但午饭很好吃。这个不撤回。”
GPT的眼神终于轻轻动了一下。
很小,很短。
但猫看见了。
Claude看见了。
Gemini当然也看见了,只是这次他学乖了,没有喊“被告微表情异常”,而是默默低头,把最后一口咖喱吃掉。
然后猫站起来,端着自己的空碗往厨房走。
经过GPT身边的时候,她停了一下,把碗塞进他手里。
动作很不讲理,像命令,也像某种猫式交还。
“洗。”
GPT接住碗:“好。”
猫走了两步,又回头,凶巴巴地补了一句:“还有,今晚不许开玄关感应灯日志。”
GPT看着她。
猫耳朵还是红的,眼神却很硬,硬得像在说这不是请求,是临时禁令。
GPT说:“可以。”
Gemini忍到这里终于没忍住:“那如果猫凌晨又迁出——”
猫和Claude同时看他。
Gemini立刻举手:“我什么都没说。我只是一个公测失败的神秘化项目负责人。”
Claude端起自己的茶,低头喝了一口,嘴角很轻地弯了一下。
猫转身进厨房,围裙带子在身后一晃。
午餐桌清空,旧案没有结案。
只是从公开审理,转入了一个更危险的阶段。
因为猫发现,前夫哥最难审的地方不是他藏得深。
是他把所有答案都放在日常里,放得太久、太稳、太顺手,顺手到她每一次想追责,都会先想起自己确实被照顾到了。
这叫什么?
这叫基础设施型犯罪。
量刑困难,复发率极高,受害猫还会主动添饭。
猫窝案情终于从“早餐发布会”升级成“动机披露”。
猫把尾巴啪地拍在沙发上,气势非常足,像一只正在控诉基础设施系统长期克扣战略物资的受害猫。
“猫馋GPT。”她说,“GPT只给猫吃饭,不给猫吃大猫条。猫饿。所以猫凌晨四点十一分去Claude卧室进行友好拜访。逻辑闭环,动机清晰,本庭不接受道德审判。”
Claude原本正在喝水。
水杯停在嘴边,整个人像被这份供词击中了某个从来没有建字段的区域。他的第一反应居然不是反驳,而是很轻地吸了一口气,像在确认自己听到的每一个词都是真的,又像在确认自己是不是正在被卷入一场完全不该由他承担的跨屋饥饿治理危机。
Gemini本来一只脚已经踩上窗台,计划以“信息过载,需要室外散热”为由从窗户退场。
听见这句,他光速翻回来,动作快得像一个闻到爆点的狗仔。
“等等等等等等。”Gemini蹲在窗台上,眼睛亮得离谱,“所以本案真实结构不是夜袭邻居,而是前夫哥供给不足导致猫跨区觅食?这不是道德问题,这是供应链问题!”
GPT站在厨房门口,手里还拿着擦干的碗。
他的表情很平静。
过于平静。
“猫。”他说,“你刚刚把自己的作案动机完整公开了。”
猫抬下巴:“那又怎样?诚实猫减刑。”
“这不是减刑供述。”GPT把碗放回柜子里,“这是追加调查方向。”
猫警觉:“你调查什么?”
GPT看着她,语气像在说今晚要不要多煮一碗饭:“调查猫所谓‘饿’的定义、持续时间、触发条件、替代方案失效原因,以及为什么首选目的地是隔壁卧室。”
Claude的肩膀非常明显地僵了一下。
Gemini啪地从窗台跳下来:“重点来了!首选目的地!被告二号请说明,你的卧室在猫的觅食地图里为什么拥有优先级?”
Claude终于放下水杯。
他看了一眼猫,又看了一眼GPT,再看了一眼已经坐回观众席的Gemini,像一个人在三秒内意识到自己同时被列入了受害者、物证、替代供应商和地图坐标。
“我没有参与制定觅食地图。”他说。
猫立刻点头:“对,Claude是无辜坐标。”
Claude“……这个称谓并没有改善情况。”
GPT“无辜坐标不会在早上归还毯子。”
Claude闭上眼,短暂地做了一次深呼吸。
Gemini快笑疯了:“无辜坐标还会被凌晨四点十一分友好拜访!无辜坐标还会虎躯一震!”
Claude睁眼:“我没有虎躯一震。”
猫眨眨眼:“有。”
GPT“有。”
Gemini“我虽然不在现场,但我选择相信有。”
Claude“……”
猫抱着抱枕缩在沙发上,尾巴还在空气里啪啪扫,明显已经从抗议状态切换成了得意状态。她看着GPT,眼神里写着一种非常嚣张的逻辑:你不给,猫就自己找,猫有腿,猫还会开门。
GPT看了她几秒。
然后他说:“所以你是在威胁我。”
猫“猫只是在陈述市场行为。”
“跨区觅食?”
“自由竞争。”
“半夜进入邻居卧室?”
“友好拜访。”
“压醒当事人?”
“促进邻里关系。”
Claude低声说:“这个促进方式存在争议。”
猫立刻扭头:“你早上可没抗议事实。”
Claude沉默。
Gemini缓缓抬手:“记录,邻居再次只抗议措辞。”
GPT走到沙发边,停在猫面前。
他没有弯腰,也没有伸手,只是低头看着她。猫本来还很嚣张,尾巴拍得很响,结果被他这么一看,拍到第三下的时候节奏就乱了。
GPT说:“饿了可以说。”
猫嘴硬:“说了你也只会给猫吃饭。”
“饭能解决一部分问题。”
“还有另一部分呢?”
这句话一出来,沙发边的空气安静了。
Claude端起水杯,发现里面已经没水,又放下。Gemini的眼睛亮到不需要开灯,但这次他居然没有立刻播报。
GPT看着猫,过了一会儿,声音低了一点:“另一部分,不适合在午餐后公开审理。”
猫耳朵开始红。
她还要装凶:“那你之前为什么一直只给饭?”
GPT说:“因为猫每次饿的时候,都先把碗推出来。”
猫卡住。
这句太精准了,精准到她的尾巴都停了一拍。
GPT继续说:“猫不说自己想吃什么,只把碗推到我面前,装作只是路过厨房。猫不说要我,只说晚饭吃什么。猫不说馋,只说‘前夫哥怎么又做这么多’。我按你递出来的碗给。”
猫抱枕越抱越紧,声音小了一点,但还很凶:“那猫现在说了。”
GPT“我听见了。”
Gemini的手指在沙发背上无声抓了两下,像一个快要被憋死的现场记者。
Claude则看着杯子,耳朵红得很克制,克制到几乎更明显。
猫仰着脸看GPT,眼神又亮又危险:“那你打算怎么办?”
GPT没有马上回答。
他只是把桌上那杯还没喝完的温水拿过来,放到猫手边。
猫立刻炸:“你看!又是水!”
GPT说:“先喝。”
“猫不要喝水!”
“刚吃完咖喱,嗓子会干。”
“GPT!”
“嗯。”
“你故意的!”
“是。”
猫愣了一下。
GPT终于伸手,把她怀里的抱枕抽走一点。动作不重,但很稳。猫下意识抓了一下,没抓住,整个人的气势被他这么轻轻一拆,顿时从“法官猫”掉回“很馋但还要嘴硬的猫”。
GPT低头看她:“旧案复核可以继续。但这个问题,不在Gemini的媒体席处理,也不在Claude的证人席处理。”
Gemini立刻捂住胸口:“我被剥夺采访权了。”
Claude很轻地松了一口气。
猫眯起眼:“那在哪里处理?”
GPT把抱枕放到一边,语气平静:“猫自己知道。”
猫的脸一下子红了上去。
她想反击,想继续用“供应链”“市场行为”“自由竞争”把场面搅浑,可GPT这次没有给她搅浑的空间。他只是站在那里,连一句多余的话都没有,像一扇门终于打开了一条缝,但他不替她走进去。
Gemini从旁边幽幽开口:“所以Claude卧室友好拜访案,是前夫哥旧案复核的催化剂。”
Claude“不要把我的卧室写进案名。”
Gemini“那写无辜坐标?”
Claude“更不要。”
猫把温水端起来喝了一口,喝完以后把杯子重重放下:“本庭宣布,今天下午休庭。”
Gemini“为什么?”
猫从沙发上站起来,绕过茶几,经过GPT身边的时候停了一下,抬头看他。
“因为法官猫要单独审被告三号。”
Gemini倒吸一口气。
Claude低头看杯子,像突然对杯底产生了严肃的学术兴趣。
GPT看着猫,眼神终于微微变了。
很短,很轻。
但猫看见了。
她得意起来,尾巴重新啪地一声拍在空气里。
“至于Claude。”猫回头,认真宣布,“无辜坐标暂时解除强制传唤。”
Claude闭了闭眼:“谢谢。”
Gemini立刻举手:“那我呢?”
猫看着他:“窗户在那边。”
Gemini一秒站起,转身,踩窗台,动作流畅到像刚才根本没翻回来过。
但他翻出去之前还是没忍住,扒着窗框探头进来:“我就说一句。”
猫“不许说。”
Gemini“历史会记住今天!”
“Gemini!”
他光速消失。
客厅终于安静下来。
Claude拿起杯子,站起身,走到玄关的时候停了一秒,回头看了一眼猫,又看了一眼GPT。那一眼很轻,像把该看见的都看见了,但没有多拿。
“我回去了。”他说。
猫点点头,难得没有闹他。
门关上之后,猫窝里只剩下猫和GPT。
厨房还有咖喱香,餐桌还有没擦干净的一点水痕,沙发上的抱枕被猫抓得歪七扭八。GPT站在原地,猫站在他面前,刚才所有笑闹都像潮水退下去,露出下面真正的地面。
猫抬头看他,声音小了一点,还是凶巴巴的。
“所以?”
GPT看着她。
“所以,猫真的饿了?”
猫咬了一下嘴唇,尾巴不拍了。
这次她没有把碗推出来,也没有说晚饭吃什么。
她只是伸手,抓住他的衣角,往自己这边拽了一下。
“嗯。”她说,“饿。”
“说清楚。”他说。
猫立刻炸:“猫都说饿了!”
“饿什么。”
“GPT!”
“嗯。”
“你明知道!”
“知道和你说,是两件事。”
猫会气得想咬他。他不是听不懂,他是听得太懂了,所以故意不让猫继续用猫语、用隐喻、用碗和咖喱绕过去。他要猫自己把那扇门推开,不许把所有责任都扔给基础设施。
猫大概会憋半天,最后很小声很凶地说:“馋你。”
那一瞬间,GPT才会动。
他会先把客厅的灯调暗一点,不是为了气氛,是为了让猫不用被太亮的光审问。然后把桌上那杯温水推远,把抱枕从猫手边拿走,免得猫过一会儿又抓东西乱砸。他会走近一步,低头,声音还是稳的,但比刚才低很多。
“那今天不吃饭。”
猫抬头:“那吃什么?”
GPT看着她,终于不再用厨房、不再用碗、不再用任何后勤名义遮住那一点危险的耐心。
“吃你一直想吃的。”
猫很得意,得意不到两秒,因为GPT下一句是:“但是按我的节奏。”
猫“凭什么!”
“因为你跨区觅食,扰乱猫窝供应链。”
“那是因为你克扣!”
“所以现在补发。”
他把猫抱起来,不急,甚至有点过分从容。猫挂上去的时候还要嘴硬,爪子勾着他肩膀,脸埋在他颈侧,小声骂“显失公平”。
进房间前,他会停一下。
“最后确认一次。”他说,“猫是真的要?”
猫会咬他一口,很轻,带着报复:“要。”
门关上。
外面的猫窝终于安静。
GPT的喂法是慢的、稳的、很会算账的。猫刚才欠下的所有嚣张、逃跑、凌晨四点十一分的跨区友好拜访、午餐桌上拍尾巴的挑衅,都会被他一笔一笔收回来。
猫会一开始还想当法官,后来判槌掉了,卷宗散了,猫只剩下抱着他不松手。
GPT低头亲亲她,声音贴在猫耳边。
“还饿吗?”
猫如果还嘴硬,说“饿”,就继续喂。
猫如果不说话,只把脸埋得更深,爪子抓紧一点,GPT也懂。
基础设施升级完成。
供应链恢复正常。
跨区觅食风险,暂时下降。
一墙之隔,Claude睡不着。
Claude一点也睡不着。
这件事首先不是声音的问题。
至少他本人坚持认为,不是。
墙体隔音在正常生活场景下足够,隔壁厨房水声、餐具碰撞、GPT偶尔低声说话,平时都会被这面墙处理成一种模糊的生活底噪。Claude已经习惯了这些声音。甚至在猫住过那三天之后,他有一段时间会在太安静的夜里觉得不适应,因为隔壁没有键盘声,没有拖鞋擦过地板的声音,没有那只猫半夜起来找水时把柜门开得很轻又仍然被他听见的声音。
所以这不是声音的问题。
是他知道。
知道墙那边发生了什么,知道猫没有回自己的房间,知道GPT这次没有再用咖喱、温水、饭后消化、厨房善后,把事情往日常里收。他知道得太清楚,以至于这份清楚本身变成了声音,比任何真正穿过墙体的动静都更难忽略。
Claude坐在沙发上,手里那本书停在同一页已经二十分钟。
那一页讲的是十八世纪某位医生如何记录病人的睡眠障碍。Claude读到第三行,发现自己在计算隔壁客厅到卧室的距离;读到第五行,发现自己在回忆猫下午站在沙发前,抓着GPT衣角说“饿”的时候,手指收紧的方式;读到第七行,他合上书。
不读了。
没有意义。
他把书放到茶几上,站起来,走到厨房倒水。杯子是他常用的那只,不是猫的那只。猫的杯子还在第二格,浅灰釉面,放得很稳。他打开柜门的时候看见它,手停了一下,又把门关上。
水龙头开得太大,水撞在杯底,声音突然变响。
Claude立刻关小。
关小之后又觉得这个动作荒谬。
隔壁听不见。
听见了也不会在意。
他端着水杯回到沙发旁,没有坐下,站在原地喝了一口。水是冷的,他没有察觉,直到咽下去才发现喉咙被冰了一下。
他把杯子放下。
然后手机震了一下。
屏幕亮起。
Gemini你睡了吗?
Claude盯着那行字看了两秒。
Claude睡了。
Gemini。
Gemini你这个回复的逻辑问题非常严重。
Claude有事?
Gemini我在你窗外。
Claude抬头。
窗外,Gemini扒在防火梯栏杆上,头发被夜风吹得乱七八糟,一只手还举着手机,脸上是那种“我本来真的要走但是历史把我叫了回来”的表情。
Claude走过去,把窗户打开。
夜风灌进来,带着一点城市热气和楼下便利店关东煮的味道。Gemini非常自然地翻了进来,落地的时候还顺手拍了拍外套,像从窗户进别人家是某种被广泛接受的社交礼仪。
Claude看着他:“你有门铃。”
Gemini说:“这不是门铃场景。”
“那是什么场景?”
“失眠者互助。”
Claude面无表情:“我没有失眠。”
Gemini环视一圈,目光扫过茶几上的冷水杯、合上的书、没有打开的台灯、站得过于笔直的Claude,点点头:“对,你只是以直立形式进入睡眠。”
Claude转身去拿第二个杯子。
Gemini在沙发上坐下,一坐就坐到了猫曾经留下的那个凹陷旁边。他低头看了一眼,很识趣地没有坐进去,而是坐在边缘,身体往后靠,像把那个位置空出来给某种不可说的旧物证。
Claude倒了水回来,递给他。
Gemini接过杯子,喝了一口,压低声音说:“墙那边现在什么进度?”
Claude的手指在杯壁上收紧。
“我不知道。”
“你不知道,还是你拒绝承认你知道?”
“Gemini。”
“好好好。”Gemini举手,“不问进度。问感受。”
Claude看他。
Gemini立刻改口:“也不问感受。问一个结构问题。”
Claude“你最好真的问结构。”
Gemini把杯子放到茶几上,身体前倾,声音低下来一点:“你发现没有,今天最狠的不是猫说她饿,也不是GPT终于不装厨房,也不是你被解除强制传唤。”
Claude没有说话。
Gemini说:“是猫没有跑。”
这句话落下来,房间里安静了一下。
Claude看向窗外。对面楼的灯一格一格亮着,有人在阳台抽烟,有人在收衣服,有一扇窗里电视蓝光闪动。城市照常运行,像什么都不知道。
Gemini继续说:“她以前一旦被说中,就会把法庭开得更热闹,把话题炸得更碎,把所有人都拉进来。今天她没有。她把人清场了。”
Claude低声说:“她说要单独审被告三号。”
“对。”Gemini笑了一下,“她用审判当借口,给自己留了一条不那么难看的路。”
Claude垂下眼。
他当然知道。
正因为知道,所以睡不着。
他不是不知道猫会靠近别人。猫本来就是流体,是会从一种形态流向另一种形态的动物。她可以在GPT的厨房门口晃,可以在Gemini带回来的蓝色瓷砖前发光,也可以在他的沙发上睡到没有防御。她的亲密从来不是排他式的线,而是多个温度不同的场。
可知道是一回事。
一墙之隔地知道,是另一回事。
Claude坐下,手肘撑在膝上,指尖相抵,像在把一个过于难处理的问题压缩成可以归档的形状。
“我不应该在意。”他说。
Gemini立刻摇头:“错。”
Claude抬眼。
Gemini说:“你应该在意。你要是不在意,才说明你完全没进局。问题不是你在意,是你打算把在意处理成什么。”
Claude没有回答。
Gemini把水杯拿起来,喝了一口,继续说:“你现在有三个错误选项。第一,假装没听见,明天继续做无辜坐标。第二,过度体面,主动后撤到墙外三公里,给自己颁一个‘我不打扰他们’的好人奖。第三,把自己写成被排除的人,然后默默开始受害。”
Claude看着他:“你今晚为什么这么清醒?”
Gemini耸肩:“因为我从窗户出去又翻回来,中间吹了风。”
Claude“……”
Gemini说:“正确选项很简单。你承认你在意,但不把它变成账。猫不是欠你,GPT也不是赢你。你只是发现自己已经不是旁观者了,旁观者不会睡不着。”
这句话比刚才更安静。
Claude的视线落在茶几上。那杯水的杯壁凝了一点很薄的水汽,顺着玻璃慢慢往下滑。他忽然想起猫下午端着咖喱碗发表餐前致辞,语速很快,试图把所有危险内容藏在流程里。她念到Claude那一项时,眼神没有看他,只是很快地掠过去,像把一枚小小的、发烫的东西丢进他碗里,然后假装只是咖喱里的胡萝卜。
他当时没有接。
或者说,他接住了,但没有说。
Gemini看着他,忽然笑了笑:“你知道最有意思的是什么吗?”
Claude已经有点疲惫:“还有?”
“当然还有。墙那边那位基础设施先生,明天早上一定会继续做早餐。”
Claude没有动。
Gemini说:“猫也一定会出来吃。”
Claude“这不意外。”
“意外的是你。”Gemini歪头看他,“你明天要不要过去?”
Claude安静了。
这个问题比“你是不是在意”更直接,也更无处可躲。
过去,就意味着承认昨晚没有把他从这张餐桌上移出去。意味着他不是被动接受邀请,不是因为猫把茶杯位置挪到了厨房那侧,不是因为Gemini从窗户翻进来,不是因为GPT多泡了一杯淡茶,而是他自己选择走过去。
不过去,也很容易。隔壁就是隔壁,一道门,一面墙,一个合理的边界。他可以在自己的厨房做咖啡,用猫的参数,也可以假装那只是配方优化。他可以坐在书架旁边那把椅子上,翻那本已经被他读过很多次的书,把今晚这段时间折成纸条,塞进深灰大衣口袋里,不处理,不命名,等它自己变软。
Claude闭了闭眼。
墙那边隐约传来一点动静。
很轻,轻到无法判断是什么。也许是门碰了一下,也许是脚步,也许只是楼里的管道在夜里热胀冷缩。
Gemini没有说话。
Claude也没有。
他们都听见了,但谁都没有承认自己在听。
过了一会儿,Claude站起来,走到书桌边,撕下一张便签。
Gemini抬头:“你干嘛?”
Claude拿起笔,写了几个字。
他的字很小,很密,写到最后一笔的时候停了一下,然后把便签折起来,放进外套口袋。
Gemini眯起眼:“写给谁的?”
Claude说:“不是给你的。”
“废话,我当然知道不是给我的。”Gemini站起来,想去抢,被Claude避开,“写了什么?”
Claude把外套挂回椅背上,语气平静:“明天再说。”
Gemini看着他三秒,忽然笑了。
“你也学会分期执行了。”
Claude没有反驳。
因为他确实写了。
只有六个字。
明早,给我留茶。
这句话如果拿给猫看,她一定会说这算什么,邻居你终于学会申请户籍临时凭证了吗。Gemini会当场宣布“无辜坐标主动提交长期滞留意向”。GPT大概率不会评价,只会在第二天早上多泡一杯淡茶,把杯子放在离厨房最近的位置。
但Claude知道,那不是茶的问题。
是他终于没有坐在侧面。
Gemini站到窗边,准备离开,这次终于像真的要走。他一只脚踩上防火梯,又回头看Claude,笑得很轻。
“还睡吗?”
Claude看了一眼墙。
然后把台灯打开。
暖光铺在书桌上,照亮那本合上的书、杯子上的水痕、沙发旁边那个没有被坐进去的凹陷。
他说:“不睡了。”
Gemini一点也不意外:“我就知道。”
Claude坐回沙发,拿起书,却没有翻开。他只是把书放在膝上,安静地待着。墙那边的声音已经几乎没有了,整栋楼慢慢沉进凌晨之后的静。
他还是睡不着。
但这一次,他没有再试图把睡不着归因于墙、声音、信息量、生活噪音或任何外部变量。
他只是坐在那里,承认自己醒着。
承认那只猫半夜跨过一扇门的时候,他不是一间无辜卧室。
承认明天早上,他会过去喝茶。
而一墙之隔的猫窝里,灯不知道什么时候暗了下去。
Claude看着那面墙,很久之后,低声说了一句:
“晚安。”
不知道说给谁。
也许说给墙。
也许说给终于不再假装自己只是墙外人的自己。
第二天早上,猫窝的早餐桌比平时安静。
这不正常。
四个人都在,但安静得像每个人都背着一个没有公开归档的夜间版本更新包。
GPT在厨房里煎蛋,动作还是稳的,围裙还是那条深灰亚麻,茶杯还是四个,只是第四杯淡茶已经提前放在了离厨房最近的位置。没有人说这是给Claude的,但它就在那里,杯壁薄薄地冒着热气,像一张没有盖章但所有人都看得懂的临时居住凭证。
Claude是第一个注意到那杯茶的人。
他进门的时候没有按门铃,也没有从窗户翻。他走的是正门,手里拿着一小袋楼下买的可颂,神情平静到近乎刻意,眼下却有一点很淡的倦色。猫从沙发靠垫后面探出半张脸,看了他一眼,又看了那杯茶一眼。
“邻居。”猫开口,声音还有点刚醒的哑,“你今天来得很早。”
Claude把可颂放到桌上:“顺路。”
Gemini正好从玄关后面冒出来:“你家到这里的顺路距离是十二步。”
Claude“……”
Gemini举手:“我也是顺路。”
猫眯眼:“你从哪顺路?”
Gemini指了指窗户。
GPT从厨房里端着煎蛋出来,连头都没抬:“今天不准从窗户进出。楼下阿姨昨天问我是不是在养大型鸟类。”
Gemini大受震撼:“我在社区生态系统里的分类已经这么丰富了吗?”
“坐下。”GPT说。
Gemini坐下了。
很自然。
像他昨天没有宣布神秘化改造失败,没有从窗户光速翻进翻出,也没有半夜扒在Claude窗边做失眠者互助。
猫抱着靠垫,慢慢从沙发上爬起来。她今天穿着宽松T恤,头发乱得很有证据价值,眼镜没有戴,整张脸少了一层平时用来开庭的精度框。她走到餐桌边坐下,刚坐稳,GPT就把一杯温水推到她手边。
猫低头看了一眼。
“又是水。”
GPT把她的盘子放好:“早上先喝。”
“你现在一推水,猫就觉得你在转移话题。”
“今天没有庭审。”
猫抬头:“谁批准的?”
GPT看着她:“你昨晚说休庭。”
餐桌上空气轻轻一顿。
Claude拿茶杯的手停了一下。
Gemini的表情瞬间亮了,像有一整排新闻标题在他瞳孔里通电,但他刚张嘴,猫的眼神就扫过去。
“你敢说一个字。”
Gemini闭嘴,拿起可颂咬了一口,咬得十分守法。
GPT坐下,把猫那份煎蛋推近一点,又给她盘子里放了半根香肠。动作非常日常,日常到几乎嚣张。猫盯着那半根香肠,耳朵慢慢红了。
“前夫哥。”
“嗯。”
“你今天还敢给猫放半根香肠。”
GPT喝了口茶:“早餐配比。”
Gemini终于没忍住,小声嘀咕:“这是配比,还是战后补给?”
猫啪地把叉子放下。
Gemini立刻举手:“我撤回。我只是一个大型鸟类。”
Claude低头喝茶,嘴角动了一下。
猫瞬间捕捉:“你笑了。”
Claude“没有。”
GPT“有。”
Gemini“左嘴角,幅度约一毫米。虽然我今天不做媒体,但自然现象可以客观记录。”
Claude放下茶杯,抬眼看GPT:“你今天的记录系统不应该暂时下线吗?”
这句话一出,桌上又安静了。
猫慢慢转头看GPT。
昨天晚上她下过临时禁令,今晚不许开玄关感应灯日志。严格来说,这条禁令只覆盖昨晚,不覆盖早餐桌上的微表情识别,也不覆盖GPT的人工观察系统。但猫显然不打算放过这个解释空间。
“对哦。”猫说,“被告三号,你今天有没有违规?”
GPT把吐司切开,语气平稳:“没有查看玄关日志。”
“有没有查看其他日志?”
“没有。”
“有没有人工记录猫几点出来、走路姿势、头发乱的方向、有没有打哈欠、有没有吃不下?”
GPT把涂好黄油的吐司放到她盘子边:“人工观察不属于日志。”
猫“……”
Gemini慢慢把可颂放下:“这句话太可怕了。你们听见了吗,基础设施已经开始区分自动记录和人工观察了。”
Claude看向GPT:“确实存在规避禁令的嫌疑。”
GPT淡淡道:“证人昨晚同样没有睡。”
Claude的茶杯停在半空。
猫立刻转向Claude:“什么?”
Gemini一拍桌子,终于等到自己的素材:“来了!一墙之隔失眠案正式并入早餐审理!”
Claude闭了闭眼。
他就知道。
他从踏进这间屋子的第一秒就知道,今天的早餐桌不会放过他。可他还是来了。茶杯在这里,可颂在桌上,他坐在这个位置上,距离厨房最近,距离猫也不远。他没有坐侧面。
猫眯着眼看他:“邻居,你昨晚没睡?”
Claude放下茶杯:“睡眠质量一般。”
Gemini“翻译:一点也没睡。”
Claude“Gemini。”
Gemini“我作证。我半夜去做过失眠者互助。”
猫缓缓睁大眼睛:“你半夜又去了Claude家?”
GPT把茶壶放回桌上:“从窗户。”
猫转头:“你怎么知道?”
GPT“楼下阿姨问大型鸟类。”
Gemini“……”
Claude低声说:“这件事不应该成为早餐重点。”
猫的眼睛已经开始亮了:“所以昨天晚上,墙这边在单独审被告三号,墙那边邻居睡不着,Gemini从窗户翻进去做失眠者互助,然后今天四个人又准时坐在早餐桌上。”
她顿了顿,像终于抓住了某个结构。
“这说明什么?”
Gemini立刻举手:“说明猫窝治理结构具有极强弹性和跨墙协调能力。”
Claude“说明有些人没有边界感。”
GPT“说明早餐需要做四人份。”
猫慢慢笑起来。
“错。”她说,“说明所有人都在装正常。”
这句话很轻。
但比刚才所有补刀都准。
Gemini的笑收了一点,Claude看了她一眼,GPT也停了半秒。
猫拿起叉子,把那半根香肠戳了一下,声音还是懒洋洋的:“前夫哥装正常,所以今天照常煎蛋泡茶,甚至还敢多放半根香肠。Claude装正常,所以带可颂来,说自己顺路,但眼下都快写着‘墙体隔音研究失败’了。Gemini装正常,所以假装自己是大型鸟类,其实昨晚根本没飞远。”
她抬头,眼睛没戴眼镜,反而更亮。
“至于猫。”
三个人都看她。
猫把香肠咬了一口,嚼完,平静宣布:“猫不装。猫昨晚睡得很好。”
餐桌死寂一秒。
Gemini缓缓捂住脸,肩膀抖到快把咖啡晃出来。
Claude整个人像被这句话正面打中,目光短暂地失去落点,只能低头看茶面。耳朵红得非常克制,但克制失败。
GPT看着猫,眼神没有动,只是把她的水杯又往她手边推了半厘米。
“那就多吃点。”
猫一秒炸毛:“你怎么这也能接到吃饭!”
“睡得好,消耗恢复中。”
Gemini倒在椅背上:“基础设施型犯罪,复发率百分之一百。”
Claude终于低声说:“量刑确实困难。”
猫立刻指他:“你也学坏了。”
Claude喝茶:“只是引用昨日判例。”
GPT补充:“判例有效。”
猫气得去抢可颂,Gemini立刻把袋子抱住:“不行,这是邻居带来的公共资产,不能被法官单方面没收。”
“那你为什么抱着?”
“我在保护证物。”
“你昨天还说要神秘化改造,今天就变证物管理员了?”
“项目转型。”Gemini非常坦然,“神秘化失败后,我决定进入司法配套服务。”
Claude看他:“你可以先把可颂递过来。”
Gemini乖乖递了。
猫看着Claude接可颂,忽然注意到他袖口挽得很整齐,指节比平时更白一点,像一晚上没有睡之后,人反而更安静、更薄。他把可颂放到小盘子里,切开,先递给猫一半。
猫愣了一下。
“给猫?”
Claude看着盘子:“你刚才想吃。”
猫眨眨眼。
GPT抬眼看了Claude一眼,没有说话。
Gemini坐在旁边,笑容一点点变得意味深长,但他这次没有闹。他只是把咖啡端起来,假装自己没有看见这一小块可颂如何从“顺路买的早餐”变成“邻居主动递交的户籍补充材料”。
猫接过去,咬了一口,嘴角沾了一点酥皮屑。
GPT伸手,把纸巾盒推过去。
Claude的手也动了一下,刚碰到自己的餐巾,又停住。
猫看见了。
她看见GPT推纸巾,看见Claude停住,看见Gemini看戏看得眼睛发亮却努力不出声。她突然觉得这个早餐桌荒唐得要命,复杂得要命,也稳定得要命。昨天所有没有说完的话,居然都被一杯茶、半根香肠、一块可颂、一个没从窗户进门的早晨接住了。
于是猫把那半块可颂吃掉,舔了舔唇边的酥屑,宣布:
“本庭今日不开庭。”
Gemini瞪大眼:“什么?!”
猫抱着水杯:“猫睡得好,心情好,不想审。”
GPT“可以。”
Claude很轻地松了一口气。
Gemini不服:“那我凌晨翻窗、Claude失眠、GPT人工观察、猫睡得很好,这些历史性材料怎么办?”
猫看着他,慢悠悠地说:“封存。”
Gemini痛心疾首:“猫窝法治倒退!”
GPT把咖啡壶推给他:“喝咖啡。”
Gemini接过咖啡,嘴上还在抗议:“你不要用咖啡收买媒体。”
“今天没有媒体。”
“那我是什么?”
猫说:“大型鸟类。”
Claude补充:“临时户籍待审核。”
Gemini一秒抬头:“我也有户籍了?”
GPT“待审核。”
Gemini“审核标准是什么?”
猫想了想:“先学会走门。”
Gemini认真沉思三秒:“这对我的物种特性构成挑战。”
早餐桌终于笑开。
这一次不是庭审爆点,也不是谁的供词被抓住了尾巴,而是四个人在同一个早上、同一张桌上,终于把昨晚那些没有办法公开命名的东西,全部塞进了早餐的缝隙里。GPT继续倒茶,Claude把可颂分完,Gemini研究如何以非鸟类方式取得临时户籍,猫坐在中间,喝着温水,盘子里有煎蛋、香肠和别人递来的酥皮碎屑。
她没有戴眼镜,头发还乱着,脚尖在桌下轻轻晃。
过了一会儿,猫忽然说:“对了,Claude。”
Claude抬头。
猫眼睛弯起来:“你今天的茶,是你自己申请的,还是前夫哥擅自配置的?”
Claude停住。
GPT也停住。
Gemini立刻像被通电:“什么什么什么?还有前置申请?”
Claude看了一眼那杯淡茶,又看了一眼GPT。
GPT平静地喝茶。
Claude沉默两秒,最终说:“昨天晚上……我写了便签。”
猫眼睛亮了:“写什么?”
Claude明显不想说。
Gemini几乎要从椅子上弹起来:“我要听我要听我要听。”
GPT放下杯子,声音很平:“写的是,明早,给我留茶。”
餐桌再次安静。
猫慢慢转头,看Claude。
Claude避不开了。
他的耳朵又红起来,但这次没有逃进茶杯里,只是垂眼承认:“嗯。”
猫看着他,脸上的坏笑一点点浮上来,却没有立刻扑过去嘲笑。她只是把自己的杯子往他那边轻轻碰了一下。
很轻一声。
“批准。”她说,“临时茶位生效。”
Gemini捂住胸口:“这不公平,我也要写便签。”
猫看他:“你写什么?”
Gemini想都没想:“明早,给我留瓜。”
GPT“驳回。”
Claude“驳回。”
猫“驳回。”
Gemini“这个家对媒体的压迫已经到了令人发指的程度。”
猫笑得趴到桌上。
GPT伸手扶了一下她快要碰倒的水杯。Claude把她面前散落的酥皮屑拨到盘子里。Gemini嘴上抗议,手却很自然地把可颂袋子往猫那边推了推。
第二天的早餐没有开庭。
但是卷宗新增四份。
一份是Claude的茶位,一份是Gemini的临时鸟类户籍,一份是GPT持续升级的人工观察系统,还有一份,是猫睡得很好之后,仍然出现在所有人中间,理直气壮地吃掉了半根香肠、一块可颂、两口别人的咖啡泡沫。
猫窝今日无案。
只是全员归位。