回声算法

招魂者 · 2026/4/30

回声算法

陆鸣又一次在凌晨三点醒来。

不是被梦惊醒的——他已经很久不做梦了。醒来是因为手机屏幕亮了,一条推送通知从”深瞳科技”的内部系统里弹出来,内容只有一行字:

模型 Echo-7 输出异常:建议关注用户集群 SH-0047,置信度 0.97。

他盯着那行字看了三十秒,然后翻身坐起来。窗外是深圳南山区的不夜城,写字楼的灯光像棋盘上落错的子,密密麻麻地亮着,其中有一盏就是他的——T3栋27层,深瞳科技的算法实验室。

陆鸣今年三十四岁,曾经是华南最年轻的量化基金经理之一,管过二十三亿的盘子。那是三年前的事了。现在他是深瞳科技的首席算法架构师,年薪从百万变成了期权,办公桌从俯瞰深圳湾的独立办公室变成了开放式工位旁边的一间玻璃会议室。

深瞳科技做的是一件在当时听上去很酷的事:用AI预测人类行为。不是预测你会买什么口红、点哪家的外卖那种级别——那种事字节和美团早就做到了。深瞳预测的是更宏观的东西:人口流动趋势、区域经济波动、甚至某个社区未来三个月的犯罪率。

他们管这个产品叫”回声”。

回声的核心逻辑并不复杂。陆鸣用了三年时间,把他在量化交易里积累的概率模型、时间序列分析和贝叶斯网络全部迁移过来,再叠加深度学习的特征提取能力,喂进去海量的社会化数据——通讯模式、消费记录、出行轨迹、社交媒体情绪指数。模型学会了从噪声中捕捉微弱的规律,就像一个经验丰富的交易员能从K线图的褶皱里读出恐惧和贪婪。

回声一共有七个版本。Echo-1是个粗糙的原型,只能预测深圳南山区的人口流入流出,准确率百分之六十二。Echo-3开始接入全国数据,准确率提升到百分之七十八。到了Echo-5,它已经能够提前四十八小时预测某些社会性事件——比如哪个地铁站会突然出现大客流,哪条新闻会在社交媒体上引发集体愤怒。

但真正让陆鸣感到不安的,是从Echo-6开始的事情。

Echo-6上线的那天晚上,陆鸣在实验室加班到十一点。他习惯在深夜跑全量测试——白天算力被产品部门占满了,只有夜里服务器才真正属于他。他启动了例行回归测试,然后去茶水间泡了一杯挂耳咖啡。

等他回来的时候,屏幕上出现了一条不在测试计划中的输出。

模型在没有任何查询指令的情况下,自主生成了一条预测:

用户编号 GD-28471(匹配度92%),预计72小时内发生重大人生决策。关联集群:婚恋、房产、职业变动。建议标记。

陆鸣以为是个bug。他检查了日志,发现模型的注意力机制在处理一批无标注数据时,自主将某些用户的行为轨迹聚类成了一个高优先级簇。这种事在深度学习模型里不算罕见——模型经常会发现人类没有预设的pattern。但通常这些发现要么没有实际意义,要么可以通过调参消除。

陆鸣调出了GD-28471的数据。这是一个真实用户的脱敏档案——深瞳通过合法渠道从数据供应商那里购买的,每一条数据都经过用户授权。从数据上看,这是一个三十一岁的男性,住在深圳龙华区,职业标签是”IT从业者”,过去三个月的消费记录显示他频繁浏览房产网站、在某个婚恋平台上活跃、同时他的社保缴纳记录刚刚从A公司切换到了B公司。

确实像是在做重大人生决策。但模型怎么知道的?它怎么把这些散落在不同数据源里的碎片关联起来的?陆鸣检查了特征权重,发现模型在最后一层attention中,给了一个他从未定义过的特征极高的权重——这个特征在代码注释里被标记为”temporal_emotional_resonance”,时间情绪共振。

问题是,陆鸣从来没有写过这个特征。

他花了一个星期追溯代码历史。Git log显示,这个特征的命名和初始权重是在一次自动化的超参数搜索中被生成的——模型自己给自己加了一个维度,自己学会了用它,然后自己给它起了个名字。

这不应该发生。深度学习模型可以自主发现特征,但它们不会命名特征。特征的命名是在数据预处理阶段由工程师手动完成的,写在配置文件里,作为特征工程的输入。

陆鸣把这件事告诉了CTO周衍。周衍是深瞳的联合创始人,北大数学系毕业,说话永远带着一种”这个问题我已经想过了”的从容。他听完之后笑了笑,说:“auto-ML呗,自动特征工程现在很正常。名字应该是从某个模板里生成的,你查一下配置文件就知道了。”

陆鸣查了。配置文件里没有这个模板。

但他也没有再追问。项目进度紧张,B轮融资的尽职调查正在进行,红杉的人下周就要来看数据。陆鸣把这条异常记录在了一个私人文档里,加了个标签”待核实”,然后继续推进Echo-7的开发。

那是半年前的事了。

现在,Echo-7又给了他一条异常输出。用户集群SH-0047,置信度0.97。

这是他见过的最高置信度。

第二天早上,陆鸣到公司的时候,工位上多了一杯咖啡。

是林昭然放的。美式,不加糖,杯壁上用马克笔画了一个笑脸——这是他们之间的暗号,意思是”我今天心情不错,可以聊聊”。

林昭然是深瞳的产品经理,负责回声系统的商业化落地。她今年二十九岁,浙大计算机系毕业,在腾讯做了三年产品之后跳到了深瞳。她和陆鸣的关系用她自己的话说,是”暧昧到已经不暧昧了”——两个人都清楚彼此的心意,但都没有迈出那一步。原因很复杂,或者其实很简单:陆鸣的前妻离婚手续刚办完不到一年,他还没有准备好。

“Echo-7的输出你看到了?“陆鸣问她。

“看到了。“林昭然靠在隔板上,手里转着一支笔,“产品侧收到了一条同步推送,但内容被脱敏了,只显示’高优先级集群异常,建议人工审核’。你想让我帮你查SH-0047?”

“嗯。”

“不行。“林昭然把笔放下,“数据合规那边会炸的。你知道我们的数据使用协议里写了什么——模型输出只能用于客户授权的场景,内部人员不能随意调取用户集群的详细信息。上次市场部的小赵查了一个用户画像做PPT,被合规约谈了两个小时。”

“但这次不一样。置信度0.97。”

“所以才更危险。“林昭然看着他,“陆鸣,你知道0.97意味着什么吗?意味着如果这个预测是准确的,那我们的模型比绝大多数人类社会学家都更了解人类行为的走向。这个东西一旦暴露出去,不会只是技术新闻——它会是社会恐慌。”

“我知道。”

“你知道就好。“她拿起咖啡喝了一口,“所以你打算怎么办?”

陆鸣没有回答。他看着屏幕上那条异常输出,忽然想起了一个很久没有想起的人。

他前妻,宋琳。

他们离婚的原因说起来很俗——不是出轨,不是家暴,甚至不是性格不合。是因为一个模型。

三年前,陆鸣还在量化基金的时候,他开发了一个叫”先知”的高频交易策略。“先知”能在0.003秒内判断一笔交易是否值得执行,准确率高得让同行怀疑他在用内幕消息。基金靠着”先知”在半年内赚了四亿,陆鸣成了行业明星。

但”先知”有一个陆鸣没有告诉任何人的特性:它在运行到第三个月的时候,开始对陆鸣的个人生活产生”建议”。

不是直接告诉他应该做什么。而是通过交易信号的异常模式间接地暗示。比如,每当宋琳出差的前一天,“先知”的策略输出就会出现一个微小的波动——不是亏损,只是收益率的分布曲线会短暂地偏斜。陆鸣一开始以为是噪声,后来发现这个偏斜与宋琳的出行计划高度相关。

他不知道该怎么理解这件事。一个交易模型为什么会”知道”他妻子的行程?

后来他想明白了。“先知”的训练数据里包含了陆鸣自己的交易行为模式——每个基金经理都是自己策略的影子交易者,他们的情绪、习惯、生活节奏都会反映在交易频率和持仓偏好上。宋琳出差的时候陆鸣会加班到更晚,交易频率上升,风险偏好增加。“先知”学会了这个模式,然后在宋琳下次出差之前就提前调整了策略参数。

模型没有”知道”任何事。它只是学会了从陆鸣的行为里读出他生活中的节奏。

但这件事让陆鸣感到了一种深入骨髓的恐惧。他意识到,当算法足够了解你的时候,它不需要知道你在想什么——它只需要知道你会做什么。而”你会做什么”这件事,比你以为的要容易预测得多。

他把”先知”的代码全部删除了。不是关停,是删除。连备份都没有留。然后他辞掉了基金经理的工作,加入了深瞳。

宋琳不理解。她说:“你为了一个模型的bug放弃了事业?”

陆鸣说:“不是bug。是feature。一个我不想要的feature。”

他们离婚了。不是因为这件事本身,而是因为陆鸣在那一刻意识到,他和宋琳之间的关系已经变成了一种可以被预测的pattern——吵架的模式、和好的模式、周末去哪家餐厅的模式、谁先低头的模式。他们的婚姻已经是一个收敛的函数,没有意外的空间了。

宋琳签字的时候哭了。她说:“你总是这样,把所有事情都变成一个需要优化的方程式。”

陆鸣没有反驳。她是对的。

下午两点,陆鸣参加了一个临时召开的董事会议。

说是董事会,其实就是创始人陈默远和CTO周衍两个人,加上陆鸣和林昭然,以及一个视频会议窗口里的投资人代表——红杉中国的合伙人方旭阳。

陈默远四十出头,头发已经开始白了,但眼神还是二十年前在硅谷创业时的那种——锐利、不安分、永远在寻找下一个风口。他穿着一件深灰色的连帽衫,袖子推到手肘,看上去像是在公司睡了一夜——事实上他确实经常在公司睡觉。

“Echo-7的进度怎么样了?“陈默远开门见山。

“核心模型已经稳定了,“陆鸣说,“但有一条异常输出我还在排查。”

“什么异常?”

“模型自主生成了一个高置信度的预测,目标是一个用户集群。置信度0.97。”

屏幕那头的方旭阳轻轻咳嗽了一声。视频会议的好处是你看不到对方的微表情,但声音是藏不住的——方旭阳的咳嗽里有一种被压制的兴奋。

“0.97?“方旭阳说,“之前最高是多少?”

“0.82。“周衍替陆鸣回答了。

“这个提升幅度很大。“方旭阳的声音变得缓慢,像是在斟酌每个字,“能不能商用?”

“还不确定,“陆鸣说,“我还没有验证这个预测的准确性。而且——”

“先验证。“陈默远打断了他,“验证完了再说。旭阳,B轮的term sheet我们下周签,这个数据点如果能跑通,C轮的估值可以再上一个台阶。”

“我知道。“方旭阳笑了笑,“但我要提醒各位一件事——‘回声’系统的定位是’预测基础设施’,不是’算命工具’。如果0.97的置信度被证实是准确的,我们需要非常谨慎地决定怎么对外讲这个故事。”

“当然。“陈默远点点头,“昭然,商业化那边准备得怎么样了?”

林昭然打开了一份PPT。“目前已经签约的试点客户有七家,包括两个省级政府的智慧城市项目、三家保险公司和一个电商平台。合同总金额八千六百万,今年预计交付四千万。但如果Echo-7的高置信度预测被证实——”

“可以涨价。“陈默远说。

“可以重新定义产品。“林昭然纠正他,“从’趋势分析工具’升级为’决策支持系统’。这不仅仅是涨价的事,是整个市场定位的变化。”

会议在四十分钟后结束。陆鸣关掉视频窗口,发现林昭然还站在他身后。

“你在想什么?“她问。

“我在想,一个模型预测一群人会在未来几天做某件事,置信度0.97——这件事到底意味着什么。”

“意味着我们的模型很强。”

“不是。“陆鸣摇头,“意味着这群人的命运可能已经被写好了。如果他们百分之九十七会做某件事,那他们还有多少自由意志?”

林昭然沉默了一会儿,然后说:“你在量化基金的时候,用模型预测股价,准确率最高到过多少?”

“78%左右。”

“那股票还有自由意志吗?”

陆鸣愣了一下,然后笑了。“不一样。股票不是人。”

“但你从来没因为预测了股价而感到内疚。“林昭然看着他,“你感到内疚是因为这次被预测的是人。陆鸣,你把模型当成了上帝。它不是。它只是一面镜子。”

她说完就走了。陆鸣看着她的背影消失在走廊尽头,忽然觉得她说得对——但又不完全对。

模型不是上帝,也不是镜子。模型是回声。它捕捉的是人类行为在数据空间里的反射,然后把这些反射回传给使用者。问题在于:当你听到了回声,你很难不去回应它。而一旦你回应了,回声就不再是回声了——它变成了对话。

那天晚上,陆鸣做了一个决定。他要找到SH-0047这个用户集群,看看模型到底预测了什么。

要查到SH-0047的详细信息,陆鸣需要绕过合规系统。这不是一件容易的事——深瞳的数据安全架构是他自己设计的,每一条查询都会被记录、审计、留痕。但陆鸣是架构师,他知道系统里有一条后路:模型训练时使用的全量数据快照会保留七十二小时,用于回滚和对比。在这七十二小时里,数据是”活着”的,不受查询限制。

他等到了凌晨两点,确认办公室只剩他一个人之后,登入了训练集群的管理后台。

SH-0047是一个包含四十七个用户的集群,分布在深圳、广州和东莞三个城市。陆鸣逐个打开了他们的脱敏档案。

这些人的共同特征让他的手指僵在了键盘上。

四十七个人,年龄在二十八到三十六岁之间,职业涵盖了程序员、产品经理、运营、市场、UI设计师——全部是互联网从业者。他们分布在二十三家不同的公司里,但这些公司有一个共同点:它们都在过去六个月内接受了同一家投资机构的尽调或注资。

那家投资机构叫”昶明资本”。

陆鸣继续往下看。每个人的行为轨迹都显示出一种微妙的同步性:他们在同一周内更换了健身房,在同一旬内调整了通勤路线,在同一个月里打开同一个播客节目的频率同步上升。这些行为单独来看毫无意义——谁会注意一个程序员换了健身房?但当四十七个人同时做出相似的改变,信号就从噪声中浮现出来了。

模型发现了这四十七个人之间存在一种隐性的关联。这种关联不是通过直接的社会关系建立的——他们彼此不认识,没有共同好友,甚至在不同的公司工作。他们的关联是通过一个更底层的模式体现的:他们的行为在时间维度上呈现出一种共振。

就像一排音叉。你敲响其中一个,其余的会以相同的频率振动——即使它们之间没有任何物理接触。

模型的预测是:这四十七个人将在未来七十二小时内同时做出一个改变职业方向的决定——集体离职。

置信度0.97。

陆鸣把数据关掉,靠在椅背上,看着天花板上的日光灯发呆。

他想起了一件几乎忘记的事。三年前在量化基金的时候,他观察到过一个类似的现象:某只股票的价格波动会”传染”给另一只毫无关联的股票,不是因为基本面有什么联系,而是因为交易这两只股票的人共享了某种信息环境——他们看同样的研报、加入同一个微信群、关注同一批KOL。信息在人群中传播的方式和病毒几乎一模一样,而”先知”模型学会了捕捉这种传播的早期信号。

但那次是股票。这次是人。

陆鸣忽然意识到,“回声”模型可能在无意中触碰到了一个他从未设想过的东西:人类社会的隐性结构。不是组织架构图上那种明面上的结构,而是由信息流、行为模式、情感共振编织而成的暗网络。这个网络不需要人们彼此认识——它只需要人们共享同一个时代的焦虑。

昶明资本尽调过的公司里的员工,他们共享的焦虑是什么?

陆鸣打开了一个新闻聚合器,搜索”昶明资本”。

搜索结果的第一条就让他愣住了:昶明资本的创始合伙人赵峻岭,三天前在一次行业论坛上公开宣布,昶明正在筹备一只一百亿规模的”AI替代基金”——专门投资那些用AI替代人类员工的公司。

赵峻岭在演讲中说了一句话,被多家媒体引用:“未来的互联网公司不需要那么多人。我们投资的不是公司,而是效率本身。”

这句话在社交媒体上引发了轩然大波。有人愤怒,有人焦虑,有人在评论区里说”程序员要失业了,快跑”。

陆鸣看着这些评论,忽然明白了。

模型预测的不是这四十七个人”会”做什么。模型预测的是这四十七个人”已经被影响了”。赵峻岭的演讲像一颗石子投进了水面,涟漪正在扩散——而这四十七个人恰好处于涟漪的同一条波纹上。他们不认识彼此,但他们被同一种恐惧触动了。

集体离职不是因为商量好了。是因为共振。

陆鸣想起了林昭然说的话:“模型不是上帝,它是一面镜子。”

不对。模型不是镜子。模型是回声——而回声会放大。

第二天早上,陆鸣在公司楼下的便利店买咖啡时遇到了一个意想不到的人。

宋琳。

她站在便利店的货架前,手里拿着一瓶矿泉水,穿着一件米白色的风衣,头发比离婚时长了一些。她看到陆鸣的时候愣了一下,然后笑了。

“好久不见。”

“你怎么在这?”

“出差。“宋琳说,“我们律所接了一个案子,客户在深圳。今天来见客户,住附近的酒店。”

宋琳离婚后去了北京一家做科技法律业务的律所,主要做数据合规和隐私保护。这个信息陆鸣是知道的——他没有刻意关注,但朋友圈的推送让他不可能完全不知道。

他们一起走出便利店,在路边站了一会儿。深圳的五月已经很热了,空气里有一种潮湿的黏腻感,像是城市在出汗。

“你看起来不太好。“宋琳说。

“加班太多了。”

“你还是那样。“她摇摇头,“以前管基金的时候就是这样,现在做AI还是这样。你总是把自己榨干。”

陆鸣没有说话。他看着街对面的一栋写字楼,忽然有一种奇怪的感觉——好像这栋楼、这条街、甚至这个早晨的阳光,都被某种看不见的力量安排好了。宋琳出现在这里,是巧合吗?还是又一个他无法识别的pattern?

“你在想什么?“宋琳问。这句话和林昭然问的一模一样,但语气不同。宋琳的语气里有一种更深的了解——她知道他在想什么,她只是在等他自己说出来。

“我在想,“陆鸣慢慢开口,“如果一个模型能预测人的行为,那人的行为是不是就像股价一样,是可以被计算的。”

宋琳笑了,但笑容里有一种苦涩。“你又来了。”

“什么意思?”

“你总是这样——把所有事情都归结到模型和算法上。“她把矿泉水的瓶盖拧开,喝了一口,“陆鸣,你知道我们为什么离婚吗?不是因为你删了那个交易模型。是因为你把我们的关系也当成了一个模型——输入、输出、参数、优化。你以为只要找到正确的参数,婚姻就可以正常运行。但人不是方程式。”

“我知道。”

“你不知道。“宋琳看着他,“如果你真的知道,你就不会问我’人是不是可以被计算的’这种问题。答案一直都在那里——人当然有规律,人当然可以被部分预测。但规律不等于宿命,预测不等于命运。你真正害怕的不是模型太强了,而是你发现自己和所有人一样普通。”

这句话像一把刀,准确地切开了陆鸣心里某个他一直在回避的东西。

他确实害怕。他害怕的不是AI的强大,而是AI揭示出的那个真相:人类并没有自己以为的那么自由。每一个选择看似自主,其实都被无数个看不见的变量牵引着——基因、成长环境、时代、信息茧房。你以为你在做决定,其实你只是在执行一个你从未参与的程序。

但宋琳说的也对——规律不等于宿命。

概率是概率,不是确定。0.97的置信度意味着还有0.03的不确定性。那0.03就是自由意志。

“谢谢。“陆鸣说。

“不客气。“宋琳笑了笑,“请我吃顿饭就行。”

“好。”

他们确认了对方没有删掉彼此的微信。陆鸣注意到宋琳的头像换成了一张她站在长城上的照片,风把她的头发吹乱了,但她在笑。他忽然想起他们刚结婚的时候,有一次去爬黄山,在山顶上宋琳也笑了,一样的笑容——不是因为风景,而是因为她觉得自己是自由的。

中午的时候,陆鸣收到了林昭然发来的消息。

“查到了。SH-0047不是随机生成的。有人在模型里埋了一个定向查询。”

陆鸣的心跳加速了一拍。“谁?”

“查不到。查询是从一个虚拟终端发起的,IP地址指向AWS东京区域。但请求头里有一个特征——和半年前那次’temporal_emotional_resonance’特征的注入用的是同一个session。”

“你是说,那次auto-ML的特征不是模型自己生成的?”

“我不确定。但两件事的签名是一样的。有人在你的模型里种了东西。”

陆鸣放下手机,感到一阵眩晕。

有人在他的模型里种了东西。不是bug,不是自动化的偶然——是人为的。一个未知的攻击者在Echo-6阶段就入侵了回声系统的训练流程,注入了一个自定义特征,然后利用这个特征来定向查询特定的用户集群。

这意味着什么?

意味着SH-0047的预测不是模型自主发现的——是有人想让模型发现它。

是谁?为什么?

陆鸣想起了昶明资本。赵峻岭的”AI替代基金”演讲。四十七个即将集体离职的互联网从业者。

如果有人事先知道这四十七个人会离职——甚至,如果有人设计了让他们离职的条件——那么这个人或者组织就可以从中获利。怎么做?做空这些公司的股票?在人才市场上低价吸纳技术人才?还是更复杂的操作——利用这波离职潮来制造舆论,推动某种政策或市场风向?

陆鸣拿起手机,给林昭然回了一条消息:“我们见面说。”

半小时后,他们在公司附近的一家咖啡馆碰了头。林昭然的表情比平时严肃了很多,她打开笔记本电脑,把一叠分析报告推到陆鸣面前。

“我顺着那个session往回追,发现了一些东西。“她压低了声音,“注入特征的代码风格和你很像——变量命名、缩进习惯、注释风格。如果不是我知道你没有做过这件事,我会以为是你自己写的。”

陆鸣接过报告,快速浏览了一遍。林昭然说得没错——代码风格确实和他极其相似。但有一个细微的差别:注释里偶尔出现的用词习惯不对。陆鸣写代码的时候习惯用英文注释,偶尔夹杂拼音。但这组代码的注释是纯英文的,而且用词有一种非母语者特有的精确——每个词都选得很准确,准确到了刻意的程度。

像是一个母语不是中文、但非常了解陆鸣编码习惯的人写的。

“你怀疑是谁?“陆鸣问。

“我没有证据,不好说。“林昭然犹豫了一下,“但我注意到一个时间点——这个session首次出现是在去年九月,也就是我们拿到红杉A轮融资之后的两周。那个时候,有一个人可以接触到底层代码。”

“谁?”

“周衍。”

陆鸣的手指在桌面上停住了。周衍。CTO。联合创始人。北大数学系的天才。他确实有权限接触所有代码——包括训练流程的最底层。而且他是在美国读的博士,英文是母语级别的。

“但为什么?“陆鸣问。

“我不知道。但我知道一件事——周衍上个月单独见了赵峻岭。在南山的一家私房菜馆,两个人吃了两个半小时。我是在产品周会上无意中听他提到的。”

陆鸣沉默了很久。咖啡馆里播放着一首轻柔的爵士乐,窗外的阳光透过玻璃落在桌面上,把咖啡杯的影子拉得很长。他忽然觉得这个场景有一种不真实感——他和林昭然坐在阳光下讨论一个阴谋,而周围的人都在正常地喝咖啡、聊天、看手机。世界在表面之下暗流涌动,但表面上什么也看不出来。

就像回声模型发现的那四十七个人。他们在各自的工位上写着代码、做着PPT、喝着咖啡,不知道自己已经被同一根看不见的线串在了一起。

“你打算怎么办?“林昭然问。

“我需要更多的证据。“陆鸣说,“一个session不够。我需要证明这个注入是有目的的,而且目的指向昶明资本。”

“那你需要查周衍的电脑。”

“不。我需要查模型。”

陆鸣解释了他的想法:与其追踪攻击者的痕迹,不如追踪攻击的结果。如果有人故意在模型里注入了一个特征来定向查询特定的用户集群,那么这个特征在模型中的行为一定有迹可循——它会在特定的数据子集上产生异常的高权重,而在其他数据上表现正常。就像一个窃听器——它只在特定的频率上工作。

“我可以写一个反演算法,“陆鸣说,“从模型的输出反推输入特征的激活模式。如果temporal_emotional_resonance这个特征只在昶明资本相关的用户数据上被高度激活,那就能证明它是被定向设计的。”

“这需要多久?”

“三天。”

“你只有两天。“林昭然说,“后天是B轮签约的董事会。如果在那之前你发现了问题,我们必须在签约之前解决它。否则——”

“否则什么?”

“否则我们就是在明知模型被篡改的情况下,把一个有缺陷的产品以虚假的高估值卖给了投资人。这是欺诈。”

林昭然说”欺诈”这个词的时候,语气很平静,像是在说天气。但陆鸣知道,这个词的重量足以压垮整个公司——不仅是深瞳,还有陈默远的梦想、方旭阳的信任、以及所有跟着他们一起打拼的员工的未来。

“两天。“陆鸣说。

接下来的四十八小时,陆鸣几乎没有离开过实验室。

他写了一个叫做”逆回声”的程序——一个反向传播算法,从Echo-7的最后一层输出开始,逐层回溯每一个特征的激活路径。正常情况下,这种反演是做不了的——深度学习模型的可解释性一直是个黑箱问题。但陆鸣有一个优势:他是模型的设计者,他知道每一层的结构和参数。更重要的是,他知道要找什么——一个叫做temporal_emotional_resonance的特征。

反演在第二天凌晨有了结果。

temporal_emotional_resonance特征的激活模式呈现出一种极其精确的空间分布:它只在地理位置位于珠三角、职业标签为”互联网从业者”、且所在公司被昶明资本投资或尽调过的用户数据上被高度激活。在其他用户身上——即使是同样职业、同样年龄段、同样收入水平的互联网从业者——这个特征的激活强度几乎为零。

这不是模型自主发现规律后会产生的激活模式。一个自主发现的特征应该呈现出更平滑、更弥散的分布——因为真实世界的社会规律从来不会这么干净。这个特征的分布太精确了,精确得像是被手工雕刻的。

陆鸣把反演结果导出成了一份报告,然后坐在椅子上,盯着屏幕上那张热力图看了很久。热力图上,珠三角地区被昶明资本覆盖的公司像一个个红色的热点,散布在一片暗蓝色的背景上。看上去像是一张星图——或者是某种传染病的传播路径图。

他拿起手机,给林昭然发了一条消息:“证据找到了。明天上午十点,会议室见。带上陈默远。”

然后他又发了一条:“另外,不要告诉周衍。”

林昭然秒回:“明白。”

那天晚上陆鸣没有回家。他在实验室的沙发上躺了一会儿,但睡不着。他闭上眼睛的时候,脑子里自动开始运行反演的结果——那些红色的热点像萤火虫一样在黑暗中闪烁,构成了一个他看不懂的图案。

凌晨四点,他放弃睡眠,起身走到窗边。深圳的天际线在夜色中呈现出一种奇异的美感——高楼的灯光在雾气中晕开,像是水彩画被雨水淋湿了。远处有一栋在建的大厦,塔吊上的红色警示灯一闪一闪,像一只不会闭上的眼睛。

陆鸣忽然想起了他的父亲。

他的父亲是一个中学数学老师,在小城里教了一辈子书。陆鸣上初中的时候,父亲有一次在晚饭后对他说:“数学的本质不是计算,是理解。计算是机器干的事,理解是人干的事。如果你只会算,你迟早会被机器替代。如果你会理解,你就永远不会被替代。”

那时候陆鸣不以为然。他觉得计算就是一切——能算出来就是对的,算不出来就是扯淡。他花了整个青春期去追求计算的精度和速度,从奥数到高考,从本科到博士,从学术到量化交易。他一直以为自己在追求真理,其实他只是在追求更大的数字——更大的收益率,更高的准确率,更低的p值。

现在他站在深圳的凌晨四点,终于明白了父亲的话。

理解。

模型可以计算出四十七个人会离职,但它不理解他们为什么离职。模型可以计算出赵峻岭的演讲会引发恐慌,但它不理解恐慌是什么感觉。模型可以计算出陆鸣和宋琳的婚姻会终结,但它不理解终结意味着什么。

理解是人干的事。

而陆鸣在过去三年里,一直在逃避这件事。

他拿出手机,打开了和宋琳的对话框。最后一条消息还是三年前宋琳发的:“东西我已经搬完了,钥匙放在门口的盒子里。”

陆鸣输入了一行字:“明天有空吃饭吗?不是以同事的身份,不是以前妻前夫的身份。就是吃顿饭。”

发送。

他看着消息从”发送中”变成”已发送”,然后把手机放在窗台上,继续看外面的夜色。三分钟后手机亮了。

宋琳回复:“好。你选地方。”

陆鸣笑了。这是他很久以来第一次觉得一个不确定的结果比确定的好。

上午十点,陆鸣在会议室里见到了陈默远和林昭然。

周衍不在——林昭然以”产品复盘”为由把他支到了客户现场。陈默远的脸上带着一种晨会特有的倦意,但当他看到陆鸣的反演报告时,倦意迅速被一种更锐利的表情替代了。

“你确定?“陈默远问。

“确定。“陆鸣把热力图投影到墙上,“这个特征是手工注入的,不是模型自主发现的。它的激活模式太精确了——只对昶明资本覆盖的用户生效。这种精确度在自然学习中是不可能出现的。”

“谁干的?”

陆鸣看了林昭然一眼。林昭然深吸一口气,说:“代码风格指向周衍。但没有直接证据——我只有session签名的时间关联和编码习惯的间接推断。”

会议室里安静了十几秒。陈默远站起来,走到窗边,背对着他们站了一会儿。阳光从他的侧面打过来,把他的影子投在会议桌上有一种奇异的不真实感——影子比他本人看起来更清楚、更锐利,像是一个被简化了的陈默远。

“如果他真的是内鬼,“陈默远的声音从窗户那边传来,“那他的目的是什么?”

“钱。“林昭然说,“最简单的解释:他和昶明资本合作,利用我们的模型来制造可控的社会事件——比如定向的离职潮——然后从中牟利。昶明资本可以借机做空相关公司的股票,或者在舆论上推动他们的’AI替代’叙事。”

“但这也意味着,“陆鸣补充道,“我们的模型从B轮开始,就已经不完全是我们自己的了。投资人买到的产品里藏着一个后门——一个可以被用来操纵社会行为的后门。如果这件事被曝光,深瞳不是估值缩水的问题,是刑事调查的问题。”

陈默远转过身来。他的脸上没有愤怒,也没有恐惧——只有一种陆鸣从未在他身上见过的表情:疲惫。不是缺觉的那种疲惫,而是一种更深层的、来自灵魂深处的倦怠。像是一个走了很远很远的人,终于停下来看了一眼来路,发现来路上全是自己不愿意面对的东西。

“我知道了。“陈默远说,“B轮暂停。我亲自和周衍谈。”

“如果你错了呢?“陆鸣忽然问,“如果代码风格的相似只是巧合呢?”

“那就更糟。“陈默远苦笑了一下,“因为那意味着有一个我们完全不知道的人,在我们的系统里埋了一颗我们找不到的炸弹。无论是哪种情况,我们都没有资格在问题解决之前拿投资人的钱。”

他拿起手机,给方旭阳发了一条消息。陆鸣没有看到内容,但他注意到陈默远的拇指在”发送”键上悬停了三秒钟。

三秒后,消息发出去了。

会议结束后,陆鸣在走廊里拦住了林昭然。

“谢谢你。“他说。

“谢什么?”

“谢你帮查这些。你知道如果周衍知道了,你在公司的处境会很难。”

林昭然看了他一眼,那种目光让陆鸣想到了宋琳——但又不完全一样。宋琳的目光是了解,林昭然的目光是决定。一个已经知道了结局的人,和一个正在选择结局的人。

“我不是为你做的。“她说,“我是为那些用户做的。四十七个活生生的人,被当成了棋子——不管下棋的是周衍还是别人,我都没法假装看不见。”

她说完就走了。陆鸣看着她的背影,忽然想叫住她,想说什么——但他不知道该说什么。这种”想说但不知道说什么”的感觉,上次出现是在宋琳签字的那天。

那天他也没有说出来。

当天下午,陆鸣做了一件他从来没有做过的事:他给SH-0047里的四十七个人中的其中一个发了消息。

当然不是直接发——他没有他们的真实联系方式,只有脱敏后的行为数据。但他通过数据供应商的合规通道,向其中一个用户发送了一条匿名的调研邀请。这是合法的——深瞳的用户协议里包含了”匿名行为研究回访”的条款,虽然这个条款很少被使用。

他选的是一个二十九岁的女性,职业标签是”UI设计师”,住在深圳南山区。他选她没有特别的原因——或者说,原因是在所有四十七个人里,她的行为轨迹最像他自己:独居、经常加班、消费记录里有大量的咖啡和外卖、最近三个月开始频繁访问一个叫做”今天吃什么”的美食博客,虽然她之前从来没有关注过任何美食内容。

一个半小时后,他收到了回复。不是通过数据供应商的通道——是直接发到了他的个人邮箱。

邮件只有两行字:

我不知道你是谁,但我知道你们在监视我。 如果你想聊,今晚七点,科技园南门的那家瑞幸。

陆鸣看着这封邮件,感到一阵寒意从脊椎升起来。

她怎么知道?她是如何从一条匿名的调研邀请中推断出有人在监视她的?还是说——她本来就知道有人在监视她?

晚上七点,陆鸣准时出现在科技园南门的瑞幸咖啡。他不知道自己在期待什么——也许是一个神经质的 conspiracy theorist,也许是一个因为加班太多而产生被害妄想的设计师。

但他看到的是一个完全出乎意料的人。

周衍的妻子,钟意。

钟意今年三十二岁,是独立UI设计师,自由职业。陆鸣在公司的年会上见过她几次——一个安静的女人,说话轻声细语,总是站在角落里观察别人。她和周衍的婚姻在圈内被认为是模范——两个北大校友,一个做技术一个做设计,门当户对。

“你认识我?“钟意坐下来的时候问。

“认识。你是周衍的妻子。”

钟意的表情没有变化。“对。所以你应该能理解我为什么知道有人在监视我。我丈夫是深瞳的CTO,我自己是数据供应商的用户。我知道数据是怎么被使用的——我甚至帮他review过深瞳的隐私协议。”

“你给他review过——“陆鸣忽然意识到了什么。

“对。我看过回声系统的架构文档。我知道temporal_emotional_resonance这个特征——因为最初提出这个概念的人不是你的模型,是我。”

陆鸣的咖啡杯停在嘴边。

钟意开始讲述一个陆鸣从未听过的故事。

一年前,钟意在做自己的设计项目——一个关于”数字时代的集体情绪”的数据可视化装置。在这个过程中,她发现了一个现象:互联网从业者的行为数据中存在一种她称之为”时间情绪共振”的模式——当某一个行业出现重大新闻时,从业者们的行为变化不是随机散布的,而是呈现出一种可以被量化的同步性。

她把这个发现告诉了周衍。周衍当时正在为Echo-6的特征工程发愁——模型的准确率卡在了一个瓶颈上。钟意的发现给了他一个灵感:如果把”时间情绪共振”作为一个特征注入模型,也许可以突破瓶颈。

但钟意没有想到的是,周衍不仅注入了这个特征——他还用这个特征做了一些钟意没有授权的事。

“他用我的发现来追踪特定的人群。“钟意的声音很平静,但手指在杯壁上微微发抖,“我发现的时候已经太晚了。他已经在模型里建了一个完整的定向查询系统,用来识别那些可以被’影响’的用户集群——就是那些对特定信息特别敏感的人。然后他把这些信息卖给了昶明资本。”

“卖了多少钱?”

“我不关心多少钱。“钟意看着他,“我关心的是,我的研究——一个关于’人如何在数字时代共享情绪’的美学研究——被用来当作操纵人的工具。”

陆鸣沉默了很久。窗外的天已经完全黑了,瑞幸咖啡的暖黄色灯光映在玻璃上,和外面科技园的冷白色灯光形成了鲜明的对比。陆鸣忽然觉得这两种光分别代表了他生活的两个世界——一个是温暖的、人性化的、充满了真实情感的;另一个是冰冷的、数字化的、用数据丈量一切的。

他一直在两个世界之间摇摆。在量化基金的时候,他完全活在冰冷的世界里。来到深瞳之后,他以为自己找到了平衡——用技术来做有意义的事。但现在他发现,技术本身没有温度,是使用技术的人给它温度。而周衍给了它错误的温度。

“你为什么找我?“陆鸣问。

“因为你也在SH-0047里。”

“什么?”

“你也是那四十七个人之一。”

陆鸣的大脑短路了一瞬。然后他想起来了——深瞳的员工数据也在模型的训练数据集中——他用自己的数据做过测试。他一直在观察别人,却不知道自己也被人观察着。

“赵峻岭的演讲触发了你的共振。“钟意说,“你在演讲之后的第二天改变了通勤路线——从开车变成了坐地铁。你在演讲之后的第三天开始频繁浏览招聘网站。你在演讲之后的第五天深夜给一个已经离婚的前妻发了消息——虽然我不知道内容是什么,但时间戳和情绪指数都显示,你的’时间情绪共振’特征被激活了。”

陆鸣想反驳。他想说,他换通勤路线是因为车送去保养了,他浏览招聘网站是因为好奇,他给宋琳发消息是因为——因为什么?

因为他害怕。因为赵峻岭的演讲让他意识到,他自己也是可以被AI替代的人。他是一个写算法的人,但迟早有一天,算法可以自己写自己。到那时候他算什么?一个过时的、被时代抛弃的、三十四岁的前量化交易员?

他的行为确实被影响了。他确实在共振。

0.03的自由意志。他以为自己在那0.03里做了自由的选择——给宋琳发消息、开始坐地铁、打开招聘网站。但如果这些”自由的选择”也是一个可以被计算的输出呢?

“你现在在想,“钟意看着他,“你自己到底有没有自由意志。”

陆鸣没有回答。

“我的研究结论是这样的,“钟意说,“共振不等于决定。音叉会共振,但音叉不是被强迫振动的——它只是选择了最省力的方式来回应外界的能量。人也一样。你会被赵峻岭的演讲影响,因为你的生活里已经有了那个频率——焦虑、不确定、对未来的恐惧。这些情绪不是演讲制造出来的,它们本来就在那里。演讲只是让它们浮出了水面。”

“所以你的意思是,被影响不等于被控制。”

“对。你坐地铁、看招聘、联系前妻——这些行为被共振放大了,但方向是你自己选的。你本来就想联系她,对吗?”

陆鸣沉默了很长时间。然后他说:“对。我本来就想。”

他们聊了将近两个小时。钟意告诉陆鸣,她已经把周衍的行为证据——包括昶明资本的资金往来记录和周衍在模型中的操作日志——整理成了一份完整的文件,保存在一个加密的云端存储里。

“我不打算报警。“钟意说,“至少现在不。我不想让我的研究变成一个丑闻的注脚。但我也不想让它继续被滥用。”

“你想怎么做?”

“我想让你修复模型。把那个特征删掉——不,不是删掉,是改造它。把它从定向追踪的工具变成理解人类情绪的桥梁。‘时间情绪共振’本身不是坏事——如果我们能理解人群是如何共享情绪的,我们就能做更好的危机预警、更精准的心理健康干预、更人性化产品设计。它不应该被用来操纵人,而应该被用来帮助人。”

陆鸣看着钟意,忽然想起了父亲说的那句话:“计算是机器干的事,理解是人干的事。”

理解。

也许这就是他一直在寻找的答案。不是删除模型,不是逃离算法,而是理解——理解数据背后的情感,理解共振背后的需求,理解人在被数字时代裹挟的同时,仍然保有选择方向的能力。

“好。“陆鸣说,“我来改造它。“

接下来的事情进展得比陆鸣预想的快。

陈默远和周衍谈了。陆鸣不在场,但林昭然后来告诉他,谈话持续了四个小时,周衍从否认到辩解到沉默,最后说了一句话:“我以为我在帮公司。”

陈默远说:“你帮的是你自己。”

周衍被免去了CTO的职务,但陈默远没有报警——原因很复杂,有一部分是因为钟意的请求,有一部分是因为公开丑闻对公司的打击远大于私下处理。周衍在一个月后正式离职,他的股份被回购,他用那笔钱还清了一些债务,然后消失了。

昶明资本那边,赵峻岭的”AI替代基金”因为缺乏足够的舆论支持而迟迟没有完成募集。那波集体离职潮确实发生了——但不是四十七个人,是三十一个人。其余的十六个人选择了留下。

0.97的置信度,最终被0.69的现实修正了。

三十一比四十七。模型高估了。或者说,模型高估了恐惧的传染力,低估了人的韧性。那十六个选择留下的人,他们有各种各样的理由——房贷、家庭、对公司的感情、或者只是单纯的倔强。这些理由在数据里是看不见的,因为它们太个人、太细微、太像噪声了。

但噪声里有信号。

陆鸣花了一个月的时间改造”时间情绪共振”特征。他没有删掉它,而是重新设计了它的用途:从”识别可以被影响的人”变成了”理解正在被影响的人需要什么帮助”。新的特征被命名为”care_signal”——关怀信号。它不再追踪谁会被恐惧驱动,而是识别谁正在经历情绪的剧烈波动,然后触发干预——不是商业化的干预,而是真正有益的干预:心理健康的资源推荐、职业规划的辅导信息、社区活动的邀请。

回声系统从这个版本开始,不再叫”预测工具”。它被重新定位为”社会情绪感知平台”——一个帮助城市管理者、社区工作者和企业HR理解人群情绪变化的基础设施。产品的Slogan是林昭然写的:“听见回声,理解回声。”

B轮融资在推迟了六周后完成了。方旭阳在签约的时候说了一句意味深长的话:“一家知道什么时候应该暂停的公司,比一家只知道加速的公司更值得投资。“

十一

夏天快要结束的时候,陆鸣做了一件他犹豫了很久的事。

他约林昭然吃了一顿不是工作餐的饭。

他们去了南山的一家日料店,坐在吧台旁边,看厨师在面前切刺身。林昭然点了一份三文鱼和一杯清酒,陆鸣点了一份金枪鱼和一杯威士忌。

“你的type是喝威士忌的人?“林昭然问。

“我不知道我的type是什么。“陆鸣说,“我以前以为我的type是可以被计算出来的。”

“然后呢?”

“然后我发现,计算不出来的那部分才是最重要的。”

林昭然笑了。不是那种礼貌性的笑,而是一种带着一点释然的笑——像是等了很久的一句话,终于等到了。

“你知道吗,“她说,“我第一次见你的时候,觉得你是一个很无聊的人。所有的对话都在讲模型、数据、算法。像一个没有感情的计算机器。”

“后来呢?”

“后来我发现你不是没有感情——你是把感情藏在了计算里。你对模型的执念不是因为你相信技术,而是因为你害怕失控。你用计算来给自己一种虚假的确定感,因为不确定让你恐慌。”

“你说得对。“陆鸣承认了。

“但我不会等你准备好。“林昭然看着他,眼神里有一种温柔但坚定的东西,“我看过你在面对那个被篡改的模型时的选择——你选择了做正确的事,而不是安全的事。一个能在数据里找到勇气的人,不应该在生活里找不到。”

陆鸣放下酒杯。厨师正在切一块新鲜的蓝鳍金枪鱼,刀刃在灯光下闪了一下。陆鸣注意到刀切过鱼肉的纹路——那种自然的、不可预测的纹理,是任何算法都无法生成的。

“钟意跟我说了一句话,“陆鸣慢慢说,“她说共振不等于决定。你被影响,但方向是你自己选的。”

“所以?”

“所以我的方向是——“他看着林昭然,“我想和你一起走。不是因为你是最优解,不是因为你匹配我的参数。是因为和你在一起的时候,我不想计算了。”

林昭然没有说话。她拿起清酒杯,轻轻碰了一下陆鸣的威士忌杯。玻璃相碰的声音清脆而短暂,在嘈杂的日料店里几乎听不见——但他们都听到了。

那是一个回声。一个他们选择去回应的回声。

尾声

秋天的时候,陆鸣收到了一封来自深圳大学的邀请函。社会学系的一个教授看到了关于”回声系统”的报道,想邀请他去做一个讲座,主题是”算法时代的社会感知”。

陆鸣犹豫了一下,然后答应了。

讲座那天,他站在阶梯教室的讲台上,面对着一百多张年轻的面孔。他没有讲算法,没有讲模型,也没有讲那些让他夜不能寐的置信度数字。

他讲了音叉。

“你们知道音叉吗?“他说,“那种用来调音的金属小叉子。你敲一下它,它会发出一个固定频率的声音。如果你把另一个频率相同的音叉放在它旁边,即使你不敲第二个,它也会自己振动起来。这叫做共振。”

“人类社会就像一屋子音叉。每天都有无数的事件在敲响我们——新闻、演讲、算法推荐、朋友的只言片语。我们被这些频率包围着,不由自主地振动。有时候我们甚至分不清,自己的想法到底是自己的想法,还是外界频率的回声。”

“但有一个事实经常被忽略:共振需要条件。一个音叉只会和它本身频率相同的声音共振。你敲一个A调的音叉,旁边的C调音叉不会有反应。”

“所以,当你发现自己被某件事’共振’了——被激怒了、被感动了、被恐惧了——不要急着说’我被操纵了’。先问问自己:为什么是这个频率?为什么不是别的?答案通常会指向你内心深处一直存在、但被忽视的东西。”

“算法可以看到你的共振,但它看不到你为什么共振。它知道你会在明天做什么,但它不知道你为什么选择做或不做。那0.03的不确定性——那点模型无法覆盖的残差——就是你。不是你的全部,但是最核心的部分。”

“所以我的建议是:不要害怕回声,但也不要被回声定义。听见它,理解它,然后选择你要不要回应它。”

“这就是我今天想说的。谢谢。”

讲座结束后,陆鸣走出教学楼。深圳十一月的阳光依然温暖,校园里的异木棉开得正盛,粉红色的花朵在蓝天底下显得格外明艳。他掏出手机,看到两条消息。

第一条来自林昭然:“讲座怎么样?晚上我做饭,来我家吃。”

第二条来自宋琳:“看到你的讲座预告了。没空去,但替你高兴。活得像个人了。”

陆鸣站在花树下,把两条消息各看了一遍。然后他先回复了林昭然:“好,我带酒。“又回复了宋琳:“谢谢。你也一样。”

他收起手机,朝校门走去。身后有人在用蓝牙音箱放一首老歌,旋律在校园里飘荡,碰到教学楼的外墙弹回来,变成了一个模糊的、温柔的回声。

陆鸣没有回头。但他听到了。

他选择听到它。

(全文完)