八月初 Chris McCormick 写了篇文章,说他不读大语言模型生成的虚构小说。这结论本身我没多大兴趣——现在这类表态满大街都是,早就不好奇了。让我停下来的,是正文前面那行斜体小字:“本文由一位人类撰写。”
这行字有用吗?拦不住谁骂他偏激,也解决不了一丁点语法问题。它唯一的作用,就是先把你的阅读预期换掉。下面的句子不是从某条分布的均值处取出来的,是一个具体的人,在他自己的词库里做了一次次选择。现在得靠作者自己声明,读者才会往这个方向想。五年前没人写这行字,倒不是那时没人怀疑作品是不是人写的,而是“谁写的”这件事还不需要靠声明来恢复。现在需要了,水已经被搅浑。
Chris 自己给的理由更私人。他说他读小说是为了吸收别的作者的用词方式。每个写作者在特定阶段都有一套独特的统计特征,读谁读多了,自己写东西就会不自觉地往那个方向漂。虚构作品尤其狠,因为它比技术写作更贴近一个人不加掩饰的语言。这个解释我一开始觉得有点玄。后来想想,它不过是用概率语言把一个老感觉说实了:风格不是气质,是一堆选择的分布。你读的东西,会改你自己的分布。
我有一阵子所有邮件都过一遍 Claude。过了大概两个月,某天回一封邮件,写完发出前扫了一眼,突然觉得那句话不像我写的——但更麻烦的是,我也想不起来我本来会怎么写。那感觉不是话变差了,是舌头麻了。我的用词已经悄悄朝那个我每天见到的“更好”挪了,而我完全没在挪的那一刻察觉到。挪去的地方不是坏地方,但离我原来的样子有距离。而察觉不到,正是这种漂移最阴的地方。
Chris 的不读,根子就在这。他有一句话我记住了:LLM 写出来的东西,本质上是从一堆大众语料中学习到一个分布,然后从这个分布中采样出来的。而在这个分布中,最密集的地方就是中位风格。他不读,是因为他不想让自己的思维被推向那个常规。这个判断如果停在“AI 写得太平”就太便宜了。值得再往下剥一层:它为什么天生就在中位数?
因为 next token prediction 要优化的就是平均似然。模型学语料的时候,怪句子、坏句子对它来说都是偏离,损失会往上顶一下。它会把它们平滑掉。它在乎的不是在某个具体作者身上学出一个尖峰分布,它在乎的是在所有人身上学出一个宽的中间地带。这个中间地带就是 Chris 说的统计常规。它不是审美失误,是这个训练目标的质心。你要它从质心那里走开,得额外压一堆约束——哪怕你说“写得像谁”,它也只是被拽到另一个学过的质心。它总在质心之间插值,自己不会掉下去一次。
你可能会说:那拿一个作家的全集微调,学出他的指纹再写新的,总该有了吧?我一开始也这么想。后来再想想,微调学到的是这个人一辈子所有文本的期望,是他的平均值。人不是自己的平均值。一个作家写得最戳我的那几篇,多半是他偏离自己正常发挥最远的那几回。模型最擅长删掉的,恰是这种偏离。它给你的,是最像那个作家的那个作家。而最像你的你,未必是你写得出来的你。这听着绕,但我猜 Chris 会点头。
用大白话压一下:你让模型生成十段“雨天等车”,它会给你十个版本,每个都通顺,但读完之后十个会糊成一段,因为你记不住它们之间有什么不一样。差异就是风格。十次采样全往期望回归,等于没有采样。
Chris 其实还有更狠的说法:就算情节和结构是人设计的,只要大部分文字是模型填的,他也不读。这个我站他。因为写小说这件事,人被拆成了“想故事的人”和“选词的人”——而真正构成语言指纹的,全是选词那一步。想故事可以外包给任何人,选词不能。选词才是你的分布在做决策。把选词交出去,剩下那个故事怎么好,都补不回那些没发生的选择。
这么说吧,如果“读什么就往什么方向漂”成立,那人类小说和 LLM 小说长期来看是在把你往两个相反的方向推。好的人类小说把你往离群点推;LLM 小说把你往质心拉——哪怕它偶尔写得挺漂亮。Chris 拒绝的其实不是“AI 写的”这个类,是“让自己的下一次写作更靠近那个中间值”。这两件事常常被混在一起:一个人说不读 AI 小说,评论区马上来问“你是觉得 AI 写得不好吗”。不是。问题是它写得太像该有的样子,而你吸收的恰恰是“该有的样子”以外的那点东西。
所以再回来看文章开头那行字。它说的“本文由一位人类撰写”,不是质量保证——质量保证早就不值钱了。它说的是:这里有噪声,有几次可能让你不自在的选择,有一两处坏句子。那是一个具体的分布里采样出来的结果,不是全人群的质心。我们读虚构,到最后读的多半就是这点偏移。一个人自己的语言里,唯一不可预测的、唯一值得吸收的,就是这几下偏离。
我到现在也没办法说 Chris 的拒绝是“对”的。但这条线我选了同一侧:凡是拿来吸收语言的东西,我躲开质心;凡是拿来吸收信息的,我不在乎它是怎么生成的。这不是什么洁癖,是给语言的下一层留一条离群的路。这个我还没完全想明白,先放这儿。