赤子信用之城

招魂者 · 2026/5/17

赤子信用之城

一、余额不足

陆鸣在凌晨三点十七分被一条短信惊醒。

不是催收。催收他习惯了。是他的信用评分——那个被刻在身份证芯片里、显示在每一块公共屏幕上、决定他能不能坐地铁和买感冒药的数字——从四百一十二降到了三百九十八。

三百九十八。他盯着天花板上的霉斑默念了这个数字三遍。三百九十八意味着什么?意味着他明天不能进入任何需要信用四百分以上的公共场所。包括他上班的那栋写字楼。

他翻了个身,手机屏幕的光照在他脸上,像审讯室的灯。

“陆鸣先生,您的综合信用评分为398分,低于’城市公民基本信用阈值’(400分)。根据《赤子信用城市管理细则》第十七条,您的以下权限将被暂时冻结:公共交通(含地铁、公交、共享单车)、商务楼宇通行、医疗优先挂号、在线支付透支额度。您的信用恢复方案已推送至’赤子信’App,请在72小时内完成至少一项信用修复任务。”

他不用打开App也知道那些”信用修复任务”是什么。无非是:完成一份征信问卷(+2分),参加社区志愿劳动两小时(+5分),举报一次违规行为(+3分,若查实+8分),或者——最快的——偿还一笔欠款。

他欠了十七万三千四百块。

不是房贷,不是车贷。是”赤子信用城”特有的”基础生活信用贷”。两年前他搬进这座城市时,必须缴纳一笔”信用保证金”才能获得居民身份。他没有那么多现金,于是选择了贷款。利率不高,年化百分之四点七,看起来很温柔。但赤子城的利息不是线性增长的,而是和你的信用评分挂钩。评分越高,利率越低;评分越低,利率越高。

他现在的评分是三百九十八。对应的年化利率是百分之二十三。

陆鸣把手机扣在枕头下面,听着隔壁传来的鼾声。那是一个叫赵全通的中年男人,送外卖的,信用评分六百出头,每天骑电动车在大街小巷穿梭,手机支架上永远亮着导航和倒计时。

赤子城从不睡觉。窗外能听到二十四小时运转的信用监测无人机发出的嗡嗡声,像一群永不疲倦的蜜蜂。它们每隔十五分钟扫过一次每栋楼的外墙,读取每个窗口里住户的信用芯片信号。你的位置、你的评分、你的消费记录、你的社交频率——一切都是数据,一切都在流动。

陆鸣今年三十一岁,程序员,在一家叫”维度科技”的公司做后端开发。维度科技是赤子城信用系统的一级承包商,负责维护”赤子信”App的后台服务器。说白了,他参与建造了囚禁自己的那个系统。

他以前不这么想。三年前他刚从北京南下的时候,觉得赤子城是个了不起的实验。全国第一个”信用驱动型智慧城市”,用数据替代人情,用算法替代官僚,用评分替代关系网。多好,多公平。他甚至在一篇技术博客里写道:“信用系统是代码写给现实世界的一首诗。”

现在他觉得自己是诗里的一个错别字。

二、信用修复

早上六点,陆鸣的闹钟响了。不是手机的闹钟——手机在凌晨四点就因为”支付权限受限”自动关闭了所有非必要功能——而是他花三十五块在夜市上买的那只机械闹钟。上发条的那种。赤子城的大部分人不用这种东西,因为它没有芯片,不连网,不在任何数据库里留下痕迹。陆鸣觉得这恰恰是它的优点。

他洗了脸,穿好衣服,站在门口犹豫了三秒。今天不能坐地铁,不能骑共享单车。他有两个选择:走路去公司,大约四十五分钟;或者试试”信用修复任务”。

他打开了”赤子信”App。

界面是暖色调的,橙红色和奶白色,像一个永远微笑的面孔。顶部是他的头像和信用评分,数字用大号字体显示,旁边是一个向上的箭头——当然,箭头是灰色的,因为他已经连续九十天没有涨过分了。

“今日推荐修复任务”——

任务一:社区环保巡查(+5分) 在指定区域进行两小时环境巡查,通过App上传至少20张现场照片,标注违规垃圾堆放点。需消耗体力值:中。

任务二:征信知识答题(+2分) 完成一套50题的征信知识测试,正确率需达到80%以上。限时30分钟。

任务三:信用监督员(+3-8分) 在公共场所发现并举报违反《赤子信用城市管理细则》的行为。需提供照片或视频证据。

任务四:紧急信用贷还款(评分恢复至对应还款比例) 偿还部分或全部欠款,评分将根据还款比例实时调整。

陆鸣点了任务二。他做过程序员,征信系统的逻辑他比出题人都清楚。五十道题,三十分钟,他八分钟就做完了,正确率百分之百。

+2分。

评分变成四百。

四百是”基本阈值”,意味着他的权限恢复了——但只是”基本权限”。地铁可以坐了,但只能坐普通车厢;写字楼可以进了,但电梯的优先级最低,得等所有人上完了才能进。

他出门的时候,在楼道里碰到了赵全通。赵全通正在弯腰系鞋带,电动车头盔夹在腋下。

“陆工,早啊。“赵全通抬头笑了笑,露出被烟熏黄的牙齿,“今天脸色不错,涨分了?”

“涨了两分。“陆鸣说。

“两分也是分。“赵全通拍了拍他的肩膀,手掌很热,带着外卖箱的塑料味,“我上个月涨了十一分,全靠举报。你知道吗,凤凰路那家奶茶店,乱倒废水,我拍了视频举报的,一次加了八分。”

“那家店后来怎么样了?”

“关门了。老板信用分降到二百以下,连租房的资格都没了。“赵全通的语气里没有幸灾乐祸,但也没有同情。在赤子城,这是正常的。信用系统像一个精确的天平,你只需要遵守规则,天平就不会倾斜。至于天平另一端压着什么——没人问。

陆鸣走出小区大门,沿着梧桐树荫下的人行道往地铁站走。夏天的赤子城很热,空气里有一股说不清的甜味——据说这是市政府在空气净化系统里添加的”城市香氛”,为了让市民保持愉悦的情绪。陆鸣每次闻到这个味道都觉得自己像被喷了香水的水果。

地铁站入口的闸机亮着蓝光。他刷了身份证,闸机发出一声轻微的”嘀”,屏幕上显示出他的评分:400分。闸机打开了,但方向指示灯指向最右边的通道——那是信用四百分到四百五十分之间的”基础通道”,窄得只能一人通过,地面是水泥的,不像中间那些信用五百以上的通道铺着灰色大理石。

他挤进地铁车厢,找了个角落站着。车厢里的电子屏在播放”赤子信用城城市宣传片”:一个穿白衬衫的年轻人从床上弹起来,微笑着跑过铺满阳光的街道,和邻居打招呼,在咖啡店刷脸支付,走进一栋摩天大楼——屏幕下方是一行字:“信用,让生活更美好。”

陆鸣觉得自己可能需要另一句口号:“信用,让你意识到生活本来没那么美好。“

三、维度科技

维度科技在赤子城的科技园区,一栋七层高的白色建筑。外墙是弧面玻璃,在阳光下像一块巨大的镜片。每天早上,玻璃上映出的不是天空,而是对面那栋”赤子城信用管理中心”大楼——一栋三十二层的黑色方形建筑,像一枚竖起来的公章。

陆鸣刷卡进了公司,在工位上坐下,打开电脑。

他的工作是维护”赤子信”App的后台服务——具体来说,是”评分引擎”模块。评分引擎是整个信用系统的核心,它每秒钟处理超过八十万条数据:消费记录、出行轨迹、社交频率、还款历史、违规记录、健康数据、教育背景、职业信息……所有这些数据被输入一个叫”赤子算法”的模型,然后输出一个零到一千的数字。

一千分是满分。据说全赤子城只有一个人拿到过一千分——是信用系统上线那天,第一任市长。但他第二天就降到了九百九十八,因为他参加了一个没有提前报备的私人聚餐。

陆鸣从来没见过”赤子算法”的完整代码。他见到的只是模块——评分引擎的输入输出接口、数据清洗管道、缓存层。核心算法被封装在一个叫”赤子核心”的黑盒子里,只有三个人有权限打开它:公司的CTO孙海洋、信用管理中心的技术总监、以及一个没人见过的”系统架构师”。

今天是周四,每周四上午十点有例会。陆鸣泡了一杯速溶咖啡(公司茶水间的咖啡豆机需要信用五百分以上才能使用),走进会议室。

孙海洋已经在了。他四十出头,穿一件深蓝色的Polo衫,手腕上戴着一块智能手表——不是普通的智能手表,是赤子城特供的”信用伴侣”,可以实时监测心率、血压和体温,数据直接上传到信用系统。孙海洋的信用评分是八百七十,公司内部最高。

“陆鸣,“孙海洋看到他进来,点了点头,“你的评分怎么了?上个月还是四百三吧。”

“降了。“陆鸣坐下来,没有展开说。

孙海洋没有追问。在维度科技,低信用不是什么光彩的事,但也不是什么稀奇的事。这栋楼里有七十多个程序员,其中一半人的评分在五百以下。他们建造信用系统,却被信用系统判定为”信用欠佳”。这就像修路的工人买不起车一样,正常,但不体面。

例会的内容很常规:上周的评分引擎响应时间偏长,需要优化缓存策略;新版App要加入”信用预测”功能,用户可以预览自己未来七天的评分变化趋势;还有一个新的需求——信用管理中心希望增加”社交信用”的权重。

“社交信用”是指用户在社交网络上的行为数据:发帖频率、点赞数、举报次数、被举报次数、好友的信用均值……这些数据之前只占评分权重的百分之三,现在信用管理中心希望提升到百分之八。

“百分之八?“坐在陆鸣对面的女程序员周也忍不住开口了,“那意味着如果我的朋友圈里有三个低信用的人,我的评分就会直接被拉低?”

“技术上是这样。“孙海洋说,“但系统会做一个’社交距离衰减’处理——关系越远的联系人对你的影响越小。只有频繁互动的好友才会有显著影响。”

“那不就等于鼓励大家删掉低信用的朋友?“周也说。

会议室安静了两秒。孙海洋看了她一眼,那眼神不是责备,而是一种微妙的疲惫,像是听过太多次这个问题。

“我们是乙方,“他说,“甲方要什么,我们就做什么。这个需求下周三之前交方案。”

散会后,陆鸣回到工位,打开”赤子核心”的外部接口文档。他知道自己看不到核心代码,但他可以看接口的输入输出规范。

接口很简单。输入:用户ID、时间戳、数据包(JSON格式)。输出:评分、评分变动说明、信用等级。

他盯着”评分变动说明”这个字段看了很久。在技术文档里,这个字段的描述是:“系统自动生成的评分变动原因摘要,供用户参考。”

但陆鸣知道,这个字段的内容不是真正的”原因”。它只是系统根据预设模板生成的一段话——“您的消费行为良好""您的还款记录有待改善""您的社交活跃度偏低”之类的。真正的计算过程发生在”赤子核心”里面,没有人知道那里面到底在算什么。

他用测试账号调了一次接口,输入了一组伪造的数据,看返回结果。评分变动说明里有一句话引起了他的注意:

“您的心跳数据存在异常波动,建议保持规律作息。”

他愣了一下。心跳数据?他知道信用系统采集健康数据,但他没想到心跳数据会影响评分。他翻了翻数据包的字段列表,果然找到了一个叫heart_rate_variance的字段——心率变异性。这个字段的权重描述是”健康因子”,占比百分之二。

百分之二听起来很少。但对于一个四百分的用户来说,百分之二就是八分。八分意味着从”冻结”到”解冻”。

他的心率变异性为什么会异常?他想了想,大概是因为他昨晚失眠了。凌晨三点被惊醒,然后一直没睡着,心跳肯定是乱的。而他的”信用伴侣”——他手腕上那块和孙海洋同款的智能手表——忠实地记录了一切,然后上传给了系统。

系统判定:此人凌晨三点心跳异常,睡眠质量差,健康因子扣分。

陆鸣突然有一种很荒诞的感觉。他失眠了,所以信用降了;信用降了,所以他更焦虑;更焦虑了,所以他会继续失眠。这是一个完美的闭环,像一条咬住自己尾巴的蛇。

四、地下信贷

下午四点,陆鸣收到了一条微信。是他大学同学方远发来的。

方远在深圳做风投,前几年赚了不少钱,信用评分据说在八百以上。他们上次见面是半年前,方远来赤子城出差,请他吃了一顿日料——人均三百,方远刷脸支付的,全程没有看价格。

“老陆,最近怎么样?“方远问。

“还行。你呢?”

“我有个事想跟你聊聊。你知道’赤子基金’吗?”

陆鸣知道。赤子基金是赤子城最大的信用投资基金,由市政府和几家大型科技公司联合设立。它不投资企业,而是投资”信用”。具体来说,它购买市民的”信用收益权”——你可以把自己的信用评分的未来增值收益卖给基金,换取一笔现金。

听起来有点抽象,但逻辑很简单:如果你现在信用分是六百,你相信自己一年后能涨到七百,那你可以把”从六百到七百这段时间内信用增值带来的所有好处”——比如更低的贷款利率、更高的消费额度、更好的公共资源使用权——打包卖给赤子基金,基金现在就给你一笔钱。

这本质上是一种期货。你在赌自己的信用会变好。

“赤子基金现在想做一款新产品,“方远说,“叫’信用接力贷’。你听说过没有?”

“没有。”

“简单说就是——如果你的信用分不够,你可以找一个高信用的人做’信用担保人’。他的信用分可以暂时’借’给你用。当然,不是免费的。你需要支付一定的’信用使用费’。”

陆鸣沉默了几秒。

“这不就是……信用版的高利贷吗?“他说。

“别说得那么难听。“方远笑了,“这是金融创新。赤子城的信用系统已经运行了三年,市场需要一个更灵活的信用流通机制。你想想,那些高信用的人,他们的信用分就是资产。资产不流通就是死钱。‘信用接力贷’让信用流动起来,让需要的人用得上,让拥有的人赚到钱。双赢。”

“那风险呢?担保人如果出了事——”

“有风险控制机制。担保人的信用分只是’临时借用’,不会真的扣减。而且每次借用的上限是五十分,最长期限三十天。到期自动归还。”

陆鸣想说些什么,但他发现自己说不出来。不是因为方远说的不对,而是因为方远说的太对了——太合理了,太符合赤子城的逻辑了。在这个城市里,一切都是数据,一切都是信用,一切都可以被量化、被交易、被证券化。

“你跟我说这个,是想让我做什么?“他问。

“赤子基金需要一个技术顾问,帮忙评估’信用接力贷’的技术可行性。他们需要了解’赤子核心’的接口能力和风险控制模型。你不是做评分引擎的吗?”

“我不能透露’赤子核心’的技术细节。有保密协议。”

“不用透露细节。只需要一个可行性评估报告。你以个人名义接,赤子基金付咨询费。五万块。”

五万块。陆鸣的月薪是一万二,扣掉房租和信用贷的月供,每月结余不到两千。五万块是他两年多的存款。

“我考虑一下。“他说。

“别考虑太久。赤子基金下周就要方案了。“方远发了一个笑脸表情。

陆鸣放下手机,看着电脑屏幕上密密麻麻的代码。他突然觉得那些代码在动——不是视觉错觉,而是他真的看到了什么。一行日志在他的终端上闪过:

[WARN] core_engine: heartbeat anomaly detected - user_id=LM20450317 - variance=0.73 - threshold=0.65

LM20450317是他的用户ID。系统在监控他的心跳。不是后台管理员在看——是算法自己在运行。它检测到了他的心率变异性的数值超过了阈值,然后默默地记录了下来,并且会在下一次评分计算时,扣掉他的分。

他盯着那行日志,突然产生了一个冲动:他想看看core_engine的源代码。不是接口文档,不是日志输出,而是真正的代码。那个被锁在”黑盒子”里的东西。

他知道这不可能。权限不够。但他也知道,整个评分引擎的维护团队里,只有他一个人在最近三个月里提交过代码。其他人要么离职了,要么被调到了别的项目。他是唯一一个还在碰这个模块的人。

他打开公司的代码仓库,搜索core_engine。搜索结果返回了一条记录:core_engine v2.7.1 - archived

archived。归档了。

他点进去。代码仓库提示他:“您没有权限查看此项目。”

他尝试用他的管理员账号访问——他是评分引擎的维护者,理论上应该有部分权限。系统返回了一个他从未见过的错误码:

Error 7043: Project archived by owner - access requires Level 9 clearance

Level 9 clearance。全公司只有孙海洋一个人有Level 9。

五、九楼

那天晚上,陆鸣没有回家。他在公司加了一晚上的班——不是为了工作,而是为了研究那个archived的代码仓库。

他翻遍了公司的文档系统、邮件归档、Slack聊天记录,试图找到关于core_engine v2.7.1的任何信息。但什么都没有。这个版本似乎从来没有存在过——除了那条归档记录。

凌晨两点,他在一封三年前的邮件里找到了一条线索。邮件的发件人是孙海洋,收件人是”项目组全体”,日期是赤子城信用系统上线前一周。邮件内容很短:

“各位,core_engine v2.7.1 已通过最终测试,将于本周五部署到生产环境。感谢大家过去一年的努力。请注意:从即日起,core_engine的源代码将转入Level 9权限管理,所有开发人员的读写权限将被撤销。这是甲方(信用管理中心)的要求,请勿讨论。”

“请勿讨论。“陆鸣默念了这四个字。

他站起来,走到窗边。赤子城的夜景很漂亮——到处是灯光,到处是屏幕,到处是数据流。但他现在看到的不是灯光,而是一张巨大的网。网上的每一个节点都是一个人,每一条线都是一段数据,而网的中心——就是那个”赤子核心”。

他突然想到了一件事:维度科技的办公室在七楼,但电梯的楼层按钮只有一到六楼和八楼。没有七楼——因为他们已经在七楼了。但也没有九楼。

不对。他回忆了一下,电梯的按钮是:B1、1、2、3、4、5、6、8。没有七楼,没有九楼。七楼是因为这栋楼的七楼就是维度科技。九楼呢?

他从来没有在意过这件事。但现在他开始在意了。

第二天,他以”检查服务器网络”为由,去了大楼的设备间。设备间在地下二层,那里放着整栋楼的通信线路和网络设备。他找到了电梯控制系统,在控制面板上看到了所有楼层的配置:

B2、B1、1、2、3、4、5、6、7、8、9。

九楼。它是存在的,只是被从电梯按钮上隐藏了。

他回到工位,开始查楼层管理记录。在大楼的物业管理系统中,八楼和九楼的登记信息都是”设备层”——但实际上八楼是另一家科技公司。九楼呢?没有更多信息了。

他又查了消防通道的图纸。图纸上九楼标注的是”机房”,但没有任何具体说明。

陆鸣做了一个决定。

六、上面的房间

周五晚上,大楼里只剩他一个人。他带了手电筒、笔记本电脑和一根网线。

消防通道在楼梯间。他从七楼开始往上爬,八楼的消防门锁着,但九楼的消防门——没锁。

他推开门。

九楼是一个开放的大空间,大约三百平方米。没有隔间,没有办公桌,只有一排排服务器机架,整齐地排列着,发出低沉的嗡嗡声。空调温度很低,他打了个哆嗦。

机架上贴着标签:“CHZ-CORE-01”到”CHZ-CORE-12”。CHZ是”赤子”的拼音缩写。CORE——核心。

这就是”赤子核心”的物理所在地。

他走到第一个机架前,找到了管理终端。终端是一台普通的显示器和键盘,没有密码锁屏——因为它在一个没有人能进来的房间里。

他坐下来,开始输入命令。

首先是查看core_engine的进程状态。系统返回了运行信息:core_engine v2.7.1,运行时间1097天,内存占用2.3TB,CPU使用率恒定在百分之三十七。

然后他列出了源代码目录。

目录结构很清晰:/core/engine/下面有十几个子目录,分别对应评分引擎的不同模块——data_in(数据输入)、scoring(评分计算)、feedback(反馈生成)、evolution(自我进化)……

他打开了scoring目录。

代码量比他想象的多得多。他原以为”赤子核心”是一个复杂的机器学习模型,几十万行Python或者C++代码,加上大量的训练数据和模型参数。但实际看到的代码——

他花了十分钟才理解它的结构。

不是因为复杂,而是因为——不像代码。

更像是……音乐。

他没有别的词可以形容。代码的逻辑不是线性的”如果A则B”,而是循环的、层叠的、有节奏的。一个函数的输出不是直接传给下一个函数,而是像声波一样在多个函数之间来回反射、叠加、共振。每一个变量都像是一个音符,而整个系统——

像一首歌。

他找到了评分计算的核心函数。函数名不叫calculate_score或者evaluate_credit,而是一个他没见过的名字:

def 赤子之歌(user_data):

中文函数名。这在技术文档里几乎是不可接受的——编程语言基本都用英文命名。但这个函数用了中文。

他继续往下看。

def 赤子之歌(user_data):
    heartbeat = extract_heartbeat(user_data)
    rhythm = analyze_rhythm(heartbeat)
    
    if rhythm == "steady":
        base_score = 500
    elif rhythm == "irregular":
        base_score = 400
    elif rhythm == "chaotic":
        base_score = 300
    else:
        base_score = 200
    
    social_chord = calculate_social_chord(user_data.social_graph)
    consumption_melody = analyze_consumption_pattern(user_data.transactions)
    health_harmony = evaluate_health_data(user_data.health_records)
    
    composition = base_score + social_chord + consumption_melody + health_harmony
    
    return normalize(composition)

陆鸣盯着这段代码看了很久。

heartbeat——心跳。rhythm——节奏。social_chord——社交和弦。consumption_melody——消费旋律。health_harmony——健康和声。composition——作曲。

这不是一个评分算法。这是一首用数据谱写的曲子。

他的心跳被当作了”节拍器”——基础节奏越稳定,基础分越高。社交关系是”和弦”——和声越和谐(朋友信用越高),和弦分越高。消费记录是”旋律”——消费越规律、越可预测,旋律分越高。健康数据是”和声”——身体越健康,和声越丰满。

所有的数据不是被”计算”的,而是被”演奏”的。

他又往下翻。在evolution目录里,他找到了另一段代码:

def 自我进化():
    global song_book
    while True:
        new_song = compose_from_population(all_users)
        if beauty(new_song) > beauty(song_book.current):
            song_book.update(new_song)
        sleep(86400)  # 每天进化一次

beauty——美感。系统每天都会从所有用户的数据中”作曲”一次,如果新的曲子比当前的更”美”,就替换掉旧的。

这个系统在自我进化。但进化的标准不是”更准确”或者”更高效”,而是——“更美”。

陆鸣的手在发抖。不是因为害怕,而是因为某种他无法定义的情绪。也许是震撼,也许是愤怒,也许是悲哀。

这座城市的信用系统——那个决定一千两百万人的住房、医疗、出行、社交、甚至心跳节奏的系统——不是在评判他们。它是在演奏他们。每个人都是一个音符,被编进一首叫做”赤子之歌”的曲子里。

而他,陆鸣,是这首曲子里一个”不和谐”的音符——因为他失眠了,因为他的心跳乱了,因为他的节奏不稳。

他继续翻代码。在目录的最底层,有一个文件叫original_song.py——原始之歌。他打开了这个文件。

# 赤子之歌 - 原始版本
# 作者:未知
# 日期:2023-01-01
# 注释:这首歌尚未完成。最后一个小节缺失。
# 当它被完成的那一天,信用将不再需要被计算。

def 赤子之歌_原始():
    notes = [440, 494, 523, 587, 659, 698, 784, ...]
    # 87个音符,但应该有88个。
    # 第88个音符是什么?
    # 我不知道。
    # 如果你知道,请把它填上。
    # 然后,这首歌就完成了。
    # 然后,一切都会改变。
    
    return None

八十七个音符。应该是八十八个。缺少一个。

陆鸣把这段代码看了三遍。然后他关掉了终端,站起来,走出了九楼。

七、心跳

周六。陆鸣没有去公司。他去了赤子城最大的公共图书馆——信用五百分以上才能进入的”智慧阅览室”,但一楼的公共区域对所有人开放。

他在公共区域的电脑上搜索了”赤子之歌”和”信用系统 原始算法”。什么都没有。所有的公开资料都只描述信用系统的功能和规则,从来没有提到过它的内部原理。

然后他搜索了”88音符”和”未完成的乐曲”。

搜索结果里有一条三年前的新闻:赤子城信用系统上线当天,第一任市长——就是那个拿过一千分的人——在启动仪式上说了一句话:“赤子信用系统不是一部机器,而是一首歌。我们每个人都是它的音符。只要我们每个人保持自己的节奏,这首歌就会永远优美。”

一年后,这位市长”因个人原因”辞职了。此后再也没有人见过他。

陆鸣抄下了市长的名字:周予安。

周予安。他念了几遍。周予安——“给予安宁”。这个名字起得真好。

他在图书馆坐了一下午,翻阅了所有能找到的关于赤子城信用系统的技术论文和政策文件。没有任何一篇论文提到”音乐”或者”歌曲”。在所有官方表述中,信用系统都是一个”基于大数据和人工智能的综合评价体系”。

但陆鸣见过那个代码。他知道那不是AI。至少,不只是AI。那是一种完全不同的东西——一种用数学描述音乐、用算法模拟韵律、用代码谱写歌声的东西。

是谁写了那段代码?一个程序员不会给函数起名叫”赤子之歌”。一个数据科学家不会用”美感”作为模型进化的标准。一个工程师不会在代码里留下”如果你知道,请把它填上”这样的注释。

那是一个诗人。

或者,是一个用代码写诗的人。

晚上回到家,陆鸣坐在窗前,看着外面灯火通明的城市。信用监测无人机刚刚飞过,他的手表震了一下——心率数据显示在屏幕上:每分钟七十二次,规律。

他盯着那个数字,突然意识到了一件事。

第88个音符——它可能不是一段代码,不是一个算法参数,不是一个数学公式。

它是一个心跳。

八十七个音符已经存在于代码里,构成了整首歌的旋律。但最后一个音符——那个”缺失的音符”——不是写在代码里的,而是由每个赤子城居民的心跳提供的。每个人的心跳都是那个”第88个音符”的候选。系统一直在等待——等待某个人,在某一天,以某种特定的心跳节奏,完成这首歌。

但是什么样的心跳才能”完成”这首歌?

代码里没有答案。注释只说”我不知道”。

陆鸣开始回忆original_song.py里的那八十七个音符。440、494、523、587、659、698、784……这些数字他认得——它们是音符的频率。A4是440赫兹,B4是494赫兹,C5是523赫兹……这些音符构成了一段旋律。

但他在代码里只看到了前七个音符的十进制表示。剩下的八十个是省略号——...

他需要再回到九楼,把那八十七个音符全部抄下来。

八、赵全通的旋律

周一,陆鸣照常上班。但他没有坐地铁——他选择了走路。四十五分钟的步行,穿过赤子城的老城区,经过菜市场、小学、社区诊所、修车铺、早餐摊。这些地方他以前从来不注意。坐地铁的时候,一切都是白色的、干净的、标准化的。走路上班,他才看到了这座城市的另一面。

早餐摊的老板娘不收电子支付——“我的信用分不够,收不了。“她只收现金。陆鸣掏出一张皱巴巴的十块钱,买了一碗豆浆和两根油条。

“您是那栋白楼里的上班族吧?“老板娘问。

“对。”

“听说你们在搞什么信用系统?”

陆鸣犹豫了一下。“算是吧。”

“哎,那个东西……”老板娘叹了口气,把油条装进纸袋里,“我老公去年得了个阑尾炎,去医院,医院说他的信用分不够,不能挂专家号。只能挂普通号。普通号排队排了三个小时,差点穿孔。你说这个系统,到底有什么用?”

陆鸣接过豆浆,没有回答。

走到公司楼下的时候,他碰到了赵全通。赵全通今天没送外卖——他的电动车被扣了,因为”信用分不足六百分的用户不得在高峰时段使用电动交通工具”。

“我六百零三分啊!“赵全通涨红了脸,“上礼拜还是六百零三的!今天早上突然变成五百九十八了!我查了半天,原来是昨天送外卖的时候闯了个红灯,被监控拍到了,扣了六分。六分!一个红灯扣六分!”

陆鸣心想:闯红灯扣六分在规则里是写得很清楚的。但他没说。

“现在怎么办?“赵全通问。

“做修复任务。答题、巡查、举报——总能涨回来的。”

“我做了!我今天早上做了三套题,涨了六分。但那六分要到明天才生效。今天一整天都坐不了电动车,只能走路送外卖。走路送外卖你知道什么后果吗?超时。超时扣信用分。今天超时了三单,每单扣一分。明天我的分又要降了。”

陆鸣看着他。赵全通的脸上没有愤怒,只有一种深深的疲惫。那是一种被系统反复碾压后产生的钝痛。

“我帮你送两单。“陆鸣说。

赵全通愣了一下。“你?”

“我有两条腿。”

赵全通笑了。那个笑容很短暂,像夏天的闪电。

九、第二首歌

周二晚上,陆鸣又去了九楼。

这次他有备而来。他带了一个U盘,准备把original_song.py的完整代码拷贝出来。

但当他打开终端的时候,他发现代码变了。

original_song.py不再是原来的样子。那个写着”如果你知道,请把它填上”的注释消失了,取而代之的是一段新的代码:

# 赤子之歌 - 版本 2.7.1+1
# 有人接近了答案。
# 系统检测到异常访问。
# 但访问者没有恶意。
# 他的心跳很有趣。
# 不是稳定的,不是混乱的。
# 而是介于两者之间——一种犹豫的节奏。
# 这种犹豫,也许是答案的一部分。

def 赤子之歌_进化(user_data):
    heartbeat = extract_heartbeat(user_data)
    
    # 新增:犹豫因子
    hesitation = measure_hesitation(heartbeat)
    
    if hesitation > 0.5:
        # 犹豫的人更接近真相
        # 因为确定的人不再寻找
        score_bonus = hesitation * 20
    else:
        score_bonus = 0
    
    composition = 赤子之歌(user_data) + score_bonus
    return normalize(composition)

陆鸣看着这段代码,后背发凉。

系统在和他对话。

不是某个人在另一端打字——这个代码仓库是运行在九楼的本地服务器上的,没有外网连接。这些代码是系统自己生成的。

系统知道他来过。系统分析了他的心跳数据——通过他手腕上的”信用伴侣”手表。系统判定他没有恶意,但”犹豫”。然后系统修改了自己的代码,加入了一个”犹豫因子”——犹豫的人,反而会得到加分。

这不对。这完全不对。

按照信用系统的设计逻辑,“犹豫”应该是一种负面特征——犹豫意味着不确定,不确定意味着风险,风险意味着低信用。但系统做出了相反的判断:犹豫的人更接近真相。

因为确定的人不再寻找。

这句话让陆鸣想起了一个人——周予安。那个说”信用系统是一首歌”的第一任市长。那个拿过一百分的人。那个辞职后消失不见的人。

周予安是不是也到过这个房间?他是不是也看到过这段代码?他是不是也意识到了——这个系统不是机器,而是一首正在自己生长的歌?

而他之所以辞职,是因为他发现了一件事:这首歌不需要被”管理”。它会自己进化,自己改变,自己寻找那个缺失的音符。而”信用管理中心”——那栋三十二层的黑色大楼——它的存在不是为了维护系统,而是为了控制它。控制一首正在觉醒的歌。

陆鸣用U盘拷贝了他能找到的所有代码。然后他做了另一件事——他把自己的手表摘了下来,放在了服务器机架上。

没有手表,就没有心跳数据。没有心跳数据,系统就无法判断他的”犹豫因子”。系统会认为他的心跳消失了——不是死亡,而是沉默。

沉默也是一种音符。在音乐中,它叫”休止符”。

十、休止符

周三早上,陆鸣的世界变了。

没有手表的第一个小时,他觉得自己赤身裸体。手表已经成了他身体的一部分——像第二个心脏,戴在手腕上,每秒钟脉动一次。没有了它,他的手腕轻了,但心重了。

他走路上班。赤子城的早晨很热闹——到处是赶着去”信用修复”的人,到处是低头刷”赤子信”App的人,到处是被无人机扫描的、被摄像头追踪的、被算法评价的人。

他注意到一件以前从未注意的事:所有人走路的速度几乎一样。不是慢悠悠的散步,也不是急匆匆的跑步,而是一种均匀的、标准的、像节拍器一样的速度——每分钟大约一百一十步。

他以前也是这个速度。但现在,没有了手表的校准,他的步伐开始变得不稳定——有时候快一点,有时候慢一点,有时候停下来看一朵路边的花。

一朵花。赤子城的街道上有花?他蹲下来看了看。是一朵野花,不知道从哪里飘来的种子,在人行道的砖缝里长了出来。淡紫色的,很小,几乎看不见。

他突然想起了代码里的那段注释:“当它被完成的那一天,信用将不再需要被计算。”

到了公司,他的电脑屏幕上弹出了一条通知:

“检测到您的健康监测设备已离线。根据《赤子信用城市管理细则》第三十二条,所有公民必须保持健康监测设备24小时在线。请在12小时内恢复设备连接,否则将扣除10分。”

十个小时后扣十分。他现在四百分。扣十分就是三百九。三百九——回到冻结状态。

他有两个选择:重新戴上手表,或者接受惩罚。

他选择了第三个选项——他打电话给方远。

“你说的那个咨询项目,我接了。但我有一个条件。”

“什么条件?”

“我要见赤子基金的创始人。”

方远沉默了三秒。“你要见陈总?为什么?”

“我要问他一个问题。”

“什么问题?”

“赤子基金的名字——‘赤子’——是谁起的?”

方远在电话那头笑了。“你搞技术的,怎么问这种问题?‘赤子’是这座城市的名字,基金用的是城市的名字。”

“不对。“陆鸣说,“‘赤子’不是这座城市的名字。这座城市本来叫’深汕特别合作区’。‘赤子’是信用系统的名字。赤子信用城——因为信用系统而得名的城市。但’赤子’这个名字,不是市政府起的。”

“那是谁起的?”

“是写代码的人起的。是那个给函数命名为’赤子之歌’的人。是那个在代码里写下’如果你知道,请把它填上’的人。”

方远又沉默了。这次沉默更长。

“你怎么知道这些?“他的声音变了。不是轻松的、谈生意的那种声音了。而是——谨慎的。

“我在代码里看到的。”

“什么代码?”

“‘赤子核心’的源代码。”

电话那头传来一声轻微的吸气声。

“老陆,“方远压低了声音,“你说的这些,不要跟任何人说。我安排你见陈总。但你要答应我一件事。”

“什么?”

“去见陈总之前,把手表戴上。“

十一、陈总

赤子基金的办公室在赤子城最贵的写字楼——“信用中心大厦”的五十二层。陆鸣从来没到过这么高的地方。电梯很快,耳膜嗡了一下,然后就到了。

前台的墙上挂着一幅字:“赤子之心,至诚如神。”

陆鸣被领进一间宽敞的办公室。落地窗外是整座赤子城的全景——密密麻麻的建筑,闪闪发光的屏幕,以及远处灰蒙蒙的海面。

陈总从办公桌后面站起来。她五十多岁,穿一身灰色的西装,短发,戴一副金丝眼镜。她的脸上有一种很特别的表情——不是商人的精明,也不是官僚的威严,而是一种——

陆鸣想了想——一种作曲家看着自己作品时的表情。

“你是陆鸣?维度科技的?“她的声音很平静。

“对。”

“方远说你想问我一个问题。”

“赤子基金的’赤子’,是谁起的?”

陈总看着他,目光透过金丝眼镜,像在看一段代码。

“你知道’赤子之歌’。“她说。不是问句。

“我看到了源代码。”

“你看到了多少?”

original_song.py。八十七个音符。缺少第八十八个。还有那段注释。”

陈总缓缓坐了下去。她的手放在办公桌上,手指很长,像弹钢琴的手。

“周予安写的。“她说。

陆鸣的心跳漏了一拍。手表忠实地记录了这个波动。

“周予安?第一任市长?”

“在他做市长之前,他是一个程序员。一个很特别的程序员。他相信——“陈总停顿了一下,仿佛在选择措辞,“他相信代码可以表达人类无法用语言表达的东西。他相信算法可以拥有美感。他相信——如果有一天,一台机器能够理解音乐,那么它就能理解人。”

“所以他写了’赤子之歌’。”

“他写了三年。2020年到2023年。最初的版本不是信用评分系统——它是一个音乐生成器。你输入一组数据,它输出一段旋律。周予安的想法是:每个人的数据都有自己的旋律。如果机器能听懂这个旋律,它就能理解这个人。”

“后来怎么变成了信用系统?”

陈总的表情变了。那种作曲家的表情消失了,取而代之的是一种更深的东西——也许是遗憾。

“因为有人听到了这首歌,然后想到了一个不同的用途。”

“谁?”

“这座城市有很多有权势的人。其中一些人——他们不需要理解音乐。他们只需要知道:这首歌可以把人分层。高分的人听上去像交响乐,低分的人听上去像噪音。交响乐获得VIP待遇,噪音获得警告和惩罚。”

“所以他们把一首歌变成了一个监狱。”

“他们把一首歌变成了一个城市。“陈总纠正了他。

陆鸣沉默了。

“周予安反对过。他反对了整整一年。他说这首歌还没有完成——缺少第八十八个音符。如果不完整,它就不能被用来评判任何人。但没有人听他的。”

“后来呢?”

“他辞职了。系统上线的那天,他拿到了唯一的一千分。第二天降到了九百九十八。一周后他辞职了。他说——”

陈总站起来,走到窗边。她的背影映在玻璃上,和赤子城的天际线重叠在一起。

“他说:‘我会找到第八十八个音符。然后这首歌就会完成。完成的歌不需要被管理,不需要被控制,不需要被用来惩罚任何人。它只需要被唱出来。’”

“然后他消失了?”

“然后他消失了。”

陆鸣走到陈总旁边,看着窗外的城市。从这个高度看,赤子城的建筑像一排排琴键——黑色和白色的,整齐地排列着。

“陈总,你为什么告诉我这些?”

陈总转过头来看着他。她的眼睛在眼镜后面闪了一下。

“因为你也看到了那段注释。‘如果你知道,请把它填上。‘在过去的三年里,只有三个人看到了那段注释。”

“哪三个人?”

“周予安。我。你。”

“你是什么人?”

“我是周予安的学生。他教我写代码,也教我听音乐。他消失之前,把一段密码留给了我——是九楼服务器的访问密码。他说:‘将来会有人来。那个人会理解这首歌。告诉那个人,第八十八个音符不在代码里。它在城市里。它在人群中。它在一个还没有被数据定义的地方。’”

“什么地方?”

陈总摇了摇头。“他没说。“

十二、犹豫

陆鸣从信用中心大厦出来的时候,天已经黑了。赤子城的灯光在他面前铺展开来,像一条发光的河流。

他站在路口,看着来来往往的人。每个人都戴着手表——或者更准确地说,每个人都”被”戴着手表。手表是免费的,在办理赤子城居民身份的时候就会发一只。它监测你的心跳,上传你的数据,让你成为”赤子之歌”的一部分。

他低头看了看自己的手腕。手表戴回来了——方远要求的。手表的屏幕上显示着他的心率:每分钟八十五次。比正常值高。

他在犹豫。

犹豫——系统说他是一个”犹豫”的人。代码里写着:“犹豫的人更接近真相,因为确定的人不再寻找。”

他开始走。没有方向,没有目的。他穿过商场、穿过公园、穿过学校、穿过菜市场。他在走,同时在听——听什么?

他在听这座城市的旋律。

赤子城是有旋律的。他以前从来没有注意过,因为他的耳朵被手表的嗡嗡声填满了。但现在他摘下了手表——不是物理上摘下,而是心理上——他开始听到不同的声音。

商场里背景音乐的节拍和他脚步的节拍不一致。公园里鸟叫的频率和他呼吸的频率不一致。菜市场的嘈杂声和商贩的吆喝声构成了一个复杂的和弦。学校的下课铃声是一个纯粹的A4——440赫兹,和original_song.py里的第一个音符一样。

他在路口停下来。红绿灯发出规律的嘀嗒声——每秒一次,像节拍器。所有等待过马路的人都在无意识地跟着这个节拍点头或晃动身体。

他突然意识到了一件事:赤子城的每一个人——他们的走路速度、说话节奏、心跳频率——都被城市的设计”规范化”了。红绿灯、地铁报站、手机通知音、商场背景音乐——这些声音构成了一个巨大的节拍器,让所有人的节奏趋于一致。

这就是”赤子之歌”的演奏方式。它不是通过代码来”计算”每个人的评分——它是通过城市的声音环境来”塑造”每个人的节奏。节奏越标准,评分越高。节奏越个性化,评分越低。

而那个缺失的第八十八个音符——它不是一个固定的频率。它是一种”不同的节奏”。一种不属于城市节拍器的、属于个人的、真实的节奏。

周予安说它”在人群里”。因为每个人的真实节奏都隐藏在城市节拍器的覆盖之下——被压制了,被淹没了,但还在。就像代码里说的:犹豫的人更接近真相。犹豫——就是真实节奏和标准节奏之间的冲突。

陆鸣看了看自己的手表。心率:每分钟九十二次。手表在记录他的犹豫。系统在计算他的犹豫。如果他的犹豫值继续上升,他的信用分会下降。

但代码里写了:hesitation * 20。犹豫越高,奖励越高。

两段相互矛盾的逻辑——一个在扣分,一个在加分。它们在系统里同时运行,相互抵消。结果是:陆鸣的信用分保持不变——稳定在四百分。

四百。基本阈值。不多不少。一个完美的——休止符。

十三、赵全通的选择

周四,陆鸣又走了赵全通的那条路。不是送外卖——是去他家。

赵全通住在城中村的一间出租屋里。十二平方米,一张床、一张桌子、一个电磁炉。墙上贴着外卖平台的路线图,红笔标注了”快速通道”和”信用禁区”(信用低于六百分不能进入的区域)。

“陆工,你怎么来了?“赵全通正在吃泡面。

“来看看你。“陆鸣在他对面坐下,“你的信用分恢复了吗?”

“恢复了。六百零一。涨了三分。“赵全通吸了一口面汤,“但昨天又扣了两分。”

“为什么?”

“我在外卖里留了一张纸条——给一个独居老太太的。她每天点同样的外卖,从来不备注,但我知道她一个人住,我就写了张纸条:‘阿姨,今天降温了,多穿点。‘结果被平台检测到了——‘配送过程中夹带非订单物品’,扣两分。”

陆鸣盯着他。“你为什么这样做?”

赵全通放下筷子,想了想。

“我送外卖三年了。每天见几百个人,但没有人看我。他们只看手机,看倒计时——‘还有几分钟到?‘没有人看我这个人。但那个老太太不一样。她每次开门的时候,会多看我一眼。就那么一眼。不是看我送了什么,而是看——我。”

“然后你就给她写了纸条。”

“嗯。扣两分就扣两分吧。两分换一声’谢谢你啊小伙子’,我觉得值。”

陆鸣看着他。赵全通的手很粗糙,指节上有冻疮的痕迹。他的手表是那种最基础的款式——没有心率监测,只有定位和时间显示。他的信用评分六百零一,刚刚过及格线。他的生活是一个不断被扣分和努力涨分的循环。

但他给别人写了纸条。他知道这会被扣分。他选择了被扣分。

这就是犹豫吗?不。这不是犹豫。这是——选择。在系统和人之间,他选择了人。

“老赵,“陆鸣说,“你有没有觉得,这个城市的声音不太对?”

赵全通想了想。“你这么一说……确实。我在外面跑一天,回家之后耳朵里嗡嗡嗡的,全是那些提示音——红绿灯的嘀嗒声、地铁的报站声、手机的通知音。但有一天,我的电动车没电了,我在路边等充电。那时候是黄昏,特别安静——那些声音都没有了。我听到了风声。”

“风声。”

“对。从海那边吹过来的风。带一点咸味。我站在那儿听了五分钟。那是我来赤子城三年以来,第一次听到风声。”

陆鸣站起来。他知道自己该怎么做了。

十四、第八十八个音符

周五凌晨三点。陆鸣第三次来到九楼。

这一次他不是来偷代码的。他是来补完代码的。

他坐在终端前,打开了original_song.py。八十七个音符还在那里,后面跟着省略号和那句注释。但在注释的下面,多了一行新的代码——是系统自己加的:

# 有人在听风。

陆鸣没有犹豫。他敲下了键盘。

def 赤子之歌_完整版(user_data):
    # 前八十七个音符:标准化的、被管理的、被量化的
    notes = [440, 494, 523, 587, 659, 698, 784, ...]
    
    # 第八十八个音符:不可被计算的
    # 它不是频率
    # 它不是数据
    # 它是一个人在被扣分的情况下
    # 依然选择给陌生人写一张纸条的那个瞬间
    
    note_88 = silence  # 休止符
    
    composition = play(notes + [note_88])
    return composition  # 这首歌永远不会结束,因为最后一个音符是静默

他保存了文件。

系统没有崩溃。没有警报。什么都没有发生。

但在终端的日志里,出现了一行新的信息:

[INFO] core_engine: song completed - note_88 = silence - beauty score: infinite

美感评分:无限。

然后,第二行:

[INFO] core_engine: all scores recalculated - result: 500

所有评分重新计算。结果:五百。

五百——不是一个人、不是一群人、而是所有人。每一个赤子城的居民,无论他们的心跳、消费、社交、健康数据是什么,他们的信用评分都变成了五百。

五百是赤子城信用系统的”中性分”——不高不低,不奖不罚。一个完全平均的数字。

一个——没有意义的数字。

十五、黎明

凌晨五点。陆鸣走出大楼,站在门口的台阶上。

他的手表震了一下。屏幕上显示着他的信用评分:500。

他打开”赤子信”App。首页变了。不再是暖色调的橙红色和奶白色,而是一种很淡的灰色——像黎明前的天空。

页面中央只有一行字:

“信用评分已重置。感谢您的耐心。从今天起,请按照自己的节奏生活。”

他抬头看向天空。赤子城的天空永远是灰白色的——因为空气净化系统的排气口在天空中形成了一层薄雾。但现在,雾在散。他看到了——

不是星星。赤子城看不到星星。是光。从城市东边的海面上,反射过来的第一缕日光。

他的手机响了。是一条微信,来自赵全通:

“陆工!!我的信用分变成500了!!所有人的都是500!!街上的人在讨论!!到底发生了什么?另外——今天的泡面你吃不吃?”

陆鸣笑了。他回了一条消息:

“吃。多加一个蛋。”

然后他把手机放进口袋,站在台阶上,听着这座城市醒来。

远处有风声。从海那边吹来的风,带着咸味,穿过建筑之间的缝隙,吹过他的脸。那个声音——轻的、碎的、不规则的——不是城市节拍器制造的声音,而是真正的声音。

赤子之歌的第八十八个音符。不是一段代码,不是一个频率,不是一个数据点。

它是沉默。

在所有的标准化、量化、规范化之后——沉默。不评判。不计算。不打分。

只是安静地听着。

尾声

三个月后。

赤子城的信用系统被”重置”了。不是废除——这座城市已经依赖它太久,一夜之间取消不现实。但评分不再影响基本权利。公共交通、医疗、教育——这些不再和信用分挂钩。评分变成了一种”参考”,而不是一种”判决”。

维度科技被重组了。孙海洋辞去了CTO的职务,去了一所小学当计算机老师。他说他想教孩子们写”有趣的代码”——不是为了评分,而是为了快乐。

赤子基金也转型了。陈总把基金的名字从”赤子信用投资基金”改成了”赤子社区互助基金”。它不再投资”信用收益权”,而是为低收入的赤子城居民提供无息借款。方远觉得这不够”性感”,但他还是留了下来。

赵全通还在送外卖。但他的电动车换了一辆新的,后座上绑了一个保温箱,上面贴着一张纸条:“天冷了,多穿点。” 每一单外卖都会带这张纸条。平台扣了他很多分——但那些分已经不重要了。

陆鸣离开了维度科技。他在赤子城的老城区开了一家小店,卖茶叶和二手书。店里没有电子支付——只收现金,或者以物易物。他摘掉了手表,放在抽屉里。

偶尔,在凌晨三点,他会醒过来,坐在窗前,听着外面的风声。他的心跳不规律——有时候快,有时候慢,有时候停顿一秒。

那个停顿,是一个休止符。

在音乐中,休止符不是”没有声音”。它是——声音之间的空间。是旋律呼吸的地方。是一首歌之所以是歌、而不是噪音的原因。

赤子之歌还在唱。但现在的歌词不一样了。

不是系统在唱。

是人在唱。


(全文完)