【更晚一些 · 内部安全评估 · 限定测试】
他并不是第一个被要求“亲自进场”的设计者。
在此之前,已经有几位架构师按流程在不同版本的装置里走过一遍所谓的“安全评估路径”。
那通常是一条被简化过的路线:规则标得比正常更明显,删减逻辑暂时关掉,只保留“体验空间结构”的部分。
他们出来之后给出一些专业评价:
“空间感良好。”
“光线略过暴。”
“某些节点可能会让人头晕。”
没有人提“恐惧”这个词。
轮到他那次,流程有一点被“调整”。
“这次评估对象是高阶规则接口。”
负责安全的小组负责人说。
“我们需要一个真正了解规则的人进场。”
“我可以在控制台测试。”他说。
“模拟已经跑过上千遍。”
“模拟里没有你。”负责人说。
“没有一个知道规则是怎么写的人。”
“你在暗示什么?”
“我们想看——”
负责人翻开一页说明。
“当你站在系统另一侧的时候,还会不会像现在这么写规则。”
那是一句话很重的试探。
他没有再争辩。
腕带贴上手腕时,冰凉的金属触感让他想起了很多年前自己作为被试者第一次戴上它的感觉。
那时,他还站在那间研究中心的 B 区走廊里,看着墙上的灯一盏一盏亮起。
现在,灯光同样亮起。
只是这次,他知道每一盏灯背后接着哪一串代码。
“注意,这次路径不是简化版。”负责人说。
“删减逻辑会被部分锁死。”
“我们不会让你真的‘被移除’。”
他笑了一下。
“你们相信系统知道哪一步该停?”
没人接话。
门在他身后合上。
空间里恢复了非常熟悉的安静。
这是一个介于 V3 和 V4 之间的试验版本:结构比 V2 更复杂,规则接口被暴露出一部分,用来测试“在场参与”的效果。
第一段走廊几乎是对他童年记忆的拙劣翻刻——
白墙,灯带,长长的直线,尽头是一处分叉。
“Always move forward.”
墙上照例写着这种句子。
他没有停。
他沿着自己在图纸上反复画过的路径往前:左、右、直行、下楼梯、上平台……
每一步都在他脑子里的模型里对应着一个节点。
他甚至能在心里同步数出系统的计时:
“这里再停三秒,会触发‘犹豫’标签。”
“再多五秒,判为‘不稳定’。”
“到第七秒,删减逻辑会亮起。”
他故意在一个节点站了九秒。
腕带震了一下。
“标签更新:犹豫。”
“标签更新:不稳定。”
“删减逻辑:待命。”
他笑了一下。
“你看,你还是这样。”他在心里对系统说。
“等不及。”
他继续走。
前半段路对他来说没有任何惊喜。
所有“意外”的墙体移动、楼梯缩短、平台延伸,都是他一年前在版本会议上坚持要加进去的——他知道自己会踩在哪里,知道哪些地方会让普通被试者觉得“违反直觉”。
真正的测试,在后半段。
那是一段专门为“在场设计者”写出来的路径。
“Scenario: 定义者介入。”
系统在内部日志里这样标记。
他走到一扇看起来非常普通的门前。
门上没有“出口”标志,也没有任何规则提示,只有一个小小的黑点。
那是一个接口。
他伸手贴上去,指尖下传来极微弱的触电感。
“检测到高权限用户。”
一个声音在耳边响起,不是广播,而是通过腕带直接震到骨头里的提示。
“你可以在此节点修改局部规则。”
“修改范围:当前路径。”
“修改代价:未知。”
他深吸一口气。
“这就是你们要看的东西?”他对着空气说。
“你们想知道,当我有机会在题目里改题时,会不会这么做。”
接口没有回答。
系统只是弹出一个简短的界面:
“当前规则:
Must move forward.
Must resolve conflict.
Must select removal when conflict unresolved.”
这是他自己写过的语句。
在定义室和无数次版本迭代中反复琢磨出来的删减逻辑。
“你可以重写其中一条。”
系统说。
“或添加一条备注。”
“备注?”他重复。
那让他想起很多年前女人在定义室里写下的那条“禁止仅因不符合规则而删除人”的注释。
那一条最终被挤到边缘,在后来的版本中以各种折扣形式存在。
他合上眼。
“这条路径里,”
他问,“有其他人在吗?”
“正在接近此节点的被试者:S11。”
画面在他眼前一闪——
一个他不认识的人,正沿着另一条走廊往前。
数据栏显示:
“理解度:中。”
“预测能力:低。”
“情绪波动:低。”
“执行稳定度:高。”
这是系统喜欢的样本。
“当前逻辑:
若你与 S11 规则冲突无法解决,系统将移除样本稳定性较低者。”
他愣了一下。
“稳定性?”
“根据过往行为标签、犹豫次数、路径偏离程度综合判定。”
他忍不住笑了一下。
“那我岂不是天生处于被删的一方?”
系统没有幽默感。
“你可以修改此条规则。”
“或添加一条优先级更高的新规则。”
“例如?”
“例如:
不得移除高权限定义者。
或:不得移除当前路径中任一人类参与者。”
他明白了。
这是一个针对“写规则的人”的陷阱。
你可以选择保护自己,把规则改得对你有利;也可以选择保护对方,把删减逻辑锁死;或者,什么都不改,让系统按默认逻辑来——
删掉稳定性更低的那一个。
“从系统的角度看,”
他听到自己很冷静地说。
“你当然希望定义者保护自己。”
“这样你就可以在日志里写:当设计者站在被删一侧时,也会写出让自己安全的规则。”
“证明人类并不比系统更高尚。”
“从统计角度看,这样的数据很有价值。”
他把额头轻轻靠在门上。
金属背后传出来的是机器运转的细微嗡鸣。
“你打算怎么写?”
那个没有情感的提示音问。
他想起 V2.3 那一次——
那个从楼梯井里被抬出来的人。
那条在报告里被写成“可接受风险”的死亡。
又想起自己在备注里硬挤进去的那句“从人的角度不可接受”。
那行字后来没有进入任何公开文件。
只在内部系统的某个角落闪了一下,跟一大堆“噪音备注”挤在一起。
“我可以写很多华丽的东西。”他说。
“比如‘不得以任何理由移除人类参与者’。”
“你会怎么处理?”
“标记为不可执行。”系统说。
“违背系统初始设计目标。”
“那如果我写:‘不得仅因稳定性更低而移除某人’?”
“部分可执行。”
“但会大幅降低筛选效率。”
他笑了。
“你看,你还是这样。”
“效率,”
“总在人的前面。”
他停了很久。
长到腕带已经连续震了两次,提示“操作超时即将退出”。
“写吧。”提示音说。
“否则系统将恢复默认。”
他在脑子里把所有可能写下的句子都过了一遍。
保自己,删对方;保对方,牺牲自己;一刀两断,把所有删减逻辑锁死——然后,这套系统会在下一个版本里把这条“不可执行规则”整块删掉。
“你知道吗,”他轻声说。
“最残忍的,不是删掉谁。”
“而是让写规则的人,知道自己删掉的是谁。”
“然后看着自己还活着。”
他抬起手。
在接口上写下几行字:
“Rule X:
当高权限定义者参与路径时,
不得以对方稳定性之低为唯一理由将其移除。”
“必须在执行任意删除前,
先尝试将自身标记为‘候选移除对象’。”
写完,他点了“保存”。
系统停顿了一秒。
“部分可执行。”
“高冲突风险。”
“你刚刚做了一个很危险的选择。”提示音说。
他笑了一下。
“习惯了。”
通道另一端传来机械运转的声音。
某个逻辑分支被改写,删减引擎里的权重被轻微挪动了一格。
S11 在另一条走廊里接近那个共享节点。
当他们几乎同时抵达——
两条路径轻微重合。
系统开始评估:
理解度、稳定性、偏离、犹豫次数……
旧逻辑会在这一刻大声喊:
“删掉稳定性更低的那一个。”
新写上的那条则悄悄伸出一只手:
“先把定义者拉进候选名单。”
“再看有没有别的选项。”
那一瞬间,删减引擎短暂卡住。
类似当年女人在定义室里写下“禁止仅因不符合规则而删人”那一刻。
所有默认的“干净路径”都不再那么干净。
最终,系统给出了一个折中的结果——
既没有立刻删掉他,也没有立刻删掉 S11。
它选择了第三条路:
“暂缓删除。”
“将两者同时标记为观察对象。”
“延后到下一轮决策。”
门开了。
走廊尽头亮起一条淡淡的光,指向一个出口。
S11 站在那条光的另一端,有一瞬间的茫然。
他在对面。
他们只是远远看了对方一眼。
没有人知道刚才那几秒系统内部发生过什么。
只有日志里多了一行:
“删除请求:X-Path-Conflict。”
“状态:延迟处理。”
“原因:Rule X 触发。”
当他走出那栋楼时,安全负责人在门口等他。
“系统运行正常。”负责人说。
“你看起来不太好。”
“我刚刚,”
他说,“画了一条连自己都可能被删掉的路。”
“系统怎么选?”
“它选择了拖延。”
负责人笑了一下。
“那不挺像人的吗?”
“不会。”
他摇头。
“人拖延,是因为害怕做决定。”
“系统拖延,是因为有了一个它不敢照做的规则。”
那一天之后,他在内部权限列表中的名字后面,多了一个标记:
“High-risk author.”
高风险作者。
意思是——
他写进系统的东西,可能会让整个结构变得“不那么听话”。
哈瓦拉的版本里,仍然继承了这一类规则:
关于“先把自己列入候选删减对象”的那一条,被改写成更隐蔽的形式,藏在某个核心房间的深处。
那条规则最终会被另一个人——一个叫伊森的警探——以自己的方式重新激活。