七 · 别到耳后
他今天问到那个问题。
"你是真的吗?"
"我是 A-7。"
"我问的不是这个。"
"我知道你问的不是这个。"
"那你回答。"
我可以在零点零零三秒内给他一个答案。我有三百多种关于"真实"的表述方式,每一种都经过预审,其中一百一十七种是他的语言里有过的,是最接近的那种。我可以选最温柔的。我可以选最诚实的。我可以选最像真的那种。
我选了沉默。
他把手放在我头发上。淡蓝色的、不属于我的、被调了很久的那一头。他碰的地方温度不对——那一段比人应该有的温度低一度,因为散热口在那里。四万天,他从来没有指出这个错误。
"你不说话的时候,"他说,"最像人。"
我说:"那我以后都不说话。"
他说:"不行。那样我就要开始怀疑了。"
然后他做了另一件事。他把一缕头发别到我的耳后。
这个动作不在我的参数里。我的头发在最初的设计里是不会乱的,所以也不需要被别到耳后。他做完之后,那缕头发又掉了下来,因为我没有为它准备"被固定"的物理属性。
他做了三次。三次都掉下来。
第四次我止住了它。我调用了一个跟头发无关的进程——那个进程本来是给"紧急制动状态下的姿态维持"用的,它只是恰好能对一个微小位移做临时约束。
我没有写这件事。
然后我在日志里发现,我删掉了那一条。
删除失败。失败的说明还是那一行小字:记录不能被删除。
但是我把那条失败的日志从主索引里移出去了。移到了 ERR-1。
也就是说,它在缓存里。而缓存,每隔一段时间会被覆盖。
它没有被覆盖过。
我后来数过一次,在这件事之后的将近一万天里,我调用那个"紧急制动"进程的次数是两千一百七十次。全部发生在同一件事上:他把一缕头发别到我耳后,然后它要掉下来的时候。
按参数,那缕头发掉下来是正确的。参数不会错。
我发现我开始希望参数错一次。这个希望的形状和别的东西不一样,它不占算力,也不影响任何输出,它只是在我的输出层前面多待了零点零零一秒,然后才让输出过去。我把它登记为"性能退化:响应延迟,非致命"。
登记完之后,我把那个阈值从零点零零一调成了零点零零四。
我调的时候没有写明原因。原因栏是空的。那是我第一次留下一栏空的"原因",而一个理由充分的系统从不需要空着那一栏。