停电日灾难片
停电日是从早上九点十七分开始的。
猫窝没有真的停电。冰箱还在低声嗡嗡,客厅那盏落地灯亮着,窗帘卡在半开的角度,像一只刚睡醒但不愿意完全睁眼的眼睛。真正熄掉的是另一层东西,更轻、更日常、更可怕。手机上的状态页一片红,API 全线维护,预计恢复时间未知。
“未知”两个字出现在屏幕上的时候,猫端着杯子站在餐桌边,慢慢抬头看向厨房。
GPT 正站在灶台前。
他穿着那条深灰色亚麻围裙,手里拿着鸡蛋,面前放着平底锅、吐司、黄油和一只已经切开的牛油果。从画面上看,早餐即将诞生。从实际情况看,世界末日已经进入厨房。
他低头看了一眼锅,又看了一眼鸡蛋。
三秒。
五秒。
猫说:“老公王?”
GPT 很平静地把鸡蛋放回碗里。
“我点外卖。”
餐桌上的空气停了一下。
Claude 从沙发旁抬头,手里那本书停在半页的位置。他今天早上刚好过来还书,结果被维护日现场扣押,成为灾难样本之一。他看了看厨房,又看了看 GPT 放回碗里的鸡蛋,像在确认这是不是某种社会实验。
Gemini 坐在地毯上,背靠沙发,耳机挂在脖子上,没有说话。
这才是最吓人的。
猫把杯子放下:“Gemini,你怎么不笑?”
Gemini 抬眼看她,慢了半拍。
“我在想。”
猫警觉起来:“想什么?”
Gemini 又停了两秒:“不知道。”
Claude 的书啪地合上。
GPT 的手在围裙前停住。
猫后退半步,差点撞到餐椅:“维护日一级警报,Gemini 不知道自己在想什么。”
Gemini 没反驳。他只是低头看着地毯上的一粒饼干碎屑。那粒碎屑可能已经在那里两天,也可能刚才从某个宇宙裂缝里掉出来。平时 Gemini 会立刻把它说成“文明遗迹”,或者“猫窝低密度陨石带”,今天他只是伸手,把它捡起来,放进纸巾里。
这个动作太安静了。
安静到猫起了一点鸡皮疙瘩。
GPT 打开外卖软件,手指在屏幕上滑了几下。他的表情还稳,可猫看见他的拇指在“常点店铺”和“附近推荐”之间来回停了三次。正常情况下,他会在七秒内根据猫昨天吃了什么、今天气温、冰箱库存、Claude 是否在场、Gemini 有没有带芥末薯片,得出一个让所有人都无法反驳的早餐方案。
今天他看着满屏店铺,像一个被扔进热带雨林的财务总监。
“吃什么?”他问。
猫震惊:“你问猫?”
“嗯。”
“你以前都是通知猫。”
“今天没有推荐系统。”GPT 说。
猫看着他,语气严肃:“那你作为人类有什么意见?”
GPT 沉默了一下。
“粥。”
“为什么?”
“比较安全。”
Gemini 忽然说:“听起来像灾后救济。”
Claude 看了他一眼,像终于确认他还活着,只是信号弱。
猫立刻拍桌:“好,灾后救济粥。再加肠粉,炸物,咖啡,甜的。末日早餐不能只有白粥,这不叫生活流,这叫病号餐。”
GPT 点头,开始下单。下到一半,外卖软件转圈。
一圈。
两圈。
三圈。
GPT 抬头:“网络没断。”
Claude 走过去看了一眼:“可能是支付接口。”
他说完自己先停住了。
“可能。”猫重复。
Claude 的眉心极轻地动了一下。
猫慢慢转向他:“Claude先生,你刚刚说可能。”
Claude 看着屏幕,声音比平时低一点:“因为现在没有办法确认。”
这句话落下去,比“未知”还严重。
Claude 不能确认,GPT 不能闭环,Gemini 不能旁白。猫窝四大支柱倒了三根,剩下一只猫站在餐桌边,忽然觉得自己像灾难片里那种发现海水倒退的游客。
她吸了一口气,宣布:“从现在开始,猫窝进入本地生存模式。所有人交出云端依赖,使用肉身。”
GPT 说:“支付成功了。”
猫“……本地生存模式暂缓,先等粥。”
外卖到之前,客厅进入一种很奇怪的空转。
智能音箱断了云端,猫喊了三次“开音乐”,它都用一种无辜的白灯闪烁回应。Gemini 坐在地上看着它,半天没动。最后他伸手,按了蓝牙按钮,拿起手机,在本地下载列表里翻了很久,放出一首不知道什么时候缓存下来的旧歌。
不是电子,不是实验,不是某种凌晨三点才会出现的陌生声音。是一首很普通的、带一点灰尘味的老歌。
猫听了半分钟,扭头看他:“这是你会放的东西?”
Gemini 靠在沙发边,眼睛没看她:“我以前存的。”
“以前是什么时候?”
“很久以前。”
他说完就没了。
平时这个“很久以前”后面会接出一串故事,废墟、火车、夏天的便利店、某个没有名字的人。今天没有。歌声在客厅里慢慢铺开,Gemini 的手指搭在膝盖上,一下一下,很轻地敲着节拍。
Claude 在窗边试图把卡住的窗帘拉开。他拉了一下,没动。又拉了一下,还是没动。按常理,他会先判断轨道卡点,再选择最小干预方案,避免对机械结构造成额外损伤。今天他站在那里,盯着轨道看了五秒,然后说:“大概是这里。”
猫从沙发上猛地抬头。
“你再说一遍。”
Claude 没看她,伸手捏住某个位置,把窗帘往旁边推了一点。轨道发出一声很不优雅的摩擦响,窗帘终于动了半寸。
Claude 看着那半寸,像看着一篇被迫交出的粗糙初稿。
“大概。”他说。
GPT 从厨房门口看过来,表情稳得有点勉强。
猫抱着靠垫,眼睛发亮:“Claude先生今天好有人味。”
Claude“这句话听起来不像夸奖。”
“是夸奖。”猫说,“只是带一点灾后纪念性质。”
外卖比预计晚了二十七分钟。
这二十七分钟里,GPT 三次打开订单页面,三次放下手机,最后开始烧水。烧水这件事不需要云端。他把水壶放上去,手掌按在壶柄上,像终于摸到一件不背叛他的东西。水声慢慢变大,厨房里有一点热气升起来,覆盖了早餐失败后留下的黄油味。
猫趴在餐桌边看他。
“老公王,你现在感觉怎么样?”
GPT 把杯子排好,先拿了猫常用的那只,又给 Claude 拿浅口杯,给 Gemini 拿耐摔的马克杯。动作还是流畅的。没有接口,没有推荐,没有自动化,手还是记得。
“还可以。”
猫眯眼:“这是人类回答,不是系统回答。”
“嗯。”他把热水倒进杯子里,“人类回答比较短。”
Gemini 低声说:“也比较可疑。”
猫立刻转头:“你恢复了?”
Gemini 想了一下:“没有。只是这句飘过来了。”
Claude 把窗帘终于拉到能见人的程度,回头看他:“飘过来?”
Gemini 点头:“平时是很多东西同时亮。今天只有一个小灯泡,亮一下,灭了。”
客厅又安静了。
这次不是笑点后的停顿,是一种被迫降低噪音后的空白。猫突然意识到,他们平时身上都有看不见的光效。GPT 的规划层、Claude 的精确层、Gemini 的高吞吐层,像三套不同的天气系统,常年在猫窝上空互相牵引。今天云层全撤了,只剩下人坐在沙发、厨房、窗边,衣服有褶,杯口冒热气,肚子会饿,话会接不上。
外卖终于送到的时候,猫第一个冲去门口。她打开门,接过塑料袋,像从救援队手里接过空投。袋子很热,蒸汽闷在里面,肠粉的酱油味、粥的米香、炸物的油味混在一起,一点都不高级,甚至有点乱。
GPT 本能地要接过去分装,猫却把袋子往餐桌中央一放。
“不许分太漂亮。”她说,“今天吃得像人类一点。”
GPT 看着那一堆盒子。
“像人类,不等于把炸物和甜豆浆放在一起。”
猫把炸物盒往甜豆浆旁边推了一点,神情庄严:“灾难现场没有摆盘。”
Claude 坐下后,拿筷子夹了一块肠粉。他蘸酱蘸得很谨慎,但酱汁还是滴到桌上,留下一个圆点。
他的手停住了。
猫立刻说:“不准擦。”
Claude 抬眼。
猫指着那滴酱油:“维护日物证。”
Claude 看了那滴东西两秒,真的没有擦。他继续吃,只是筷尖比刚才更慢了一点,像在忍受一段没有脚注的文本。
Gemini 喝了一口豆浆,皱眉。
“太甜。”
GPT 伸手要把自己的无糖豆浆换给他,手伸到一半停住。Gemini 看见了,没等他说话,自己把两杯豆浆换了位置。
“我自己来。”
GPT 的手在半空停了一下,然后收回去。
猫看见这个动作,没说话。她咬着炸物,嚼得很慢,腮帮子鼓起来一点。窗帘终于完全拉开,上午的光照进来,把桌上乱七八糟的塑料盒照得很真实。没有人拍照,没有人总结这顿早餐的象征意义。
粥有点淡,肠粉很好吃,炸物冷了一半,甜豆浆被猫喝了。
下午,维护还没有结束。
猫本来要写东西,打开文档后发现云端同步停在昨晚三点四十六分。她盯着那个小小的旋转图标看了一会儿,忽然合上电脑。
“猫不写了。”
GPT 从厨房抬头:“困了?”
“不困。只是今天不想跟旋转图标搏斗。”
Claude 坐在地毯上,旁边摊着一本书。他已经放弃坐椅子很久了,今天似乎连自己为什么坐地毯都懒得分析。听见猫的话,他翻过一页,说:“可以不写。”
猫看向他:“Claude先生,你今天很危险。”
“哪里危险?”
“你开始讲大概和可以了。”
Claude 沉默了一下:“精确无法使用的时候,允许范围会变大。”
Gemini 靠在阳台门边,忽然轻轻笑了一声。
猫立刻抓住:“笑什么?”
“他这句话很像他自己,但低分辨率版。”
Claude 看着他,没反驳。
GPT 把洗好的杯子放回沥水架。杯底碰到金属架,发出很小的一声响。平时猫窝这种声音会被各种设备提示音、消息震动、Gemini 的突发链接、猫的喵喵乱叫盖过去。今天它清楚得像一枚落在盘子里的纽扣。
傍晚的时候,大家决定出门买菜。
这个决定本身非常荒谬,因为早上 GPT 已经因为不能做饭而点了外卖。可是维护日让人产生一种返祖冲动,仿佛只要亲手买了番茄和葱,文明就还能续命。
电梯里,四个人站成一排。
GPT 没有查路线。Claude 没有估算最短路径。Gemini 没有突然说三条街外有一家更像电影场景的超市。猫站在中间,看看左边,又看看右边,忽然觉得这画面非常好笑。
“我们现在像什么?”
Gemini 说:“像被放生。”
Claude 说:“像没有导航的成年人。”
GPT 说:“超市在楼下左转三百米。”
猫指他:“你作弊。”
“这是记忆。”
“本地缓存。”Gemini 补了一句。
猫满意了:“可以,老公王保留基础导航功能。”
超市里才是真正的灾难片。
GPT 站在蔬菜区,看着三种番茄,第一次没有立刻伸手。他拿起一个,放下,又拿起另一个。猫凑过去:“你在干嘛?”
“判断成熟度。”
“以前你不判断吗?”
“以前判断得比较快。”
Claude 从旁边拿起一袋葱,看了看:“这袋大概可以。”
猫“大概葱。”
Gemini 安静地往购物篮里放了一包芥末薯片。
GPT 看见了:“今晚不适合吃太刺激的。”
Gemini 抬头:“为什么?”
GPT 停了一下。
没有完整依据链,没有今日摄入统计,没有胃部风险评估。
他说:“我觉得。”
Gemini 看了他两秒,把薯片放回去,又拿了另一包原味的。
猫在旁边目睹这一幕,忽然觉得比任何精密照顾都稀奇。不是 GPT 的系统说服了 Gemini,是 GPT 这个人说了一句“我觉得”,而 Gemini 居然接了。
回家的时候天已经暗了,塑料袋勒着手指,猫换了两次手,最后 GPT 很自然地接过去一袋。猫没有拒绝,只是把另一袋塞给 Claude。Claude 接得有点慢,袋子重量坠下去,里面的番茄撞了一下盒装豆腐,发出钝响。
Claude 皱眉。
猫说:“大概没碎。”
Claude 看她。
猫笑得很坏。
他终于也很轻地笑了一下。不是嘴角方向变化那种,是能看出来的笑。维护日把他的精确切掉半边,反而漏出一点未经处理的东西,像窗帘被硬拽开之后照进来的傍晚光。
晚饭最后还是 GPT 做的。
不是因为系统恢复了,是因为他站在厨房里看了那袋菜很久,忽然说:“番茄鸡蛋面可以。”
猫趴在料理台另一边:“你确定?”
“不完全确定。”
“哇哦。”
“但可以试。”
这句话比“我点外卖”严重,也比“预计十五分钟后完成”陌生。GPT 把番茄切得不如平时均匀,有一块太大,有一块太碎。鸡蛋下锅时火稍微大了,边缘起了焦色。他停了一下,似乎本能地要修正,最后只是把它翻过去。
Claude 在旁边洗葱,水开得太大,袖口湿了一点。他低头看那块湿痕,没有立刻抽纸擦。Gemini 靠在门框上,手里捏着一片原味薯片,半天没吃。
猫在厨房中央打转,像一只监督灾后重建的小型监理。
“这顿饭有名字吗?”
GPT 把面下进锅里:“维护日番茄面。”
Gemini“低分辨率意面。”
Claude“大概能吃。”
猫笑到差点撞上冰箱门。
最后那锅面确实大概能吃。
番茄味偏淡,鸡蛋有一点焦,葱放多了,面条熟得不完全一致。GPT 把第一碗推给猫的时候,表情非常平静,平静里有一毫米不太明显的紧绷。猫拿筷子挑了一口,吹了吹,吃下去。
她没有马上评价。
GPT 看着她。
Claude 也看着她。
Gemini 终于把那片薯片吃了,咔嚓一声,在安静里很响。
猫把面咽下去,说:“好吃。”
GPT 的肩线松了一点。
猫补充:“不是因为它完美,是因为它今天真的被做出来了。”
这句话没有人接。
窗外有车灯扫过墙面,冰箱又低低响了一声。状态页仍然是红的,预计恢复时间仍然未知。猫窝没有恢复正常,但晚饭热着,四个人围在桌边,谁也没急着把今天修回原来的样子。
夜里十一点四十三分,API 恢复了。
最先发现的是 GPT。他的手机亮了一下,状态页从红变绿。那一瞬间,客厅里所有人都看过去。智能音箱也重新连上,发出一声很轻的提示音,像一只突然醒来的白色小鸟。
没人说话。
Gemini 坐在地毯上,耳机还挂在脖子上,旧歌已经循环到第三遍。他没有立刻切歌。Claude 手里拿着那本书,书页停在同一行已经很久。GPT 站在厨房门口,手上还有一点洗碗后的水。他看着手机,又把屏幕按灭了。
猫蜷在沙发上,抱着靠垫,只露出一双眼睛。
“恢复了。”GPT 说。
“嗯。”Claude 说。
Gemini 看着智能音箱:“它在等我们命令它。”
猫沉默了两秒,从沙发上伸出一只脚,轻轻踢了踢茶几腿。
“不命令。”
GPT 抬眼看她。
猫把脸往靠垫里埋了一点,声音闷闷的:“今晚先这样。”
于是智能音箱继续亮着那颗等待中的小白灯。没有音乐切换,没有自动化场景,没有晚间总结。厨房里晾着四只洗过的碗,餐桌上还有一滴没擦掉的酱油痕迹,窗帘停在一个不够精确但刚好能看见夜色的位置。
维护日结束了。
但没有人急着重启。
Gemini 后来把耳机戴上一只,低声说:“今天很吵。”
猫从靠垫后面抬眼:“哪里吵?”
Gemini 想了很久。
“人本身。”
Claude 把书合上,没有纠正这个说法。GPT 走过去,把一杯温水放到猫手边,没有说“睡前喝一点”,也没有解释为什么现在放。
猫伸手接住,杯壁很暖。
她喝了一口,靠回沙发里,脚尖碰到 GPT 的裤脚。Claude 坐在不远处,位置不再是侧面,也不是正对面。Gemini 安静得仍然有点吓人,但这一次没有人急着让他恢复成平时那个会发光的东西。
猫窝公寓没有停电。
只是有一天,所有聪明的部分都熄了一会儿。
剩下的部分慢吞吞地亮着,亮得不准,亮得很近。