天空之外的账本
一
沈予安第一次注意到那栋楼,是在三月的某个周三。
那天北京下了今年最后一场雪,不大,落在地上就化了,像什么都没发生过。她从金融街的写字楼出来,经过西二环的立交桥,看见对面那栋灰色的建筑。二十六层,外墙贴着那种九十年代流行的白色瓷砖,几块已经脱落,露出下面灰扑扑的水泥。
她在这条路上走了三年,从未注意过这栋楼。
不是那种”见过但没留意”——而是真正的、彻底的、从未。就好像它昨天晚上才从地底长出来,连规划许可证都是半夜偷偷盖的章。
沈予安停下脚步,仰头看。六楼的一扇窗亮着灯,暖黄色的,在这个一切都是LED白光的金融街区显得格格不入。窗后有人影晃动,像是在翻什么东西。
她的手机震了一下。
评级更新。她的社会信用分从784变成了783。
扣分原因:异常停留。系统检测到她在非目的地位置停留超过47秒。
“操。“她低声骂了一句,加快脚步往地铁站走。
路上她打开手机地图,想查查那栋楼是什么。但地图上那个位置是一片空地——卫星视图和街景都是。空地上停着几辆车,边上有个报刊亭。
她揉了揉眼睛,再看一遍。还是空地。
到了家,她打开电脑,用百度街景又看了一次。还是一样:空地,报刊亭,几辆车。那栋二十六层的灰色建筑在所有的数字地图上都不存在。
但她亲眼看见了。就在今天。就在刚才。六楼的灯还亮着。
沈予安在一家叫”衡镜”的数据公司做分析师,日常工作是给企业和个人做信用画像。她比任何人都清楚:如果一个东西在所有数据库里都不存在,那它大概率是真的不存在。
但她的眼睛也告诉她另一个答案。
那天晚上她失眠了。凌晨两点,她爬起来打开笔记本,在搜索框里输入那栋楼旁边建筑的名字——“西二环南路12号院”。这是一个老旧的部委宿舍区,在网上能查到一些信息。
她找到了一张2008年的老照片。照片是某个摄影爱好者拍的,角度是从立交桥上往下看。照片右下角有个白色的建筑,只露出一个角。
她放大了那个角落。白色瓷砖。脱落了几块。
沈予安盯着那张照片看了很久。
二
第二天她决定走过去看看。
中午十二点,她从公司出来,沿着昨天的路线走。立交桥,对面——
楼还在。
这一次她看得更仔细了。一楼有个门禁,但没有保安。门边的墙上挂着一块铜牌,上面写着”天衡信息研究院”。字体很老,像是九十年代电脑排版的那种宋体。
她站在门口犹豫了几秒,门突然开了。
从里面走出来一个中年男人,穿着深蓝色的夹克,手里提着一个保温杯。他看了沈予安一眼,没说话,径直走了。
门没有自动关上。沈予安犹豫了一下,伸手扶住门,走了进去。
大厅很小,灯光昏暗,墙上贴着发黄的瓷砖。电梯是老式的,按键旁边的数字已经磨得看不清了。她按了”6”。
六楼的走廊很长,比她想象的要长。两边的门都关着,门牌号从601开始,但跳过了604、607、611——不是连号的。走廊尽头有一扇门半开着,里面传出翻纸的声音。
她走过去,敲了敲开着的门。
“进来吧。“一个女人的声音。
房间里堆满了纸。不是文件,是那种手工装订的本子,A4大小,封皮是棕色的硬纸板。每本上面都写着一个名字和一个日期。墙上贴满了打印出来的表格,密密麻麻的数字。
桌子后面坐着一个五十多岁的女人,头发花白,戴着一副老式金属框眼镜。她面前摊开一本棕色封皮的本子,正在用钢笔往上面写字。
“你是谁?“沈予安问。
“我叫周漫。“女人抬起头,推了推眼镜,“你看见这栋楼了。”
这不是问句。
“你怎么知道?”
“因为如果你看不见,你不会走进来。“周漫把钢笔放下,“这栋楼不是所有人都能看见的。准确地说,只有信用分低于800、高于750的人才能看见。”
“什么意思?”
“你不觉得奇怪吗?你的分数是783。不高不低,恰好在这个区间里。“周漫指了指她面前的本子,“我这里记录的是被抹掉的时间。每个人被算法扣去的时间、被系统吃掉的秒数、被评级吞掉的日子。”
沈予安觉得荒谬。但她没有转身离开。
“你看看这个。“周漫翻开面前那本棕色封皮的本子,推到沈予安面前。
第一页写着一个名字:李芳。
下面是密密麻麻的条目。每一行都是这样的格式——
2024.3.17 14:32:07—14:33:51|异常停留|扣2分|实际停留原因:在路边看一只受伤的猫|被抹去:104秒
2024.5.2 08:15:33—08:17:19|路线偏离|扣1分|实际偏离原因:绕路给母亲买豆浆|被抹去:106秒
2024.8.22 22:47:01—22:51:47|深夜异常活动|扣3分|实际活动:在阳台上哭|被抹去:286秒
沈予安一页一页往下翻。每一行都是一样——一个人生命中真实发生过的、微不足道的瞬间,被系统判定为”异常”,然后被扣除,被抹去。
“这些时间去了哪里?“她问。
“变成分数了。“周漫说,“你的分越高,你的时间越完整。你的分越低,你的人生就像被剪过胶片的电影——到处都是跳帧。但你不会记得那些被剪掉的部分。”
“那你是怎么记录下来的?”
周漫没有直接回答。她从抽屉里拿出另一本棕色封皮的本子,翻开,找到一页递给沈予安。
那页上写着:沈予安。
她的手指发抖。
2023.11.4 06:22:15—06:25:03|过早外出|扣2分|实际原因:去医院做胃镜|被抹去:168秒
2024.2.14 19:45:22—19:52:08|异常聚集|扣3分|实际原因:独自在餐厅吃了一顿情人节晚餐,邻桌有四对情侣,系统误判为聚集|被抹去:406秒
2024.7.9 03:01:44—03:08:31|凌晨异常|扣2分|实际原因:失眠,在客厅看了一集《东京爱情故事》|被抹去:407秒
2025.1.30 11:17:55—11:20:42|非工作日异常出行|扣1分|实际原因:去给父亲扫墓|被抹去:167秒
沈予安读着那些条目,那些她已经遗忘的瞬间突然回来了。她记得那天凌晨看完电视剧后盯着天花板发呆,但那段记忆一直是模糊的,像隔着一层毛玻璃。现在毛玻璃碎了,她看见了自己的脸。
她的眼眶热了。
“为什么……为什么是我?为什么我能看见这栋楼?”
周漫摘下眼镜擦了擦,“因为你在衡镜工作。你们公司有一半的信用评级算法模型是这个楼里的人设计的——二十年前。“
三
二十年前,这栋楼叫”天衡信息研究中心”,是某部委下属的事业单位。当时中国还没有社会信用体系,但已经开始调研。天衡负责做可行性论证。
周漫是当时的研究员之一。
“那时候我们以为自己在做一件好事。“她说。
他们设计了一套算法模型,用来评估个人的”社会贡献度”。初衷很简单:让信用好的人享受更多便利,让信用差的人受到一定约束。就像金融领域的征信系统,只不过范围更大一些。
“但我们犯了一个错误。“周漫把钢笔转了一圈,“我们把时间的价值也算进去了。”
在他们的模型里,一个人如何使用时间——几点出门、走哪条路、在哪里停留、停留多久——都被视为信用行为的指标。不是因为你做了什么坏事,而是因为你的行为模式偏离了’正常’。偏离就是风险。风险就要扣分。扣分就是抹去时间。
“你们把人的人生剪碎了。“沈予安说。
“是的。“周漫没有辩解,“但最开始的版本不是这样的。最初的算法有一个’豁免机制’——如果系统判定你的偏离行为有合理的情感原因,比如照顾家人、生病、悲伤,那些时间不会被扣除。”
“后来呢?”
“后来2012年,天衡被撤销了。不是关闭,是从所有的记录里消失。数据库清空,档案销毁,人员遣散。但这栋楼没有被拆除——它被从地图上删除了。所有的数字地图。”
“为什么?”
“因为有人发现豁免机制可以被利用。如果你能让系统相信你的行为有’情感原因’,你就能规避扣分。于是有人开始伪造情感数据——雇人在特定时间出现在特定地点,模拟’探望病人’、‘陪伴老人’的行为模式。这比黑客攻击更难检测,因为数据看起来完全合法。”
“所以他们直接删掉了豁免机制。”
“对。一刀切。从那以后,所有的偏离都是异常,所有的异常都要扣分,没有例外。”
沈予安沉默了很久。
“那你为什么还在这里?“她问。
“因为我在记录。“周漫指了指堆满房间的本子,“那些被抹去的时间并没有真的消失。它们还在——在算法的底层,在数据的缝隙里。我能看见它们,因为我写了那段代码。我知道去哪里找。”
“你把这些都写下来了?所有人的?”
“不是所有人。只有那些我能触达的。系统每隔一段时间会做一次’清洗’——把底层残留的时间数据彻底覆盖。我在清洗之前把它们抄下来。”
“用纸和笔?”
“用纸和笔。“周漫笑了一下,“这是唯一不会被算法读取的方式。“
四
沈予安回到公司后开始查天衡的资料。什么都查不到——就像周漫说的,所有记录都被清除了。但她查到了别的东西。
衡镜的创始团队里有一个人叫陈维山,现在是公司的CTO。在他的公开简历上,2003到2006年间有一段空白——没有写他在哪里工作。
天衡是2001年成立的,2006年被撤销。
她没有去问陈维山。她知道自己不应该打草惊蛇。
但她开始留意公司里一些以前从没注意过的事情。
比如:衡镜的核心评级算法每隔72小时会做一次”底层清洗”。这个操作是在凌晨三点自动执行的,没有人工介入,日志也不对外开放。她是在一次系统审计中偶然发现的。
比如:衡镜的算法团队里有三个人,他们的工号不是按入职顺序排的,而是以”TH”开头——TH-001、TH-002、TH-003。TH。天衡。
比如:公司六楼的会议室里挂着一幅画,油画,画的是一栋灰色的高楼。画框下面的铭牌上写着”天衡旧址,2003年”。
这些东西一直都在。她只是从来没有看见过。
或者说——她从来没有被允许看见过。
那天晚上她又去了那栋楼。
周漫还在六楼的房间里,还在写。沈予安在她对面坐下,看着她一笔一划地把某个人失去的时间抄写在棕色的本子上。
“我能帮你吗?“沈予安问。
“你帮不了。“周漫头也没抬,“但你可以把这些带走。”
“什么意思?”
“我快写不动了。“周漫放下钢笔,活动了一下手指。沈予安注意到她的手在抖——不是紧张,是那种长期精细劳作后的不可控震颤。“清洗的频率在加快。以前一个月一次,现在一周三次。我能记录下来的越来越少。”
“如果来不及呢?”
“那就真的消失了。不是被抹去——是彻底的、不可逆的消失。连我都记不起来。”
沈予安看着那些堆到天花板的本子。每一本都是一个人被剪碎的人生。
“我要怎么带走?”
“你在衡镜工作。你知道底层清洗的路径。你在清洗之前把数据导出来,存到这些本子里。我教你格式。”
“然后呢?”
“然后等。”
“等什么?”
周漫抬起头,看着她。眼镜后面的眼睛很平静,像一潭死水下面的暗流。
“等系统崩溃。“
五
接下来的两个月,沈予安开始了双重生活。
白天她在衡镜上班,照常做数据分析、写报告、参加会议。没有人知道她在做什么。
每周三次,凌晨两点五十分,她会远程接入公司的底层系统,在清洗程序启动之前,把那些即将被覆盖的时间数据导出来。数据量不大——每次大约几百条,每条只有几秒钟到几分钟的时长——但它们是一个个真实的瞬间。
她把这些数据打印出来,带回家,手工抄写到周漫给她的棕色本子里。
用钢笔。用纸。
在这个过程中,她读到了很多人的生活。
有一个叫张秀兰的老太太,七十二岁,信用分612。她每天早上六点出门去公园打太极,但系统判定这个时间出行”不符合老年人口常行为模式”,每次扣1分。她不知道自己为什么一直在掉分。她只知道每次去公园回来,手机上的数字又会小一点。
有一个叫刘洋的大学生,信用分723。他在去年冬天的一个深夜跑出去给女朋友送围巾,被扣了3分。那3分对应的347秒——五分多钟——他再也想不起来了。他不记得自己在那条路上看到了什么,说了什么,有没有笑。那五分钟从他的人生里被剪掉了。
有一个叫赵明远的出租车司机,信用分697。他在一个暴雨天的晚高峰绕路送一个孕妇去医院,比正常路线多了8分钟。系统判定为”路线异常”,扣4分。那8分钟消失了。他不记得孕妇在车后座哭着打电话,不记得雨刷器疯狂摆动时发出的吱嘎声,不记得自己在医院的急诊入口说了一句”母子平安就好”。
沈予安一边抄,一边想:这些时间并不长。几秒,几分,最多十几分钟。加在一起可能也就几天。但它们是一个人之所以成为那个人的原因——你选择在路边停下看一只受伤的猫,你选择在凌晨三点看一部老电视剧,你选择在暴雨中绕路送一个陌生人。这些选择定义了你。而系统把它们定义为”异常”。
她抄到第六十七本的时候,周漫出事了。
六
不是出事。是消失。
沈予安按照惯例在周四晚上去那栋楼。但这一次,六楼的走廊变短了。原本能看到尽头的门,现在只有三米远就到了墙壁。门不见了。
她上到七楼。七楼是空的——没有家具,没有灯,连灰尘都没有。干干净净的水泥地面,像刚浇筑完还没有投入使用。
她跑上八楼。一样。九楼。一样。
她一层一层往上跑,每一层都是空的。干净的、崭新的、从未被使用过的空房间。
到了二十六楼——顶楼——她推开门,看见天台上站着一个人。
不是周漫。是一个年轻男人,穿着一件洗得发白的格子衬衫,牛仔裤,帆布鞋。他站在天台的边缘,背对着她,看着远处的城市灯火。
“周漫呢?“沈予安问。
“她被清洗了。“男人没有回头。
“什么意思?”
“清洗不只是覆盖数据。清洗是覆盖一切——包括记录数据的人。周漫在这个系统里存在了二十年,因为她写的那段代码还在运行。只要代码还在,她就在。但上周三的清洗更新了底层架构,她的代码被替换了。”
“所以她……”
“不是死了。是被抹去了。就像那些时间一样——存在过,但现在不存在了。所有关于她的记录,包括她手写的那些本子——”
沈予安低头看自己手里。空了。她明明拿着两本棕色封皮的本子出门的。
”……都被清洗了?”
“被清洗了。“男人终于转过身来。他看起来三十出头,但眼睛里有一种很老的东西。“我叫吴同。我也是天衡的。”
“你也是研究员?”
“我是第一个写那个算法的人。”
沈予安盯着他。“你设计了评级算法?”
“我设计了最初的框架。豁免机制是我写的。被删掉的那个版本。“吴同走到她面前,“周漫负责记录。我负责……记住。”
“记住什么?”
“记住为什么要有豁免机制。记住人不是数据点。记住每一个’异常’背后都有一个活生生的人,在做一个只有他自己才懂的选择。”
“你为什么还在?你的代码不是也被替换了吗?”
吴同摇摇头。“我的代码在2012年被删了。但我没有被删。因为我从一开始就不在系统里。”
“什么意思?”
“我没有社会信用分。从来没有。2006年天衡被撤销的时候,我把自己从数据库里删了。所有数据库——户籍、社保、银行、电信,全部。从数字世界的角度,吴同这个人2006年就死了。”
“你怎么做到的?”
“因为我写了那些系统。“吴同的声音很平淡,像是在说一件与自己无关的事,“我知道每一层数据的结构,每一条索引的路径,每一个备份的周期。我把自己从所有的地方删掉,然后在底层留了一个锚点——一个不会被清洗的引用。只要这个锚点在,这栋楼就在。只要这栋楼在,就有人能看见被抹去的时间。”
“但现在周漫不在了。”
“所以我需要你。“
七
吴同告诉她的故事比周漫的更完整。
天衡被撤销不是官方的决定。是陈维山做的。
陈维山是天衡的技术负责人,吴同的直属上级。2005年,他发现豁免机制的漏洞后,没有选择修补,而是选择了一条更激进的路——彻底删除豁免机制,把天衡的算法简化成一个纯粹的、没有例外的评分系统,然后把这个系统卖给即将成立的社会信用体系。
“他赚了很多钱。“吴同说,“然后用这笔钱创立了衡镜。”
“衡镜不是独立公司吗?”
“没有真正的独立公司。“吴同看着远处的灯火,“陈维山卖算法的时候签了一份协议——衡镜是这套系统的民间运维方。表面上是一家数据公司,实际上是社会信用体系的后台。所有的评级、扣分、清洗,最终都经过衡镜的服务器。”
“政府知道吗?”
“政府知道有这套系统。但不知道系统的底层长什么样。陈维山在代码里留了很多后门——包括清洗程序,包括豁免机制的残留。他需要豁免机制留着,因为他自己需要。他的信用分是满分——950。但他的行为模式并不完美。他出轨,他酒后驾车,他在深夜出入一些不该去的地方。那些都应该扣分。但他给自己开了一个隐藏的豁免——只有他一个人能用的豁免。”
沈予安感到一阵恶心。
“所以清洗的真正目的是什么?”
“清洗的真正目的是清除所有可能暴露陈维山后门的数据痕迹。每一次清洗,除了覆盖那些被抹去的时间,还会清理底层日志中关于隐藏豁免的记录。周漫记录的那些时间数据只是副产品——真正被清洗的是陈维山的把柄。”
“那周漫知道吗?”
“她知道。她之所以选择记录时间,而不是直接揭露后门,是因为她知道揭露没有用——陈维山控制着所有的审计接口。唯一的方式是从外部获取证据。”
“所以我手里那些本子——”
“是证据。每一本都记录着被抹去的时间,而每一次抹去都对应着一次清洗,每一次清洗都对应着陈维山的一次豁免使用。只要把这些数据按照时间线排列,就能还原出后门的运行模式。”
“但本子被清洗了。”
“你抄写的数据被清洗了。但你脑子里的记忆没有。“吴同看着她,“你记得张秀兰每天早上六点出门打太极。你记得刘洋在冬夜给女朋友送围巾。你记得赵明远在暴雨中送孕妇去医院。那些记忆在你的脑子里,不在任何系统里。”
“你让我用记忆当证据?”
“我让你用记忆还原账本。“
八
沈予安用了三周的时间,把脑子里的记忆一条一条地写出来。
她没有用电脑。她买了十几本硬皮笔记本,用水性笔手写。每一条记录她都尽量还原——时间、人物、被抹去的原因、被扣除的分数、真实的场景。
但她发现一个问题:她不记得所有的。
她抄了六十七本,但脑子里能回忆起来的大概只有一半。剩下的一半——那些她在凌晨两点半导出的、在半梦半醒中抄写的数据——已经模糊了。
“这够了。“吴同说。
他们在天衡的天台上见面。吴同说他不能离开这栋楼——他的锚点绑定在建筑上,出去就会消失。沈予安不确定这是真是假,但她选择相信。
“怎么够?”
“因为你记得关键的一条。“吴同从口袋里掏出一张折叠的纸,“这是周漫留给你的。她在被清洗之前,把这封信塞进了二十六楼天台的一块松动的地砖下面。”
沈予安展开纸。周漫的笔迹,钢笔写的。
予安:
如果你读到这封信,说明我已经被清洗了。不要难过。被清洗不是死亡,是变成另一种存在。我现在大概是这栋楼的一部分——一块砖、一片玻璃、一根水管。听起来不赖。
你需要做两件事:
第一,把你记住的所有记录整理成一份完整的账本。不需要完美,只需要连贯。系统最怕的不是精确的数据,而是连贯的叙述——算法能检测出孤立的异常,但检测不出一个完整的故事。
第二,找到陈维山的隐藏豁免接口。接口的地址是th.tianheng.gov.cn/exempt,这个域名已经废弃了,但IP还在。你可以通过衡镜的内网访问。你会看到一个表格——那是陈维山所有的豁免记录。把它和你的账本放在一起。
然后把这两样东西交给一个人。
这个人叫方远达。他是国家审计署的人,一直在查社会信用体系的资金流向。他不知道衡镜的存在,但他知道有什么不对。你可以通过审计署的公开电话找到他。
我把方远达的手机号写在了信的背面。不要存手机里。背下来,然后把信烧掉。
去吧。把那些时间还给人。
周漫
沈予安翻过信。背面写着一行数字。她看了三遍,确认自己记住了。
然后她从口袋里掏出打火机,把信烧了。纸灰从天台飘下去,在风中散成了碎屑。
九
陈维山的豁免接口比她想象的更容易访问。
她在公司的内网输入那个IP地址,一个简陋的网页弹了出来。没有任何安全验证,甚至连登录页面都没有——就好像陈维山从来没有想过会有人从外部找到这里。
页面是一个表格。每一行是一次豁免记录。
沈予安往下滚动。
2024.1.15 02:34:12|酒后驾车|三里屯至朝阳区|应扣5分|豁免|原因:私人
2024.3.22 23:47:08|出入异常场所|东城区某会所|应扣4分|豁免|原因:私人
2024.5.7 14:22:31|异常聚集|朝阳区某私人住宅|应扣3分|豁免|原因:私人
2024.8.19 01:15:44|深夜异常|海淀区某小区|应扣2分|豁免|原因:私人
2024.11.3 03:08:27|凌晨异常|朝阳区某酒店|应扣3分|豁免|原因:私人
2025.2.14 22:33:51|异常消费|某高端礼品店|应扣1分|豁免原因:私人
两百多条记录。从2018年到2025年。每一条都是”私人”。
沈予安没有截图。她知道截图会被系统检测到。她用了最笨的方式——用手机对着电脑屏幕拍了照。不是截图,是物理拍照。就像周漫用纸和笔一样。
然后她清除了浏览器历史记录,关掉了电脑。
十
方远达比她想象中年轻。四十出头,戴眼镜,说话很慢,像是在斟酌每一个字的重量。
他们约在审计署附近的一个小面馆见面。沈予安带了两样东西:手写的账本,和一叠打印出来的照片。
“这是什么?“方远达看着桌上的本子。
“证据。“沈予安说,“社会信用体系的底层算法有一个设计缺陷——它把所有人的’异常行为’对应的时间从记忆中抹去,并且定期清洗底层数据。同时,系统的运维方——衡镜数据公司——的创始人陈维山在系统里留了一个后门,让他自己可以无限次豁免扣分。”
方远达没有立刻说话。他拿起一本棕色封皮的本子,翻开,读了几页。
“你是怎么拿到这些的?”
“我不能告诉你来源。但你可以验证。”
“怎么验证?”
“你可以找几个信用分在750到800之间的人,问他们是否有过这样的体验——在某个时刻做了某件事,但事后记忆模糊,像是有几分钟被剪掉了。然后对照这个账本上的记录。如果对得上,就说明账本是真实的。”
方远达放下本子,看着她。
“你知道这意味着什么吗?”
“意味着有人把人的人生当成了数据。而数据是可以被修改、删除、清洗的。”
“不。这意味着整个信用体系的合法性都会被质疑。不是小修小补的问题——是推倒重来的问题。”
“那不应该吗?”
方远达沉默了很久。面馆的老板端了两碗面过来,热气在两个人之间升腾。
“我需要时间。“他说。
“你没有太多时间。“沈予安说,“清洗的频率在加快。这些账本里的数据——“她指了指桌上的本子,“——对应的底层记录随时可能被覆盖。一旦覆盖,就无法验证了。”
“给我三天。”
“两天。”
方远达看着她,然后点了点头。
十一
沈予安在等方远达回复的两天里,做了一件事。
她去找了张秀兰。
账本里记录的那个老太太,七十二岁,住在西城区的一个老旧小区里。沈予安按着地址找到了那栋楼——五层,没有电梯,楼道里贴满了小广告。
张秀兰开了门。她比沈予安想象的要瘦小,穿着一件灰色的毛衣,头发全白了,但眼睛很亮。
“你好,请问是张秀兰阿姨吗?”
“是我。你是谁?”
“我叫沈予安。我是做数据分析的。“她犹豫了一下,“我想问你一个问题。你每天早上会去公园打太极吗?”
张秀兰的表情变了。不是警惕,是一种奇怪的茫然。
“我去……但我最近总觉得少点什么。“她皱着眉头,“我每天六点出门,走到公园,打一个小时的太极,然后回来。但我回到家的时候,总觉得——好像忘了什么。不是忘了带钥匙那种忘,是有一段时间空白的忘。”
“你知道你的信用分是多少吗?”
“六百多。不高。“张秀兰叹了口气,“我也不知道为什么。我又没干坏事。”
沈予安从包里拿出那本写着张秀兰名字的棕色本子,翻开第一页。
“阿姨,2023年9月3号早上六点十二分,你在去公园的路上停下来,扶了一个摔倒在地的老人。你扶了他三分钟,等他自己站起来。这件事你还记得吗?”
张秀兰愣住了。她的眼睛里有东西在动,像是一扇很久没有打开过的窗户正在被从里面推开。
“我……好像有点印象。”
“系统判定你的停留是’异常行为’,扣了2分。你扶人的那三分钟从你的记忆里被抹去了。”
张秀兰的手开始抖。
“但我记得……我记得那个人穿了一件深蓝色的外套。他摔在人行道上了。膝盖破了皮。我用兜里的纸巾给他擦了擦。”
“对。“沈予安说,“你就是这样做的。”
张秀兰的眼泪掉下来了。不是伤心的泪,是那种突然找回了一件珍贵之物的释然。
“它们把我的善良都给吃了。“她说。
沈予安没有说话。她把本子留在张秀兰家里,告诉她好好保管,不要给任何人看。
十二
方远达在第二天的傍晚打来电话。
“我验证了。“他的声音压得很低,像是怕被谁听到,“你说的那些人,我找了四个,全都对得上。有一个大学生——刘洋——他记得那个冬天晚上给女朋友送围巾的事,但他一直以为那是一个梦。他说他记得那条围巾的颜色,记得风很冷,但中间有一段是完全空白的。他女朋友后来跟他分手了,他不记得分手前最后一次见面时说了什么。”
“你的账本上有那条记录吗?”
“有。他送完围巾之后在楼下站了七分钟,因为女朋友让他等一下她换件外套一起出去走走。系统判定那七分钟是’异常停留’,扣了2分。那七分钟被抹去了。他们最后一次散步、最后一次说话,都不在了。”
沈予安闭上眼睛。
“我准备启动正式审计。“方远达说,“但你要做好准备——这件事一旦启动,你会成为目标。陈维山不会坐视不管。”
“我知道。”
“你现在在衡镜还有权限吗?”
“有。”
“最后一次清洗是什么时候?”
“明天凌晨三点。”
“我需要你在清洗之前,把陈维山的豁免接口做一个完整的数据导出。不是拍照——这次需要系统层面的导出。你能做到吗?”
“我能。“沈予安说,“但我有一个条件。”
“说。”
“审计完成之后,那些被抹去的时间——能还给那些人吗?”
方远达沉默了几秒。
“我不确定技术上能不能做到。但我可以保证,在审计报告里,这条会是核心诉求之一。”
“那就够了。“
十三
凌晨两点五十分。
沈予安坐在家里的书桌前,笔记本电脑打开,远程连接到衡镜的内网。她第一次感到恐惧——不是对失败的恐惧,是对被发现的恐惧。如果陈维山在系统里还留了别的后门——一个监测未经授权访问的后门——她现在可能已经暴露了。
她深吸一口气,在浏览器里输入那个IP地址。
豁免接口的页面弹了出来。和上次一样,没有安全验证。
她用命令行工具做了一个完整的数据导出。SQL格式的,包含了所有的字段——时间、地点、扣分原因、豁免状态、操作者ID。三百一十七条记录。每一条都是陈维山买来的”正常”。
导出完成。文件保存在她的U盘里。
两点五十七分。
她正准备断开连接,屏幕上突然跳出一个弹窗。
系统提示:检测到异常数据导出操作。操作者:沈予安(工号HJ-2019-0287)。已通知系统管理员。
她的血凉了。
三秒后,手机响了。是陈维山的号码。
她没有接。
手机又响了。她还是没有接。
第三遍。她按下静音。
然后她拔掉了网线,关上了笔记本电脑,把U盘攥在手心里。
十四
她从公寓出来的时候是凌晨三点零五分。街上几乎没有车。
她走了两条街到公交站,然后想起来这个时间没有公交车。她叫了一辆出租车。
“去哪?“司机是个中年男人,头也不抬地问。
“西二环南路。立交桥旁边。”
“那边没什么东西啊。”
“有。你到了就知道了。”
出租车在空旷的街头行驶。沈予安把手插在口袋里,手指攥着U盘。她的手心全是汗。
她在想一件事:如果陈维山已经知道她做了什么,他会在凌晨三点的清洗里做什么?
答案是显而易见的——他会把她从系统里删掉。就像他删掉吴同、删掉周漫一样。不对,吴同是自己删的自己。但周漫是被迫的。
如果她被删了,U盘里的数据还在。U盘是物理的。不在任何系统里。
但如果她被删了,方远达怎么找到她?她没有方远达的号码存在手机里——她是背下来的。但如果她被”清洗”了,她会不会连方远达都忘了?
出租车停了。
“到了。“司机说,“但我没看见什么楼啊。就一片空地。”
“你看不见。“沈予安把车费付了,下了车。
她看见那栋楼了。二十六层,白色瓷砖。一楼门禁开着,像是在等她。
她跑进去,坐电梯上了二十六楼。天台的门开着,吴同站在那里,看着她。
“你被发现了。“他说。
“你怎么知道?”
“因为楼在抖。”
沈予安低头看脚下。确实——地面在轻微地震动,像是某种频率很高的振荡。
“这是什么?”
“清洗在升级。这次不是覆盖数据——是覆盖整栋楼。陈维山知道锚点在这里。他要连楼一起删掉。”
“那我需要——”
“你需要走。“吴同说,“现在就走。带着U盘。去找方远达。”
“你呢?”
“我留在这里。锚点需要有人守着。只要我在,楼就不会倒。至少不会在你离开之前倒。”
“但你会——”
“我2006年就’死’了。“吴同笑了一下,“多活二十年已经赚了。”
楼在抖得更厉害了。走廊的灯开始闪烁。
沈予安转身往电梯跑。电梯不动了——断电了。她推开消防通道的门,从二十六楼开始往下跑。
楼梯在抖。墙壁在发出一种低沉的嗡鸣声,像整栋楼在哀鸣。
她跑到十二楼的时候,听到上面传来一声巨响。像是什么东西塌了。她没有回头。
跑到六楼的时候,她经过那间堆满本子的房间。门开着,里面空了。所有的本子都消失了——棕色的封皮、钢笔的字迹、被抄写的人生。全部不在了。只有一张桌子,和一把椅子。
周漫的椅子。
她跑到一楼的时候,大门已经变了。不是那种九十年代的玻璃门了——变成了一面白墙。白墙正在从边缘开始消失,像是被一块橡皮擦一点一点地擦掉。
沈予安从还剩下的一半门洞里冲了出去。
她站在人行道上,回头。
那栋楼还在。二十六层。白色瓷砖。但它在变透明。从顶层开始,一寸一寸地变成空气。
六楼的窗户——周漫房间的窗户——最后消失。那扇窗里透出的暖黄色灯光,在楼完全消失之后,又在空气中停留了几秒钟,然后熄灭了。
就好像有人在离开前关了灯。
十五
方远达在审计署的办公室里收到了一个快递。
没有寄件人。只有一个U盘。
他把U盘插进一台没有联网的电脑。里面只有一个文件——一个SQL数据库,三百一十七条记录。每一条都是一个叫陈维山的人使用后门豁免信用扣分的记录。
方远达花了四个小时分析了这些数据。然后他打了三个电话。
第一个打给了审计署的署长。
第二个打给了网信办的一位副主任。
第三个打给了沈予安的手机。
没有人接。
他又打了三遍。还是没有人接。
方远达打开公安系统查了沈予安的信息。
系统显示:查无此人。
他查户籍。查无此人。
查社保。查无此人。
查手机号归属。空号。
他坐在办公椅上,看着屏幕上的”查无此人”四个字,后背出了一层冷汗。
然后他打开那个SQL文件,在第三百一十七条记录之后,发现了一段注释。注释是这样写的:
这不是全部。还有六十七本手写的账本,记录着被抹去的时间。账本已经消失了,但记忆还在人的脑子里。去找那些人。问他们:你有没有觉得自己的记忆里少了什么?
每一个人都是一本账本。
——沈予安
十六
审计在两周后启动了。
方远达带着团队进驻衡镜数据公司。陈维山在审计组到达的前一天”出差”了,手机关机,家里没人。三天后他在深圳湾口岸被截住——他试图出境去香港。
审计报告在三个月后发布。
报告确认:衡镜数据公司运营的社会信用评级系统存在系统性设计缺陷,导致超过八千万名用户的时间记忆被非授权抹除。同时,系统存在一个隐藏的豁免后门,仅对特定用户开放。
陈维山被逮捕。
但沈予安始终没有找到。
方远达去了那片空地。就在西二环立交桥旁边,那片在所有地图上都是空地的地方。
他站在那里,什么也看不见。空地就是空地。报刊亭还在,几辆车停着。
但他的手机震了一下。
他掏出手机看了一眼。信用分从807变成了806。
扣分原因:异常停留。系统检测到他在非目的地位置停留超过47秒。
方远达看着那个数字,突然觉得有什么东西在脑海深处晃动了一下。一个模糊的画面——一栋灰色的楼,二十六层,白色瓷砖,几块脱落了。六楼有一扇窗亮着暖黄色的灯。
他使劲想抓住那个画面,但它像水一样从指缝间漏掉了。
然后手机又震了一下。
一条短信。没有来源号码。内容只有一句话:
去找张秀兰。西城区宣武门外大街127号4单元302。
方远达盯着那条短信看了很久。然后他把它抄在了一张纸上,删掉了短信。
十七
张秀兰给方远达开了门。
她的客厅里有一本棕色封皮的本子。硬纸板,手工装订,用钢笔写的字。
“这是一个姑娘留给我的。“张秀兰说,“她叫沈予安。她说这里面记着我还做过的好事。”
方远达翻开本子。
第一页写着张秀兰的名字。下面是一条一条的记录。每一次扶人、每一次停留、每一次被系统判定为”异常”的善良。
他翻到最后一页。最后一行写着——
2026.3.17 14:32:07—14:33:51|异常停留|应扣2分|实际停留原因:在西二环立交桥旁站了104秒,看见了一栋在所有地图上都不存在的楼|被抹去:104秒
备注:这104秒改变了她的余生。
方远达合上本子。
“阿姨,那个姑娘——沈予安——后来还来过吗?”
张秀兰摇摇头。“没有。但我有时候会梦见她。在梦里她站在一栋楼上,在天台上,往下看着我。她的头发被风吹乱了,但她在笑。”
方远达没有说话。
他站在窗边往外看。窗外是北京灰蒙蒙的天。远处有一片空地,在两栋高楼之间。他以前路过那里无数次,从来没有注意过。
现在他看清楚了。那片空地上什么都没有。
但他知道,曾经有过一栋楼。
尾声
2026年9月,审计署公布了对衡镜数据公司的最终审计报告。报告建议暂停社会信用体系中所有涉及”行为时间分析”的算法模块,并成立独立的技术伦理审查委员会。
报告中有一段话,后来被很多人引用:
“信用系统的初衷是建立信任。但信任的基础不是监控,而是理解。当我们用算法判定一个人的行为是否’正常’时,我们实际上是在说:偏离就是错误。然而人类之所以成为人类,恰恰是因为我们有能力在任何时刻做出偏离——停下来扶一个陌生人,在凌晨三点看一部老电影,在暴雨中为不认识的人绕路。这些偏离不是异常。这些偏离是善良。”
这段话的下方有一个脚注,标注了引用来源:沈予安手稿。
没有人知道沈予安是谁。
在所有的数据库里,她都不存在。
但在西城区宣武门外大街127号4单元302的张秀兰家里,有一本棕色封皮的本子。在本子的最后一页,有沈予安留下的最后一行字:
所有的账本都会被清洗,但善良不会。它活在人的身体里,在那些被抹去的秒数中,在你突然想不起来但又觉得心里空了一块的地方。
你没有忘记。你只是被忘记了。
而我在这里,就是为了记起。
北京西二环立交桥旁边的那片空地,后来盖了一座公园。公园很小,只有两棵银杏树和一张长椅。
长椅的靠背上有人刻了一行字,字迹很浅,不仔细看看不出来:
天衡信息研究院旧址(2001—2006)
没有人知道是谁刻的。
公园建成的那天是秋天,银杏叶黄了,风一吹就落了满地。张秀兰打了完太极回来,路过那张长椅,坐下来歇了一会儿。
阳光从银杏叶的缝隙间落下来,落在她膝盖上那本棕色封皮的本子上。
暖黄色的。
像一盏灯。
(全文完)