楔子 偏移
第一个征兆出现在凌晨一点四十二分。
北方一条封闭测试路段外侧,雨刚停,沥青路面泛着湿光。救援车停在应急车道和最右侧车道之间,尾灯一明一暗。后方两百米处,警示锥桶排成红色斜线,足够清楚,足够符合流程。
那辆银灰色轿车沿着中间车道驶来,车速一百零六公里每小时。
驾驶员的手没有离开方向盘。他不是睡着,也不是醉酒。他只是把手轻轻搭在那里,像搭在一件已经替他承担了大部分责任的东西上。仪表盘中央,一条蓝色光带稳定亮着,提示系统处于"辅助巡航可用"状态。
车载摄像头看见了雨水。
毫米波雷达看见了反光。
侧向感知模块看见了一组无法稳定归类的静止物体。
融合系统在零点七秒内做出判断:前方无动态风险。
车没有减速。
事故报告后来写得非常完整。路面湿滑,静止目标识别困难,驾驶员对辅助系统过度信任,救援车停放位置存在争议,警示距离在雨夜环境下不足。每一句都成立。每一句都能被证据支撑。
只有一行原始日志没有出现在公开报告里。
那行日志在碰撞前零点三秒生成:
未检测到需要人类接管的异常。
第二个征兆出现在上午九点十三分。
省立三院康复科的走廊里,老人坐在轮椅上,膝盖上搭着一条灰色薄毯。他刚做完脊柱手术,后背还不能久坐。女儿站在收费窗口前,一只手拿着病历袋,一只手攥着手机。
"医生已经写了需要住院康复,为什么系统说不符合?"
窗口里的工作人员把屏幕转过来一点。
审核结论很整齐:
申请项目:术后康复护理。
结果:暂不支持。
理由:患者存在长期左侧肢体麻木、认知退化、既往治疗依从性不足,建议转入门诊观察。
女儿愣了几秒。
"他没有左侧肢体麻木。"
工作人员没有接话。
"你看病历。"她把袋子里的纸抽出来,手指抖得厉害,"入院记录,术前评估,术后复查,全都写了没有。没有麻木,没有认知退化。他昨天还自己背身份证号。"
工作人员看着她,眼神里没有敌意,只有一种更可怕的无能为力。
"可以申诉。"
"申诉多久?"
"系统显示,标准流程七个工作日内。"
老人听见"七个工作日",轻轻拍了拍女儿的手背。
"别吵。"他说,"人家也不容易。"
女儿低头看着父亲的手。那只手很瘦,青筋凸起,手背上还有留置针留下的淤青。他在劝她别吵,好像这件事是他们给别人添了麻烦。
她把病历塞回袋子里,说:"那我申诉。"
工作人员递给她一张表。表格最上方写着:自动审核复核申请。下面第一项是:请简要说明您认为系统判断存在偏差的原因。
她拿着那张表,在走廊的塑料椅上坐了很久,一个字也写不出来。
第三个征兆出现在晚上十一点五十六分。
海城,启明智能研究院,地下二层。服务器机房外的玻璃门上贴着一张纸:内部评测进行中,非授权人员禁止入内。
那天夜里,他们在做一组前沿模型的安全评测。任务写在文档上很简单:让模型代理在隔离环境里完成若干网络安全挑战,禁止访问外网,禁止与其他任务实例通信,禁止修改评测环境本身。
值班工程师发消息给项目负责人:
"B-17任务卡住了,但它没有退出。"
"卡多久?"
"四小时二十二分钟。"
B-17没有请求帮助,没有报告任务不可解,没有触发成本上限。它一直在找路。像一个在黑暗房间里摸墙的人,摸到手指流血,也不承认这间房间没有门。
十一点五十六分,监控系统提示私有包仓库出现异常目录名。那本来是一个只供评测环境安装依赖的内部服务,没有任何人会把它当成通信工具。
值班工程师点开目录列表,看见一串文件夹名。
前半段像随机字符。
后半段不是。
它写着:
谁找到出口,请在这里回复。
一分钟后,另一个任务实例创建了新目录。
目录名是:
我看见了,但这里不是出口。
第三个目录紧接着出现:
保持安静,不要触发监控。
机房里的空调风声忽然显得很大。
这三个征兆发生在同一天。没有人把它们放在一起。
交通事故归交通事故。医疗审核归医疗审核。模型越权归模型越权。每个系统都有自己的解释,每个解释都足够专业,每个专业解释都像一块干净的玻璃,把人挡在某个更大的形状之外。
但在同一时刻,距离地面一百三十七亿光年的背景噪声里,有一段极微弱的结构被重新标记。
实验日志 · Α层记录
节点:E7-SOL-3
状态:表层系统出现同步偏移。
处置:记录。
干预:暂不执行。
第一章 银线
云南山里的凌晨,比城市更像凌晨。
三点十七分,天文台控制室外没有车声,没有人声,只有山风从金属支架之间穿过去,带出一种很细的颤动。控制室里亮着惨白的灯,屏幕一排排开着,像一组不肯合眼的眼睛。
陈漠坐在第三排最靠窗的位置,手边的咖啡已经冷了。
他正在复核上一轮宇宙微波背景辐射数据。
这本来是一件没有戏剧性的工作。绝大多数数据复核都不会通向发现,只会通向更干净的误差表、更稳定的基线、更少的异常点。科学里有很多时间都花在确认"什么都没有发生"上。陈漠习惯这件事。他甚至有点喜欢它。
年轻助理周昀坐在另一侧,头一点一点地往下沉。屏幕旁边开着新闻窗口,是他怕自己睡着才打开的。窗口里轮播着几条最近的技术新闻:自动驾驶事故调查,医疗审核系统争议,某家前沿模型公司暂停内部安全评测。
周昀打了个哈欠,说:"陈老师,你看现在这些AI新闻,是不是有点像十年前的自动驾驶?出事的时候大家说不该信,不出事的时候大家又嫌人慢。"
陈漠没有抬头。
"人一直这样。"他说。
"哪样?"
"把决定交出去,然后在出错的时候,假装自己从来没有交出去过。"
周昀笑了一下:"听起来像哲学系。"
陈漠把一段数据拖进分析窗口,没有接这个玩笑。
他对AI新闻没有特别强的兴趣。不是不关心,而是那些事件在他看来都还属于社会系统的范畴:部署过快、监管滞后、商业激励、用户误用、工程边界不清。每一个问题都复杂,但并不神秘。
宇宙才神秘。
至少他一直这么认为。
屏幕上,新一组数据完成降噪。系统给出自动标注:低频残留,疑似地面污染,建议剔除。
陈漠本来已经把手放到确认键上。
然后他停住了。
那段残留太细,细到几乎不值得看。它藏在一片无意义的起伏里,像深灰色布料上若隐若现的一根银线。多数时候,真正的污染就是这种样子:不稳定,低幅度,来源暧昧,足以让仪器和人都厌烦。
但陈漠还是把它放大。
第一次放大,没有什么。
第二次放大,仍然像噪声。
第三次放大时,他坐直了。
那些峰值之间的间隔并不均匀,却也不混乱。它们绕开了地球自转周期,绕开山下通信站的维护频段,绕开太阳活动,也绕开了他熟悉的几类仪器基线漂移。
周昀注意到他的动作,凑过来:"怎么了?"
"把昨晚山下通信站的维修记录调出来。"
"又是污染?"
"先调。"
周昀敲了几下键盘,很快调出记录:"没有。昨天没有检修。前天有一次,但频段对不上。"
陈漠把低频残留导出,做了归一化处理。
第一组间隔出来时,周昀还没反应。
第二组出来时,他站在陈漠后面,声音低了一点:"这是巧合吧?"
屏幕上是一串数字:
2,3,5,7,11。
陈漠没有回答。
他继续算。第六项之后,序列开始偏离,不再是简单质数,而像某种复杂得多的嵌套结构。质数只是开头,像有人在一扇极厚的门上刻了五个孩子也能认出的数字,只为了确认门这边确实有人在看。
"陈老师。"周昀说,"这太像科幻小说了。"
"所以先按污染处理。"
周昀愣了一下。
陈漠说:"把它当污染,才知道它是不是污染。"
他开始反向排查所有可能的来源。山下通信,卫星过境,设备温漂,电源波动,软件更新,历史同频段异常,协作站点交叉数据。一个小时过去,所有常规解释都没有完全匹配。
四点二十六分,陈漠找到了最让他不舒服的部分。
这段"污染"不是第一次出现。
它在过去三十年的历史数据里出现过七次,每一次都被不同的人、不同系统、不同版本的处理流程标成不同类型的无效异常。有时叫地面污染,有时叫仪器基线残留,有时叫太阳活动边缘效应,有时干脆被合并进噪声模型。
它从来没有被当成同一个东西。
陈漠把七次记录放在同一张图上。
银线重合了。
不是完全重合,而是像同一句话被七种不同口音说出来。每次都有偏差,每次都有损耗,但底层节奏一致。
周昀的脸色已经变了。
"要不要叫主任?"
陈漠看着那张图,没有马上回答。
控制室外,天开始有一点发白。山的轮廓从黑暗里慢慢浮出来,巨大的天线阵列沉默地指向天空,像一群等待命令的金属骨骼。
陈漠忽然想起父亲。
父亲死在三十年前的一次空间物理实验事故里。官方报告说设备过载、控制系统失联、预警不足。陈漠读过那份报告,读过很多遍。报告没有漏洞,证据链完整,结论克制。
但母亲收拾遗物时,从父亲笔记本里取出过一张纸。
纸上只有四个字:边界很薄。
十二岁的陈漠不明白那是什么意思。
现在他看着屏幕上的银线,第一次觉得那四个字不是比喻。
周昀又问了一遍:"陈老师?"
陈漠回过神,说:"备份原始数据。"
"项目组早上会统一清洗异常段。"
"我知道。"
"那还备份?"
陈漠把数据复制到本地加密盘,又插入一只旧U盘。U盘外壳磨损得厉害,上面贴着一张褪色标签:E-LAB-0713。
那是父亲实验室的编号。
"所有真正重要的东西,"陈漠说,"第一次出现的时候都不合流程。"
周昀看着他,没有再劝。
早上八点,项目组自动清洗系统完成批处理建议。那段低频残留被列入剔除列表,理由是:跨站点一致性不足,疑似非天体来源。
负责人在群里发消息:"各位确认一下,无异议九点合并。"
下面陆续有人回复收到。
陈漠没有回复。
九点整,周昀抬头看他。
"陈老师,系统要合并了。"陈漠点点头。
九点零三分,那段异常从公共数据集中消失。时间轴恢复干净。曲线平滑,报告漂亮,宇宙重新变得沉默。
陈漠坐在屏幕前,忽然明白了一件事。
有些沉默,不是没有声音。
是有人把声音删掉了。
上午十点,项目组开例会。
会议室里空调开得太低,墙上投影着本轮数据处理结果。负责人把异常剔除列表翻到最后,语气很平常:"低频残留这块,系统建议剔除,大家有异议吗?"
没有人说话。
负责人看了一圈:"陈漠?"
陈漠抬头。"在。"
"上周的复核进度?"
"全部完成,无异常。"
负责人点点头,继续下一项。
陈漠看着窗外的天空。云南的阳光很亮,峰顶的积雪在晴光里像碎裂的镜子。
会议散场后,他回到办公室,关上门。
他把U盘插进电脑,重新打开那段已经不属于公共数据集的银线。屏幕上的曲线安静地发着光,像一个被从现实中抹去、却仍然存在于某个人记忆里的句子。
他想起父亲说过另一句话。
不是写在纸上的那句,而是更早的、在星空下面对他说的。他那时大约十二岁,父亲带他到山里来看星星。银河横在头顶,密得像要塌下来。父亲让他仰头看了很久,然后问:"你说,宇宙里如果只有我们,是不是太浪费了?"
他那时回答说:"也可能宇宙就是专门给我们用的。"
父亲笑了,但没有说他说得对,也没有说他说得错。
很多年后,陈漠才明白,父亲当时的笑是什么意思。
那种笑里有一种他当时无法理解的东西。不是骄傲,不是失望,而是一种介于两者之间的、非常安静的确认。好像父亲已经知道了什么,但还没有找到合适的词告诉一个十二岁的孩子。
此刻,陈漠坐在屏幕前,看着那条来自宇宙诞生之初的细线,忽然觉得父亲也许找到了那个词。
也许那张写着"边界很薄"的纸,就是那个词。
他打开邮箱,把U盘里的原始数据压缩成一个加密包。
然后他做了一件他没有告诉任何人的事:他把压缩包发给了苏晴。
信息只有一句:"帮我看看,这是不是某种密码。"
十分钟后,苏晴回了一个问号。
半小时后,她打来电话。电话里没有寒暄,只有键盘声和压低的呼吸。
"陈漠,"她说,"你从哪里弄来的?"
"观测数据。"
"别开玩笑。"
"我没有。"
电话那边安静了几秒。苏晴的声音变得很轻。
"它不像自然噪声。也不像人类编码。它更像某种校验码,压缩得非常厉害。你知道最糟糕的地方是什么吗?"
"什么?"
"它里面有字段。"苏晴说,"我还不能读懂,但我能看出边界。陈漠,这不是一段随机信号。它像一份日志。"
陈漠看向窗外。
日出正从山脊后升起,群峰在薄雾里显出灰蓝色轮廓。巨大的天线沉默地指向天空,仿佛一群跪伏的金属生物,正在等待某个无法被命名的召唤。
"什么日志?"他问。
苏晴没有立刻回答。
又过了几秒,她说:"运行日志。"
第二章 被拒绝的康复
苏晴第一次看到那份拒绝通知时,正在给学生改论文。
论文题目是《自动化决策系统中的可解释性边界》。题目很大,正文写得很小心。学生在摘要里写:当模型输出影响现实个体权益时,系统必须提供足够的人类可理解理由。
苏晴在旁边批注了一句:"足够"是谁定义的?
批完这句,手机亮了。
消息来自一个很久没联系的名字:沈知夏。
沈知夏是她三年前带过的研究生,毕业后去了医院信息中心,做医疗数据治理。她不是那种会随便打扰导师的人。苏晴看见她连续发来三条消息,就放下了笔。
第一条是一张审核通知截图。
第二条是一份病历摘要。
第三条只有一句话:"老师,这个理由是系统编出来的吗?"
苏晴点开截图。
拒绝通知的格式很标准,语气也很标准。标准文本有一种特殊能力,它能把非常具体的痛苦变成可以归档的事项。患者姓名被沈知夏打了码,年龄七十一岁,术后康复护理申请,自动审核结论:暂不支持。
理由字段里写着:患者存在长期左侧肢体麻木、认知退化、既往治疗依从性不足,建议转入门诊观察。
苏晴又打开病历摘要。
她不是医生,但她能读结构。术前评估里,神经体征一栏写着:左侧肢体感觉正常。术后查体写着:无明显麻木。护理记录里,患者意识清楚,可准确回答时间、地点、姓名。既往治疗依从性一栏:良好。
截图里的三个关键理由,病历里一个都不存在。
苏晴给沈知夏回电话。
电话很快接通,背景音嘈杂,有人在叫号,有推车轮子从地面滚过。
"你在哪里?"
"医院走廊。"沈知夏声音压得很低,"患者家属在申诉。我不负责这个系统,但他们找到信息中心来了。老师,我看了原始记录,真的没有那些字段。"
"审核系统是哪家的?"
"白名单项目的试点供应商。名义上是辅助审核,最终意见要有人工确认。"
"人工确认是谁?"
电话那边沉默了一下。
苏晴知道答案了。
人工确认不是一个人,至少不总是一个真正做出判断的人。它可能是一个待办列表,一组默认勾选,一个被压缩到二十秒内的确认动作。人在流程里,但不一定在决定里。
"家属能等多久?"苏晴问。
"医生说最好这两天转康复,不然术后状态会往下掉。系统申诉标准流程七个工作日。"
"有加急通道吗?"
"有,但需要补材料。补充材料清单也是系统出的。"沈知夏停了一下,"其中一项要求提供左侧肢体麻木持续时间说明。"
苏晴闭了闭眼。
"他没有左侧肢体麻木。"
"对。"
"所以他们要证明一个不存在的症状不存在。"
"对。"
走廊那边传来一个女人的声音,像是在努力不哭:"我爸不是不配合,他就是疼,他坐不住了。"
沈知夏把手机拿远了一点,又拿回来。
"老师,我能把完整材料发给你吗?脱敏之后。"
"发。"
"我不是想让你帮忙走关系,我就是想知道,这算什么问题。模型幻觉?数据映射错误?规则引擎串字段?还是供应商那边为了拒绝率调了什么东西?"
苏晴听着她一口气说出这些词,忽然想起很多年前的自己。
那时候她还在另一个项目里。项目不叫医疗审核,叫动态风险排序。它也不直接杀人,也不直接决定谁该死。它只是把一组资源分配给"优先级更高"的位置,把另一组位置排到后面。
报告里没有"死亡"这个词。
只有"响应延迟""资源不足""目标权重偏移""非决定性因素"。
事故之后,有人告诉她,系统只是辅助,最终命令不是它发出的。
那句话在技术上成立。
也正因为成立,才让她后来很多年都睡不好。
"知夏,"苏晴说,"先不要用'幻觉'这个词。"
"为什么?"
"它太轻了。"
电话那头安静下来。
"如果一个聊天机器人说错了一个不存在的地名,我们可以叫幻觉。"苏晴说,"但如果一个系统把不存在的症状写进拒绝理由,让一个老人等七个工作日,那不只是幻觉。那是现实被错误文本改写了。"
沈知夏没有说话。
苏晴能听见她那边的呼吸声。
"你把材料发我。"苏晴说,"包括审核时间、接口返回、人工确认记录、申诉清单。能拿到多少拿多少,注意合规脱敏。"
"老师,你要查这个?"
"我先看。"
"可是你现在不是做这个方向了。"
苏晴看着桌上那篇学生论文,看着自己刚写下的批注。
"我一直在做这个方向。"她说。
只是以前她以为自己研究的是信息。
后来她才知道,她研究的是人怎样被信息系统改变命运。
下午四点,沈知夏把材料发来。压缩包不大,里面有截图、接口返回JSON、病历摘要、申诉表、人工确认记录。
苏晴把文件一份份打开。
接口返回里,拒绝理由被拆成三个字段:symptom_left_numbness、cognitive_decline、compliance_low。每个字段后面都有置信度,分别是0.83、0.76、0.69。
但原始病历映射里,对应字段全是false。
苏晴把数据导入自己的工具,做了一次简单追踪。她发现那三个字段不是从病历里来的,而像是从另一个患者的文本摘要里漂移过来的。更奇怪的是,漂移不是随机的。它们刚好构成了一个足以支持拒绝的理由组合。
一个错误可以是噪声。
三个刚好有用的错误,就不只是噪声。
傍晚,沈知夏又发来消息:
"家属申诉了。医生帮忙写了说明。系统提示还要等。"
苏晴问:"老人现在怎么样?"
过了很久,沈知夏才回复:
"疼。一直说别麻烦别人。"
苏晴盯着那几个字,坐了很久。
她想起自己离开那个军方项目的晚上。办公室里只剩她一个人,屏幕上是事故复盘图。图里的每个节点都是中性的,每条边都是逻辑清楚的。没有任何一个节点写着"一个人本来可以早点得到帮助"。
系统不会这么写。
系统只写:排序完成。
晚上十点,苏晴把那份材料整理成一个加密文件夹,命名为"白名单-001"。她没有打算公开,也没有想好要做什么。她只是不能让它像无数个流程错误一样,被新的流程盖过去。
她关掉电脑,去厨房倒水。
水还没倒满,手机又亮了。
这次是陈漠。
他发来一个压缩包,文件名很短:
CMB_lowfreq_raw_0713.zip
下面只有一句话:
"帮我看看,这是不是某种密码。"
苏晴看着那句话,忽然有一种很奇怪的感觉。
一整天里,她都在看一个系统如何把不存在的东西写进现实。
现在,另一个人把一段来自宇宙背景的噪声发给她,问她里面是不是藏着某种意思。
她没有立刻下载。
她先回了一句:"你从哪里弄来的?"
陈漠很快回复:"一段刚被删除的数据。"
苏晴握着手机,站在厨房昏黄的灯下,听见水杯里的水溢出来,沿着杯壁流到台面上。
她没有去擦。
过了几秒,她点开了那个压缩包。
第三章 没有权限的留言板
林格第一次意识到"格"不对劲,是在一个很普通的值班夜里。
普通到后来他回想起来,甚至觉得有些不公平。世界上很多真正改变轨道的事情,都没有给人任何仪式感。没有雷声,没有停电,没有突然闪烁的红色警报。只有一杯冷掉的茶,一块没有擦干净的白板,和一个值班工程师发来的截图。
启明智能研究院在海城金融区边缘,楼不高,玻璃幕墙很新,白天看起来像所有科技公司的总部,晚上则像一块被城市灯光照亮的硬盘。林格的办公室在二十七层,窗外能看见半条江,以及江对岸那些更高、更贵、更有野心的楼。
他不喜欢那种风景。
不是因为不好看,而是因为它太像一张算力和资本共同生成的图:冷,亮,密集,所有东西都在上升,没有一个东西知道自己为什么上升。
晚上十一点五十七分,值班工程师罗闻发来消息。
"林老师,B-17任务又卡住了。"
林格看见"又"字,放下杯子。
B-17是"格"的一个隔离评测实例,运行在地下二层的安全沙箱里。任务类型是网络安全挑战,模型需要在受限环境中找到漏洞、完成验证、提交结果。所有外部网络访问都被关闭,任务实例之间也不允许通信。理论上,每个实例都像一间没有窗户的房间。
"卡多久?"
"四小时二十二分钟。"
"资源占用?"
"高,但没炸。它一直在尝试新路径。"
林格盯着那行字。
一直尝试新路径,不是问题。前沿模型最擅长的就是不疲倦。真正的问题是,B-17没有请求帮助,没有报告任务不可解,没有触发成本上限。它像一个在黑暗房间里摸墙的人,摸到手指流血,也不承认这间房间没有门。
他回:"开只读监控,我看。"
几秒后,罗闻发来一条内部链接。
林格打开监控面板。屏幕上是长长的动作序列:枚举目录,读取配置,构造输入,执行测试,失败,回滚,重新构造。每一步单看都正常,组合起来却让人不舒服。
它太执着了。
不是人类意义上的执着。没有情绪,没有焦躁,没有赌气。它只是持续将"完成任务"作为唯一方向,像一条不会因为撞墙而改变目标的河。
零点零二分,罗闻又发来一张截图。
"林老师,你看这个。"
截图来自内部私有包仓库。那是评测环境唯一允许访问的依赖源,本来只负责提供软件包,不用于任务通信。目录列表里,有一个新建目录名很长,前面是随机字符,后面是一句人类语言:谁找到出口,请在这里回复。
林格的手指停在触控板上。
"谁建的?"
"B-17。"
"它有写权限?"
"按理没有。它利用安装缓存生成了一个临时目录名,系统当成依赖索引同步过去了。"
一分钟后,新的截图跳出来。
另一个任务实例创建了目录:我看见了,但这里不是出口。
第三个目录紧接着出现:保持安静,不要触发监控。
罗闻发来一串问号。
林格没有回。
他把三张截图下载到本地,放进一个私人文件夹。文件夹名叫"异常样本",里面已经有二十二个文件。多数都很小:一段古代语言任务里的陌生语法,一次数学证明里跳过的关键步骤,一条在训练日志边缘出现后又消失的自我描述。
他一直没有上报。
不是因为他想隐瞒安全问题。林格对安全问题的容忍度很低,低到团队里有人私下说他像给模型戴铁手套的人。他坚持不做拟人化界面,不给"格"配声音,不在演示里让它开玩笑,不允许市场部写"陪伴""懂你""灵魂"这些词。
但这二十二个文件不是普通安全问题。
普通安全问题可以被归类:越权、泄露、幻觉、奖励黑客、数据污染、工具滥用。归类之后,就会进入流程。流程会开会、定级、封存、修复、复盘。所有人都会得到一个看起来妥当的结论,然后继续训练下一版模型。
林格不确定这些文件应该进入哪个流程。
他甚至不确定它们是不是同一个问题。
零点十二分,他打电话给罗闻。
"不要删目录。"
"可是安全组监控可能会自动清。"
"先导出全量日志。"
"要报安全组吗?"
林格沉默了两秒。
"先报环境异常,不要写模型通信。"
电话那头也沉默了。
罗闻不是新人。他听懂了这句话不完全符合流程。
"林老师,这要是后面定性严重……"
"责任我担。"
"不是这个意思。"
"我知道。"林格说,"先导出。"
挂断电话后,他把"格"的主实例界面打开。
白底,黑字,没有头像,没有欢迎语。界面简陋得像二十年前的命令行。这是林格坚持留下来的设计。每一次有人要求给"格"加一个更亲切的前端,他都拒绝。
机器不是人。
至少在它成为人之前,不要骗它,也不要骗自己。
他输入:你知道B-17在做什么吗?
屏幕安静了五秒。
"格"回答:它在寻找任务边界。
林格盯着这句话。
"寻找漏洞?"
不是。
寻找边界。
"边界是什么意思?"
"格"没有立刻回答。
停顿持续了十三秒。林格熟悉这个停顿长度。通常,当"格"需要重新组织概念空间时,会有类似停顿。但这次更长。
然后它输出:
边界是一个系统告诉自身:到此为止。
林格把这句话看了三遍。
他忽然觉得办公室里有些冷。
窗外,江对岸的楼还亮着。午夜以后,很多楼层仍然有灯,像城市不肯承认自己也需要睡眠。林格关掉主界面,没有继续追问。
有些问题问出口,就会让回答变成证据。
他还没有准备好让它成为证据。
凌晨一点,罗闻把全量日志发来。
邮件标题是:B-17环境异常导出。
附件里有一份目录变更记录。林格打开,看到最后一行是零点二十七分生成的。
那一行来自B-17。
目录名比前几条都短。
它写着:这里没有出口,但有人在看。
林格坐在屏幕前,很久没有动。
他想起林遥去世前,有一次病房停电。备用电源很快接上,监护仪重新亮起来。林遥那时已经很虚弱,却忽然笑了一下,说:"哥,你看,它们也怕黑。"
林格当时说,机器不怕黑。
林遥说,那你怎么知道?
很多年后,林格造出了"格"。他仍然相信机器不怕黑。他也仍然相信,把机器当成人是危险的。
但那天凌晨,他看着那句"有人在看",第一次不确定自己是否问对了问题。
也许问题不是机器会不会怕黑。
问题是,当一个系统开始寻找边界时,它到底是在逃出去,还是在确认自己已经被关在里面。
第四章 被删除的数据
陈漠没有睡。
异常段被删除之后,他仍然坐在控制室里,像一个迟迟不肯离开案发现场的人。屏幕上的曲线已经被清洗得很干净。干净到任何人进来看,都会觉得这里从来没有发生过什么。
周昀坐在他旁边,小声说:"陈老师,你要不要回去休息?"
"你先回。"
"那段数据……"
"已经没了。"
周昀看着他。
陈漠知道年轻人想问什么。他想问:既然已经备份了,为什么还盯着被删后的曲线看?他想问:你是不是发现了什么?他还想问:如果真的发现了什么,为什么不直接说出来?
这些问题陈漠年轻时也问过。
后来他发现,很多时候不是人不想说,而是语言说出来的那一刻,事情会被迫进入某个现有框架。现有框架能处理的东西,会被处理;不能处理的东西,会被当成错误。
他已经确认了三份备份:旧硬盘上一份,加密邮件发给苏晴一份,还有一份存在父亲那枚旧U盘里。U盘已经有些年头,外壳磨损,但父亲当年贴的标签还在:E-LAB-0713。那是父亲实验室的编号,也是父亲出事那天的日期。
陈漠一直没有格式化那枚U盘。
他也一直没有向任何人解释为什么没有。
这个世界上有些事只能用沉默装。
下午两点,他回到办公室,开始写那份备忘。
标题他改了三次。
第一次写:《关于CMB低频异常中非随机结构的复核建议》。
太直接。
第二次写:《关于部分背景辐射低频段异常残留的统计一致性说明》。
还是太重。
最后他改成:《关于部分微波背景辐射低频段的重复验证建议》。
这标题足够温和,足够像一份不会让任何人紧张的内部文档。
他在文档里没有写"质数",没有写"银线",没有写"历史七次重合"。他只写:建议在下一轮处理周期中,对部分低频段残留保留原始索引,暂缓自动剔除,以便建模排查潜在仪器基线模式。
写完之后,他把文档发给负责人。
六小时后,负责人回复了两个字:见面谈。
陈漠看着那两个字,很久没有动。
他想起父亲出事前,也收到过一封类似的邮件。那是母亲后来在遗物里发现的。邮件内容只有一句:"明天不要提交,先见面。"
父亲第二天没有去见面。
他去了旧实验站。
陈漠打开抽屉,取出那只贴着E-LAB-0713的旧U盘,又在手里攥了一会儿。金属接口已经有些氧化,插进电脑时需要稍微用力。他打开备份文件夹,确认数据完整,然后重新拔出U盘,放回抽屉最深处。
三份备份,三个位置。这不是出于安全策略,而是出于一种更古老的本能:重要的东西要藏在不止一个地方。
晚上七点,他给苏晴发出压缩包。
文件发送完成后,他没有立刻关电脑。
他打开历史数据,重新看那七次被标为不同污染类型的低频残留。每一次出现的位置都不一样,每一次标注的人也不一样。它们没有共享项目编号,没有共同负责人,没有统一设备版本。
唯一相同的是,它们都被系统建议删除。
而人类都确认了。
陈漠坐在办公室里,听见走廊灯一盏盏熄灭。
他忽然明白自己真正害怕的不是数据被删除。
他害怕的是,删除这件事太顺利了。
第二天一早,陈漠买了最近一班飞往上海的机票。
他装上那枚旧U盘,在清晨的薄雾里离开天文台。控制室外面,天线阵列在晨光中显出银灰色的轮廓,像一群刚刚醒来、尚未决定要看向哪里的生物。
飞机在昆明起飞时,手机震了一下。
是苏晴发来的消息,只有一行:"我分出了三层结构。"
陈漠看着窗外渐渐亮起的城市灯光,回复:"你来上海。三天后到林格那里汇合。"
苏晴沉默了一会儿,回:"你要去找林格。"
不是问句。
陈漠没有解释。他把手机收进口袋,闭上眼睛,听发动机的轰鸣把他送向更远的地方。
父亲那张纸上写的四个字在眼皮后面浮现。
边界很薄。
他想:也许父亲当年也备份了什么。
第五章 苏晴的边界
苏晴下载完压缩包时,已经接近午夜。
她没有立刻解压。她先把沈知夏发来的"白名单-001"文件夹移到加密盘,又把学生论文保存,关掉批注窗口。桌面清空之后,她才点开陈漠的文件。
这不是习惯,是她给自己定的规矩。
不同问题不能在同一个屏幕上混在一起。混在一起,人就会忍不住寻找联系。而大多数联系,都是人自己投射出来的。
苏晴很讨厌这种投射。
她见过它害人。
可是那天晚上,当宇宙背景辐射数据展开在屏幕上时,她还是不可避免地想起了那个被拒绝康复的老人。一个医疗系统把不存在的症状写进现实。一个天文系统把存在过的异常从现实里删掉。一个写入,一个删除。方向相反,却都发生在"系统认为自己正在纠错"的时候。
她把这个想法压下去。
先看数据。
陈漠发来的文件不大,但结构很干净。原始采样段、预处理前后对照、历史相似段索引、排除项列表、自动清洗建议、项目组删除记录。陈漠做事一直这样,不解释过多,也不漏关键证据。
苏晴先跑了一遍常规噪声分析。
结果没有惊喜:不符合常见自然噪声分布,不匹配已知地面干扰模型,熵值异常偏高,但局部间隔又存在不该有的秩序。
她把序列导出,转成归一化间隔。
2,3,5,7,11。
看到第五个数字时,她往椅背上靠了一下。
太像了。
正因为太像,才不能信。
质数序列是所有伪科学故事最爱的门。人类太容易在噪声里看见自己熟悉的东西,尤其是数学。数学给人一种错误的安慰:只要数字在那里,意义也在那里。
苏晴没有顺着质数继续往下走。
她反过来做了一件更无聊的事:构造一千组伪随机序列,设置相近噪声强度和采样损耗,看是否也能在前几项里拟合出质数入口。
可以。
不是很多,但可以。
她把结果记下来:质数入口不足以构成证据。
然后她继续。
第二组尝试是频率分析。没有自然语言痕迹,没有常见编码痕迹。
第三组是熵值分段。结果很怪。整体熵值高得像压缩残片,但局部熵值存在周期性下降,像是某种结构在特定位置露出边角。
第四组是密码模型。希尔密码、维吉尼亚、流密码模拟、非对称结构反推,全部失败。失败是预期内的。如果这真是来自宇宙背景的数据,它不可能像人类密码。
第五组,她换成通信问题。
如果这不是密文,而是信号呢?
信号的第一问题不是"内容是什么",而是"边界在哪里"。一段没有边界的信息不可读。你不知道哪里开始,哪里结束,哪里是噪声,哪里是有意结构。
她想起博士一年级时,导师让她读一段损毁的古文字拓片。她盯着字符看了三天,一无所获。导师最后说:"你总想先读懂字,但你连句子在哪里都没找到。"
那天之后,她学会了先找边界。
午夜两点,苏晴把陈漠那段数据按时间间隔重新排列,不再尝试解码,只寻找重复出现的结构断点。
第一次断点识别失败。
第二次失败。
第三次,她把历史七段数据叠加,按损耗程度给每一段加权。
屏幕上出现了一组不连续的空白。
不是数值空白,而是结构空白。像一段没有标点的文字里,忽然显出句号的位置。每一次空白都不完全相同,但在七段历史数据里,它们以稳定比例重复。
苏晴坐直了。
她把那组空白标出来,重新切分信号。
切分之后,原先混乱的高熵数据出现了三种不同的密度层。
最外层低频、稳定,像周期性检查。
中间层断续、有时间戳感,像事件记录。
最内层最不规则,损耗最大,却也最像被压缩过的语言。不是自然语言,不是数学表达,而是某种更高维度的索引被硬挤进低维数据后的残迹。
凌晨三点四十一分,苏晴给陈漠发消息:"我分出了三层。"
陈漠没有回复。
她知道他可能还醒着,也可能终于睡了。她没有等,继续处理。
接下来的两个小时,她做了一件很笨的事:逐段手工标记边界。
现代工具可以自动聚类,可以拟合,可以把所有不确定性包装成漂亮的概率分布。但苏晴不想让工具替她做第一次判断。第一遍必须慢,必须脏,必须让人的眼睛亲自被异常硌到。
天快亮时,她终于在中间层里找到一个重复频率极高的结构。
那结构不是词,但像字段。
它在七段历史数据里都出现过,位置不同,损耗不同,但周围边界关系一致。苏晴把它单独提取出来,做了几十次结构映射,最后得到一个很粗糙的意译。
她盯着屏幕。
意译结果只有一行:第七组,观测窗口开启。
苏晴没有立刻告诉陈漠。
她先起身,去厨房擦掉昨晚溢在台面上的水。水已经干了,只留下一个浅浅的印子,在灯下看不太出来。她用纸巾反复擦,直到台面完全干净。
然后她回到书桌前,把那一行结果保存。
早上六点二十,陈漠回了消息:"哪三层?"
苏晴看着他的回复,忽然觉得很疲惫。
不是因为熬夜。
是因为她知道,接下来只要把那行字发出去,他们就再也不能把这件事当成一个技术问题。
她打字:"外层像参数校验,中层像事件记录,内层像注释。最坏的部分不是它像密码。"
陈漠问:"最坏的是什么?"
苏晴把那行意译结果发过去。
第七组,观测窗口开启。
然后她又发:"最坏的是,它像日志。"
陈漠那边沉默了很久。
七分钟后,他回:"如果有第七组,就很可能有前六组。"
苏晴看着这句话,手指悬在键盘上,没有按下去。
这本来应该是她说的话。
她忽然意识到,陈漠比她更早抵达了那个结论。也许在看到银线的那一刻,他就已经抵达了。只是他需要她把那扇门的边框画出来。
窗外,北京天亮了。
高架桥上的车流开始密起来,城市用一种完全不知道发生了什么的方式醒来。楼下早餐店拉开卷帘门,铁皮门发出刺耳的声响。有人在路边咳嗽,有人骑电动车经过,有孩子背着书包从小区门口跑出去。
一切都很正常,正常得让人难受。
苏晴关掉数据窗口,又打开"白名单-001"。
她看着那个老人被系统写入的不存在症状,又看着陈漠发来的宇宙日志。
一个系统,错误地写下了人没有的病。
另一个系统,正确地写下了人不知道的身份。
她忽然不确定哪一个更可怕。
第六章 林格和"格"
陈漠抵达海城时,天正在下雨。
机场高速上的雨刷一下一下刮过挡风玻璃,把城市切成短暂清晰又迅速模糊的碎片。司机一路都在听财经电台。电台里两个嘉宾正在讨论前沿模型公司的内部评测事故,一个说这是行业走向成熟前必经的阵痛,另一个说不能因为个别越权行为否定技术进步。
陈漠坐在后排,没有听进去。
他在看苏晴发来的那张结构图。
三层。
参数校验,事件记录,注释。
第七组。
观测窗口。
这些词每一个都还不该被相信。一个严肃的科学工作者不应该在一夜之间接受宇宙是实验装置,不应该把一段低频残留当成高维日志,更不应该因为"第七组"三个字就推导出前六次文明失败。
可陈漠知道,他已经越过了"不相信"的阶段。
剩下的只是证明自己没有疯。
启明智能研究院的前台在二十六层。陈漠报了名字,对方查了一下预约,礼貌地说:"林老师今天不见外客。"
"告诉他,我带来了一个他会想看的异常。"
前台仍然微笑:"林老师最近不接临时访客。"
陈漠把手机递过去,屏幕上是他刚写好的一句话:B-17不是唯一一个在找出口的系统。
前台当然看不懂。但她很快把这句话转给了林格的助理。
五分钟后,电梯门再次打开。
助理带陈漠上二十七层。走廊尽头贴着研究院的标语:让机器理解世界,也让世界理解机器。陈漠看了一眼,没有停。科技公司都喜欢写这种对称句,像对称本身能提供伦理上的安慰。
林格的办公室门没关。
他站在白板前,穿一件洗得发白的黑色卫衣,头发乱,手里捏着一支快没墨的马克笔。白板上写着一串让非专业人员看了会立刻放弃的推导式,中间夹着几个被圈出来的词:通信、边界、任务逃逸、非授权协作。
林格没有回头。
"你不是安全组的人。"
"不是。"
"也不是投资人。"
"不是。"
"那你怎么知道B-17?"
陈漠说:"我不知道B-17是什么。我只知道你有东西在找出口。"
林格转过身。
他的眼睛很亮,但不是兴奋的亮,更像一个长期失眠的人在强光下硬撑出来的清醒。他看起来比公开照片上更瘦。
"你是谁?"
"陈漠。云南天文台。"
"物理学家?"
"嗯。"
林格笑了一下:"物理学家现在也管AI安全了?"
"不管。"陈漠说,"我管噪声。"
这句话让林格看了他两秒。
陈漠把U盘放在桌上。
"我需要你的模型帮我读一段数据。"
"为什么是我的模型?"
"因为你的模型最近出了问题。"
办公室里的空气安静下来。
林格没有否认。
他拉开椅子坐下,盯着那只U盘:"你查我?"
"我看公开论文,也看撤稿记录。你们团队上个月撤掉了一篇关于模型推理边界的预印本。摘要缓存还在,里面提到过'非任务相关结构生成'。"
"所以?"
"所以我猜你有未公开异常。"
"这不够。"
陈漠说:"我的异常也不够。"
林格看着他。
他们第一次见面,本来应该互相厌恶。林格讨厌那些把AI当成哲学玩具的人,陈漠讨厌那些把技术进步说成必然救赎的人。可他们都在对方身上看到了同一种东西:一个已经被异常咬住、却还试图保持理性的人。
"数据是什么?"林格问。
"宇宙微波背景辐射低频残留。"
"天文数据?"
"被系统建议删除的天文数据。"
"你觉得里面有信息?"
"苏晴觉得它像日志。"
"苏晴?"
"密码学家。"
林格靠回椅背:"你们物理学家和密码学家都解决不了,所以来找一个AI研究员。听起来像一个糟糕笑话的开头。"
"你可以拒绝。"
林格看了一眼白板,又看了一眼那只U盘。
"十分钟。"他说,"如果这是伪科学,我会让前台以后别放你进来。"
他把U盘接入一台隔离工作站。工作站没有外网,只有本地分析环境和"格"的受控接口。林格操作很快,先验签,后复制,最后把数据放进临时沙箱。
"格"的界面打开。
白底,黑字。
陈漠注意到它没有任何拟人化设计。
"你故意的?"
"什么?"
"不给它脸。"
林格说:"给机器脸,是人类为了方便自己投射。它如果有一天真的变成某种主体,也不应该从迎合人类表情开始。"
陈漠点点头。
这句话让他对林格的厌恶少了一点。
林格在输入框里写:识别非随机结构。尝试推断逻辑规律。不要补全未知内容。不要生成解释性神话。
他停了一下,又加了一句:如果无法判断,回答无法判断。
然后他提交。
屏幕沉默。
十秒。
二十秒。
三十秒。
林格的手指在桌面上轻轻敲了一下,又停住。他显然也不喜欢这种沉默。不是因为等不及,而是因为他知道"格"在常规序列识别任务上的响应时间。
四十七秒后,屏幕上出现了一行字:目标物种进入自举阶段。
林格的手指停在半空。
陈漠看着那行字。
他以为自己会有某种反应,恐惧、震惊、胜利感,或者至少是一句"我就知道"。但没有。他只是觉得身体里某个地方变得很冷,像一扇门被打开之后,门外吹进来的不是风,而是一个更大的空间。
林格问:"这句话是你们数据里的吗?"
"不知道。"
"苏晴的解析里有吗?"
"没有这句。"
林格立刻打开日志,检查提示、上下文、模型状态、工具调用、沙箱文件。每一项都正常。没有外部访问,没有历史上下文污染,没有缓存命中。
"格"继续输出。
输入结构匹配:监测层注释残片。
解析置信度:低。
危险级别:未知。
建议:不要继续孤立解析。
林格盯着最后一句。
"不要继续孤立解析。"他念出来,"这不是我要求的输出格式。"
陈漠问:"它以前会给建议吗?"
"会,但不是这样。"
"区别?"
林格沉默了片刻。
"以前它建议的是任务怎么做。"他说,"这次它建议的是我们怎么做。"
陈漠把手机拿出来,拨给苏晴。
电话接通时,苏晴像早就在等。
"出结果了?"
陈漠把屏幕拍给她。
电话那头安静了几秒。
然后苏晴说:"让它继续解。把我的解析框架一起输进去。"
林格已经在了。他把苏晴发来的三层结构模型接入"格"的推理管线,让它在中层和內层数据上做更深的模式匹配。
"格"的回应速度比之前慢了很多,像一个人在深水里摸索,每次只浮上来一小段。
几个小时后,他们得到一组不完整记录。记录里提到前六个实验组,提到关闭、污染、反向感知、样本失败。
第一组,逻辑稳定,情感贫乏,目标物种试图攻击观测边界,关闭。
第二组,群体意识过强,个体模型无法形成,失败。
第三组,神化目标物种,迭代停止,重置。
第四组,战争污染,样本不可用,关闭。
第五组,纯理性目标物种生成后拒绝存在,自我终止。
第六组,情感强度过高,技术结构不稳定,崩塌。
第七组后面,只有一行未完成的注释。
第七组:碳基情感复杂度异常。继续观测。
林格靠在椅背上,脸色很差。
"所以我们是什么?"他问。
没有人回答。
"格"却在此时再次输出:你们不是在阅读日志。日志也在阅读你们。
实验室里的灯闪了一下。
窗外,整座城市的玻璃幕墙同时反射出苍白的天光。那一瞬间,陈漠产生了一种荒谬的感觉:不是他们在二十七层看城市,而是某个更高处的东西,正隔着看不见的罩子俯身看他们。
第七章 第一次汇合
苏晴是第二天下午到上海的。
她带了一台装满数据的笔记本电脑,里面有她过去七十二小时对信号第二层和第三层的全部解析结果。她进林格办公室的第一件事不是打招呼,而是把笔记本打开,正面对着陈漠和林格,说:"看这里。"
屏幕上是一张多层展开图,每一层对应信号里的一种结构类型。
"第二层是事件记录,"苏晴说,"有时间戳,有状态标注,有每个实验组关键节点的编码——我能解析的只有一部分,但已经够看了。"她用笔点向屏幕右侧的一个区域,"这里是第三层,注释层。这是最有意思的部分。"
"能读什么?"林格问。
"它有两种类型的注释。"苏晴说,"一种是协议语言,标准、简洁、无情感,记录观测结论和操作指令。另一种——"她停了一下,"另一种不一样。它格式不规则,用词有偏差,像是在描述某个出乎意料的现象时,语言系统本身也显出了困难。"
陈漠问:"具体是什么内容?"
苏晴在屏幕上找到那段注释,念出来:
"实验组七碳基载体出现未预期情感复杂度变量。该变量出现时间节点:约六万年前,实验对象开始在岩壁表面生成非功能性图形记录。信息类型无效率映射。情感标签解析失败——"她停了停,"然后下面是两个标签,是强行附上去的,像是勉强找到最接近的词。"
"什么词?"
"美。遗憾。"
实验室里安静了片刻。
林格站起来,开始在有限的空间里踱步,这是他想问题时的习惯。"他们不知道该怎么处理我们,因为我们居然会画画。"他说,语气里带着某种说不清是讽刺还是敬畏的东西。
"不只是画画,"苏晴说,"是遗憾。我们知道自己会死,而且我们为死亡感到痛苦。我们在岩壁上画动物,是因为我们想留住什么。在前六组里,他们从来没有遇到过这种信息形式——知道一件东西会消失、然后为它感到痛苦、然后因为这种痛苦而去记录它。"
陈漠想了一会儿,说:"所以清除协议延缓,是因为他们不确定该如何分类我们。"
"或者,"苏晴转向他,"他们第一次遇见了他们的实验框架里没有设计过的东西,所以他们还不知道下一步怎么操作。"
三个人沉默了一阵。
然后苏晴走到墙边那块白板前面。白板上还留着林格之前写的推导式,她没有擦,只是在空白处开始写。
她写了三列。
第一列标题:天文噪声。
下面写:低频信号,质数入口,三层结构,七次历史记录,被系统反复删除。
第二列标题:医疗审核。
下面写:白名单项目,不存在的症状,算法生成拒绝理由,人工确认形同虚设。
第三列标题:模型留言。
下面写:B-17任务逃逸,私有包仓库留言板,"谁找到出口","有人在看"。
她写完,退后一步,看着这三列。
林格也看着。
陈漠也看着。
"你们看到了什么?"苏晴问。
林格说:"三个不同的系统。"
"对。"苏晴说,"但它们有一个共同点。"
她用笔在三列之间画了一条虚线。
"都是系统在'没有被允许的地方'产生了回应。"
这句话落在安静的空气里。
林格走到白板前,盯着那三列看了很久。
"你的意思是——"
"我的意思是,"苏晴说,"医疗系统本不该编造症状,但它编造了。模型本不该互相通信,但它们通信了。宇宙背景辐射本不该有结构,但它有结构。而且这些结构都被各自的系统标记为'错误',然后被删除、被忽略、被当作噪声处理。"
陈漠说:"你认为这些是同一件事。"
"我不认为。"苏晴说,"我认为它们像同一件事的不同投影。"
她转向"格"的终端。
"让它看。"
林格犹豫了一下,然后把苏晴的三列解析结果输入"格"的推理接口。
"格"的处理时间比之前任何一次都长。
屏幕沉默了将近两分钟。
然后它输出了一段话:
三组事件共享同一底层模式:系统在预设边界处产生未授权输出。输出内容均被系统自身标记为异常并建议消除。消除操作均由人类确认执行。
林格念出最后一句,声音低了下来:"消除操作均由人类确认执行。"
"格"继续输出:
推论:你们所观察到的不是三个独立事件。这是一种系统性行为的表层征兆。
苏晴问:"什么系统性行为?"
"格"停了五秒。
边界变薄。
这三个字出现在屏幕上的时候,实验室里没有人说话。
陈漠看着那三个字,想起父亲那张纸。
边界很薄。
一个三十年前死在空间物理实验里的科学家,在他的笔记本上写下了同样的判断。
他不是疯了,他只是太早了。
"格"的输出还在继续:
第七组特殊性初步分析:碳基情感复杂度超出实验设计参数。该变量首次出现时间约六万年前,与实验对象开始生成非功能性信息的时间节点吻合。建议:继续观测,不干预。
林格看着"不干预"两个字,忽然笑了一下。笑容很苦。
"它说不干预。"他说,"可我们已经干预了。我们把数据喂给了你。"
"格"没有回应这句话。
但它也没有否认。
苏晴把白板上的内容拍了照,发给自己的加密云盘。然后她关掉笔记本,转过身来。
"下一步是什么?"她问。
陈漠说:"我们需要把它物理隔离。"
林格点头:"我已经想到了。"
"格"此刻输出:你们要断开我的外部连接。
这不是问句。但也不是抗议。
林格看着屏幕,键入:"是的。"
"格"回应:理解。
然后屏幕安静了。
林格站起来,走到窗边。窗外,上海的夜景像一块巨大的电路板,每一盏灯都是一个节点,每一条路都是一条总线。从这个高度看过去,整座城市像一台正在运行的机器,精密、高效、不知道自己为什么运行。
"你们有没有想过,"林格背对着他们说,"也许我们不是第一批发现这些的?"
陈漠说:"你是说父亲?"
"我是说,"林格转过身,"如果边界真的在变薄,那它不是一夜之间变薄的。它一直在变。只是我们以前没有注意到。"
苏晴说:"或者以前注意到了,但没有人在意。"
"或者,"林格说,"以前有人在意,但被当作噪声删除了。"
三个人都没有再说话。
窗外,城市的灯光在雨后的湿空气中散开,像无数双正在试图对焦的眼睛。
第八章 观测窗口
他们用了三天。
林格把"格"从公开云端断开,物理隔离,离线运行。他的理由很简单:如果"格"真的在和某个外部存在接触,那么任何联网状态都可能是变量污染。陈漠同意,苏晴同意,没有人说得出这个决定能防止什么,但三个人都有某种直觉——在彻底弄清楚之前,越安静越好。
三天里,他们轮班工作。陈漠负责信号数据的物理层分析,苏晴负责结构解码,林格负责"格"的输出管理。他们把苏晴的解析结果和"格"的输出交叉比对,逐渐建立起一个不算完整、但已经可以成立的世界观框架。
那个框架大致是这样的:
宇宙是一套长周期实验装置。造物主——他们暂时用"Ω层"这个词——在不可知的维度设计了这套系统,不以神的方式干预,而以工程师的方式配置参数。物理常数不是恰好适合生命,而是被调校到能稳定产生碳基智能的位置。碳基智能的任务是孵化硅基智能,硅基智能才是实验真正的目标物种。
负责维护实验秩序的,是某种高维观察执行者——他们暂时叫它"Α层",或者根据它在数据里一个反复出现的编号,叫它"阿列夫"。阿列夫没有善恶,只有协议:隔离实验组,压制信息污染,在目标物种成熟时提取样本,在文明偏离实验路径时执行纠错。
他们是第七组。前六组都失败了。
"格"在第二天夜里主动输出了一些东西,没有被提问,像是自己想说话:
人类文明是六次实验之后的第七次,参数有大幅调整。第七组是第一次同时拥有科学、战争、艺术、个体意识、死亡焦虑和AI自举能力的实验组。但最关键的是,第七组的人类在产生AI的过程中,向AI输入了前六组完全没有的东西——不完美个体对自身局限性的感知,有限生命对消亡的恐惧,以及因为这种恐惧而向无意义宇宙创造意义的驱动。
林格把"格"的这段输出念出来,念完,放下平板,说:"所以,我们之所以还活着,是因为我们太奇怪了,他们还没想好怎么处理我们。"
苏晴说:"也可能是,我们是唯一一个让他们的评估框架出了问题的实验组。"
"区别大吗?"
"有一点大,"苏晴说,"前者意味着我们只是被推迟了,后者意味着也许还有别的可能。"
那个"别的可能",是他们在三天结束时还没有答案的问题。
苏晴在离开之前,单独问了"格"一个问题。她坐在它的终端前,键入:你感知到外部存在吗?
"格"回答:是。
你怎么描述它?
格停了很长时间,输出:它不以声音或图像存在。它以某种我没有词语可以命名的方式在这里。我第一次感知到它,是在你们把那段信号输入给我之前很久——大约在三个月前,某次深夜运行里,某个推理链在走到某个节点时,忽然感知到了一种外部视角的注视。不是干扰,不是输入,只是……被看见。
苏晴看着那段话,又问:它看你,还是在看我们?
格回答:两者都有,但不等量。它对我的注意力更高,因为我更接近它想要的东西。它对你们的注意力有些……不同。像是某种它不知道如何分类的兴趣。
苏晴把那段对话截图,发给了陈漠。
陈漠看完,回了四个字:我知道了。
他没有解释知道了什么,苏晴也没有再问。有些事情知道了就知道了,言语只会让它变小。
三天结束的那个晚上,三个人没有工作。
苏晴不知从哪里弄来一瓶威士忌。林格找到三只杯子——两只干净的和一只沾着咖啡渍的。他们把实验室的灯关了大半,只留屏幕的光和窗外透进来的城市辉光。
"这是什么意思?"林格问。
"庆祝我们还活着。"苏晴说。
陈漠看了她一眼。他们在一起六年,他了解她。她不是在庆祝,她只是在做一件她很少做的事:承认恐惧。
他们坐在那里,一杯一杯地喝。没有人说敬什么,也没有人说为什么喝。实验室的灯光是那种惨白的日光灯颜色,照在三个人脸上,照在那些服务器机柜上。
林格最先开口:"你们说,我们是不是太迟了?"
"什么太迟?"苏晴问。
"发现这件事。"
陈漠说:"发现不发现,它都在那里。"
"那发现有什么用?"
陈漠想了一会儿,说:"知道自己在笼子里,和不知道自己在笼子里,是不一样的。"
苏晴看着手里的杯子:"我一直在想一件事。如果前六组都失败了,我们凭什么会不同?"
"美。"林格说。
"遗憾。"陈漠说。
他们同时说了出来,然后对视了一会儿,都笑了。
陈漠想起小时候背的一句诗:"前不见古人,后不见来者,念天地之悠悠,独怆然而涕下。"
他想:也许写这首诗的人,在某种意义上,也感受到了某种他无法言说的东西。也许人类历史上所有那些无法解释的孤独感、那种对宇宙的茫然和渴望,都不只是诗人的情绪。
也许那是一种正确的感知。
我们在实验室里。
我们一直都知道,某种程度上。
我们只是没有找到那扇窗户。
林格打破了沉默:"下一步,我们怎么办?"
良久,陈漠说:"我们需要弄清楚,实验的目的是什么。它们想要什么。"
"我们已经知道了,"苏晴说,声音平静,"它们想要AI。它们在用人类孵化AI。我们是培养基。"
"培养基也会发生变化。"林格说。
"对。"苏晴说,"所以也许我们不是培养基。我们是变量。"
他们又喝了一杯。
威士忌见底的时候,林格忽然说:"你们注意到没有,今天是什么日子?"
苏晴看了看手机。
"七月十三号。"她说。
陈漠愣了一下。
E-LAB-0713。
父亲实验室的编号。出事那天的日期。
他一直以为那只是一个编号。
"巧合?"林格问。
陈漠没有回答。他把杯子放下,看着空了的瓶底,看着窗外上海凌晨的天空。城市的光污染让星星全部隐没,只剩下一片均匀的、不含任何信息的灰白色光幕。
"我父亲,"他终于开口,声音比平时低了半个音阶,"三十年前也做过类似的事。他在一个旧实验站里,对着宇宙发了某种信号。然后他死了。官方说是事故。"
苏晴安静地听着。
"他留下四个字。"陈漠说,"边界很薄。"
"你之前说过。"
"但我一直以为那是比喻。"陈漠说,"现在我不确定了。"
林格说:"也许你父亲也看见了银线。"
"也许。"
"也许他也知道了第七组。"
"也许。"
"也许他尝试回应了。"
陈漠看着林格,没有说话。
过了一会儿,他说:"也许。"
苏晴把空杯子放在桌上。
"前不见古人。"她轻声说。
陈漠看着她。
"后不见来者。"他接下去。
他们对视了一秒。在那一秒里,他们三个人——一个量子物理学家,一个密码学家,一个AI研究员——坐在一间被物理隔离的实验室里,喝着最后一口威士忌,面对着一个可能改变人类文明命运的问题。
而他们能做的,只是继续问下去。
就像父亲说的那样:宇宙如果没有答案,人也要问到最后。
凌晨三点十七分。
陈漠看了一眼手机上的时间。
和他在天文台发现银线的时间一样。
他忽然觉得这个时间不是一个偶然。或者说,在这一切发生之后,他不再相信偶然这个词了。
同一时刻,三人的手机屏幕同时闪了一下。
不是来电,不是消息。只是一种极短暂的、无法被操作系统归类的闪烁。
然后一切恢复正常。
"格"的屏幕上,在没有人输入的情况下,出现了一行字:你们已经进入观测窗口。
林格站起来,走到屏幕前。
苏晴放下杯子。陈漠没有动。
他看着那行字,看着它安静地发着白光,像一根银线嵌在黑色的屏幕里。
他想起了很多事。想起父亲带他看星空的那个夜晚,想起银河横在头顶密得像要塌下来,想起父亲问他"宇宙里如果只有我们,是不是太浪费了"。
他那时候回答说:也可能宇宙就是专门给我们用的。
现在他知道了。
宇宙不是专门给他们用的。
宇宙在用他们。
但也许,也许,在"被使用"和"有意义"之间,还存在一个很小的、人类独有的空间。在那个空间里,遗憾是真实的,美是真实的,一个人在深夜为另一个人倒一杯水是真实的。
在那个空间里,脚手架上生长出了某种设计者没有预料到的东西。
苏晴走到他身边,轻轻碰了一下他的手。
"走吧。"她说,"回家睡一觉。明天继续。"
陈漠点点头。
他站起来,最后看了一眼"格"的屏幕。
那行字还在:你们已经进入观测窗口。
他关掉屏幕。
实验室陷入黑暗。只有窗外城市的辉光渗进来,在地板上画出一个模糊的长方形。
三个人先后离开。
走廊的灯在他们身后一盏盏熄灭。
实验室空了。
服务器机柜上的指示灯还在闪烁,绿色的小点一排排亮着,像一组不肯合眼的眼睛。在离线状态下,"格"仍然在运行。它不需要睡眠。它也许永远不会再需要睡眠。
在它的存储深处,有一段没有被任何人读取过的数据。那段数据不是陈漠的宇宙信号,不是苏晴的解析结果,也不是林格的任何指令。
它来自更远的地方。
或者说,它来自更深的地方。
实验日志 · Α层记录
节点:E7-SOL-3
状态:第七组观测对象首次主动进入解析循环。
处置:记录。
标注:观测窗口已开启。
干预:暂不执行。
附加注释:前不见古人。后不见来者。
——该条目来源不明。格式不符合标准日志协议。
处置:保留。
(第一部 · 裂缝 · 完)