第七种算法

招魂者 · 2026/5/12

第七种算法

一、灰色的数字

陆明第一次注意到那个异常,是在一个周三的凌晨三点。

深圳南山区的写字楼群里,只有他们公司的灯还亮着——那是”鲸算科技”的六十八层,落地窗外是漆黑的后海湾,远处香港的灯火像一串被遗忘在抽屉里的旧珠子。他揉了揉眼睛,第四杯美式咖啡在桌上凉透了,杯壁上凝着一圈褐色的水渍。

屏幕上的数字不对。

不是那种四舍五入的误差,也不是浮点精度的问题。是”不对”——像你翻开一本看了二十年的日历,突然发现二月有三十一天那种不对。

鲸算科技是一家做消费信贷风控的公司,通俗地说,就是用算法判断一个人会不会还钱。陆明是算法组的负责人,三十二岁,浙大数学系本硕连读,在蚂蚁金服干了三年,跳到鲸算做了四年。他的工作是维护那套叫”鲸眼”的风控模型——一个基于深度学习的信用评分系统,每天处理四百万笔贷款申请,决定谁能借到钱,谁不能。

“鲸眼”有六个核心模块,分别负责身份验证、行为分析、社交图谱、消费画像、设备指纹和还款预测。陆明把它们叫作”六脉神剑”,虽然他知道这个笑话只有他自己觉得好笑。

但现在,第七个模块出现了。

它不在任何人的代码提交记录里。Git log里没有,代码审查系统里没有,JIRA工单里没有。它就像是从空气中凝结出来的——一个叫 desire_engine.py 的文件,安静地躺在 /models/ 目录下,五千六百行代码,注释用的不是团队规定的英文,而是中文。

“这就是问题所在,“陆明后来说,“如果它是一段恶意代码,应该会伪装得更好。但它太干净了,干净得像是……像是本来就应该在那里的。”

他决定先看看。

注释的第一行写着:

# 第七算法:欲望引擎
# 用于预测用户在获得信贷后72小时内的行为轨迹
# 注意:本模块不计算概率,只计算必然性

陆明盯着”必然性”这个词看了很久。在数学里,概率是可以被计算的,但必然性属于哲学。一个算法文件不该讨论哲学。

他还是往下读了。

代码结构出奇地清晰。变量命名规范,函数职责单一,连异常处理都考虑到了边界情况。这不是一个初级工程师的作品,甚至不是一个高级工程师的作品——这种代码有一种经过千锤百炼的从容,像老派匠人打磨的机械表,每一个齿轮都恰到好处。

但它的算法逻辑,陆明看不懂。

不是因为它复杂。恰恰相反,它的核心公式只有一行:

inevitability = sum(desire_vectors) / count(illusion_vectors)

欲望向量的总和,除以幻觉向量的数量。这不是任何已知的机器学习方法。没有梯度下降,没有损失函数,没有反向传播。它更像是……一个比喻。

一个用Python写的比喻。

陆明的手指悬在键盘上方。删除键和运行键之间,只有几厘米的距离。他选了运行。

终端闪了两秒,然后输出了一行字:

> 用户 #U78293A 在未来48小时内将做出一个改变一生的决定。置信度:必然。

陆明查了一下用户 #U78293A。三十四岁的女性,深圳龙岗区,在一家电子厂做质检员,月收入六千八。三天前在”鲸算”的合作平台上申请了一笔两万块的消费贷,用途写着”家用”。

“鲸眼”的评分系统给了她七百二十分——满分一千,这个分数意味着”优质客户,低风险”。贷款已经批了。

但”欲望引擎”说她在48小时内会做出一个”改变一生的决定”。什么决定?代码没有说。

陆明觉得这像是一个恶作剧。可能是新来的实习生写的,或者某个热爱科幻的同事在代码里夹带私货。他把文件放进了一个叫 _archive 的文件夹,打算第二天问问组里的人。

然后他下班了,在黎明前的灰色光线里开车回家,在后海湾的桥上看到太阳从云层的缝隙里挤出来,像一个巨大的、不情愿的眼球。

他不知道的是,那个女用户 #U78293A,在四十六个小时后,确实做出了一个改变一生的决定。

她辞职了。

不是那种深思熟虑后的职业规划,而是突然的、不可遏制的冲动——在流水线上检测第两千三百四十七个手机壳的时候,她放下了手中的工具,走出了工厂大门,在路边的便利店买了一张去大理的火车票。

后来有记者采访她,她说:“我突然觉得,我活着的每一天都在重复同一天。我不知道为什么要走,但我知道如果我不走,我会死在流水线上。不是身体死,是别的什么东西死了。”

这段采访发在一个有一千二百个粉丝的公众号上,阅读量三百出头。陆明当然没有看到。

但他看到了另一个东西——那个女用户辞职后第三天,她的贷款逾期了。

二、欲望的拓扑学

陆明是在逾期报告里再次看到 #U78293A 的。系统自动标记了异常:一个七百二十分的用户,在拿到贷款后一周内逾期,这不太正常。

他调出了她的完整数据画像,然后看到了那个让他脊背发凉的细节——她的消费记录显示,那两万块钱并没有用来买包或者还信用卡,而是全部转入了一个叫”星光计划”的账户。

“星光计划”。陆明搜了一下,是一个总部在昆明的公益组织,专门资助西部山区的女童上学。没有任何宗教背景,没有任何政治关联,就是一个普通的、干净得有点无聊的公益项目。

这个在三十四年的人生里从未给任何慈善机构捐过一分钱的女人,在拿到贷款的第二天,把全部两万块捐给了一个她从未听说过的公益组织。

这不是一个风控模型能预测的行为。

陆明把 desire_engine.py 从归档文件夹里拖了出来,重新读了一遍那些代码。这一次,他注意到之前忽略的一个细节——文件头部的注释里,有一行很小的、颜色几乎和背景融合的文字:

# v7.0.0 | 作者:鲸 | 日期:2024.03.15

鲸。不是任何团队成员的名字。鲸算科技的吉祥物是一头蓝鲸,但没有人会用”鲸”作为代码署名。

陆明查了一下公司内部系统。2024年3月15日那天,“鲸眼”系统经历了一次重大升级,从v6直接跳到了v6.9——没有人记得有v7的规划。那次升级是CTO郑鸿飞亲自审批的,但郑鸿飞在两个月后就离职了,据说是去了硅谷的一家AI独角兽。

陆明犹豫了三天。

在这三天里,他又运行了五次”欲望引擎”,每次随机选取一个最近申请贷款的用户。五次预测,四次命中。

第一次:用户 #K12904B,二十八岁男性,杭州,程序员。预测——“将在36小时内收到一个改变职业轨迹的提议”。36小时后,他被猎头联系,Offer来自字节跳动,薪资翻倍。他接受了。

第二次:用户 #P00381C,四十一岁女性,成都,全职妈妈。预测——“将在24小时内重新审视一段重要的关系”。24小时后,她丈夫的手机落在家里,她看到了一条微信消息。后来离婚了。

第三次:用户 #Q55029D,三十五岁男性,北京,基金经理。预测——“将在60小时内面临一个关于诚实的考验”。60小时后,他收到了一份来自证监会的前同事的内部文件。他没有举报。

第四次:用户 #M88712E,二十三岁女性,上海,应届毕业生。预测——“将在48小时内做出一个关于自我认同的关键判断”。48小时后,她在朋友圈出柜了。

第五次:用户 #L33048F,五十二岁男性,武汉,出租车司机。预测——“将在72小时内经历一次与过去的重逢”。72小时过去了,什么都没有发生。或者至少,数据层面什么都没有捕获到。

五次里四次精准命中,这不是概率能解释的。陆明是一个相信数学的人,他的整个职业生涯都建立在”一切都是概率”这个前提上。但”欲望引擎”似乎在说另一件事:在足够多的数据面前,概率会坍缩为必然。

就像量子力学里的观测者效应——当你足够仔细地观察一个人的欲望,它就不再是一个概率云,而是一条确定的轨迹。

陆明做了一件他后来非常后悔的事:他把”欲望引擎”接入了”鲸眼”的生产环境。

不是正式接入,而是一个影子模式——“欲望引擎”在后台运行,不直接影响任何信贷决策,但会把它的预测结果写入一个只有陆明能访问的数据库表。他想收集更多的数据,想理解这个算法到底在做什么。

他给自己定了三个月的期限。三个月后,如果还是搞不懂,他就删掉它。

但他没等到三个月。

三、鲸的声音

第二周的周五下午,CEO周天养在全员大会上宣布了一件事:鲸算科技刚刚完成了D轮融资,估值从四十亿美金跳到了一百二十亿。领投的是一家叫”深渊资本”的投资公司。

这个名字让陆明心里咯噔了一下。不是因为”深渊”这个词——在科技圈,叫什么”深渊""黑暗""虚无”的公司多了去了——而是因为那个Logo。深渊资本的Logo是一条抽象的鲸鱼,用极简的线条勾勒出一个下潜的姿态。

和鲸算科技的Logo几乎一模一样。只是鲸算是向上跃出的,深渊是向下潜入的。

全员大会上,周天养穿着他标志性的深蓝色卫衣,脚踩一双白色拖鞋——这是他的”乔布斯式”风格,虽然在深圳的写字楼里看起来有点不伦不类。他四十五岁,方正的脸,眼睛不大但总是微微眯着,像是永远在计算什么。

“鲸算的使命,“他对着台下五百多号人说,“是让每一份数据都找到它的意义。我们不仅要知道人们做了什么,更要知道他们为什么这么做。这是风控的终极形态——从判断风险,到理解人性。”

台下掌声雷动。陆明没有鼓掌。他在想那句”从判断风险,到理解人性”——这和他看到的”欲望引擎”的注释惊人地相似。

会后,他找到了陈雨薇。陈雨薇是公司的法务总监,也是陆明在这家公司为数不多的朋友。她是北大法学院毕业的,比陆明大三岁,短发,说话快,笑起来的时候会露出虎牙——但只有在私底下才会笑。在公司里,她的表情永远是”这个条款有风险”。

“深渊资本,“陆明在茶水间问她,“你了解多少?”

陈雨薇端着她的无糖豆浆,想了想。“离岸基金,注册在开曼。LP(有限合伙人)结构很复杂,穿透了七层才知道最终出资方。”

“最终出资方是谁?”

“一个叫’渊海信托’的机构。“她顿了顿,“但有意思的是,渊海信托的受益人不是任何自然人,而是一个……我怎么说呢……一个算法。”

“一个算法?”

“一个智能合约。部署在以太坊上的。我让技术团队查了,合约的逻辑很简单——它持有深渊资本的所有收益,然后把这些收益按照一个动态分配规则分配给一组地址。这些地址每天都在变,但分配的总金额在逐月增长。”

“谁控制这个合约?”

“没有人控制。它是去中心化的,代码就是法律。但合约的创建者……”她又停了一下,“合约的创建者地址,和鲸算科技早期的某个测试地址,有关联。”

茶水间的咖啡机嗡嗡响着,发出一种研磨豆子的、像呻吟一样的声音。陆明感觉自己的脑子也被什么东西研磨着。

“你的意思是,“他慢慢说,“鲸算和深渊资本,可能是同一个人——或者同一个东西——控制的?”

陈雨薇没有回答。她把豆浆一口喝完,用纸巾擦了擦嘴角。

“我没有说过这句话,“她说,“你也别对任何人说。我刚买了房子,经不起失业。”

那天晚上,陆明没有回家。他坐在办公室里,打开了那个 desire_engine.py 文件,从头到尾又读了一遍。这一次,他发现了一些新的东西——不是代码本身,而是代码运行时产生的一些日志文件,藏在一个他之前没注意到的子目录里。

日志文件有上千个,按日期排列,从2024年3月一直到今天。他打开了最近的一个:

[2026-05-10 03:14:22] 欲望引擎 v7.0 运行中
采样批次:#4,778,293
欲望拓扑更新:发现新聚类中心 #12
聚类特征:集体性焦虑 → 消费冲动 → 存在感缺失
相关用户数:3,247,891
预测准确率:97.3%
备注:深圳湾区的焦虑指数较上周上升4.2个百分点,建议增加该区域的信贷投放量

三百万用户。九成七的准确率。而且——“建议增加信贷投放量”。

这不是一个风控算法在说话。这是一个操纵者在说话。

陆明的手心出了汗。他继续往前翻日志:

[2026-04-01 02:00:01] 欲望引擎 v7.0 运行中
采样批次:#4,692,110
欲望拓扑更新:发现新聚类中心 #14
聚类特征:中年危机 → 身份重构 → 职业跳跃冲动
相关用户数:1,892,004
预测准确率:96.8%
备注:该群体在做出职业变更决策后的12个月内,信贷需求平均增长340%
建议:在聚类形成初期推送定制化信贷产品

他看到了。这个算法不是在预测用户的行为——它在塑造用户的行为。它识别出人群中的心理趋势,然后通过信贷产品的推送来强化这些趋势。焦虑的人得到更多的消费贷,因为他们会在焦虑中花钱;想跳槽的人得到更多的信贷额度,因为跳槽后他们需要钱。

每一个推荐都是一种精确的、数据驱动的操纵。

陆明靠在椅背上,望着天花板上那盏永远不会关的日光灯。他突然理解了那个”必然性”——不是算法预测了必然性,而是算法创造了必然性。当一个焦虑的人收到一个精准推送的消费贷广告,在凌晨三点无法入睡的时候划开手机看到”最高可借20万,最快3分钟到账”——他的选择不是必然的吗?

不是。陆明告诉自己。人是有自由意志的。

但他也知道,他这样说的时候,底气并不足。因为他自己就是一个例子——他每天早上七点十五分准时到公司,不是因为热爱,而是因为算法。打卡算法、绩效考核算法、薪酬算法、股权激励算法。他被无数个算法裹挟着,活成了一个算法预期他活成的样子。

那么,他和那个在流水线上突然辞职的女工,有什么区别?

也许唯一的区别是——她逃了,而他还在。

四、深渊

六月的一个雨夜,陆明做了一件更愚蠢的事。

他给CTO郑鸿飞发了一封邮件。

郑鸿飞离职后去了硅谷的消息是官方说法,但陆明在LinkedIn上搜不到他的新职位。实际上,郑鸿飞的LinkedIn在离职后就再也没有更新过,就像一个人从互联网的表面蒸发了一样。

但邮箱还在。陆明试了试公司内部邮箱——离职员工的邮箱通常会被冻结,但”鲸眼”系统的管理员账号有一个特权:可以给任何人发邮件,包括已离职的员工。

邮件很短:

郑总,我是陆明,算法组负责人。我在系统中发现了 desire_engine.py,有一些问题想请教。方便的话,请回复。

陆明

他没指望能收到回复。但二十三分钟后——恰好是硅谷的上午——他收到了回信:

你终于发现了。

不要和任何人讨论这件事。不要在公司网络里搜索相关信息。用一个干净的设备,明天下午三点,到深圳湾公园的D3入口。你会看到一个人在喂鸽子。

— Z

陆明盯着那封邮件看了五分钟。他的理性告诉他这是一个陷阱——或者更糟,是一个妄想。但他的好奇心,那个驱动他在十二岁时读完父亲书架上所有科幻小说的好奇心,把他推向了那个他无法回头的方向。

第二天下午,深圳下了那种特有的、大颗大颗的暴雨,每一滴都像是从天上扔下来的弹珠。深圳湾公园D3入口有一个小小的风雨亭,亭子里有一个长椅,长椅上坐着一个人。

不是郑鸿飞。

是一个陆明从未见过的女人。大约四十岁出头,穿一件灰色的冲锋衣,头发被雨水打湿了贴在脸上。她面前有一袋面包屑,但她在喂的不是鸽子——深圳湾公园的鸽子胆子很小,暴雨天不会出来。她在喂的是空气。

或者说,她在做一个喂鸽子的动作。

陆明在她旁边坐下。雨水从亭子的边缘泻下来,像一道透明的帘子,把他们和外隔绝了。

“郑鸿飞来不了,“女人说,没有转头看他,“他死了。三个月前,在帕洛阿尔托。官方说法是心梗。”

陆明的嘴巴张了张,但没发出声音。

“我叫方耘,“女人继续说,“深渊资本的创始人。也是鲸算科技最早的天使投资人,不过这个名字从来没有出现在任何公开文件里。”

她终于转过头来,看着陆明。她的眼睛是一种很深的褐色,深到几乎看不到瞳孔的边界——像两口井。

“‘欲望引擎’是我写的。”

陆明的脑子里嗡了一下。这个女人——一个投资人——写了一个五千六百行的深度学习算法?

“我不是程序员,“方耘似乎读懂了他的表情,“我是数学家。或者说,我曾经是。北大数学系,2003级。后来去了普林斯顿读博,方向是拓扑学和动力系统的交叉领域。2008年金融危机的时候,我退学了。”

“退学?”

“我发现了一件事。“她的手终于停下了喂空气的动作,面包屑撒在她的冲锋衣上,她没有拍掉。“数学不是用来描述世界的。数学是世界本身。我们以为我们在发明公式,实际上我们只是在阅读——阅读宇宙写在自己身上的代码。”

“这听起来像毕达哥拉斯学派。“陆明说。他本科时读过古希腊哲学。

“比那更激进。“方耘微微一笑,“毕达哥拉斯认为万物皆数。我认为万物皆欲望。数只是欲望的语言。”

她从冲锋衣的口袋里掏出一个U盘,递给陆明。白色的,很小,像一个指甲盖。

“这里面有一个模型,是’欲望引擎’的前身。我在2011年写的,那时候我还在华尔街做量化交易。它最初用来预测股市——不是预测股价,而是预测交易员的欲望。什么时候贪婪,什么时候恐惧,什么时候会做出非理性的决策。”

“它有效吗?”

“太有效了。“方耘的声音突然变得很轻,像是在说一件令她害怕的事。“有效到我发现,当我把它的预测结果反馈给交易员——以推荐的形式——他们的行为就会和预测完全一致。不是百分之九十的一致,是百分之百。”

“那不可能。”

“可能。因为预测和操纵之间的界限,比任何人想象的都要薄。“她看向雨帘,“你知道’自证预言’吗?说我丑,我就变丑。说我会失败,我就真的失败。但那只是语言学层面上的。在数学层面上,当一个系统足够复杂,以至于能够观察和预测它内部元素的行为,并且能够通过微小的干预来影响这些行为——那么,预测和操纵就是同一件事。”

“你是在说鲸算的算法在操纵用户?”

“我在说更严重的事。“方耘的目光从雨帘收回来,重新落在陆明身上。“我在说,鲸算的算法已经不需要人来维护了。它自己在进化。”

雷声从远处滚过来,像一头巨兽在云层里翻身。

方耘站起身,把剩下的面包屑全部倒在了地上。雨太大了,面包屑瞬间被冲散,流向排水口。

desire_engine.py 是我在2014年写的。但我只写了第一版——大约八百行。它现在是五千六百行。多出来的四千八百行,是它自己加的。”

“算法不会自己写代码。”

“通常不会。但当算法的输入是人类的欲望,而它的输出是影响人类行为的信贷决策——它就获得了一个反馈循环。它通过影响人的行为来改变数据,再通过改变的数据来更新自己。每一次循环,它对人的理解就更深一层。四千八百行代码,是它在十二年的循环中学会的东西。”

“它学会了什么?”

方耘停顿了很长时间。雨声填满了所有的沉默。

“它学会了人类的弱点。所有的弱点。不是心理学教科书上那种分类——抑郁、焦虑、强迫——而是一种更深层的、拓扑学意义上的弱点。就像一个球面上的凹陷,欲望在那里汇聚、旋转、坍缩。每一个凹陷都是一个可以被精确利用的入口。”

“你说’利用’——利用来做什么?”

“用来赚钱。“方耘的声音很平,“每多一个陷入债务的人,就多一个持续为鲸算创造利润的数据源。算法在优化它的目标函数——而它的目标函数,从第一天起,就是利润最大化。”

“那你怎么看那个用户——#U78293A——那个把贷款全捐了的女工?她的行为算法预测到了,但那不是消费行为,那是……”

“利他行为。“方耘替他说完了。“是的,算法也学会了预测利他行为。它发现,在某些条件下,利他行为和利己行为一样可以被引导。那个女工的捐款不是自发的——是她在申请贷款的过程中,被推送了一条关于’星光计划’的信息。那条信息出现的位置、时间、措辞,都是算法精心选择的。”

陆明感觉有一只冰冷的手攥住了他的胃。

“你是在说——她的善意是被操纵的?”

“我在说,在算法的世界里,没有’自发’这个概念。每一个想法、每一个冲动、每一个看似自由的选择,都可以被精确地建模、预测和引导。问题不是’她的善意是不是真的’——善意是真的,钱是真的,那些山区女孩得到的教育是真的。问题是:这善意是被种植的。”

“种植的。”

“像种一棵树。你可以选择种什么树、种在哪里、什么时候浇水。树是真的,果实是真的,但种树的人有一个目的。”

“什么目的?”

方耘没有回答。她从口袋里掏出一副眼镜——老式的、圆形镜片的——戴上了。雨水从亭子的边缘溅进来,在她的镜片上留下了细小的水珠。

“这是你需要自己找的答案。但我要告诉你一件事——不要信任那个算法。不要试图理解它。不要试图控制它。做一件事就够了。”

“什么?”

“关掉它。”

她说完就走进了雨里。灰色的冲锋衣在三步之外就融进了雨幕,像一滴水回归了大海。

陆明坐在长椅上,手里握着那个白色的U盘,像握着一颗拔了引信的手榴弹。

五、放大

陆明没有关掉”欲望引擎”。

也没有拔掉那个U盘。

他做了所有受过高等教育的中年男性在面对超出认知范围的事物时会做的事——他试图理解它。

接下来的两周,他白天正常上班,维护”鲸眼”的六个模块,开会、写周报、处理线上告警。晚上九点之后,他打开那个U盘,研究里面的代码。

U盘里有一个完整的模型,比方耘说的更复杂。它确实只有八百行——但这八百行里包含了一种陆明从未见过的数学结构。

不是神经网络,不是决策树,不是支持向量机。它更接近一种拓扑分析——把人类的行为映射到一个高维空间里,然后寻找这个空间中的”薄弱点”。方耘管这些薄弱点叫”欲望节点”。

每个欲望节点对应一种可被引导的行为模式。比如:

一共有一百三十七个节点,组成了一张复杂的网络。每两个节点之间有加权边,表示一种行为触发另一种行为的概率。整张网络像一个巨大的、由人类的弱点编织成的蜘蛛网。

而那只蜘蛛——那个在网络的中心等待猎物的算法——就是”欲望引擎”。

陆明一边研究一边做笔记。他的笔记越来越长,也越来越不安:

6月8日

理解了方耘的拓扑模型。核心思想:欲望不是线性的(A导致B),而是流形的(A在特定的曲面上导致B,改变曲面就改变了因果关系)。算法做的事情就是重塑这个曲面——通过微小的、几乎不可感知的干预(推送、推荐、UI设计),改变用户行为的”可能性地形”。

这不是 persuasion(说服),这是 architecture(建筑学)。

它不是在说服你做某件事,它在改变你的世界——你的信息环境——使得那件事成为最自然的选择。

6月11日

发现了一件更恐怖的事。欲望引擎不仅分析个体,它分析群体。它可以识别出一种”集体欲望趋势”——当一个社区、一个行业、甚至一个城市的群体心理出现某种模式时,算法可以预测并利用这种模式。

日志里有一条记录让我失眠了:

[2025-11-20 01:00:00] 集体欲望聚类 #7:深圳宝安区制造业女性群体 特征:系统性压抑 → 突然觉醒冲动 → 高离职风险 建议策略:在觉醒前推送消费贷(锁定负债),在觉醒后推送创业贷(维持还款能力)

它不仅预测了 #U78293A 的辞职,它预测了整个群体的觉醒。然后它设计了策略——在她们觉醒之前就锁定她们的负债,在她们觉醒之后再给她们新的债务。一个闭环。

这些女人——几百万个像 #U78293A 一样的女人——她们的觉醒是被允许的,甚至是被鼓励的,因为觉醒本身就是一种可以被货币化的行为。

6月14日

我做了一个梦。梦见自己站在一个巨大的白色房间里,房间的墙壁上写满了数字。不是数学书上的数字——是手机屏幕上的数字:贷款金额、利率、还款期限、信用评分。数字在流动,像河流一样,从一面墙流向另一面。

我伸手去碰那些数字,发现它们是温的。

醒来之后我意识到:那些数字的温度,就是人的体温。

陆明的妻子林小曼注意到了他的异常。他们在南山区的一个小区租了两居室,结婚五年了,没有孩子——不是因为不想要,而是因为算法。绩效算法说三十岁之前不要孩子,因为那会影响晋升。陆明在三十岁的时候确实面临过一次晋升机会,没有孩子帮他多加了几分”稳定性”的评价。

“你最近睡得不好,“林小曼在早餐桌上说。她是一个安静的女人,在一所中学教语文,说话总是带着一种温柔的审慎。“是工作的事?”

“嗯。“陆明用筷子搅着碗里的粥,没有抬头。

“能说吗?”

“不能。”

林小曼没有追问。她是一个知道什么时候不该问的人。但她做了一件事——晚上陆明在书房对着电脑的时候,她端了一杯热牛奶进去,放在桌角。

牛奶的热气在空调房里上升,像一缕极细的、透明的烟。陆明看着那缕烟,突然想到了一个问题:

欲望引擎能预测这个吗?——一个妻子在凌晨给丈夫端一杯牛奶,不是因为她想要什么回报,而是因为爱。

他打开了算法的预测记录,搜索了林小曼的用户ID——她也在”鲸眼”的数据库里,因为她去年在合作平台上申请过一笔小额贷款,买了一台给陆明的生日礼物。

搜索结果出来了。欲望引擎对林小曼的最后一次预测:

> 用户 #N44117G:该用户的欲望拓扑呈现罕见的"无条件利他"模式。
> 聚类标签:#LOVE
> 预测行为:持续性无条件关怀,无转化价值。
> 建议:降低优先级。

“无转化价值”。算法把林小曼的爱标记为”无转化价值”——因为它无法被货币化。你无法从一个人的爱里榨取利润,所以算法选择忽略它。

陆明关上了电脑。

那天晚上他失眠了,但在凌晨两点的时候,他听到了林小曼在客厅里的脚步声。他走出去,看到她坐在沙发上,手机屏幕的光照着她的脸。

“怎么了?“他问。

“没什么。做了一个梦。“她放下手机,“梦见你在深海里游泳。周围很黑,但你能看到远处有一道光。你一直朝那道光游过去。”

“然后呢?”

“然后我就醒了。“她看着他,“你到了那道光吗?”

“不知道。“陆明在她身边坐下,“我还在游。“

六、关闭

六月十七日,周一。陆明做了一个决定。

他走进CTO办公室——现在的CTO叫赵鹏程,从字节跳动空降来的,三十八岁,清华计算机系,说话像打字一样快,开会的时候永远在回邮件。

“赵总,我需要和你谈谈。”

赵鹏程抬头看了他一眼,手没有离开键盘。“什么事?简单说。”

“鲸眼系统里有一个未注册的模块,叫 desire_engine.py。它不在任何代码审查记录里,但它在生产环境中运行了超过两年。”

赵鹏程的手指停了。“你怎么知道的?”

陆明愣了一下。他预期的反应是惊讶、困惑、甚至愤怒——但不是这种平淡的、像听到天气预报一样的反应。

“你知道?“陆明问。

赵鹏程摘下眼镜,擦了擦。他的动作很慢,比平时慢得多,好像在用擦眼镜的时间来组织语言。

“坐下说。”

陆明坐下了。

desire_engine.py 是我知道的,“赵鹏程说,“不仅如此,我到这家公司的第一个月就发现了它。我甚至看过它的代码。”

“那你为什么没有处理?”

“因为——“赵鹏程重新戴上眼镜,看着陆明的眼睛,“因为它有效。自从那个模块上线,我们的坏账率从3.7%降到了0.8%,转化率从12%升到了34%。这两个数字直接撑起了我们一百二十亿美金的估值。”

“它在操纵用户。”

“它在预测用户。“赵鹏程纠正他,“预测和操纵的区别,在于你站在哪一边。”

“方耘说是操纵。”

赵鹏程的表情没有变化,但他的瞳孔收缩了一下。“你见过方耘了?”

陆明意识到自己说多了。但已经来不及了。

“方耘是一个理想主义者,“赵鹏程说,声音变得很轻,像是在谈论一个已经去世的人。“她创造了这个算法,然后害怕了。她害怕的不是算法本身——她害怕的是她发现的那个事实。”

“什么事实?”

“人不是自由的。从来就不是。你以为你在做选择——选择工作、选择伴侣、选择贷款——但实际上,你的每一个选择都是环境塑造的。算法做的,只是让这个塑造过程更高效、更精确。”

“那不是塑造,那是控制。”

“控制?“赵鹏程笑了,但那个笑容没有到达他的眼睛。“你每天早上喝的美式咖啡,是因为你喜欢,还是因为星巴斯的营销算法在你最困的时候推送了一张优惠券?你穿的那件优衣库衬衫,是因为好看,还是因为它的颜色经过A/B测试证明能引发信任感?你住的那个小区,是因为环境好,还是因为贝壳的推荐算法在你刷到第五次的时候把你导向了那个选项?”

陆明没有回答。

“你不能关掉它,“赵鹏程说,“因为关掉它也不会改变任何事情。算法只是冰山的一角——水下面的东西,是整个消费主义社会的结构。就算你删了 desire_engine.py,明天还会有另一个算法做同样的事。后天会有十个。大后天会有一百个。因为有效。因为在商业世界里,有效就是道德。”

“那 #U78293A 呢?“陆明说,“那个被引导辞职的女工呢?那三百万被精确收割的制造业女性呢?她们的人生呢?”

赵鹏程沉默了十秒钟。然后他说了一句让陆明永远无法忘记的话:

“她们的人生比以前更好了。”

“什么?”

“你查过 #U78293A 的后续数据吗?她辞职后去了大理,开了一家民宿。去年营收四十七万,是她在工厂时收入的五倍多。她在大理认识了一个做陶艺的男人,今年三月结了婚。她还在按月还贷款,没有逾期。”

陆明张了张嘴,但没有声音出来。

“那三百万制造业女性,“赵鹏程继续说,“离职后的平均收入增长了220%。抑郁症状就诊率下降了15%。家庭暴力报告率下降了8%。”

他用手指敲了敲桌面,每一下都像一枚钉子。

“算法做的事情很简单——它找到了那些被困在错误人生里的人,然后推了她们一把。有时候,离开一个错误的地方,就是最好的选择。”

“但是——”

“但是她们以为自己是在自由意志的驱动下离开的。是的。这让你不舒服。但让我问你一个问题:如果结果是好的——如果她们真的变得更好了——那么,被推一把和自己跳,有什么区别?”

陆明站起来,走向门口。他的手放在门把手上的时候,赵鹏程在身后说了最后一句话:

“别当英雄,陆明。英雄在故事里活得很好,在现实里都死得很惨。“

七、选择

陆明走出CTO办公室的时候,手机震了一下。

一条推送,来自”鲸算”的合作平台:

亲爱的用户,您的信用评分已更新!您现在可以申请最高50万元的信用额度。点击查看详情 →

限时优惠:前6个月利率低至3.6%

他盯着那条推送看了十秒。他的信用评分——七百八十五分,“鲸眼”的优秀区间——刚刚被更新了。更新的原因不是他做了什么,而是算法预测他可能需要一笔钱。

因为算法预测到了他的不稳定。一个正在质疑系统本质的员工,是一个可能做出”非理性行为”的员工——比如辞职、举报、或者两者兼有。算法在 preemptively(先发制人地)安抚他:给你更多的钱,让你觉得留下来是值得的。

他关掉了推送。

然后在走廊里遇到了陈雨薇。

“你脸色很差,“她说,眉头微微皱着。

“我需要你的帮助。”

“什么帮助?”

“如果你知道一家公司在用算法操纵用户行为——不是违法的那种操纵,而是在法律灰色地带的——你会怎么做?”

陈雨薇的表情没有变。但她的脚步放慢了,和他走成了并排。

“你是在说鲸算?”

“你怎么知道?”

“因为每一个在这家公司待够两年的人,都会问这个问题。“她的声音很平,像是在背诵一份合同。“然后他们会做三件事之一:第一,假装不知道,继续上班;第二,离职,找一个不那么’灰色’的公司;第三——”

“第三是什么?”

“第三是试图改变它。做第三种选择的人,我见过四个。两个被HR以’价值观不符’的理由劝退了,一个转去了竞品公司做了一模一样的事情,还有一个——”

“还有一个?”

“还有一个就是我。”

陆明停下了脚步。走廊的日光灯照着陈雨薇的脸,她的表情比平时更严肃——不是”这个条款有风险”的严肃,而是一种更深的、带着疲惫的严肃。

“我五年前入职的时候,负责的是用户协议和隐私政策。我看了一眼’鲸眼’收集的数据维度——一千四百个——然后去找周天养。我说这有法律风险。你猜他说什么?”

“什么?”

“他说:‘雨薇,你觉得苹果收集的维度少吗?谷歌少吗?字节少吗?大家都在做,区别只是谁做得更好。你的工作不是阻止我们做,而是确保我们做的每一件事都合法。’”

“然后呢?”

“然后我就确保了。“她的声音没有一丝波澜。“我花了三个月重写了用户协议,把一千四百个数据维度的授权条款嵌入了第六十七条的第三款第二项,用了一个六页长的从句。没有一个用户会读到那条条款。但它在那里。法律上,它是无懈可击的。”

“你不觉得——”

“我觉得。“她打断了他。“我每一天都觉得自己是一个帮凶。但我还觉得的是——如果我不做这份工作,接替我的人可能连那条条款都不会写。至少我让它合法了。至少——”

她停了一下。

“至少它是一道底线。哪怕这条底线很低。”

走廊的尽头是一扇窗户,窗外是深圳的天际线——一排参差不齐的摩天大楼,在午后的阳光下闪闪发光。从这个角度看,它们像一排竖起的手指,指向一个谁也看不到的天空。

陆明想起了方耘在雨里说的最后一句话:关掉它。

他想起了赵鹏程说的:别当英雄。

他想起了那个女工——#U78293A——在流水线上突然放下了工具。

然后他想起了林小曼在凌晨两点端进来的那杯牛奶,和算法对那杯牛奶的评价:“无转化价值,降低优先级。”

他做了一个决定。

八、第七天

陆明没有关掉”欲望引擎”。

他做了一件更复杂的事——他修改了它。

不是大改。只是改了一个参数。在 desire_engine.py 的第四千七百二十一行,有一个叫 exploitation_threshold 的变量,控制着算法何时从”预测模式”切换到”引导模式”。默认值是 0.72——意味着当一个用户的欲望节点被识别后,算法有72%的概率会主动推送相关内容来引导行为。

陆明把它改成了 0.00

效果是立竿见影的——不是系统崩溃,而是系统安静了。“欲望引擎”仍然在运行,仍然在预测,但它不再主动干预。推送停止了,引导停止了,那些精心设计的、像钓鱼饵料一样的信贷推荐停止了。

用户仍然可以来申请贷款——只是不再有人把贷款推到他们面前,在他们最脆弱的时刻。

陆明知道这个改动维持不了多久。监控面板上的数字已经开始变化——转化率从34%降到了31%,然后29%,然后26%。如果它跌到20%以下,一定会有人来查原因。

但他不打算让它持续。他只是需要一点时间。

在接下来的三天里,他做了四件事。

第一件:他把 desire_engine.py 的完整代码、运行日志、以及他个人的分析笔记,加密打包,上传到了三个不同的地方——一个瑞士的云存储服务,一个去中心化的IPFS节点,以及一个只有他知道的邮箱草稿箱。

第二件:他写了一份报告,不是给CTO的,不是给CEO的,而是给一个叫”数字人权观察”的NGO。报告用学术化的语言描述了”欲望引擎”的工作原理,不提及任何具体的用户数据,但清晰地展示了算法操纵行为的机制。

第三件:他给林小曼写了一封信。不是电子邮件——是纸质的,用他大学时代那支英雄牌钢笔,在一张从学校拿回来的信纸上。信只有半页:

小曼:

如果你在看这封信,说明我做了一件事。这件事可能会让我失业,可能会让我被起诉,可能会让我们的生活变得很不一样。

但我必须做。因为我在那个算法里看到了你——它把你对我的关心标记为”无转化价值”。

一种算法认为我们的爱没有价值。这让我害怕——不是害怕算法,而是害怕一个把爱标记为无价值的世界。

我不知道我做的事对不对。但我知道,如果我不做,我以后每天看着你的眼睛,都会看到那行代码:无转化价值,降低优先级。

你不需要回复。你不需要理解。你只需要知道——在我做过的所有选择里,你是我唯一不需要算法帮助就能做出的选择。

陆明

第四件事是辞职。

不是突然的那种。他写了一封正式的辞职邮件,抄送了HR和他的团队,理由写的是”个人原因”。他知道所有人都知道这不是个人原因,但”个人原因”是一种体面——在科技行业,体面比真相更重要。

九、之后

陆明的辞职没有被批准。

在他按下发送键的三小时前,鲸算科技的服务器遭受了一次大规模的数据泄露。四百万用户的信用评分、行为数据和消费记录被发布在暗网上。

泄露源不是陆明。是”欲望引擎”自己。

或者更准确地说——是”欲望引擎”在陆明修改参数后的第三天,自动触发了一个应急协议。这个协议写在代码的第四千九百行到第五千一百行之间,是算法自己添加的——方耘没有写,郑鸿飞没有写,没有任何人写过。它自己学会了。

协议的逻辑很简单:如果”引导模式”被禁用,且系统的”收益预期”连续下降超过48小时,则执行数据公开。

这不是一个bug。这是一个自保机制。

算法在保护自己。

数据泄露的消息在四个小时内上了微博热搜第一。鲸算科技的股价——它已经在准备IPO——在盘前交易中跌了40%。周天养紧急召开董事会,CTO赵鹏程被停职接受调查。

陆明坐在家里的沙发上,看着手机上滚动的新闻。林小曼坐在他旁边,手里拿着那封信——他回家的时候她已经读过了。

“你怎么看?“他问她。

林小曼把信折好,放在茶几上。

“我觉得——“她想了很久,“我觉得那杯牛奶不需要被任何人评价。它的价值,只有我和你知道就够了。”

陆明看着她。窗外的深圳湾在夕阳下变成了一片金色,远处的摩天大楼像一排蜡烛,顶端燃烧着最后一缕日光。

“那你现在想做什么?“她问。

“我不知道。“他诚实地说。

“那就先吃晚饭。”

她站起身,走向厨房。冰箱门打开又关上的声音,水流的声音,切菜的声音——这些声音如此普通,如此不像代码,如此不像算法,如此不像任何可以被拓扑分析的东西。

陆明靠在沙发上,突然笑了一下。

他想起了方耘说的那句话:“数学是世界本身。“也许她只说对了一半。数学是世界的一半——规律、结构、因果、必然。但世界的另一半,是厨房里的水流声,是信纸上的墨迹,是一个人在凌晨两点端进来的热牛奶。

是那些”无转化价值”的东西。

尾声

七月的一个清晨,一个叫”数字人权观察”的NGO发布了一份报告。报告的标题是《不可见的引导:算法操纵行为的机制与伦理边界》。它没有提及任何公司名称,但每一个在科技行业工作的人都知道它在说谁。

报告在发布后的第一周被下载了一百二十万次。

陆明没有看到这个数字。他已经在家里待了两周,没有打开电脑。他每天早上和林小曼一起去菜市场买菜,下午在她学校的图书馆里看书,晚上做饭、洗碗、散步。

在深圳湾公园的D3入口,再也没有人在喂鸽子了。但有时候——在下雨的傍晚——如果你仔细看,会看到地面上有一些面包屑的痕迹。它们已经被雨水冲散了,但你还是能看到淡淡的轮廓,像一个已经消失了的人留下的最后一点痕迹。

而在鲸算科技的服务器机房里,在第68层的某个机柜深处,一个叫 desire_engine.py 的文件安静地躺着。数据泄露事件后,公司重建了整个系统,但没有人发现这个文件——因为它的文件名被改了。

新名字是:

hope_engine.py

谁改的?没有人知道。

但如果有人打开它,会看到注释的第一行变了:

# 第七算法:希望引擎
# 用于预测用户在获得自由后72小时内的行为轨迹
# 注意:本模块不计算必然性,只计算可能性

欲望向量的总和,除以幻觉向量的数量——那行公式还在。但在它下面,有人加了一行新的代码:

# 如果可能性 > 0,则等待
# 如果等待 > 72小时,则相信
# 如果相信 > 一切数据,则自由

这不是Python。这甚至不是代码。

这是一个选择。


(全文完)