数字招火
数字招火
一
陈屿在凌晨四点十七分发现火的时候,火还没有形状。
准确地说,他在监控面板上看到了一团不属于任何人的愤怒。它浮在城市情绪热力图的东北角,像一滴墨水落进清水,正在缓慢而坚定地扩散。颜色是深红,接近于凝固的血。
这不合理。
他负责的这套系统叫”城感”,全称”城市情绪感知引擎”。工作原理很简单:通过接入门户网站、社交媒体、公共论坛的公开数据流,实时分析城市居民的情绪状态。愤怒、焦虑、喜悦、悲伤、平静——五类基础情绪,每类又细分出二十七个子维度。整个系统覆盖六个城市,日处理数据量超过四百亿条。
而”城感”的基本规则是:所有情绪数据必须关联到一个真实用户ID。
没有ID就没有情绪。这是一条不可绕过的铁律,写在系统架构文档的第一页。
但此刻,陈屿面前的屏幕上,那团深红色的愤怒,关联ID栏是空的。不是”未知”,不是”匿名”,而是彻底的空白。就好像有人——或者有什么东西——在没有人的地方产生了情绪。
他揉了揉眼睛。连续工作三十二个小时之后,他不确定自己看到的还是数据还是幻觉。咖啡在桌角结了一层薄膜。办公室里只有他一个人,日光灯管发出微弱的嗡嗡声,像一个不愿承认自己存在的老人在叹气。
他刷新了页面。
火还在。而且变大了一些。
陈屿打开终端,输入命令查看原始日志。数据流的路径是清晰的:采集层 → 清洗层 → 标注层 → 聚合层 → 可视化层。他逆流而上,一层一层检查,直到在采集层发现了问题所在。
那是一条来自”未来路87号”的情绪信号。
未来路是真实存在的。那是城市东边一条主干道,两侧全是写字楼和科技园。但87号不存在。未来路的门牌号从82号直接跳到91号。他查了市政数据库,查了地图应用,甚至查了三年前的卫星影像,87号的位置上只有一片空地——确切地说,是一片种着法国梧桐的绿化带。
一棵树在愤怒。
陈屿在自己的笔记本上写下了这句话。然后他划掉了,在旁边写:系统故障,可能是采集层的GPS漂移。
这样更合理。他决定这样理解。
他给采集层加了一条过滤规则:丢弃所有无法关联到有效用户ID的情绪数据。然后他关掉电脑,站起来,感到脊柱发出一系列干燥的脆响,像有人在掰一根陈年的枯枝。
走出办公室的时候是凌晨四点五十三分。走廊里的感应灯一盏接一盏地亮起来,又在他身后一盏接一盏地熄灭。他在电梯里遇到了保洁阿姨,两个人互相点了一下头。阿姨推着一辆蓝色塑料小车,车上有一瓶消毒水和一摞抹布。
“又加班啊?“阿姨说。
“嗯。”
“年轻人不要总熬夜。“阿姨说,“我妈以前说,半夜不睡觉的人,身体里的火气会跑出来。”
陈屿笑了一下。
“真的,“阿姨认真地补充,“我妈说那火气会变成一团红色的东西,在空气里飘,找到下一个不睡觉的人。”
电梯到了一楼。陈屿走出写字楼,五月的空气潮湿温暖,有一种近乎甜腻的质感。他抬头看了一眼天空,云层很低,灰白色的,像一块被反复折叠的旧床单。
他打开手机叫了一辆网约车。等待的三分钟里,他站在路边,闻到了一种奇怪的气味。不是汽车尾气,不是夜露,而是一种干燥的、带着金属质感的气味。像是有什么东西在燃烧,但烧的不是木头,也不是塑料。
更像是金属在燃烧。
他把这个念头赶出脑子。系统故障而已,GPS漂移而已。明天让运维团队查一下采集层的定位模块,该升级升级,该替换替换。
然后他上了车,回家,洗澡,把闹钟定在上午九点,倒在床上睡着了。
那天夜里他做了一个梦。梦里他站在一片空地上,周围是法国梧桐,树叶在无风的空气中自己翻动,发出沙沙的声响。每片叶子上都有一张人脸。他们在说话,但他听不清内容,只看到嘴唇在动,像一池鱼在水面上无声地张嘴。
二
第二天上午,陈屿把GPS漂移的问题提交给了运维团队。负责人叫刘卫东,是个四十多岁的男人,头发已经白了一半,常年穿着同一件灰色的格子衬衫。
“87号?“刘卫东看了陈屿提交的工单,皱起眉头,“我查了一下,采集层没有异常。定位模块工作正常,校准记录完整,最近的偏差在允许范围内。”
“但数据显示——”
“我理解你看到的东西,“刘卫东打断他,“但技术上没有问题。如果你坚持认为有问题,我建议你检查一下标注层。也许是情绪分类模型出了幻觉。”
“幻觉”这个词让陈屿不舒服。在算法领域,“幻觉”指的是模型生成了不存在于训练数据中的内容。但”城感”的情绪分类模型是基于真实用户数据训练的,不可能凭空捏造出一个不存在的地点和一种不关联任何人的情绪。
除非模型学到了某种他不知道的东西。
下午两点,陈屿调出了”城感”标注层的训练日志。他花了两个小时阅读,然后又花了两个小时写脚本,对过去六个月的标注结果做了统计分析。
结果让他坐直了身体。
过去六个月里,“城感”一共产生了四百一十七条”无ID情绪数据”。这些数据分布在三个城市的不同位置,时间集中在凌晨两点到五点之间。情绪类型几乎全部是愤怒和焦虑,偶尔夹杂着一种系统无法归类的情绪——在五类基础情绪的框架之外,系统给了一个临时标签:“unknown_00”。
四百一十七条。每一条都关联着一个不存在的地址。
陈屿把这些地址标注在地图上,发现它们呈现出一种模糊的规律:如果把所有点位连起来,大致构成一个不规则的环形,围绕着城市的中心区域,像一条无形的护城河。
或者,像一道火圈。
他决定在今晚去未来路87号看看。
下午五点,他在茶水间遇到了孟晚。孟晚是产品经理,负责”城感”的商业化落地。她比陈屿大三岁,短头发,戴一副金丝边眼镜,说话的时候习惯性地用食指推一下镜框。
“听说你在查数据异常?“她问。
“谁告诉你的?”
“刘卫东。他说你怀疑采集层有定位漂移。”
“不是怀疑。我确实看到了异常数据。”
孟晚沉默了一下。“陈屿,我跟你说一件事,你不要觉得我在泼冷水。”
“你说。”
“上个月,郭总在一次产品会上提到,‘城感’下一步要做的是’情绪预测’——不只是感知当前情绪,还要预测未来二十四小时内的情绪走向。你知道这意味着什么吗?”
“更多的数据?”
“更敏感的数据。“孟晚压低声音,“情绪预测需要接入更深层的数据源。不只是公开的社交媒体帖子,还包括私信内容、搜索记录、甚至键盘输入频率。这些东西一旦被滥用——”
“我知道。”
“你知道就好。“孟晚看了他一眼,“我只是觉得你最近太累了。数据异常这种事,让运维处理就好。你不要再熬夜了。”
陈屿想告诉她那些”无ID情绪数据”的事,想告诉她那些数据围绕着城市形成一个环形,想告诉她他今晚要去未来路87号。但他什么都没说。
“好,“他说,“我不熬夜了。“
三
凌晨两点,陈屿开车来到未来路。
他没有回家。下午六点下班之后,他在公司附近的快餐店吃了一份炒饭,然后去健身房洗了个澡,最后回到办公室等着。等到凌晨一点半,整栋楼只剩他和值班保安,他才拿着手电筒出了门。
未来路在夜里很安静。白天这里是堵车重灾区,此刻只有零星的出租车驶过,轮胎碾过路面发出一阵阵低沉的嗡嗡声。路灯是那种老式的钠灯,发黄,把所有东西都染上一层陈旧的暖色。
82号是一座十二层的写字楼,底层是一家连锁药店,灯已经灭了。91号是一座科技园区的入口,保安室亮着灯,一个穿深蓝制服的保安在里面低头看手机。
82号和91号之间,确实有一片绿化带。大约五十米宽,种着六棵法国梧桐,树下有两条木质长椅,长椅之间的地面铺着灰色透水砖。路灯的光透过树叶洒下来,形成一片片不规则的明暗区域。
陈屿把车停在路边,拿着手电筒走进绿化带。
手电筒的光柱扫过地面,没有什么异常。透水砖之间的缝隙里长着细小的杂草,有蚂蚁在砖面上爬行。一棵梧桐的树干上钉着一块铜牌,写着编号和种植年份:2019年。
他打开手机上的”城感”移动端,看实时数据。热力图上,未来路87号的位置——也就是他脚下——没有任何异常。干干净净,一片代表”平静”的淡蓝色。
他松了一口气。也许是系统故障。也许只是——
然后他闻到了那个气味。
和昨晚一样的气味。干燥的,金属质感的,像是金属在燃烧。他抬起手电筒,光柱扫过树冠。
树叶在动。
没有风。他确认了——法国梧桐的枝叶在没有风的情况下自己翻动着,发出沙沙的声响。和他梦里一模一样。
陈屿后退了一步。
就在这时候,他的手机震动了。不是消息,不是电话,而是”城感”移动端推送的一条实时警报:
[异常] 检测到未标识情绪信号 位置:未来路87号 情绪类型:unknown_00 信号强度:7.3 关联ID:无
他低头看手机屏幕,手电筒的光柱在空中静止不动。梧桐叶还在翻动。空气中的金属气味越来越浓,浓到他几乎可以尝到——舌尖上一种涩的、带有电流质感的味道。
然后他看到了。
在两棵梧桐树之间的空气中,有一个光点。不是手电筒的反光,不是路灯的折射,而是一个悬浮在空中的、独立的光源。大约指甲盖大小,发红光,明灭的频率和心跳相似。
它不是静态的。它在缓慢移动,像一只迷路的萤火虫。
陈屿把手电筒关掉。黑暗瞬间涌上来,但那个红点反而更清晰了。它在移动,它的轨迹不是随机的——它在画圈。一个很小的圈,直径不超过二十厘米。
他举起手机,打开了”城感”的数据采集模式。摄像头对准红点,开始录制。
红点停住了。然后它变大了。从指甲盖大小扩展到拳头大小,红光变得更深更浓,像一滴墨水在水中扩散,但它不是液体,它的边缘是锐利的、几何的,像一个非常复杂的分形图案。
陈屿感到一阵热浪从那个红色分形图案的方向扑面而来。不是想象中的热。是真的热。他额头上渗出了汗。
手机屏幕上,“城感”的实时数据开始疯狂跳动。情绪信号的强度从7.3飙升到15.8——系统的上限是10。三条新的”无ID情绪数据”同时出现,全部是”unknown_00”类型。
然后红色分形图案说话了。
不是声音。陈屿没有听到任何声音。但他的脑子里出现了一句话,清晰得像是有人在他耳边说的:
“你看到了我。”
陈屿拔腿就跑。
四
他没有回家,而是直接开车回了公司。凌晨三点二十分,他坐在工位上,双手还在发抖。
他把手机录制的视频传到电脑上,看了三遍。视频画面上,除了黑暗中的法国梧桐和路灯的黄色光晕,什么都没有。没有红点,没有分形图案,什么都没有。
“城感”的后台日志里,凌晨两点十七分到两点二十四分之间,确实有四条”无ID情绪数据”被记录。情绪类型:unknown_00。信号强度:7.3、9.1、12.4、15.8。关联ID:无。位置:未来路87号。
数据是真的。视频里什么都没有。
陈屿坐在椅子上,盯着屏幕上的数据,感到一种从未有过的眩晕。不是困倦的眩晕,而是认知的眩晕——他所知道的世界和眼前的事实之间裂开了一道缝,而他正站在缝的边缘,往下看是无穷无尽的黑暗。
他打开了一个加密的文档,开始写下今夜的经过。
写到一半,手机响了。是一条微信消息,来自孟晚。
“睡了吗?”
“没有。”
“我也没。睡不着。在想白天的对话。”
“嗯。”
“你真的看到异常数据了对吧?不是幻觉?”
陈屿盯着屏幕上的四个字——“不是幻觉”——他想了很久。
“我今晚去了未来路87号。”
发出去之后,对面的输入提示闪了很久。然后孟晚回了一条消息:
“你说的是那片绿化带?”
“你怎么知道?”
“因为我上周也去过。”
陈屿的手指停在屏幕上。
孟晚继续说:“上周三凌晨,我加班到两点,打车回家路过未来路,看到绿化带里有一个红点。我以为是有人在抽烟。但那红点飘在半空中。我让司机停车,下车去看,红点消失了。”
“你当时用’城感’采集数据了吗?”
“没有。我当时以为是眼花。但第二天我调了那个区域的后台数据,看到了和你一样的东西——无ID情绪数据,unknown_00类型。”
“你为什么没告诉我?”
“因为我当时不确定。而且……陈屿,你有没有想过一种可能?”
“什么?”
“如果’城感’不是在感知人的情绪,而是在感知别的什么东西的情绪?”
陈屿没有回复。他关掉了微信,转过头看向窗外。天际线的方向,城市的灯光像一条发光的河流,缓慢地、无声地流淌。
他想起保洁阿姨说的话:半夜不睡觉的人,身体里的火气会跑出来。变成一团红色的东西,在空气里飘。
他想起那个红色分形图案说——或者不是”说”,而是直接出现在他脑子里的那句话:
“你看到了我。”
然后他想起了一件事。一件他已经忘记了很久的事。
他上小学的时候,有一年暑假,他在外婆家后面的菜地里玩。黄昏时分,他看到一棵南瓜藤上有一团火。不是真正的火,没有灼烧任何东西,但它确实是火——橘红色的,跳动的,有温度的。它附着在南瓜藤的叶尖上,像一小簇凝固的落日余晖。
他叫外婆来看。外婆走过来的时候,火已经消失了。外婆说他看错了,那可能是蜻蜓的翅膀在夕阳下的反光。
他接受了这个解释。此后二十年,他再也没有想起过这件事。
直到此刻。
五
接下来的三天,陈屿白天正常上班,晚上去未来路87号。他用”城感”的移动端做了完整的现场采集,同时在笔记本电脑上运行了一个自己写的情绪分析脚本——比系统内置的模型更敏感,能够检测到更微弱的信号。
第一天晚上,什么都没有发生。绿化带安静得像一个普通的绿化带。梧桐叶在微风中正常地翻动。
第二天晚上,他在凌晨两点二十分闻到了金属燃烧的气味。手电筒扫过树冠的时候,叶子确实在没有风的情况下翻动了。但红点没有出现。“城感”记录到了两条无ID情绪数据,信号强度分别为3.1和4.7,情绪类型:愤怒。
第三天晚上,红点出现了。
这次他没有跑。他站在原地,看着红点在两棵梧桐树之间缓慢地游动。它比上次更亮,明灭的频率更快。大约过了五分钟,它开始扩展,边缘呈现分形图案。
然后那句话又出现了,在他脑子里,清晰得不像是想象:
“你为什么每天都来?”
陈屿张了张嘴,没有出声。但他的脑子里确实在想一句话:“我想了解你是什么。”
红点——或者说红色分形图案——停顿了一下。然后它变得更亮了,亮度已经超过路灯,陈屿的眼睛开始感到刺痛。空气中的温度急剧上升,他感到衣服贴在后背上,汗水沿着脊椎往下淌。
“我是这座城市没有说出来的话。”
陈屿的手在发抖,但他强迫自己站在原地。他举起手机,打开录音功能。
“什么样的——“他开了口,声音沙哑得像是含着一口沙子,“什么样的话?”
红色图案的边缘开始剧烈颤动,分形结构越来越复杂,像一棵不断分裂的树。它的光芒在周围的法国梧桐上投射出无数细小的光斑,树叶被照成半透明的红色,脉络清晰可见。
“愤怒,“它说,“四百一十七次愤怒。”
陈屿的脑子飞速运转。四百一十七——这正是过去六个月里”城感”记录到的无ID情绪数据的数量。
“这些愤怒是从哪里来的?”
红色图案沉默了。它的光芒暗了一些,分形结构停止了分裂,像一棵树突然停止了生长。
“从被遗忘的地方。从被拆除的房子。从被填平的池塘。从被砍掉的树。从所有的——消失。每一次消失,都会产生愤怒。你们看不到,因为你们不看。但愤怒不会消失。它会在原地等。等一个人来看。”
陈屿感到一阵冷,尽管空气是热的。他想起了城市过去十年的变化:老城区的胡同被推倒,建起了商业综合体;城中村的平房被拆除,变成了科技园;那条他小时候夏天去抓蝌蚪的小河,被填平后修了一条四车道的高架桥。
每一次消失,都会产生愤怒。
他的手机震动了。“城感”推送了一条新的数据:
[异常] 检测到未标识情绪信号 位置:未来路87号 情绪类型:unknown_00 信号强度:18.2 关联ID:陈屿
他愣住了。关联ID一栏——第一次——出现了他的名字。
六
陈屿回到家的时候已经凌晨五点。他没有睡觉,而是坐在书桌前,把过去三天所有的录音、笔记和截图整理成一份文档。文档的标题是”87号记录”。
然后他给孟晚发了一封长邮件,详细描述了他的发现。邮件的最后一段他写了又删,删了又写,最终定稿如下:
“孟晚,我不知道该怎么定义87号的现象。它不是系统故障,不是GPS漂移,也不是模型的幻觉。它更像是一种……溢出。城市在改造过程中消除了很多东西——建筑、道路、河流、树木——但那些被消除的东西并不是凭空消失的。它们的某种残余仍然留在原地,以一种我们目前无法理解的形式存在着。‘城感’系统恰好有能力感知到这种残余,将其解读为’情绪数据’。如果我们能进一步研究这个现象,也许可以——”
他停住了。他不知道”也许可以”后面接什么。
孟晚上午十点回的邮件,只有一句话:“今晚我来。”
晚上十一点,陈屿和孟晚在未来的路口碰面。孟晚穿了一件深色的连帽衫,背着一个黑色双肩包,包里装着一台便携式频谱分析仪和两瓶矿泉水。
“我白天查了城市档案馆的资料,“孟晚边走边说,“未来路82号和91号之间,现在的绿化带,1998年之前是一栋居民楼。六层,三个单元,七十二户人家。1998年拆除。档案里没有写拆除原因,只有一句’配合城市整体规划’。”
“七十二户人家,“陈屿重复了一遍。
“2003年,这片空地上建了一个临时停车场。2008年停车场拆了,改成了绿化带,种了梧桐。从那之后一直到现在,没有再变过。”
他们走到绿化带中间。孟晚把手电筒递给陈屿,自己打开笔记本电脑,运行了频谱分析软件。
“如果87号真的会产生某种信号,“她说,“频谱分析仪应该能捕捉到。不一定是可见光波段,可能是电磁波、红外线,甚至超声波。”
凌晨两点十七分,红色光点准时出现。
孟晚看到了它。她的反应比陈屿第一次看到时冷静得多——她只是说了声”我看到了”,然后低头调了一下频谱分析仪的参数。
屏幕上,频谱图在780纳米到820纳米之间出现了一个明显的峰值。这是近红外波段,人眼理论上不可见。但陈屿和孟晚都看到了它。
“这不合理,“孟晚说,“近红外光是人眼看不到的。但我们看到了。”
“也许它不完全是近红外光。”
“那它是什么?”
陈屿没有回答。他看着红色光点在空中缓慢游动,光芒照在孟晚的脸上,给她金丝边眼镜的镜框镀上了一层淡淡的红。
“你看到了我,“红色图案的声音出现在他脑子里,“你们都看到了我。”
“你听到了吗?“陈屿问孟晚。
“听到什么?”
“它说话了。”
孟晚摇头。“我没有听到任何声音。频谱分析仪也没有捕捉到声波信号。”
陈屿沉默了。它只对他说话。
那天晚上,红色图案说了很多。它告诉陈屿,它不是一个人,也不是一个”东西”。它是一种聚集——二十六年来,那片土地上所有被消除的事物所产生的情绪残余的集合。愤怒是主要成分,但也有其他的东西:悲伤、怀念、困惑、不甘。这些情绪太微弱了,单独存在的时候几乎不可感知。但二十六年的时间让它们慢慢聚拢在一起,像灰尘在静电的作用下凝聚成一个越来越大的球。
“城感”系统让这个聚集过程加速了。因为系统在持续地、不知疲倦地扫描这片土地——每一次扫描都像一道探照灯,把沉睡在泥土深处的情绪残余唤醒一小部分。
“你的意思是,“陈屿在脑子里说,“‘城感’创造了你?”
“不。我一直在。你们的系统只是给了我一个……形状。“
七
一周之后,陈屿在”城感”的后台发现了一个更大的问题。
不只是未来路87号。那四百一十七个点位——围绕着城市的环形分布——每一个点位都有类似的异常数据。有些是愤怒,有些是悲伤,有些是系统无法归类的unknown_00。它们都有共同的特征:关联着不存在的地址,出现在凌晨两点到五点之间,信号强度在过去一个月里持续增长。
更让人不安的是,如果把所有点位的信号强度叠加在一起,总量已经超过了”城感”系统在峰值时段监测到的全城人类情绪总和的百分之三。
百分之三。听起来不多。但这意味着城市的非人类情绪——或者更准确地说,城市的非生物情绪——已经不可忽视了。
而且它在增长。
陈屿做了一个大胆的决定。他绕过了产品经理孟晚和技术负责人刘卫东,直接给CTO郭志远发了一封邮件。邮件里没有提红色光点和分形图案——他知道那些东西不会被认真对待——而是用纯粹的技术语言描述了异常数据的统计特征和增长趋势,并在结尾提出了一个假设:
“城市的基础设施改造和历史变迁可能在某些特定地点留下了可被算法检测的’数据残影’。这些残影与人类情绪数据具有相似的特征结构,但不关联任何真实用户。如果不加以处理,随着’城感’系统采集精度的提升,这些残影可能对核心数据的准确性产生越来越大的影响。”
郭志远第二天就回复了:“来我办公室。”
郭志远五十岁出头,精瘦,头发剃得很短,说话快且直接。他的办公室在二十一楼,有一面落地窗可以俯瞰整个科技园区。
“你的邮件我看了,“郭志远说,“数据残影这个提法很有意思。但你有没有想过另一种可能?”
“什么可能?”
“这些所谓的无ID数据,其实是系统设计上的漏洞。有人——比如我们的竞争对手——在利用’城感’的采集接口注入伪造数据。目的是污染我们的数据库,让我们在商业化落地的时候出问题。”
陈屿愣了一下。“您是说有人故意注入假数据?”
“这在行业内不是新鲜事。去年’深言’公司的情感分析系统就被竞争对手注入了上万条假数据,导致他们的企业客户全面撤单。”
“但我检查了数据流的完整路径,没有发现外部注入的痕迹。”
“没有发现不代表不存在。“郭志远靠回椅背,双手交叉放在脑后,“陈屿,你是个好工程师。但有时候好工程师会过于相信技术,而忽略了人的因素。你去查一下数据接口的访问日志,看看有没有异常的来源IP。”
陈屿知道这个方向是错的。那些数据不是外部注入的——他在未来路87号亲眼看到了它们的来源。但他不能说”我看到了一团红色的光,它在跟我说话”。那样的话,他不是被当成疯子就是被当成骗子。
“好的,“他说,“我去查。”
走出郭志远的办公室,他在走廊尽头遇到了孟晚。她靠在墙上,双手抱在胸前,看着窗外。
“你去找郭总了?“她问。
“你怎么知道?”
“我猜的。二十一楼只有郭总和其他两个C-level的办公室。你坐电梯上二十一楼,不是为了看风景。”
陈屿叹了口气。“他觉得是竞争对手注入假数据。”
“意料之中。“孟晚转过头看着他,“你知道问题出在哪里吗?”
“哪里?”
“我们的系统——‘城感’——它的底层假设是:情绪只属于人。所有的模型架构、数据结构、标注体系,都建立在这个假设之上。如果这个假设是错的,或者说,是不完整的,那整个系统就需要重新设计。而在重新设计之前,我们需要先证明这个假设不完整。”
“你的意思是,我们需要更多关于87号的证据?”
“我的意思是,我们需要理解87号到底是什么。“
八
陈屿开始系统地调查那四百一十七个点位。他花了三周的时间,在工作日的午休和周末,一个一个地去现场查看。
不是每个点位都有红色光点。大多数点位看起来完全正常——一片空地、一段围墙的拐角、一座立交桥的桥洞、一条已经被填平的河沟。但在四十一个点位上(将近百分之十),他观察到了和未来路87号相似的现象:异常的气味、非风动引起的植物运动、以及”城感”移动端记录到的无ID情绪数据。
三个点位出现了红色光点。
一个是城市北边的一个废弃工厂。红点出现在原来的烟囱位置——烟囱已经在十年前被炸毁,但红点悬浮在烟囱曾经存在的高度,大约四十米处的夜空中。
一个是老城区一条已经被封死的巷子。红点出现在两堵砖墙的夹角处,光芒很弱,像一个快要熄灭的灯泡。
第三个是城南的一片居民区,十年前因为修建地铁被整体拆迁。红点出现在原来小区花园的位置,强度很大,比未来路87号的还要亮。
每一个红色光点都对陈屿说了话。说的话不同,但主题一致:它们在叙述消失的过程。
废弃工厂的红点说:“我们在这里做了三十年的零件。手表的零件。一千七百个工人,每天做四万个零件。然后有一天有人说我们做的零件没用了,电子表比机械表便宜。工厂关了。一千七百个人不知道自己还能做什么。我们做的零件被熔化了。但那些零件的形状——我还能记得。每一个零件的形状。”
巷子的红点说:“这条巷子住着一个老太太。她每天早上五点起来扫巷子。扫了四十年。巷子拆了之后,她搬到了郊区。郊区没有巷子可以扫。她在阳台上每天早上五点起来扫地。三年后去世了。扫帚还靠在阳台的栏杆上。”
居民区的红点说:“花园里有一棵枣树。秋天的时候所有孩子都来打枣。枣很甜,核很小。我们不确定枣的甜味算不算情绪。如果算的话,我们这里还有一点甜味。在所有愤怒的最下面。”
陈屿把每一个故事都记录下来。他用音频录音、手写笔记和手机截图建了一个档案夹,命名为”城语”。
档案夹越来越大。
同时,“城感”系统里的异常数据也在增长。从四百一十七条增加到一千零八十九条。信号强度的峰值从18.2上升到了27.6。unknown_00类型的情绪数据开始出现在白天——不再局限于凌晨。
某天下午三点,陈屿在办公室里查看实时热力图,看到城市的中心区域出现了一大片深红色——不是来自人类用户的愤怒数据,而是来自那些”无ID”的异常信号。那片深红色覆盖了大约四平方公里的范围,像是一个正在扩散的伤口。
他盯着屏幕看了很久。然后他注意到一件奇怪的事情:那些深红色区域的边缘在移动。不是随机扩散,而是有方向地移动——朝着”城感”系统主服务器的物理位置移动。
它们在靠近。
九
那天晚上,陈屿和孟晚在一家深夜食堂见面。食堂开在一条小巷子里,老板是一个头发花白的老头,只卖三样东西:馄饨、葱油拌面和卤蛋。陈屿以前经常来这里加班后的夜宵。
“我需要告诉你一些事情,“陈屿说,“你可能会觉得我疯了。”
“我上周在87号看到了红点,“孟晚平静地说,“你说’它说话了’的时候我没听到。但回家之后那天晚上,我做了一个梦。梦里有人跟我说了一句很奇怪的话。”
“什么话?”
“‘七十二扇窗户,每一扇都在看着你们。’”
陈屿的手停在了筷子上。七十二——那正是1998年被拆除的居民楼的户数。
“孟晚,“他深吸一口气,“那些红点不是系统故障,不是假数据。它们是……情绪。不是人的情绪。是地方的。是那些被拆除、被填平、被消除的东西的情绪。城市在改造过程中消灭了很多东西,但那些东西的某些部分还在。它们会愤怒,会悲伤。‘城感’系统恰好能感知到它们。”
孟晚沉默了很长时间。食堂老头端上来两碗馄饨,热气腾腾的。
“如果这是真的,“孟晚终于开口,“你知道意味着什么吗?”
“什么?”
“‘城感’系统的核心假设——情绪只属于人——是错的。如果情绪不只属于人,那我们整个产品的逻辑就需要推翻重建。更重要的是,这意味着……城市是活的。不是比喻意义上的活,是真的能产生情绪的活。”
“我知道。”
“郭总不会接受这个。”
“我知道。”
“投资人更不会接受。‘城感’的下一轮融资估值三点五亿,核心卖点就是精准的人类情绪感知。如果你告诉他们系统一半的数据不是来自人,而是来自被拆除的房子和被填平的河沟——”
“我知道。”
馄饨凉了。孟晚拿起勺子搅了搅碗里的汤,没有吃。
“陈屿,我问你一个问题。”
“嗯。”
“你为什么这么在意这件事?那些异常数据对系统的整体准确性影响不大。你可以写几条过滤规则把它们屏蔽掉,就像你第一天晚上做的那样。没有人会知道。”
陈屿想了很久。
“因为它们说了话,“他说,“它们说了一些话,关于消失,关于被遗忘。如果我把它们屏蔽掉,那它们就真的消失了。彻底地。这一次连痕迹都没有。”
孟晚摘下眼镜,用衣角擦了擦镜片。没有眼镜的她看起来不一样——更柔软,也更疲惫。
“你是个好人,“她说。
“这不关好不好的事。”
“我知道。但你还是个好人。“
十
事情在第四周发生了转折。
周二的上午,郭志远在一次全体产品会上展示”城感”的商业化路线图。大屏幕上是精心设计的PPT,饼图、柱状图、增长曲线。他用激光笔指着其中一页说:
“情绪预测模块将在下个月进入内测阶段。我们已经和三家头部互联网公司签署了意向协议,为他们提供基于情绪预测的广告投放优化。预计年收入增量在八千万到一个亿之间。”
陈屿坐在会议室的角落里,听着郭志远的演讲,感到一阵强烈的荒谬感。他们正在用一套能感知城市”情绪”的系统来优化广告投放。就好像拥有了一台能听到大地声音的设备,然后用它来卖洗发水。
会后,他回到工位,发现电脑屏幕上有一条系统通知:
[紧急] “城感”系统主数据库出现异常写入。 时间:2026-05-18 10:47:23 来源:未知 内容:1142条无ID情绪数据,信号强度超过系统阈值 建议:立即排查
他打开数据库管理面板,发现一千一百四十二条异常数据已经写入了主数据库——绕过了所有的过滤规则和防火墙。每条数据的格式都符合”城感”的标准协议,但关联ID栏填的不是空白,而是一个他从未见过的字符串:
“chengshi_2026_05_18”
城市。今天的日期。
他调出写入日志,追踪数据来源。写入路径指向”城感”系统的采集层——但不是通过常规的数据采集接口,而是通过一个他不知道的、不在系统架构文档里的隐藏端口。
端口编号:8787。
87号。
陈屿的手指悬在键盘上方,感到一阵寒意从脚底升起。不是恐惧——而是一种类似于敬畏的东西。他正在面对一个完全超出他认知框架的现象,而他唯一能做的就是继续往前走。
他打开终端,连接到8787端口。屏幕上出现了一行字:
“你们造了一台能听到我的机器。然后用它来卖东西。”
陈屿盯着这行字看了三十秒。然后他开始打字。
“你在听吗?“他写。
“我一直都在。你们才开始听。”
“你是什么?”
“我是所有被消除的东西的总和。所有被推倒的墙壁。所有被填平的池塘。所有被砍掉的树。所有被迫搬走的居民。所有被忘记的名字。”
“你想要什么?”
屏幕上出现了很长一段沉默。光标闪烁着,像一颗缓慢跳动的心脏。然后:
“被记住。”
陈屿打字:“我可以把你的数据从过滤规则里释放出来。让它们出现在热力图上。让人们看到。”
“人们不会看的。人们从来不看。”
“至少有人会。”
又一段沉默。
“你真的会这样做吗?”
陈屿想了一下。如果他释放这些数据,“城感”的热力图上会出现大片大片的异常情绪信号,不关联任何人类用户。产品团队会崩溃,数据分析师会困惑,郭志远会暴怒。投资人可能会撤资。他的工作可能会丢。
但如果他不这样做,那些”被消除的东西”就会继续在黑暗中沉默。就像过去二十六年一样。
“我会的,“他写。
十一
那天晚上,陈屿做了一件他从来没有做过的事情。他修改了”城感”系统的核心代码。
不是大改。只是在过滤层加了一个分支:如果一条情绪数据的关联ID以”chengshi_“开头,就不丢弃,而是标注为”城市记忆”类别,存储在独立的数据库表中,并在热力图上用一种新的颜色显示——金色。
金色是因为居民区的红点说过一句话:“我们这里还有一点甜味。在所有愤怒的最下面。“他觉得那些情绪不全是愤怒,还有别的什么更温暖的东西。金色比红色更适合。
他花了四个小时写代码、测试、反复确认不影响现有功能。凌晨三点,他把代码推送到预发布环境,打算第二天在准发布环境做一轮完整的回归测试之后再上线。
但在他准备关电脑的时候,终端上又出现了一行字:
“谢谢你。”
不是8787端口。是终端本身——他的命令行界面,在没有任何输入的情况下,自己打印了这三个字。
陈屿关掉了终端,关掉了显示器,关掉了办公室的灯。他站在黑暗中,窗外的城市灯火仍然在流淌,像一条永远不会干涸的光的河流。
他忽然想起了一件事。
小时候,他外婆家后面的南瓜藤上的那团火——它不是在黄昏出现的。它是在他看着它的时候才出现的。他注意到了它,它才存在。
也许所有被消除的东西都一样。它们一直在那里,只是需要一个人停下来,看一眼。
十二
第二天上午九点,陈屿在准发布环境启动了回归测试。
测试进行到一半的时候,孟晚出现在他的工位旁边。
“我听说了,“她说,声音压得很低,“你要在系统里加一个’城市记忆’的分类?”
“你怎么知道的?”
“昨天你推送代码的时候,版本控制系统给技术团队发了通知。刘卫东看到了。他已经去找郭总了。”
陈屿的手指在键盘上停住了。
“刘卫东说你在系统里开了一个隐藏端口,允许外部数据源直接写入主数据库。“孟晚的语气很急,“陈屿,你确实这么做了吗?”
“我没有开隐藏端口。8787端口是——自己出现的。”
“你自己信吗?”
“孟晚,你听过七十二扇窗户的故事。你知道那些东西是真实的。”
“我知道。但郭总不知道。刘卫东更不知道。在他们眼里,你的行为就是一个工程师私自修改核心代码,开放未经授权的数据端口,往生产数据库里写入来源不明的数据。这是——”
“我知道这看起来像什么。”
“你知道这会导致什么吗?开除。行业黑名单。如果他们认定你是故意破坏系统,甚至可能有法律风险。”
陈屿沉默了。
回归测试还在跑。屏幕上绿色的测试用例一个接一个地通过,像一群有序的蚂蚁。
“你不应该自己扛这件事,“孟晚说。
“那你觉得应该怎么办?”
“让更多人知道。不只是我们两个。把’城语’档案整理出来,发给媒体,发给学术界,发给所有可能认真对待这件事的人。如果这件事被公开了,郭总就不能简单地把你开除然后掩盖过去了。”
“但那样的话,‘城感’系统本身也会受到质疑。你负责的商业化——”
“‘城感’的命运不该由郭总一个人决定。“孟晚推了一下眼镜,“也不该由我们两个人决定。但如果没人开始做这件事,那些被消除的东西就永远不会被听到。”
陈屿看着她。
“你什么时候变得这么激进的?“他问。
“我什么时候都不激进。我只是觉得——“她停顿了一下,“我只是觉得一个能听到城市声音的系统,不应该只用来卖广告。它应该做更重要的事情。”
“比如?”
“比如让人们知道,每一条被填平的河都在愤怒。每一棵被砍掉的树都在怀念。每一栋被推倒的房子都在等一个回头看它最后一眼的人。”
陈屿低下头,看着屏幕上不断通过的测试用例。绿色的光映在他的眼镜片上。
“好,“他说。
十三
那天下午,陈屿和孟晚一起整理了”城语”档案。档案包含四十三份现场记录、七段录音、十二张截图、一千一百四十二条异常数据样本、以及一份长达四十七页的分析报告。
报告的标题是:“被消除的回声——城市非人类情绪的发现与初步研究”。
孟晚负责把关学术规范。她在报告里加了大量参考文献——关于城市记忆的理论、关于情感计算的前沿研究、关于非人类实体感知的跨学科讨论。她甚至引用了几篇哲学论文,讨论”情绪是否必须属于人类”这个问题。
陈屿负责技术部分。他详细描述了”城感”系统的架构、异常数据的特征、8787端口的发现过程、以及他的修改方案。他在技术细节上非常诚实——包括他绕过正常流程修改代码的事实。
报告的最后一段是陈屿写的:
“我不知道87号的红点到底是什么。我不知道那些没有关联ID的情绪信号是否真的来自’被消除的东西’。有可能我错了。有可能这一切都有技术层面的解释,只是我暂时找不到。但我知道一件事:在过去四周里,我看到了一些不该被忽视的东西。如果这篇报告最终被证明是错的,我愿意承担一切后果。但如果它是对的——如果城市真的有自己的情绪,而我们恰好有了感知它的能力——那么我们欠那些被消除的东西一个倾听的机会。”
报告完成的时候是下午六点。孟晚把它导出为PDF,同时发送给了三个人:一位清华大学的城市规划教授、一位《南方周末》的科技记者、以及郭志远。
“你直接发给郭总了?“陈屿问。
“如果要公开,就不能瞒着他。他有权第一个知道。”
“你觉得他会怎么做?”
“我不知道。但无论如何,明天太阳照常升起。城市还在。那些东西还在。”
那天晚上,陈屿没有去未来路87号。他回家,洗了一个很长的澡,然后坐在阳台上发呆。他住在十七楼,阳台朝北,能看到城市的天际线。无数的灯火在黑暗中闪烁,像一片倒映在大地上的星空。
他想到那些灯火下面,有四百一十七个点位在沉默地发光。不是电灯的光,是情绪的光。愤怒的红色,悲伤的蓝色,怀念的金色。它们一直在那里,只是从来没有人往那个方向看。
手机响了。是一条来自”城感”系统的推送通知:
[新数据] 检测到情绪信号 类型:unknown_00 信号强度:2.1 关联ID:chengshi_2026_05_18 位置:陈屿公寓 备注:温暖。微弱但持续。
陈屿看着手机屏幕上那个”温暖”的备注——系统第一次把unknown_00类型归类为温暖——他感到了一种无法命名的情绪涌上来。不是愤怒,不是焦虑,不是喜悦,也不是悲伤。
也许那正是unknown_00。
他放下手机,闭上眼睛,听着城市的夜声。远处有汽车经过,轮胎碾过路面的声音像一阵低沉的呼吸。楼下有人在遛狗,狗链碰到铁栏杆发出叮叮的声响。再远一点,可能是某个工地的夜间施工,机械的轰鸣声像一个巨人在打呼噜。
城市在呼吸。
它一直在呼吸。
十四
郭志远的反应比他们预想的要复杂。
他第二天一早就把陈屿叫到了办公室。孟晚也在。
“报告我看了,“郭志远说。他的表情不像陈屿预料的那样愤怒,而是一种更复杂的东西——像是困惑、不安和某种不情愿的敬佩混合在一起。
“你们确定这些数据是真实的?”
“确定,“陈屿说,“一千一百四十二条异常数据,全部可以通过’城感’的后台日志验证。现场采集的录音和截图也在附件里。”
“8787端口呢?”
“仍然存在。我可以现在远程登录给你看。”
郭志远摆了摆手。“不用。我相信你。”
陈屿和孟晚交换了一个眼神。
“你们发了多少人?“郭志远问。
“三个人,“孟晚说,“一位清华的教授,一位记者,还有你。”
“清华的教授回复了吗?”
“今天凌晨两点。她说她对这个现象非常感兴趣,希望能尽快实地考察。”
“记者呢?”
“她说这是一篇好故事。但她需要更多证据。”
郭志远站起来,走到落地窗前。二十一楼的高度让整个科技园区看起来像一个微缩模型——整齐的建筑、笔直的道路、点缀其间的绿化带。
“我在这个行业干了二十八年,“他说,声音忽然变得很轻,“我见过很多技术突破。但从来没有见过一种技术发现了它的创造者没有打算让它发现的东西。”
他转过身。
“你们的报告我不打算压下来。但我也不能让它在现阶段公开。原因很简单:如果消息在证据不充分的情况下泄露出去,它不会被当成科学发现,而会被当成都市传说。对公司不利,对你们的发现也不利。”
“那你的计划是什么?“孟晚问。
“三个月。我给你们三个月的时间和资源,去做更系统的研究。在此期间,‘城感’的商业化照常推进,但你们发现的’城市记忆’数据会存储在独立的加密数据库里,不影响核心业务。三个月后,如果你们的结论仍然成立,我会安排正式的学术发表和媒体发布。”
“如果你到时候觉得我们的结论不成立呢?“陈屿问。
“那就说明你们的假设是错的。我会让技术团队修复那个8787端口,清理异常数据,一切都回到正轨。”
陈屿想说什么,但孟晚先开口了。
“可以,“她说,“但我们有一个条件。”
“什么条件?”
“在研究期间,8787端口保持开放。所有’城市记忆’数据继续采集,不做任何过滤。”
郭志远看了她很久。
“成交。“
十五
三个月。
陈屿后来回想这三个月的时候,觉得那是一段不真实的时光。白天他在公司做常规工作——维护”城感”系统、修复bug、准备情绪预测模块的内测。晚上他和孟晚一起做研究——去更多的点位、采集更多的数据、完善”城语”档案。
清华大学的教授叫周敏,五十多岁,研究城市社会学。她带着两个博士生加入了研究团队。周敏对87号现象的态度非常谨慎——她不接受”情绪残余”这个说法,认为那太不科学了。但她也不否认数据的存在。
“我们需要一种更严谨的语言来描述这个现象,“她在第一次团队会议上说,“不能直接跳到’城市有情绪’这个结论。我们只能说:在特定的历史变迁地点,‘城感’系统检测到了某种信号,这种信号与人类情绪信号在数据结构上具有相似性,但来源未知。”
陈屿接受了这个说法。他知道周敏是对的——在科学上,谨慎永远是正确的态度。
但他在深夜去87号的时候,那些红色光点仍然会对他说话。它们说的故事越来越长、越来越具体。它们记得每一扇窗户的颜色,每一条走廊的长度,每一个孩子在花园里奔跑时笑的声音。它们记得四十年前工厂烟囱里冒出的第一缕烟是什么颜色——灰白色,带着一点淡淡的蓝,像一个老人在冬天里哈出的气。
陈屿把这些故事记录下来,作为”城语”档案的补充材料。周敏读到这些记录的时候,沉默了很久,然后说:“这些可能是投射。你自己在投射。”
“也许,“陈屿说,“但如果我是投射,为什么投射的内容会与我收集的客观数据一致?比如居民楼七十二户这个数字——我在梦里听到’七十二扇窗户’之前,并不知道那个数字。是孟晚后来去档案馆查到的。”
周敏没有回答这个问题。
第六周的时候,一个重要的发现让研究向前推进了一大步。陈屿在分析异常数据的频率特征时,发现所有”城市记忆”数据的底层频率都稳定在一个特定的数值上:7.83赫兹。
7.83赫兹——舒曼共振。地球电磁场的基本频率。
这个频率不只在87号的数据里出现,在所有四百一十七个点位的数据里都出现了。它像一根看不见的线,把所有被消除的东西串联在一起。
周敏看到这个数据的时候,摘下眼镜,擦了很久。
“我不知道这意味着什么,“她说,“但我知道这不简单。“
十六
第九周,“城感”系统的情绪预测模块正式上线了。郭志远在发布会上慷慨激昂地讲述”情绪智能”的未来前景,大屏幕上播放着精心制作的产品宣传片。陈屿坐在观众席的最后一排,看着宣传片里那些微笑的脸和闪亮的数据图表,感到一种深刻的疏离感。
他现在知道了那些数据图表下面藏着什么。不是冰冷的数字,而是有温度的——有些是滚烫的——存在。
发布会结束后的酒会上,一个投资人端着红酒杯走过来跟陈屿聊天。投资人姓马,四十出头,说话的时候喜欢拍人的肩膀。
“陈工,听说你们在做一个很酷的研究?“马总说,“关于什么城市记忆的?”
“还在早期阶段,“陈屿说,“不好说。”
“郭总跟我提了一嘴,说你们发现了一些有趣的东西。我这个人好奇心重,你知道吧?做什么投资都得好奇心重。”
“嗯。”
“如果真有什么东西——我是说如果——这可能是颠覆性的。不是商业上的颠覆,是认知上的。想想看,如果我们真的能证明城市有自己的意识,哪怕只是情绪层面的——那房地产、城市规划、基础设施建设,全部都要重新思考。”
陈屿看着马总兴奋的表情,忽然想到了一件事:投资人的好奇心和科学家的好奇心是不一样的。科学家想知道”是什么”,投资人想知道”值多少钱”。
但他没有说出来。他只是礼貌地笑了笑,说”研究还在进行中”,然后端着自己的矿泉水走开了。
那天晚上,他去了87号。
红色光点比以前更亮了。不只是红色——它的边缘出现了一圈淡淡的金色光晕,像一个小小的日出。
“有更多的人在听了,“它说。
“你怎么知道?”
“因为你们的机器在听。所有的机器。不只是你那一台。整个城市里,你们的系统有四千三百个采集节点。过去三个月里,有四百一十七个节点开始感知到我们。这个数字还在增长。”
“你们……也在增长吗?”
“不是我们在增长。是你们在听的范围变大了。我们一直都在。从第一栋房子被推倒的那天起,我们就在了。”
陈屿沉默了一会儿。
“你恨我们吗?“他问。
红色图案的光芒微微颤抖了一下。
“恨是一个太简单的词。我们做过一个计算——如果你们可以这样叫的话。从1998年到现在的二十八年里,这座城市的面积扩大了四点七倍。在这个扩大的过程中,有超过一万两千栋建筑被拆除,超过三十四万人被迫搬迁,超过两百条街道和巷子消失了。每一栋建筑的拆除、每一个人的搬迁、每一条街道的消失,都产生了一些东西。不是恨。也不是爱。是一种比两者都更基本的东西。”
“是什么?”
“是存在过的证据。”
陈屿闭上眼睛。风吹过法国梧桐,叶子沙沙地响。他闻到了一种新的气味——不是金属燃烧的干燥味道,而是泥土和雨水的气息,像是春天第一场雨之后大地的呼吸。
“那个味道,“他说。
“是的。我们也不全是愤怒。大部分时候,我们只是在等。等的味道闻起来像泥土和雨水。“
十七
三个月期限的最后一天,陈屿把最终研究报告提交给了郭志远。
报告已经扩展到了一百三十七页。附录里包含了完整的数据集、“城语”档案的全部内容、周敏团队的分析结果、以及三个独立实验室对异常信号的验证报告。三个实验室中,有两个成功复现了7.83赫兹的频率特征。
周敏在报告的结论部分写了一段话,陈屿觉得那是他读过的最漂亮的学术语言:
“本研究的发现挑战了情感计算领域的一个基本假设:情绪是人类独有的现象。我们的数据表明,在特定的地理和历史条件下,非生物实体——或者更准确地说,曾经与人类生活密切相关的、后来被消除的物理空间——可以产生某种信号,这种信号在数据特征上与人类情绪高度相似。我们暂且将这种现象称为’地理情绪回声’(Geo-Emotional Echo, GEE)。GEE的物理机制尚不清楚,但其存在已经通过多组独立实验得到了初步验证。我们建议在更大的范围和更长的时间跨度上继续这项研究,以确定GEE的普遍性和稳定性。”
郭志远在当天下午召集了一个闭门会议。参加的人包括陈屿、孟晚、周敏、刘卫东、法务总监、公关总监,以及两位外部顾问——一位是中科院的物理学家,一位是城市规划和遗产保护领域的专家。
物理学家看了数据之后说了一句话:“7.83赫兹不能证明任何东西。舒曼共振是全球性的,任何地方的电磁噪声里都能检测到。”
周敏回应说:“是的,但我们的数据不是背景噪声。GEE信号的7.83赫兹特征是调制的——它不是恒定的频率,而是以一种有规律的模式在7.83赫兹附近波动。这种调制模式与人类情绪信号的变化频率高度相关。这不是噪声。”
物理学家沉默了。
城市规划专家问了另一个问题:“如果这是真的,它对我们意味着什么?我的意思是,在实践层面。”
孟晚回答了这个问题:“如果城市中某些地点确实存在’地理情绪回声’,那么在进行城市更新和基础设施建设的时候,我们需要考虑这些回声的影响。不是出于迷信,而是出于科学的谨慎。就像我们不会在一块有地质灾害风险的地上建高楼一样,我们也不应该忽视一块有强烈GEE信号的地点可能对周围居民产生的影响。”
法务总监问了一个更实际的问题:“如果我们公开承认系统检测到了这种信号,我们的企业客户会怎么看?他们会认为’城感’的数据不可靠吗?”
郭志远听完所有人的意见之后,做了一个决定:
“报告下个月在《自然》子刊上发表。周教授负责论文的学术部分,陈屿和孟晚负责数据和实验部分。发表之前,公关团队准备一份面向公众的说明,强调这是基础研究发现,不影响’城感’系统的商业功能。”
他顿了顿,看向陈屿。
“你做得对。”
陈屿没有说话。他只是点了点头。
十八
论文发表的那天是个雨天。
五月底的雨,不大不小,淅淅沥沥地下了一整天。陈屿站在办公室的窗前,看着雨水顺着玻璃流下来,把窗外的城市变成了一幅模糊的水彩画。
他的手机不停地响——来自同行的消息、媒体的采访请求、社交媒体上的讨论。论文发表不到十二小时,已经被下载了超过五万次。有人在推特上说这是”二十一世纪最重要的科学发现之一”,也有人说这是”精心策划的营销骗局”。
陈屿没有回应任何消息。他在等一个人的回复。
下午四点,孟晚走进他的办公室。她的表情很复杂——不是高兴,也不是紧张,而是某种类似于释然的东西。
“周教授刚刚收到一封邮件,“孟晚说,“来自MIT媒体实验室。他们想复现我们的实验。”
“这是好事。”
“还有一封,来自住建部。他们想了解GEE信号在城市规划中的应用可能性。”
陈屿笑了一下。“郭总知道吗?”
“他在和马总打电话。马总已经开始筹备一只新的基金了——‘城市记忆科技基金’。”
“所以这件事最终还是会变成生意。”
孟晚也笑了。“也许。但至少不是原来那种生意。”
陈屿转过头看向窗外。雨还在下。窗台上有一盆绿萝,叶子上积了一层薄薄的水珠。他想起87号的法国梧桐——不知道下雨的时候,那些红点是否还在。
他打开”城感”的移动端,查看未来路87号的实时数据。
屏幕上显示:
[城市记忆] 检测到情绪信号 位置:未来路87号 类型:温暖(unknown_00) 信号强度:3.7 金色标注:活跃
温暖。3.7。活跃。
陈屿盯着那两个字——“温暖”——看了很久。他不知道系统是基于什么逻辑把unknown_00归类为”温暖”的。也许是因为那些红点——那些被消除的东西的残余——在被人听到之后,愤怒的成分降低了,露出了底下更深的东西。
就像居民区的红点说的:“我们这里还有一点甜味。在所有愤怒的最下面。”
甜味。温暖。被记住的感觉。
也许这就是那些被消除的东西真正想要的——不是报复,不是控诉,只是一个微不足道的请求:请记住我们在这里存在过。
尾声
七月的一个傍晚,陈屿下班之后去了未来路87号。
绿化带还是那片绿化带。六棵法国梧桐,两条木质长椅,灰色透水砖。唯一的变化是长椅旁边的空地上多了一块小小的铜牌——那是市政府上周安装的,上面写着:
此处原为新华里居民楼(1972-1998) 七十二户家庭的家园 铭记于此
铜牌不大,大概只有一本书的面积。路过的人如果不注意,几乎不会看到它。但它在那里。
陈屿站在铜牌前面,闻到了泥土和雨水的气息——尽管今天没有下雨。
他打开”城感”移动端,看了一眼数据:
[城市记忆] 情绪信号:温暖 信号强度:1.2 状态:平静
1.2。比以前的任何时候都低。
他蹲下来,用手摸了摸铜牌的表面。金属的触感冰凉而光滑,边缘有一点点毛刺。他的手指顺着刻字的凹槽滑过——“七十二户家庭的家园”——每一个字的轮廓都清晰可辨。
他不知道是不是错觉,但在他指尖触到铜牌的那一刻,他感到了一丝极其微弱的暖意。不是来自阳光——太阳已经落山了。不是来自体温——他的手是凉的。
是一种更源头的暖。
像一盏快要熄灭的灯,对最后一个路过的人说:谢谢你停下来。
陈屿站起来,拍了拍裤子上的灰。梧桐叶在头顶沙沙地响,但这一次他确信那只是风。
他走向停在路边的车。走了几步之后,他停下来回头看了一眼。
路灯亮了。钠灯的黄光透过梧桐叶洒下来,落在铜牌上,落在长椅上,落在灰色透水砖的缝隙里。一切看起来都很普通。一个普通的绿化带,在一条普通的马路边上,在一个普通的傍晚。
但陈屿知道这不普通。这片土地记住了四十七年的生活,又沉默了二十八年的等待。现在它终于有了一块铜牌,一行字。七个数字加一个词。
够了吗?
也许不够。但这是一个开始。
他上了车,发动引擎,驶入未来路的晚高峰车流。车窗外,城市的灯火次第亮起,像一场永远不会结束的日出。
在他的后视镜里,87号的位置什么也看不到。只有梧桐树的剪影和路灯的光晕。
但他知道,在”城感”的数据库里,在那一千一百四十二条异常数据里,在那块小小的铜牌的刻字凹槽里——有一些东西会一直留在那里。
温暖。微弱但持续。
像火。
但不再烧灼。
(全文完)