林星晚打开旧电脑,进了原来的代码仓库。
加载很慢老硬盘转速跟不上了。进度条卡了半天,终于跳出文件列表。她点开commit记录,最早的一条时间戳显示2017年10月15日。
"十月十五号。"她念出来。
傅晏站在她身后,没出声。
"我记得那天。"林星晚说,"那天我刚分手。"
傅晏还是没出声。但他的手轻轻搭在了椅背上。
"不是什么轰轰烈烈的故事。"林星晚往前翻了翻代码的历史记录,"大三上学期,谈了半年的男朋友劈腿了。同系的学姐。我知道之后也没什么大反应。就分了。"
"然后呢?"
"然后我就泡实验室了。"她苦笑了一下,"连续泡了两周。每天早上八点去,晚上十二点回宿舍。室友以为我疯了。其实没疯就是不想回宿舍。不想跟人说话。不想"
"社交。"
"对。"林星晚点头,"我不想跟任何人社交。但课还得上的。当时在做一个社交媒体情感分析的项目课题老师要求写一个工具,分析'人们在社交平台上如何相互影响'。我就"
"就用写代码代替社交。"
"嗯。"她点开那个仓库的第一个commit"init: 项目初始化"。提交信息很简陋,连版本号都没写。"那段时间我每天就对着电脑。写代码、跑数据、调参数。跟人说话最多的时候是跟食堂阿姨说'二两米饭一个素菜'。"
"你那时候就开始研究共振了。"傅晏说。
"算是吧。不是物理意义上的共振是社交意义上的。"林星晚打开了脚本的主文件,指着最上面的注释"// 社交共振分析工具 v0.1"。"我当时想人在社交网络上的情绪传播,跟物理共振很像。一个人发了一条悲伤的内容,评论区的人会跟着悲伤。一个人愤怒了,转发的人也会愤怒。这不是'传染'是'共振'。频率接近的人在同一个信息场里会产生同步。"
"你大三就想到这个了。"
"不算什么。当时已经有不少人做社交媒体情感分析了。我只不过是用'共振'这个物理概念来解释别人用的是'传播'、'扩散'。我觉得不够准确。传播是单向的,但情绪互动是双向的。共振更准确。"
她往下翻。代码结构出来了基础框架分三个模块。
"第一个模块情感分析引擎。"她指着屏幕,"用自然语言处理分析用户在社交平台上的文本内容,提取情感特征。高兴、悲伤、愤怒、恐惧四类基础情绪,加'复合情绪'比如又高兴又难过那种。"
"第二个人群聚类算法。"她切到另一个文件,"把情感频率接近的用户聚成一类。同类用户之间的共振强度更高。这个算法后来"
"变成了APP的匹配逻辑。"傅晏说。
"对。"林星晚没有否认。"第三个情绪传播模型。模拟一个用户的情绪如何通过社交网络传播到其他用户。这个模型是课题的核心成果老师给了九十多分。"
她继续翻。代码越来越长函数一个接一个,有的写了注释,有的没有。有的地方缩进对不齐,有的地方括号套了六七层典型的学生代码。
"你这里"傅晏指着一段代码,"写了安全协议的雏形。"
林星晚看过去。在主功能模块的旁边,有一段被注释包起来的代码
"// 如果这个工具被大规模使用,需要加一个安全协议防止情绪操控"
她盯着这行字。七年前的自己写的。
"我那时候就在想这个了。"她说,"做情绪传播模型的时候我跑了一个模拟。一个'愤怒'情绪在一个十万人的网络里传播四十八小时之内,七万人产生了不同程度的愤怒反应。我当时看着这个数据后背发凉。"
"所以你加了注释。"
"加了。但没实现。当时只是想法课业时间不够,老师也没要求做安全模块。我就写了个注释放在那儿。"她顿了顿,"后来林素琴拿到这个脚本的时候她大概看到了这行注释。"
"她看到了。"傅晏说,"我在她的研究笔记里看到过她引用了这行注释。她写道:'原始代码作者已经意识到了风险。需要在系统中实现安全协议。'然后她自己写了。"
"林素琴写了安全协议?"
"嗯。她的情感规则集里有一个核心模块就是你后来在APP代码里看到的那些。但原始的'想法'是你的。她只是"
"实现了。"
"对。"
林星晚靠回椅背上。旧电脑的风扇还在嗡嗡响。
"你那时候过的是什么日子?"傅晏问。
"什么日子"林星晚想了想,"泡面日子。实验室里有一箱康师傅红烧牛肉味。我买了一箱。每天晚上十点烧一桶。边吃边写代码。有时候写到凌晨三四点困了就在桌子上趴一会儿,醒了接着写。"
"为什么这么拼?"
"因为"她停了一下,"那个工具是我当时唯一的'社交'。我不想跟人说话。但我想'理解'人。我想通过代码搞清楚人跟人之间是怎么回事。为什么有些人能连上、有些人连不上。为什么我谈了半年恋爱,最后对方劈腿了,而我什么都没感觉到。"
"什么都没感觉到?"
"不是不难过。是感觉不到。我知道我应该难过。但我没有。像是那个'感知'的开关被关掉了。"她看着屏幕上那些七年前的代码,"所以我写了这个工具。我想通过数据看到别人是怎么'感受'的。我自己感受不到至少我能'分析'到。"
傅晏沉默了一会儿。
"你的代码比你更早地理解了'连接'。"他说。
林星晚转头看他。"什么意思?"
"你那时候感受不到连接。但你写的代码核心逻辑全是在做'连接'。情感频率匹配、人群聚类、情绪传播每一步都是在帮人建立连接。你自己不知道但你的代码知道。你的直觉知道。"
林星晚张了张嘴。没说出话来。
她关掉旧电脑。屏幕黑了。风扇慢慢停了。
"我那时候写代码是为了'理解人'。"她说,声音有点涩,"不是'攻略人'。"
她知道后面发生了什么林素琴拿了她的代码,融合了自己的情感规则集,写进了共振核心。然后陈启明拿到了共振核心,在外面套了游戏化外壳、攻略系统、任务机制。把一个"理解人"的工具变成了一个"攻略人"的产品。
同一份代码。两种用途。
"走吧。"她站起来,"明天继续看。"
"嗯。"
