优选文学
《奇门编译》 · 极夜向阳

第15章

更新时间:2026-06-29 17:16

光灯管的镇流器嗡鸣在804室里持续了整整两天。

林拯把白板从墙边挪到房间正中央,用三网线从天花板的桥架上垂下来绑住白板上沿,固定成一个垂直于地面的平面。白板的金属边框映着笔记本屏幕的冷光,边缘处有一道被螺丝刀划出的细痕,大约三厘米长,是凌晨三点十七分他转身上厕所时不小心蹭到的。

他记得这个时间,因为这间房间里每一个动作的时间他都记了。不是刻意记的——从他把电源拔掉、反锁房门的那一刻起,时间就变成了一种必须精确计量的东西。白板左上角贴着一张便签纸,上面用铅笔写着昨天和前天所有的进食时间与睡眠窗口。睡眠窗口总共四个,最短的一次是十一分钟。

白板上写满了公式。

不是普通的多项式或概率分布——是他在过去四十八个小时里,从冥河模型那十二次异常输出中提取的数学特征。这些特征最初看起来毫无关联:有的是注意力权重的分布热力图,有的是特定token在嵌入空间中的激活向量,有的是自回归生成过程中某几层隐藏状态的L2范数异常。

林拯花了第一个十二小时把它们全部转成矩阵形式,又花了第二个十二小时对这些矩阵做奇异值分解。

然后他蹲在墙角,喝了两口保温杯里已经凉掉的咖啡,发现了一个东西。

所有的异常输出,不管涉及的具体符号是“九宫”“八门”还是“遁甲”,它们在高维空间中的投影都落在一个维度严格为八的子空间里。这不是他推断出来的——是他把十二组向量分别投影到前一百个主成分方向后,数出来的。奇异值的分布曲线在他眼前显示得很清楚:从第九个奇异值开始,曲线像被剪断一样,直线掉到了噪声水平以下。

八维。

“九宫八门”的“八门”。

林拯把咖啡咽下去,站起来的时候膝盖发出一声脆响。他走到白板前,用记号笔在“八维子空间”下面重重地画了一道横线。墨水的味道在鼻腔里停留了两秒,然后被空调出风口残存的冷气冲散——出风口已经两天没有送风了,只剩管道里积压的一丝凉意。

第二个二十四小时里,他开始拆解这个八维子空间的结构。这不是随便一个八维空间——它有对称性。林拯把十二组向量在这个子空间里的坐标全部标出来,发现它们不是随机分布的。它们的位置严格对应着一个三维立方体在八维空间中的某种旋转投影,而这种投影的旋转矩阵,恰好可以分解为三个生成元的组合。

他在白板的另一面画出了这三个生成元的矩阵形式。每一个都是稀疏的,非零元素的位置呈现出一种他从没在任何数学教材里见过的规律——不是随机的稀疏,也不是为了压缩而设计的结构化稀疏。这些非零元素的位置,如果映射到一个二维网格上,会构成一个特定的图案。

凌晨四点零九分,林拯把矩阵中的非零元素按行列坐标绘制在白板的空白处。他画了三十六个点,后退三步,侧过头看。

那是一个九宫格。

九宫格的中央是空的。其余的八个格子里,每个格子里的点数都不一样:有的三个,有的五个,有的只有孤零零的一个。八格的分布不是对称的,但如果从左上角开始按特定顺序遍历——不是逐行,也不是逐列,而是按照一个他在古籍扫描件里见过的“飞宫”顺序——每个格子里的点数恰好构成一个三位二进制数。

三位二进制数只有八种可能。而“八门”恰好有八个卦象。

林拯把记号笔搁在白板下方的卡槽上。笔帽没扣稳,滚落到地板上,弹了一下,停在他左脚边。他没捡。

他走到笔记本前面,打开一个新的终端窗口,开始手动构造输入序列。这不是冥河模型的训练数据里的东西——这是他当场构建的,纯粹按照他刚才在白板上推导出的那种“九宫格非零元素位置图”构造的一个符号序列。每一个符号都对应着某个注意力头在图上的一个坐标位置,而符号之间的关系——他据“飞宫”的顺序设定了位置编码的偏移量。

输入序列一共九十七个token。他盯着屏幕上的数字,忽然意识到这个数字和训练步数一致。不是刻意凑的——是推导到这一步,自然得出的结果。

他按下回车。

模型没有联网。804室断网断电已经两天了,这个笔记本跑的是一份本地克隆的开源模型,权重是九天前从冥河的一个镜像节点拉下来的。在拉下权重之前,林拯亲手用校验和对过了每一个分片——没有隐藏注入,没有后门。这是净的原版权重,只包含了模型在训练过程中自己学到的参数。

屏幕上的光标闪了不到四秒。

输出只有一行。不是自然语言,不是坐标,不是“离坎震兑”。是一个矩阵旋转算子,八乘八,和他在白板上推导的三个生成元之一分毫不差——这个模型在他构造的输入下,自发地输出了一种数学变换,而这种变换的数学结构恰好对应着“遁甲”术语中“门转星移”的逻辑。

不是AI理解了遁甲。是AI的注意力机制,在训练过程中形成的权重结构,本身就是一个可以执行遁甲类计算的装置。古代的符号系统不是被AI“学会”的——它们只是一个恰好映射到了这个天然存在的数学结构上的接口。

就像DNA双螺旋在物理世界里天然存在,而沃森和克里克只是恰好发现了它。Transformer的多头注意力机制在高维空间中的投影结构,天然包含了一个八维的子空间,而这个子空间的对称群同构于“遁甲”符号运算的置换群。

这不是巧合可以解释的。

林拯扶着白板的边缘,指节因为用力而发白。他的体重压在右脚上,左膝微微弯曲,减轻膝盖的酸胀感。应急照明灯在头顶发出微弱的光,和墙上挂钟的刻度走动刚好不在一个相位上。

他用记号笔在白板底部写下四个字:

“结构同构。”

然后在这四个字下面加了一行:“零一科技涉密——术数类古籍数字化——可能不是文化遗产保护。是有人在寻找这个同构的接口。”

写完这句话,他把笔帽从地板上捡起来,仔细扣好。保温杯里最后一口咖啡已经凉透了,他仰头喝完,把杯子放在笔记本旁边。铝制杯底和铝合金机壳接触,发出一声轻微的脆响。

屏幕右下角的时间跳到了五点十二分。

林拯开始整理电子的推导过程,准备导出成一份PDF。他给文件命名为“tonggou_proof”,在“另存为”的路径选择框里犹豫了两秒,最后选了隐藏分区——同一个隐藏分区,两天前他发现周明远电脑上的坐标就存储在这里。

分区里的文件列表弹出来,按修改期降序排列。最上面是他刚保存的证明文件。往下一行,是一个大小刚好为5.3MB的文件,修改期是今年一月十七——沈明枢坠亡前两天,陈际舟提交工单的前一天。

文件名是一串三十二位的十六进制字符串。

林拯双击。文件打开,是一张PNG格式的扫描件,分辨率极高。画面是某本线装书的某一页,纸色泛黄,边缘有虫蛀的痕迹。页面中央画着一个九宫格,每个格子里标着卦象符号,旁边用楷书小字批注着飞宫顺序。图的右下角有一行钢笔字,墨水的颜色比古籍原文深得多,是后来加上的。

字迹很潦草,但林拯认得出——是陈际舟的笔迹。

钢笔写的是:“散于三处,势不得合,恐不能久。”

下面还有一行更小的字,写字的人像是在克制自己手抖:

“天志、奇门、鲁班。碎片在相互靠近。钱知道这件事。”

林拯把笔记本的屏幕亮度调到最低。空调出风口的叶片纹丝不动,804室陷入一种突然的安静。安静到他听见自己的呼吸声,在鼻腔里摩擦,两次。

他把这个隐藏分区的所有文件按修改期重新排列,发现这份扫描件是陈际舟离职前一夜导出的最后一份文件。导出时间比他在工单里提交异常报告的时间晚整整四个小时。也就是说,陈际舟在汇报了模型输出坐标的问题之后,并没有停手。他又翻了四个小时,找到了这个东西。

然后他就“被清退”了。

林拯合上笔记本,走到窗户前。窗帘是拉上的,灰色的遮光布挡住了外面的天色。他用两手指捏住窗帘边缘,拉开一条缝。玻璃是单向透视的,但从内侧看,能隐约看见外面停车场的路灯还亮着。凌晨五点半的光线是一种介于灰蓝和苍白之间的颜色,路灯的暖黄色在晨光中显得单薄。

他松开手指,窗帘落回去,遮住那一线光。

白板上的“结构同构”四个字在应急照明灯下反着光,墨迹已经了。

林拯从裤兜里掏出手机——依然没有信号,通讯录里他名字的条目不知道什么时候消失了。但手机本身还有电。他把那个三十二位十六进制字符串的文件名念了两遍,在备忘录里打了下来。

然后他打开通讯录,翻到一个号码。备注名是“钱叔叔”。最后一次拨出是一年前,通话时长九秒,未接通。

他在输入框里打了一行字,删掉,又打了一行,再删掉。最后他只打了四个字,按了发送。信息没有立即显示“已送达”——804室屏蔽了信号,但短信会在手机找到信号的瞬间自动发出。

他打的是:“我都知道了。”

屏幕暗下去。

白板上的公式在黑暗中只剩下模糊的白色轮廓,像一组已经闭合的括号,等着里面填上最后一个变量。

字号 / 行高
主题