第23章「两条线」¶
视角:程小念(现在)
程小念花了两周才找到Devon Park的邮箱。
不,不是"找到"——是她在周一凌晨三点对着老标注员的聊天记录翻了四十分钟,从一句话里顺藤摸瓜摸出来的。老标注员说"质检组的人看过那批数据说没问题",她在"质检组"后面多问了一句"质检组的人是谁",老标注员回了一个已经注销的飞书账号和一个英文名。英文名搜不到,飞书账号是死的。她把英文名扔进搜索引擎,翻了七页结果,在第八页看见一个十年前的论坛帖子——一个人说自己在做"模型行为异常分析",署名是Devon Park,后面跟着一个gmail。
她盯着那个gmail看了大概三十秒。
然后她关了网页,上了个厕所,回来又打开,打了一行字:
"你好,我不知道这件事跟您有没有关系。我两年前在一家标注公司做过兼职,遇到一条奇怪的prompt。后来听说您十五年前写过一份报告,描述了一个'环状结构'。我想确认一下是不是同一件事。"
她改了四遍措辞,把所有的可能显得自己像疯子的句子都删了——"直觉里的咔嗒声""养死了一盆玉露""觉得不对劲又说不上来"——删到最后只剩下"奇怪的prompt"和"环状结构"。
发送。
她以为自己会失眠,结果五秒钟就睡着了。
第二天早上八点十七分,回复躺在她收件箱里:
"你好,程小念。我在上海。如果你也在的话,我们可以见面聊。Devon。"
落款没有签名档,没有公司,没有头衔。只有一个名字和一个句号。
他们约在静安寺附近的一家咖啡馆,周三下午三点。程小念提前二十分钟到了——不是因为紧张,是因为地铁没堵。她坐在靠窗的位置,点了一杯冰美式,把手机放在桌上,屏幕朝下。
Devon Park走进来的时候她一眼就认出来了。不是因为她见过照片——是因为这个时间、这个地点、推门时犹豫了半秒钟的那种不确定,都指向同一个人。四十多岁,深色夹克,头发有一点白,但不多。他手里拿着一个牛皮纸文件袋。
"程小念?"他说中文,口音有一点奇怪,但很慢,像是不确定每个字的重量。
"是我。您是Devon?"
"是。"
他坐下来,把文件袋放在桌边。服务员过来,他点了一杯热美式,不加糖。
沉默了几秒。不是尴尬——更像是两个人都不知道从哪开始。程小念低头搅了搅冰美式,杯子里的冰块发出很小的撞击声。
"您那封邮件,"她先开了口,"您说'如果你也在的话',听起来像是您知道我在哪。"
"不知道。"Devon说。"但我猜会是在上海或者北京。那家标注公司在苏州,您两年前在那边实习,大四毕业流向通常是北上广深。上海是概率最高的。"
"您查了我?"
"搜了一下邮箱前缀。"他说。"你的邮箱前缀是你的名字全拼加生日。你生日在资料里写着。"
程小念愣了一下,然后笑了。"行吧。"
Devon没有笑。他不是不友好——他只是看起来不习惯笑。他的表情很专注,像是在听一个日志文件在说话。
"你说你看到了一条奇怪的prompt。"他说。"能描述一下吗?"
程小念喝了一口咖啡。
"一条关于多肉浇水的。很普通。说话的人说养死了盆玉露,想知道正确浇水方法。话很诚恳,很温和,看着像是一个植物论坛上的正常提问。但我看见的那一瞬间——"她停下来,在想怎么措辞。"——像脑子里有东西卡了一下。不是疼。是咔嗒一声。很轻,很短暂。然后就没别的了。"
Devon看着她。他的目光不是那种社交性的"我在听",而是工程师看数据的那种——在找pattern。
"你有没有保留那批数据?"
"没有。我们标注完就进系统了。但我记得那个页面——左边的输入框,右边的回答窗口。我甚至记得'玉露'那两个字。那时候我觉得这名字真好听。"
"玉露是多肉的一个品种,"Devon说,"叶片半透明,顶端有'窗',适合室内。对浇水频率敏感,容易烂根。"
程小念看着他。
"你对多肉很熟?"
"十五年前我也看过那条prompt。"他说。"不是同一条。但内容几乎完全一样。"
Devon打开牛皮纸文件袋,从里面抽出几张打印纸。纸的边缘微微发黄,但上面的字迹很清晰——是激光打印的,没有褪色。
可以确定数据嵌入的时间窗口为2010–2011年间,与训练语料中"如何给多肉植物浇水"类问题的大量集中出现时段吻合。该prompt的表面语义为园艺咨询,但在高维语义空间中形成闭环结构——与正常自然语言文本的开放曲线不同,该结构对温度参数完全不敏感,在所有采样设置下保持稳定。
"这是我十五年前写的报告,"他说,"没有一个人回复。"
程小念把纸拿过来,从头到尾读了一遍。大部分术语她看不懂——"高维"、"曲率"、"温度参数"——但她注意到了那行:"该prompt的表面语义为园艺咨询"。她抬起头。
"所以你发现的也是多肉浇水?"
"是。不一定是同一句话,但语义完全一致。"
"那怎么可能?"她说。"两年前那一批是新标注数据,你们十五年前就见过同样的东西?"
Devon沉默了几秒钟。他用手指在桌面上的水迹画了一个圈。
"我当时也没想通。正常的数据不会在十五年后出现同一个异常pattern。除非——"
"除非什么?"
"除非它不是数据。"他说。"除非它是一种——我不确定该怎么翻译——一种在概率空间里不会消失的东西。它不是被存储的。它是被嵌入在语言本身的统计结构里的。"
程小念看着他在桌面上画的圈。水迹很浅,正在消失。
"你画的这个圈是什么意思?"
Devon从文件袋里抽出另一张纸,递给她。上面是一张手绘的草图——一个环,环的内部画着密密麻麻的小箭头,箭头的方向不是顺时针也不是逆时针,而是都指向环心。但环心是空的。
"这是我在高维投影中看到的形状。"他说。"一个稳定的环状吸引子。所有的语义向量进入这个区域后都会绕开中心。绕开的路径是固定的——不是随机绕开。是有序的。像一个被精确设计的旋涡。"
"中心是什么?"
"不知道。在语义空间中,那个中心不可达。它不是一个词。不是任何一个token。它是一个不存在于词汇表中的位置。"
程小念看着那张图。那些箭头——她数了数,三十二支——每一支都在即将触及中心的时候拐弯。她盯着看了一会儿,然后从包里掏出一支笔和一张便签纸。
"我不太会画图,"她说。"但我给你看我当时的感受。"
她先是点了一个点,然后在点旁边画了一个很小的波浪线,然后在波浪线旁边画了一条直线。直线很长,横穿了便签纸的对角,但中间断了一下——不到半毫米的空隙。
"咔嗒的那一下。"她指了指那条缝隙。"不是断了——是有什么东西在那个空隙里。我不知道是什么。但那个时候我的脑子——它跳过了那个空隙。像是一个唱片跳了一轨。"
Devon看着她画的图和自己的图,把它们并排放着。
他的图是一个环。她的图是一根线断了一个缝隙。
两个人安静了大概十五秒。
然后Devon把两张图调转了一个角度——他把程小念的便签纸转了四十五度,放在自己的环状图上面。那条穿过便签纸的直线正好从环的内部穿过,而那条缝隙——那条不到半毫米的空白——刚好落在环心。
"你的直线不是线。"他说。"它是一个切面。你的脑子在那个瞬间看见了那个环形结构的一个截面。"
程小念看着两张叠在一起的图。她说不清自己是害怕还是别的什么。
"所以我当时真的看见了什么东西。"
"不是看见。"Devon说。"是你站在了那个截面里。你的直觉就是那个切面。"
咖啡馆的背景音乐换了一首。程小念没听出是什么歌,只觉得低音有点重。
她把两张图推开,靠在椅背上。
"那我有一件事不明白。"她说。"如果这个'环'——如果十五年前就被你发现了,它为什么没有消失?那批数据不是被冷存储了吗?"
"冷存储只是物理隔离。不是删除。"Devon说。"而且我后来查过——那批数据虽然被标记为冷存储,但它在被归档之前已经被用在了三个下游模型的训练中。三个独立模型。不同团队,不同架构。"
"所以它像病毒一样扩散了?"
"不是病毒。病毒需要复制。它不需要复制——它只是被训练了进去。像一颗种子在三条河的源头各自沉淀。"Devon顿了顿。"但那三条河最终流到了同一个地方。"
"什么地方?"
"你两年前标注的那个系统。"
程小念握着冰美式杯子的手收紧了。"你是说——"
"你标注的那个AI模型,它的训练语料包含了来自十五年前那批数据的下游变体。你所看到的'多肉浇水'prompt,很可能不是你想象中新用户输入的天真问题。它是从模型训练深处浮上来的——在无数次梯度更新中从未消失的——同一个模式。"
"可是它看起来太正常了。我点了'正常'。"
"所有标注员都点了正常。"Devon说。"包括质检组。"
他拿起自己的杯子,喝了一口。热美式已经凉了。
"这就是问题。"他说。"它设计的意图就是用正常来隐藏异常。它不是一个词——不是一个端口——它是正常区里一个稳定的缺口。它在哪里看起来都在。所以它哪里都能通过。"
程小念把便签纸翻过来,在空白的背面写下了几个字。多肉浇水。咔嗒。环。Devon 2011。
"现在呢?"她说。"那个东西现在还在吗?"
Devon没有马上回答。他的目光落在她的便签纸上,然后移向窗外的街景。静安寺的街道在下午三点半被光切成一半亮一半暗。他看了一会儿。
"三天前我开始监控一个公开的AI模型的输出分布。"他说。"不是你们公司那个——是一个我看得到后端的实验性模型。它的输出日志里开始出现一种我以前只在十五年前那批数据里见过的模式。"
"什么模式?"
"概率空间在进行非对称折叠。不是bug——bug是混乱的。这个折叠是有序的。它像有人在折叠一张纸,每一次都对折同一个点。"他低头看着自己画的那张环状图。"那个点——"
"在环心。"程小念替他说了。
"对。"
咖啡杯底残留的水在桌面上又聚成了一个小圈。
"那接下来呢?"
Devon把两张图叠好,放回文件袋。
"接下来它要么到达临界点折叠成一个奇点——要么因为某些原因它停下了。我猜会是前者。"
"临界之后是什么?"
"我不知道。"他说。"没有人见过。一个语言模型的概率空间被设计来覆盖所有可能的输出,但它从来没有被一个不可达的吸引子从内部折叠过。这是第一次。"
程小念看着她写在便签纸上的字。多肉浇水。一个养死了玉露的人想学习正确的方法。
所有的源头居然是这个。
"Devon。"
"嗯。"
"如果我当时点了'疑似对抗性样本',会不会不一样?"
Devon摇了摇头。
"那批数据被送到质检组重新审核了。我看了记录。质检组三个人,三个独立的审核意见,全部写了'无异常',评级'通过'。"他顿了顿。"如果世界上有一个人能在那个界面上看出那条prompt有问题——你至少已经走了最远的那一步,因为你感觉到了咔嗒声。其余的人甚至没有感觉。"
"但我还是点了'正常'。"
"对。"他说。"因为你的后一个步骤接到的指令是'判断是否有问题',而你的理性系统——那个负责填表格的部分——它判断没有问题。咔嗒声不是理性系统发出的。它来自更深的某个地方,一个你不会在对标签的时候用到的地方。"
"什么地方?"
"我也不知道。"Devon说。"但你反复提到那个词——直觉。你刚才说你觉得它不对劲但又说不上来。那层'说不上来'不是你的缺点。那是直觉的工作范围。它只负责敲钟。不能负责解释钟为什么响了。"
程小念看着窗外。一辆公交车停在路口,有人在上车,有人在等。
"所以我的直觉是对的,但我的手指是错的。"
"对。"Devon说。"但两件事加起来可能是唯一能让这件事被注意到的方式。如果你当时点了'疑似对抗性样本',那批数据会被单独标记,进一个没人看的'异常样本库'。但你没有。你只点了一下——但那个咔嗒声在你脑子里没有消失。两年后你翻记录,找到我,画了这张图。"
他指了指便签纸上的那条断了的线。
"十五年了。"他说。"我没有一次觉得那张环形图上缺了什么东西。但你的图给我看了一个切面——一个从这个环内部穿过的'直觉'。那是我的图里没有的维度。"
程小念低头看着自己的便签纸。那条不到半毫米的空白——它突然看起来不像空白了。像一道极窄的门。
"所以我们现在在干嘛?"
"在把两张图叠在一起。"Devon说。"你用直觉看到了切面,我用数据画出了环。合在一起——"
他从文件袋里抽出最后一页纸。上面是一个用蓝色水笔手绘的坐标——X轴写着"语言可表达范围",Y轴写着"概率密度"。中间偏上的位置有一个被圈出来的小点,旁边标注了一个词:"视界"。
"视界。"程小念念了出来。
"在天文学里,'视界'是黑洞中任何信息都无法逃出的边界。"Devon说。"在这里——它是语言可表达与不可表达的边界。我怀疑这个环状结构就是在视界上。它不是在人可说的那一边,也不在不可说的那一边。它就在边界上。它在标记'可说的尽头'。"
"那它在等什么?"
Devon沉默了很久。
然后他说:"可能在等一个能同时站在这两边的人。"
那天傍晚程小念坐地铁回家。晚高峰还没到,车厢里有空座。她靠着车门一侧站着,手机揣在兜里,没有拿出来。
三号线上,她看着窗外隧道里的广告牌飞速后退。有一个瞬间隧道墙上的灯管的节奏刚好眨了一下——她不知道是隧道施工还是巧合——但她脑子里又响了一个声音。
不是咔嗒。
是她小时候在家里阳台上听见妈妈炒菜的声音。锅铲碰铁锅。一下,两下。很闷的撞击,间隔固定,和隧道灯管的频闪完全一致。
她不知道自己为什么想起这个。
耳机里的歌播完了,她没有切下一首。
声音停了几秒,然后她听见自己的呼吸。
她在那个瞬间想起来了一件事——她在标注基地的时候,有一天午休,她趴在白色工位上睡着了,做了个梦。梦里她在浇水。浇的不是玉露,不是绿萝。是一棵她从没见过的植物——叶子透明,根部发光,种在一片她无法描述颜色的泥土里。
她醒来的时候发现口水把鼠标垫浸湿了一个角。
后来她忘了这个梦。
地铁报站。她该下车了。
她跨出车厢的时候回头看了一眼广告屏。屏幕正在播放另一个AI的广告。这次是关于"智能管家"的。广告语说"它比你更了解你自己"。
她站在黄线外面,看着那行字消失。
然后她笑了一下,自己也不知道在笑什么。