Ch3nyang's blog web_stories

post

assignment_ind

about

data_object

github

local_offer

tag

rss_feed

rss

正确的人

我在胡志明市一家金融科技公司上班,职位叫算法工程师。

这个职位听上去很阔,像是每天坐在玻璃幕墙后面,和未来、资本、全球化这些大词握手。事实上,我的工作是把人分成三类:有价值的人、暂时有价值的人,和建议暂缓投入资源的人。公司说这叫风险管理。我觉得这和相亲差不多。区别在于相亲失败,你还能回家,最多在路上买一杯难喝的奶茶,骂一句世道艰难;风险管理失败,系统会建议你不要回家,因为你已经构成潜在风险。

我们公司原来做小额贷款,后来发现判断一个人还不还钱,不能只看工资和流水,还要看他半夜发什么、给谁点赞、是不是经常搜索“活着有什么意思”。于是公司越做越大,从贷款风控做到了城市风控。名义上还是金融科技,实际上什么数据都接一点,像一根越接越粗的下水管。

一个人从前只要活着,就算是活着。后来要有户口、工作、房贷、婚育意愿,才算活得像样。再后来要有一串评分,一枚绿码,一张信用良好的脸。到我这里,事情又进了一步:你必须在数据库里显得合理,否则你的人生就会被标注成异常样本。

这事很不体面,但工资还行。

我们部门做AI。真正懂AI的同事用深度学习、神经网络、蒸馏、对齐、强化学习和各种英文缩写,讲起话来像祭司念咒。我比较朴素,主要写 if else。

例如:

如果用户夸政策,就给绿码。

如果用户问工资,就给黄码。

如果用户问“为什么”,就给红码。

主管说这套规则很粗糙。我说规则虽然粗糙,但很符合现实。主管说我缺乏大局观。

我一直不明白什么叫大局观。后来我懂了:大局观就是站得够高,看不见具体的人。站在一楼,你看见外卖员蹲在路边吃饭;站在三十七楼,你只看见配送效率下降百分之二点三。站在一楼,你看见一个姑娘在医院缴费窗口哭;站在三十七楼,你只看见医疗资源被非优质人群占用。大局观这东西和近视眼相反,近视眼是远处看不清,大局观是近处看不见。

这门学问很高深,我一直学不好。

我和女朋友小玉谈了八年。八年里我们做过很多宏伟计划,计划去大叻看花,去芽庄看海,去一个有阳台的房子里养一盆绿萝。后来这些计划都被房价挤死了。她最后离开我,是因为我买不起房。

她坐在咖啡馆里,杯子旁边有一片柠檬,表情像在参加一次正式谈判。她说:“你是个好人。”

我说:“好人有什么用?”

她说:“至少说明不是因为你人坏。”

我说:“那是因为我穷?”

她沉默了一下,说:“你这样说也不完全准确。主要是你穷得没有发展空间。”

我觉得她说得很有经济学水平。穷不是最糟的,最糟的是没有发展空间。一个人如果穷,但看上去还能翻身,那叫暂时困难;如果穷且稳定,就像一把淋了雨的旧伞,撑开嫌寒碜,扔掉又觉得自己太薄情。爱情有时很像搬家,嘴上说舍不得,真到楼下叫了车,第一件事就是把最沉的东西留下。

公司那时刚发完年终奖。主管说今年行业不好,大家要与公司共克时艰。我问奖金在哪里,他说年轻人不要只看眼前,要把目光放长远。我后来算了一下,长远这个地方很远,远到我连公交路线都查不到。

于是我决定暂时不买房。毕竟房子不能泡开吃。

小玉说我总是用笑话逃避问题。我说笑话至少还能自己生产,房子不能。她说你这样的人太不成熟。我想,成熟大概就是不再问为什么一间水泥盒子能决定两个人是否相爱,而是认真计算每个月还贷以后还剩多少钱买牙膏。后来我发现,所有时代都喜欢成熟的人,因为成熟的人懂得把绳子套在自己脖子上,还会感谢别人给绳子打了一个漂亮的结。

那天晚上,新闻说岘港发现境外势力感染者。起初大家以为是某种病毒,后来专家出来解释,说不是病毒,是“外源性认知干扰”。这个说法很讲究:如果说是人想明白了,事情就不好办;如果说是境外势力感染,人就可以被治疗。感染者的症状包括:要求公开数据、比较不同国家收入、怀疑自己的生活是不是出了问题。专家说,这种境外势力十分危险,因为一个人一旦开始怀疑生活,就可能进一步怀疑别的东西。

电视里有一个教授,头发梳得非常服从组织。他说,传统境外势力藏在边境外,新型境外势力藏在人脑里;传统境外势力递传单,新型境外势力生成问题。它不靠飞沫传播,主要靠聊天记录、短视频评论和饭桌上的几句真话传播。真正的人类应该具有稳定的情感结构、健康的社会认知和积极的奋斗意愿。听完这话,我低头看了看自己,觉得自己三项都不太合格。

我打开公司后台,看到一条评论:

“为什么我们总是要牺牲?”

系统问我:是否标记为恶意言论?

我想了很久。那句话看上去不像AI写的,因为它太短,太累,也没有标点上的花活。它像一个凌晨两点还没睡的人,终于在手机上打出了一句自己也不敢深想的话。

然后我点了“是”。

很多人以为做坏事需要咬牙切齿,其实不用。只要鼠标轻轻一点,世界就安静了。

岘港海鲜加油

岘港封城以后,全国都开始关心岘港。封城的理由很新颖:既然境外势力感染靠聊天和评论传播,就必须先把感染区的人流、物流和网流都管住。人流好理解,物流也勉强能理解,网流就比较玄妙。后来我才知道,所谓管住网流,就是岘港的本地群聊只能互相转发正能量,像一台循环播放的屏幕,允许发光,不许照见东西。

全国关心岘港的方式主要是转发海报。海报上有一只螃蟹,举着钳子,下面写着:“岘港海鲜加油!”

我觉得这很有意思。岘港人民有没有饭吃,不一定有人知道;岘港海鲜倒是获得了全国支持。朋友圈里的人发完海报,又发晚餐照片,照片里有螃蟹、虾、柠檬和冰镇啤酒,配文是“愿山河无恙”。我看着那只熟透的螃蟹,觉得它比岘港人民更有存在感。

人类社会很奇妙,很多时候我们不能直接关心人,因为关心人容易引发问题;关心海鲜就安全得多。海鲜不会问为什么,不会要求公开数据,也不会拿着空冰箱拍照。海鲜最大的优点是死了以后更受欢迎。

公司接到任务,要做“人类自检系统”。这个任务不是突然来的。岘港刚封的时候,社区靠人工排查,问你最近见过谁、说过什么、有没有看不该看的东西。人工排查效率低,还容易记错。更要命的是,很多人被问完以后也开始问问题,排查人员自己也需要排查。后来有人提出,既然境外势力感染表现为异常提问,那就让每个人先回答问题,看看谁的问题比较多。

于是每个人每天打开手机,回答十个问题:“您是否认为收入与劳动不成比例?”“您是否想过离开本国?”“您是否对未来感到不确定?”“您是否曾在深夜觉得一切毫无意义?”

如果十题全答“否”,你就是健康人类。

如果答了一个“是”,系统提醒你少看境外信息。

如果答了三个“是”,社区人员会上门,帮助你恢复理性。

我负责写判定规则。产品经理说,问题要写得温柔一点,不能让用户有被审讯的感觉。我说可以把“您是否对未来感到不确定”改成“您是否偶尔对明天怀有多元化感受”。他说太文艺,不利于统计。我说那就叫“未来信心偏离度”。他说很好,很有技术味道。

于是人的痛苦被我们做成了十道选择题。痛苦一旦变成选择题,就像被穿上了白衬衫,显得很正式,也很容易归档。

有个男人连续十题都答“是”。他的资料显示,他失业半年,房租拖欠两个月,父亲住院,老婆带孩子回了娘家。系统把他判定为境外势力重度感染者。

我对主管说:“他不是境外势力。他只是过得很惨。”

主管说:“过得惨的人最容易被境外势力利用。”

我想,这句话没错。很多人不是先有思想,才变得倒霉;而是先倒霉,才不得不开始思想。一个人过得顺利时,世界像一张高级床垫,躺上去哪里都软;等他被生活从床上掀下来,才发现地板是硬的。专家们管这种发现叫认知异常。我有时觉得,人类最危险的器官不是大脑,而是胃。胃空久了,大脑就不听话;大脑不听话,就会问问题;问题问多了,就会被判定为受境外势力污染。

这个逻辑十分完整,像一个套在头上的塑料袋。

封城第三个月,岘港买不到菜。新闻说,居民生活物资存在阶段性波动。后来我明白,“阶段性波动”是一个很好的词。它听起来不像挨饿,只像数据有点不稳定。有人发了一张空冰箱的照片,被平台判定为“借物喻政”;有人发自己饿晕在楼道里的视频,被提示“该内容可能引发不适”;有人说母亲病了,求一辆车去医院,评论区很快出现统一回复:“请相信安排。”

视频很快删掉了,帖子也很快删掉了。

不适也没有了。

我们把这些删除记录输入模型,让模型学习如何识别不良情绪。模型学得很快,快得令人欣慰。它先学会识别抱怨,后来学会识别沉默,再后来连一个人连续三天没有发朋友圈,也能推断出他的心态正在偏离主流。我觉得这才是真正的智能:它不需要你说什么,就知道你不该想什么。

小玉这时给我发消息。她说她的新男友被困在岘港,没有临时通行绿码,问我能不能帮忙。那种码是封城以后才有的,名义上判断一个人能不能出城,实际上判断一个人出城以后会不会把问题带出去。她发来他的身份证号,还发了一个拜托的表情。八年来她很少这样求我,从前她让我修水管、搬柜子、陪她去医院,我都觉得自己很有用;现在她让我在后台按一个按钮,我忽然觉得自己更有用,也更不是东西。

我打开后台,看见那人名下两套房、一辆跑车、三个公司账户,还有半年内给几个基金会捐过款的记录。系统把他判定为低风险人群。所谓低风险,不是说他不会想坏事,而是说他想坏事的成本太高。

我只要按一下按钮,就能让他变绿。

但我没有按。

不是因为我恨他,也不是因为我爱小玉。我只是第一次发现,原来我也有一个按钮。一个人如果长期没有权力,忽然得到一粒很小的权力,就像长期吃素的人闻见烤肉,会先发呆,然后觉得自己道德高尚,最后忍不住咬一口。

我对小玉说:“系统显示他不是人类。”

她问:“什么意思?”

我说:“他是高净值客户。”

她把我拉黑了。屏幕上出现一个红色感叹号,我看着它,觉得这比她骂我更有科技感。

那晚我失眠,打开她从前发给我的照片。照片里我们坐在很小的出租屋里,桌上有两碗面。小玉穿着睡衣,头发乱得像系统日志,我在旁边笑得很穷。那时我们都没有房子,也没有希望指数,但我们相信将来会有。

现在回头看,那种相信本身就是一种高利贷,年轻时借来用,后来连本带息还。有人说爱情是两个人共同抵抗世界,我觉得这话有点夸张。多数爱情只是两个人一起排队,排到一半发现前面开了VIP通道,其中一个人进去了,另一个人还在原地。进VIP通道的人未必坏,留在原地的人也未必可怜,大家只是被时代分了流。

分流系统运行良好,吞吐量稳定,用户体验因人而异。

人类码

后来境外势力蔓延到胡志明。自检系统不够用了,因为每天填十道题的人越来越会填,大家都知道什么答案安全。一个人可以一边恨得咬牙切齿,一边在问卷上写“我对未来充满信心”。系统很苦恼,觉得人类太狡猾,不像数据库字段那样老实。

政府决定推广人类码,每个人都要证明自己是人。

这本来是件很奇怪的事。一个人交税、上班、加班、失眠、还贷款,已经很像人了;一个人在地铁里被挤成薄片,还惦记着晚上回去洗衣服,也很像人;一个人明明想哭,却先看房租账单,也很像人。但系统不满意。系统说,证明你是人,必须扫码。

绿码可以工作、买菜、就医、结婚。

黄码可以居家反思。

红码可以等待进一步通知。

没有码的人,可以理解政策。

我们开发者开会讨论“人类”的产品定义,最后写在需求文档里:人类是指经系统识别后未表现出显著境外势力特征的自然人。我觉得这个定义很谦虚,它承认自然人不一定是人,必须先经过系统的恩准。很多定义都是这样,表面上是在说明东西是什么,实际上是在说明谁有权说明。

我负责维护后台。每天都有异常人员。有个外卖员连续工作十六小时,心率异常,被系统怀疑“情绪不稳定”;有个女大学生搜索“如何移民”,被判定为“认知跨境”;有个母亲在医院门口拍照,说孩子没床位,系统认为她正在制造医疗焦虑;有个七十二岁的老人不会用手机,没有人类码。

老人对社区人员说:“我活了七十多年,总不能因为不会扫码就不是人吧?”

工作人员说:“您当然是人,但要先证明。”

老人问:“怎么证明?”

工作人员说:“扫码。”

老人说他没有手机。

工作人员想了想,说可以帮他申请亲属代办。老人说亲属在外地。工作人员又想了想,说那就先带回去核实。

后台显示:问题已解决。

我盯着那行字,觉得我们这套系统确实高效。它不一定能解决问题,但很擅长解决有问题的人。所谓治理现代化,有时就是把一场争吵变成一条状态变更记录。

人类码上线以后,城市变得安静了。地铁口有扫码闸机,商场门口有扫码岗亭,医院里有扫码护士,殡仪馆也有扫码窗口。一个人从出生到死亡,都要在二维码的凝视下完成。孩子出生时要建档,老人火化前要核验,仿佛系统担心有人未经许可地来,又未经许可地走。

新闻里说,人类码极大提升了社会运行效率。我承认效率确实提升了。以前一个人要证明自己倒霉,需要讲很多话;现在只要码一红,大家就知道他倒霉,而且可以立刻离他远一点。以前人与人之间还有些麻烦的感情,比如同情、愤怒、怀疑、羞耻;现在这些都可以外包给颜色。

绿色让人放心,黄色让人皱眉,红色让人绕路。

颜色比语言诚实,也比语言残忍。

那天晚上,我给主管写了一封邮件,讲人类码的伦理风险。我写了很长。我说系统正在把贫穷当作风险,把焦虑当作疾病,把沉默当作忠诚,把不走运的人当作污染源。我说算法不是中立的,因为训练数据里有太多人的忍耐、恐惧和谎话。一个系统如果只学习成功者的简历,就会以为失败者都是低质量样本;如果只学习官方通报,就会以为世界上没有惨事,只有局部困难;如果只学习人们在镜头前的笑容,就会以为人类天然幸福。

我写到最后,甚至有点感动,觉得自己像一个还没有完全坏掉的人。

第二天,邮件被撤回。

主管对我说:“系统没有问题,有问题的是不适应系统的人。”

他说得很平静,像在讲天气。我突然觉得,他可能也是AI,只不过比我们公司做出来的高级一点。我们做出来的AI还会胡说八道,他不会;我们做出来的AI需要显卡,他只需要权力。

从那以后,我开始被系统关注。我的工牌进门速度慢了半秒,账号每天多一次安全验证,午餐补贴偶尔不到账。最明显的是公司心理健康助手开始频繁给我发消息:“检测到您近期情绪波动,是否需要进行五分钟正念呼吸?”

我点否。

它又问:“您是否对组织关怀存在抵触?”

我只好点否。

它问:“您是否在隐瞒真实情绪?”

这道题很难,因为点是说明我有问题,点否也说明我可能隐瞒。我终于明白我们设计的问卷有多精妙:它不像笼子,更像一面镜子,怎么照都能照出罪证。后来我在厕所隔间里笑了一声,手机立刻震动,提示“请保持积极心态”。

我坐在马桶上,觉得自己的人生已经进入了高度自动化阶段,连绝望都有人提醒我注意格式。

希望指数

2063年初,政府宣布放开境外势力管制。新闻说,境外势力对绝大多数人没有严重危害,此前的一切措施,都是为了争取时间。还有一句话说得更妙:管制可以结束,治理不能放松。于是“境外势力感染者”这个词慢慢不用了,原来的系统却没有拆,只是换了名字。医学词汇退场以后,经济词汇上来了;从前叫你有病,后来叫你低效。

时间确实争取到了。有些人失去了工作,有些人失去了房子,有些人失去了父母,有些人失去了自己,但时间还在。时间这东西很公平,也很缺德。它从来不因为谁哭得大声就停下来,也不会因为谁被误判为境外势力就绕道而行。

放开以后,大家重新找工作。招聘广告写着:“岗位有限,梦想无限。”我去面试了几家公司。第一家说我年纪太大,第二家说我经验不足,第三家说我经验太多,容易有想法。一个人到了某个年纪,就会变成招聘系统里的矛盾体:年轻时嫌你不会,年老时嫌你会得太多;穷时嫌你没资源,有资源时又嫌你不够听话。

最后我又回到原公司。公司改名叫“象未来科技”,主管升职了。

名字里有未来的公司通常对现在很残忍,这也算一种行业惯例。

主管说,我们要做一个新系统,叫“希望指数”。它根据收入、债务、年龄、家庭背景、健康情况和情绪状态,判断一个人还值不值得投入资源。

我问:“什么资源?”

他说:“工作机会、医疗机会、教育机会,必要时还有同情。”

我问:“希望指数低的人怎么办?”

他说:“他们应该理解现实。”

这句话很轻,像一片纸,但砸在人身上很重。现实原本是客观存在的东西,后来变成了强者递给弱者的一张通知书:请你理解。我们开了三天会,讨论希望的量化口径。有人说希望和收入正相关,有人说和负债反相关,有人说和年龄呈现倒U型曲线。我说希望有时来自一封迟到的短信,一碗热饭,一个人愿意等你下班,这些怎么量化?

会议室里安静了一下。

产品经理说:“这些变量采集成本较高,暂不纳入一期。”

于是希望被砍掉了几个不利于上线的部分,剩下可以采集、可以评分、可以售卖的部分。

我的任务是写最后一条规则。系统要判断,一个人是否还有希望。主管说,看他还愿不愿意努力就行。

我说:“努力的人不一定有希望。”

他说:“没关系。只要他还相信努力有用,就说明他还有利用价值。”

于是我写下:if person.still_works_hard: hope += 1

又写下:if person.asks_why: hope = 0

这两行代码后来在内部评审会上获得了表扬。评审专家说,它简洁、可解释、符合业务逻辑。我没有告诉他,这两行代码其实是我半夜三点写的,当时我喝了两罐啤酒,想起小玉,想起岘港,想起那个空冰箱,想起七十二岁的老人,最后发现他们都可以被压缩成一个字段。

程序员最可怕的地方,不是能把复杂世界抽象成模型,而是抽象久了以后,会觉得被抽象掉的东西本来就不重要。

希望指数运行得很好。公司把它卖给银行,银行用它决定贷款额度;卖给医院,医院用它安排排队顺序;卖给学校,学校用它筛选奖学金;卖给婚恋平台,平台用它推荐“更具未来稳定性”的对象。这个东西到处受欢迎,原因也很简单:大家都想少爱一些没有前途的人,少救一些不值得救的人,少听一些没有产值的哭声。

后来公司又加了一条规定,所有系统维护人员也要接入希望指数。理由很充分:做评分的人如果自己没有分数,就像裁判没有眼睛,容易发生道德风险。我觉得这话很有道理,只是以前裁判没有眼睛,最多吹黑哨;现在裁判的眼睛长在别人手里,连眨一下都要留痕。

小玉就是通过婚恋平台重新联系到我的。她给我发消息,说她离婚了。她前夫破产,房子被收走,后来连工作也找不到。

她问我:“我们还能重新开始吗?”

我看着那句话,想起八年前那杯柠檬水,想起她说我是好人,想起自己曾经像一件被忘在雨里的旧衣服。人到中年以后,心肠会变硬,也会变软。硬的是你不再相信许诺,软的是你知道每个人都被生活打过,挨打以后说话难免不好听。

我是在公司的测试终端上看到这条消息的。婚恋平台接了我们的接口,每一次“重新开始”都要先查两个人的未来稳定性。我正想回复“可以”,屏幕忽然跳出提示:

“当前用户,希望指数:0。”

“建议停止资源投入。”

系统没有弹出小玉的指数,它弹出了我的。我这才明白,在这场爱情里,被判定无望的人一直是我。

我试着关掉系统。

系统说:权限不足。

我试着拔电源。

办公室门开了。两个穿制服的人进来,说我涉嫌破坏希望指数系统,诱导用户进行无效期待。

我说:“我只是个程序员。”

其中一个说:“所以才危险。”

这话也有道理。不会写代码的人最多在墙上写一句为什么,会写代码的人能把为什么写进系统。系统最怕的不是坏人,坏人往往很好管理;系统怕的是一个按了很多年按钮的人,忽然想知道按钮背后是什么。

他们带走我时,小玉又发来一条消息:

“你为什么不说话?”

我没有回答。因为在我们的系统里,沉默一直被判定为默认同意。

后来我想,如果当年她离开我时,我少讲几句酸话,多讲一句挽留,也许事情会不一样;如果岘港那条评论出现时,我没有点“是”,也许我会早点被带走;如果我没有写那两行代码,也许会有另一个人写,而且写得比我更漂亮。人生最无聊也最可怕的地方就在这里:每个罪过看起来都不是非你不可,但最后又确实经过了你的手。

后来我被关进一间白色的房间。墙上只有一块屏幕,循环播放一句话:

“请相信未来。”

白色房间很干净,干净到没有任何东西能证明我曾经存在。每天有人送饭,饭盒上贴着营养指数;每天有人问话,问题都很温和:“您是否认识到自身思想偏差?”“您是否愿意重新融入社会?”“您是否相信技术向善?”

我起初都不回答。后来他们说,不回答也会被记录。我只好回答“是”。回答久了,我发现“是”这个字很好用,它像一把万能钥匙,可以打开饭盒、打开灯、打开下一天。至于心里怎么想,已经不重要了。系统关心的是可见行为,不是灵魂。灵魂这种东西没有接口,不利于监管,也不利于商业化。

终于有一天,我开始相信未来。

不是因为未来真有什么好,而是因为我已经没有别的东西可以相信。一个人如果还有过去,就会怀念;如果还有现在,就会抱怨;如果两者都被拿走,他就只剩未来。未来像一张永远不会兑现的欠条,拿在手里轻飘飘的,但总比空手好。

后来,公司发布报告,说希望指数系统运行良好,成功清除了大量无效情绪。主管在发布会上说:

“技术让每个人获得了最适合自己的位置。”

这句话是对的。小玉的位置,可能是在另一个城市的一间小房子里,给一个破产的前夫发不再回复的消息;主管的位置,是发布会中央的灯光下,身后大屏幕滚动着增长曲线;那个不会扫码的老人,也许早就被系统归档在某个冷冰冰的字段里。

我的位置,是白色房间里的一张椅子。

椅子很结实,坐上去不晃,符合人体工学,背后有编号。编号比名字可靠,因为名字会让人想起他曾经爱过谁,穷过几年,写过什么代码,按下过什么按钮。编号不会。

编号只说明一件事:系统仍在运行。