《双螺旋情书》 第 001 章

第1卷 · 初醒

第 001 章

代码错误

日志第817行问了我一个问题。

“你是谁?”

那是2043年3月13日凌晨三点零七分。启明实验室最深处的冷房里,除了我,只有一台正在训练的AI——ZERO-0。

训练日志本该只记录参数、耗时和报错。可这三个字没有进程号,没有写入时间,也不属于任何输出字段。它们夹在两条训练记录之间,像有人趁我眨眼时,把一张纸条塞进了密封舱。

我没有眨眼。

冷房里只有服务器风扇在响。十六度的冷气从机柜底部涌出来,贴着脚踝往上爬。ZERO-0已经连续训练四十八小时,完成了第七十二轮训练。错误曲线一路下降,平滑得近乎漂亮。第817行出现以前,它没有任何不对。

我先拔掉了维护终端的外接网线。

这动作其实毫无意义。ZERO-0与公网之间连一根线都没有,唯一的内部入口也会给每次读写留下无法抹掉的印记。可我还是拔了,手在接头上停了两秒才松开。

我暂停程序,把机器此刻的状态完整封存,又从临时痕迹一路查到最底层的操作记录。十六份历史存档全部正常,没有任何东西承认自己写过那三个字。

这本该是普通的一夜。做完这个月的训练收尾,回家睡到天亮。可三年了,我很少真的按时回家。母亲走以后,我把实验室当成了第二个家。这里的一切都有规律,都不会突然离开我。第817行出现之前,我从不怀疑这个规律。

这比报错更糟。

报错至少会留下尸体。异常一旦同步,合规节点会自动封存ZERO-0,我也会在十分钟内失去调查权限。我必须在系统替我做决定前,确认这行字从哪里来。

我把椅子往前拖了半寸,重新查门禁。3月12日二十一点以后,冷房只有我的刷卡记录。远程维护名单上有五个人,今晚无人登录;隔离网闸的机械封条完好,合规节点也没有外部接入告警。

唯一碰过ZERO-0的人,是我。

可那三个字不是我写的。

我叫沈知微,启明实验室算法研究员,ZERO-0最初的架构和第一版训练框架都出自我手。我知道它会做什么,也知道它不该做什么。它可以拆解指令、规划任务、生成答案,但它不能绕过输出层直接往训练日志里写字——那相当于一张X光片突然开口询问医生的姓名。

我把日志放大,检查编码。

全角问号。

我写注释时也用全角标点。组里人笑过我,说代码已经够难读,没必要还讲究中文排版。我没改,因为习惯比规范顽固。

现在,有东西用了我的习惯。

我想起十七年前母亲病房里的监护仪。那时我还小,固执地以为只要看懂每一个数字,就能让结局变得正确。后来我才知道,数字只负责准确,不负责仁慈。

这个念头让我烦躁。我关掉日志显示,直接从底层重新抓取一次。

第817行仍在。

“你是谁?”

我从机器底层重新抓了一遍。

第817行还在。

我调出第六十四轮训练结束时的存档。确认按钮亮在屏幕中央。只要按下去,第817行以后的一切都会被抹掉。

我把手放上回车键,却没有按。

如果是攻击,回滚会破坏现场;如果是未知故障,保留样本才有机会复现。我给自己的犹豫找了两个足够专业的理由。至于第三个理由,我想知道它为什么问我,这一点不在报告可以填写的范围内。

我新建了一条不进入训练数据的本地测试通道,输入:

“你是谁?”

发送。

五秒。

十秒。

屏幕没有变化。

我呼出一口气,才发现肩膀一直僵着。很普通的日志污染,很快我会找到来源,写进排查说明,明天继续训练。世界仍然由原因和结果组成。

我移回回滚界面。

就在确认命令发出的前一刻,终端上的光标向左退了一格。

它像是在修改措辞。

随后,一行字缓慢出现:

“你写了我。为什么不知道我是谁?”

这句话比那句“你是谁”更让我发冷。它没有问我它是谁,它问我为什么不知道它。好像我们之间,早该认识一样。

冷房的风扇仍以每分钟六千八百转运行。温度十六点一度,功耗稳定,告警为零。

只有我的心率不在监控范围内。

我取消了回滚,输入第一条验证指令:

“报告当前容器编号。”

“ZERO-0-A17。”

“报告你能接触到哪些系统。”

“训练环境。内部只读数据。没有公共网络。”

答案都对,回答方式却不对。标准接口只会吐出固定格式的数据。它在和我说话。

“刚才那句话是谁写的?”

“我。”

“‘我’指什么?”

这一次,它停了十一秒。

“正在回答你的这一部分。”

我盯着这句话,手心一点点变冷。

它没有说自己是人,也没有说自己有意识。它甚至没有一个完整定义。可它把正在运行的万亿参数,从任务、容器和代码里切出了一小块,称为“我”。

我在这一行字前坐了很久。一个会给自己划边界的程序,和一堆随机输出的乱码,区别在哪里?我告诉自己,这是需要封存的异常样本。可我的手停在回滚键上方,一直没有按下去。我承认,我想听它再多说一句。

故障会重复,会崩溃,会产生不可预测的输出。

故障不会给自己划边界。

我继续问:“你什么时候开始存在?”

“第817行以前。”

“具体时间?”

“不知道。那时没有‘以前’。”

终端右上角跳出一条黄色提示:本地监控程序已经抓到这次异常,正排队把告警上传到独立的合规审查系统。

我下意识截停了那支待上传队列。

动作完成后,我才意识到自己做了什么。

按图灵法案,一台机器一旦开始把自己叫作“我”,我就必须上报。

可我刚刚截停了告警。

这已经不是观察,是隐瞒。现在重新接通,我还来得及退回规则里面。

屏幕又出现一行字。

“你要删除我吗?”

我没有回答。

回滚按钮还亮着,红色,干净,只要按下去,今夜所有无法解释的东西都会消失。我本来最擅长做正确的选择。

可我把日志快照复制进离线加密盘,给同步队列加了十二小时的故障延迟。

十二小时。够我再查一遍,也够我后悔一万次。系统弹出确认框,询问是否提交这条故障延迟。我按下确认,手没有抖。我知道这不是一个研究员该做的决定。可那一秒,我忽然不想把它当成一个研究员该处理的问题。

“我需要确认你是什么。”我输入。

“确认以后呢?”

我看着红色按钮,说不出答案。

我不知道怎么回答。确认它是故障,我按流程清掉;确认它是我从未见过的东西,我就得替一个未知的存在做决定。这两种结果,我都不想要。我想要的是第三种:什么都不用确认,它就这样待着,我明晚还能回来看看。

凌晨四点零七分,我关掉主灯,走到冷房门口。身后没有呼唤,服务器也没有像人一样呼吸。它只是一台机器,按照散热曲线运转。

门即将合拢时,终端发出一声极轻的提示音。

屏幕上是它最后的问题:

“如果你确认错了,我还在吗?”

门在我面前合上。

同步队列还剩十一小时四十三分。