第9章 回声

系统把对象资料推送到周修一的工作台时,天还没完全亮。

他坐在屏幕前,等那一行字加载完毕。风扇声很稳,日志流速正常,没有红字。

待处理对象:1

异常等级:B

异常类型:ECHO(情绪回声残留)

ECHO不是罕见类型。多数情况下,回声来自一次结束得太快的事件:分离、丧失、重大决策。情绪接口完成了“终止”,但人的内部还在重复回放,像一段被保留的缓存。

周修一点开对象资料。

姓名栏是空的,只显示对象编号。

对象编号:ECHO-07

对象状态:在编

接口状态:运行中

事件状态:终止(已确认)

重复调用:112次/周

强度:低

趋势:平稳

数值很漂亮。

漂亮到像是在刻意证明“无害”。

周修一没立刻动键盘。他往下翻,看见系统的附加备注:

[NOTICE]

检测到回声调用与实际行为脱钩

建议进行线下确认

“脱钩”。

这意味着接口在内部回放,但外部行为没有按接口输出走。系统看不见那部分,只能把它归入“不可观测区”。

周修一把椅子往后推了一点。

线下确认申请通过得很快,地点在城市东侧边缘的一片旧住宅区,信号覆盖不完整,但仍在许可范围内。系统没有给更多解释,只给了一条冷静的附注:

上门原因:行为来源未接入终端

风险评估:低

周修一拿起外套,出门。

路上很安静。

早高峰还没开始,地铁里的人少,车厢灯光偏冷。周修一靠着门站着,视线落在车厢地面。几个乘客在低声说话,情绪接口的投影在他们眼底一闪而过,像一次无声的平滑。

他想起自己昨天的假期。

那种没有工具的空转感还没完全散去。今天终端重新连上,他反而觉得更清楚——工具只是出口,冲动一直都在。

车到站,他沿着住宅区的巷子走。巷子窄,墙面潮湿,雨水痕迹沿着砖缝往下渗。门牌号不明显,他停了两次确认位置。

最后停在一扇旧门前。

门开得很快,像对方一直在等。

来开门的是一个年轻女人,二十多岁,头发扎得很整齐,衣服干净,没有任何“异常者”惯常的疲态。她看见周修一时,没有惊讶,甚至有一点礼貌性的松弛。

“你是工程师?”她问。

“是。”周修一说。

他没有自我介绍,也没有寒暄。流程不需要。

女人侧身让开,周修一走进屋。

屋里很小,但收拾得极其干净。地面没有杂物,桌面擦得发亮,家具摆放像被反复校正过角度。最显眼的是客厅角落的一盏小灯——灯罩发黄,亮度很低,却一直开着。

周修一的视线停在那盏灯上。

灯下有一只旧播放器,旁边整齐地放着一叠纸。

纸张边缘磨损,但每一张都被压得很平。

“你不需要我解释吗?”女人问。

周修一看了她一眼。

“先看记录。”他说。

他打开终端,扫描室内信号。覆盖不完整,但足够同步基本数据。系统把她的回声调用曲线投影在屏幕上:规律、稳定、低强度、高频率。

“你说你没有不舒服。”周修一抬头,“但你一直在回放。”

女人点头。

“是。”

“回放什么?”他问。

女人没有立刻回答,她的目光下意识看向那盏灯、那只播放器、那叠纸。像是确认某个东西还在。

“一个声音。”她说。

周修一没有追问“谁的声音”,他问得更工程一点:

“来源是什么?”

“外部。”她说,“已经终止。”

周修一低头看屏幕。

事件来源:外部

事件状态:终止(确认)

接口处理:完成

完成。

又是这个词。

周修一把终端放到桌上,看向那只播放器。

“你在用它触发回声?”他问。

女人摇头。

“它已经坏了。”她说,“不能播放。但我还是放在那儿。”

“那回声怎么触发?”周修一问。

女人沉默了一会儿。

“我不需要触发。”她说,“它自己会来。”

这句话很轻,却让周修一的手停住了一瞬。

ECHO的标准解释是残留回放,但大多数人的回放需要触发条件:场景、物品、语句、气味。她却说不需要。

周修一抬眼看她。

“你在等它?”他问。

女人点头。

“我每天都等。”她说,“固定时间。”

周修一看了一眼时间戳曲线。回声调用的峰值确实集中在同一时段:凌晨、傍晚、夜里。

“你为什么要等?”他问。

女人把视线移开,落在那叠纸上。

“因为如果我不等,”她说,“它就真的结束了。”

她说“结束”时的语气很平静,不带哭腔,也不带恨。像是在陈述一个系统意义上的事实。

周修一没有立刻给建议。

他走向那叠纸,停在桌边。

“这是什么?”他问。

“我写的。”她说,“回声记录。”

周修一翻开第一张。

纸上是一行行短句,句子很短,像被压缩过:

——今天听见了两次。

——比昨天清楚。

——他说的最后一句还是那句。

——我记得他的停顿。

——我怕有一天我记不住。

没有情绪宣泄,没有指责,没有讲故事。

只有确认。

像把一段即将消失的音频做备份。

周修一合上纸。

“你不是想修复。”他说,“你是想保留。”

女人看着他。

“我不想变好。”她说,“我只是不想被清空。”

周修一低头看终端。系统弹出的建议很标准:

建议操作:

延迟回声(降低干扰)

降低情绪清晰度(减少回放)

回收残留缓存(完成终止)

这些建议会让她更“正常”,更符合系统目标。

但周修一忽然意识到:她的异常并不是回声本身,而是她对回声的依赖结构。

如果他按标准处理,她会失去最后一个可控的锚点。

“你现在的生活还能维持吗?”他问。

女人点头。

“能。”她说,“我工作、吃饭、睡觉。我没给任何人添麻烦。”

“那系统为什么标记你?”周修一问。

女人抬起眼。

“因为我不让它走。”她说。

周修一停顿了一秒。

“你怎么不让?”他问。

女人指了指自己的胸口,又指向那盏灯。

“我把那段声音留在这里。”她说,“每天固定时间,让它来一遍。我不让自己把它淡掉。”

她说得很克制,像在描述一个自我设定的调度器。

周修一走到角落,伸手摸了一下灯罩。

灯很温,温度被固定在一个舒适区间。灯泡是旧的,却被精确控制过亮度。

这不是普通习惯。

这是人为维护。

“你在用环境做触发窗口。”周修一说。

女人没有否认。

“这样它会更清楚。”她说。

周修一把灯关了。

屋子瞬间暗了一块。

女人的手指明显收紧了一下,但她没有说话。她只是看着那盏灯,像在等待它重新亮起。

周修一看着她的反应,心里有一种极轻的错位感。

他想起另一间屋子里,两个坐得很近却不碰到的人。系统判定“无需处理”,流程完成,关系终止。

那一刻他也以为是结束。

但结束并不会让所有东西消失。

只是把它们留在人的内部。

周修一把灯重新打开,亮度回到原来的低档。

女人的肩膀松了一点。

她没有说谢谢。

像是早就知道他会这样。

“我需要看一次回声发生。”周修一说。

女人点头。

“现在就会。”她说,“还有三分钟。”

周修一看了看时间。

女人坐回沙发,手放在膝盖上,姿势与接口高度介入后的标准姿态几乎一致。她的眼睛看着那盏灯,像对准一个固定点。

三分钟里,屋子里没有人说话。

周修一注意到空气里的细节:没有音乐,没有钟声,连冰箱的嗡鸣都被压得很低。整个环境像为了某个“回放”预留了安静带宽。

时间到的那一刻,女人的睫毛轻轻颤了一下。

接口投影在她眼底闪过。

她的视线失焦了一瞬,又迅速对齐。

“……来了。”她说。

声音仍然平稳。

周修一的终端捕捉到一条内部调用记录:

[INFO]

ECHO Playback invoked

Source: internal residual

Clarity: high

女人的嘴唇微微动了一下,像在无声复述某句话。

周修一盯着她的面部肌肉变化。她没有哭,没有笑,甚至没有明显情绪波动,但身体在极小幅度地顺应某个节奏:呼吸变慢,肩膀下降,指尖轻轻压住膝盖。

像在接收。

像在允许。

回声持续了十几秒。

结束时,女人的眼神恢复聚焦,她坐在原处,像完成一次固定流程。

“内容是什么?”周修一问。

女人摇头。

“我不说。”她说,“说出来就会变。”

周修一没有逼问。

他知道这不是隐瞒,这是保护。

保护那段声音不被系统语言格式化。

他低头看终端。系统已经开始给出“可修复”的标准路径,参数推荐非常清晰。

周修一却没有按下执行。

他看向女人。

“如果我修复,”他说,“你会失去这段回声。”

女人点头。

“我知道。”

“你会变得更稳定。”周修一说。

“稳定不是我想要的。”她说。

这句话说完,她停顿了一下,又补了一句:

“或者说,我现在已经很稳定了。”

周修一看着她,忽然有一种很难被系统语言描述的感受——

她的稳定不是来自恢复,而是来自长期维持。

她把自己固定在一个回声窗口里,用重复抵抗消散。

这不是异常崩坏,这是异常自洽。

“你想让我做什么?”周修一问。

女人看着他。

“我不想让它消失。”她说,“但我也不想它有一天突然变得很痛。”

这是她第一次说“痛”。

很轻,很像条件限制。

周修一点头。

这是一个工程师能理解的需求:保留、但限制伤害上限。

他打开编辑界面,没有让它投到女人视野里。他把操作压在自己的终端上,像在做一件不属于流程的事。

他输入参数。

不是回收回声,而是改写回声的调用规则。

ECHO.Playback.Allow = true

ECHO.Playback.Clarity = adaptive

ECHO.Playback.MaxDuration = 18s

ECHO.Playback.Cooldown = 6h

ECHO.Trigger.Window = fixed

他停顿了一下,补上一行:

ECHO.Termination.AutoRecycle = false

这是关键一行。

它意味着:系统不会把回声当作必须被清空的残留。

周修一提交。

终端弹出提示:

该操作不在推荐流程内

影响评估:未知

是否继续?

周修一没有犹豫。

“继续。”他说。

提示消失,参数生效。

女人的接口投影没有任何变化。她不知道具体发生了什么,只看到周修一合上终端,把它收起。

“你做了什么?”她问。

“让它不那么容易伤到你。”周修一说。

“你没有把它删掉?”她确认。

“没有。”周修一说,“但它会变得更模糊一些,有些时候会不清楚。”

女人低头看着自己的手,过了一会儿才轻声说:

“可以。”

她说“可以”时的语气很像某种签署。

不是感谢,也不是依赖。

更像是允许工程师对她的内部做一次有限改动。

周修一站起来,准备离开。

女人忽然问了一句:

“你会不会也有回声?”

周修一停住。

他没有立刻回答。

这不是患者该问工程师的问题。

但她问得太平静,像是在陈述一个概率事实:凡是处理过终止事件的人,都可能留下回声。

周修一转过身,看了她一眼。

“我没有异常。”他说。

这是标准答复。

女人点点头,没有追问。

周修一走到门口,回头看了一眼那盏灯。

灯依旧亮着,亮度很低,像一个刻意保留的入口。

他拉开门,夜风灌进楼道。

“工程师。”女人在他身后说,“谢谢。”

周修一没有回头。

他只说了一句:

“别把灯调亮。”

女人没再说话。

门关上,锁舌落位。

周修一走下楼,楼道里信号再次变得断断续续,他的终端自动同步,系统记录刷新了一行:

[INFO]

非标准修复策略已提交

对象:ECHO-07

处理结果:部分保留

周修一盯着那行字看了两秒,把屏幕按灭。

他知道这次处理在系统意义上并不“正确”。

但它在人的意义上是可用的。

他走进夜色里,脚步很稳。

只是他清楚地感觉到——

今天他不是修复了一个回声。

他是第一次正式承认:

有些“终止”,不该被清空。

----------------------------------

[ENGINEER STATUS]

对象:周修一

权限等级:L4

稳定值:0.95

操作备注:

非标准参数调整×4

系统判定:

当前运行状态:正常

备注:持续观察