AI生成内容为什么难读?50%问题出在你的prompt
通过36条特征检查清单,分析AI写作质量问题的根因,帮助工程师改进prompt和内容指导。
通过36条特征检查清单,分析AI写作质量问题的根因,帮助工程师改进prompt和内容指导。
一份包含 36 种模式的 AI 写作痕迹检查清单
我做了一份包含 36 种模式的检查清单,用来捕捉自己草稿中的 AI 写作痕迹,并以我发表过的所有文章作为校准基准。因此,上周有一种关于 AI 为什么写不好的理论获得了不少关注时,我像读 bug 报告一样读了它:我想知道,这套解释是否真的符合我在自己工具标记出的模式中看到的问题,还是仅仅听起来合理。
其中一种理论对不上。
它是错的,而且属于那种很容易传播的错误——因为听起来足够技术化,所以没人去核查。
它声称:推理时优化(inference-time optimizations)——实验室为了让模型更快响应而采用的技巧——正是创意写作水平不如以前的原因。具体来说,问题出在 speculative decoding(推测解码)。
先简单解释一下它是什么,因为只有不了解这一部分时,这种说法听起来才可信。传统方式是让一个大模型逐个 token 生成回答;而 speculative decoding 会为它搭配一个体积较小、速度较快的“草稿”模型。小模型提前猜测接下来的几个词,大模型并行检查这些猜测,并保留自己认同的部分。这是一条用来提速的捷径。流传中的说法是,这条捷径会在不知不觉中降低写作质量。
事实并非如此。Speculative decoding 从设计上就是无损的——它的输出分布在数学上与大模型独自逐词生成时完全一致。整个数学过程中不存在任何质量上的取舍。真正存在的情况要具体得多:创意写作从中获得的加速收益较小,因为采用较高 temperature 的散文包含更多真正不可预测的内容,小模型的猜测因而更容易遭到拒绝。一篇关于推理 benchmark 的文章估计,创意小说场景下猜测的接受率约为 50%~65%,而代码场景约为 75%~85%——这不是经过同行评审的数据,但符合这项技术的工作原理。它说明的是你的写作内容能以多快的速度生成,而不是写得有多好。
Quantization(量化)——通过降低模型精度来节省内存——确实可能损害输出质量。这是一个真实存在、彼此独立的调节手段。但它和 speculative decoding 不是一回事,而我眼看着人们把两者混为一谈了整整一个下午,才终于有人站出来反驳。
真正站得住脚的部分,反而不是人们争论的那一部分。
每个主流模型都会经历一个名为 RLHF(reinforcement learning from human feedback,人类反馈强化学习)的训练阶段。在这个阶段,模型会被引导着生成那些得到人类评分者较高评价的回答。听起来没什么问题,直到你注意到评分者真正奖励的是什么:读起来轻松愉快、让人难以反对的回答。经过足够多的训练后,模型不只是变得更善于避免糟糕答案。它还会收窄到一种“安全”的表达风格,并停止生成自己原本有能力给出的、更丰富多样的回答。这叫作 mode collapse(模式坍缩)。Kirk 等人直接测量了这一现象:在他们研究采用的所有指标上,经过 RLHF 训练的模型,其输出多样性都显著低于同一模型接受这一步训练之前。
这也解释了为什么“先生成十份草稿,再让一组模型评分并挑选其中最好的部分”这个技巧行不通。我之所以知道,是因为我自己也运行过某种版本的这种流程。如果每份草稿都来自一个已经收窄到同一种安全平均值的模型,那么对这些草稿进行评分和合并,不过是在给平均值再次求平均。你不可能通过在 mode collapse 内部投票来逃离 mode collapse。你只是把同一种失败重复运行了两遍,再把它包装成一套严谨的方法。
写作不存在与“代码可以编译”对等的标准。对于“这段内容是否富有洞见”,没有一种可以自动检查的信号,因此训练除了迎合评分者偏好之外,没有别的目标可以优化——而大规模汇总后的评分者偏好,奖励的是流畅和安全,而不是犀利和具体。这才是真正的瓶颈:训练激励本身,而不是 prompt,也不是推理技巧。
一旦说出 mode collapse 这个名字,人们很容易把“AI 写不好”视为一个单一、扁平而尚未解决的问题。但事实并非如此。它可以拆成两个问题,而我一直在其中比较容易的那一半里写作,直到这周才完全意识到这一点。
非虚构写作——技术文章、随笔和论述——存在一种可以明确命名的失败模式:彼此冲突的优化目标。让模型在面向消费者的聊天中显得讨人喜欢的特质(温和、措辞留有余地),与优秀技术写作需要的特质(精确、敢于直言)正面冲突。同一个 reward signal 试图服务两个诉求不同的受众,于是模型被拉向两者之间的中间地带,结果谁也满足不了。这是一个可以解决的工程问题,就像你会拆分一个试图服务两个互不兼容调用方的 API endpoint 一样。它还没有被彻底解决,但已经有公开证据表明,实验室正在发布直接针对这个问题的局部修复方案(OpenAI 在 2024 年 11 月对 GPT-4o 写作能力的更新就是一个例子)。
小说写作是另一种困难,我认为自己没有资格以任何权威姿态对此发表评论。一部优秀小说是在多年迭代中逐渐打磨出结构和人物的,这更接近 Pixar 的故事团队在制作动画之前,花费数年时间反复修改电影情节的方式。出版的小说只展示最终成果。那些失败的草稿和历时多年的结构重组,从未被保留下来作为训练数据。即使这些数据存在,目前解决这个问题的经济动力也很有限,因为“这部小说能否在 300 页的篇幅里打动读者”,不像“这段代码能否通过测试”那样可以被衡量。
更新(7 月 7 日):本文发布后,出现了一个更加犀利的论证版本,值得坦率地说明。“没有关于创作过程的训练数据”这种表述存在一个实质性漏洞——这些训练语料库中已经有数以百万计的成品小说,因此瓶颈并不是缺少原始文本。GPT-4.5 和 Llama 3.1 405B 等模型表明,仅靠 pretraining 就可能生成真正优秀的长篇内容。更有可能的情况是:post-training optimization(RLHF,以及为了追求效率而缩减参数量)正在主动削弱一种原本已经存在的能力,而不是填补一个从未被填补过的空白。这不会改变本文讨论非虚构写作的那一半。但这确实意味着,上面的段落需要重写,只是我还没有动手。
这是两个不同的问题,却披着同一种抱怨的外衣。其中一个已经有了名字,也已经有某种粗略的修复方案正在某处发布。另一个还没有相应的数据集,也缺少构建这种数据集的商业理由。
我只写第一种内容:教程,以及基于我亲手构建过、也亲手搞坏过的东西形成的论述。这让我站在了这条分界线中可以解决的那一边。可在这一周的大部分时间里,我一直在追踪这场争论,却没有把自己的问题与所有人真正感到不满的那个更困难、甚至可能无解的另一半区分开来。
不过,“可以解决”并不等于“已经解决”。而且,当下已有的修复方式并不是我有能力使用的某次模型重新训练,而是一轮编辑。这正是我构建开头提到的那份 36 种模式检查清单的真正原因——它专门以我自己发表过的作品为基准进行校准,因此不可能把我的句子磨平到某种通用的“好文笔”平均值。它里面根本不存在一个可以把文章磨平过去的平均值,只有我的语料库。它不会替我生成底层论点。现在还没有任何东西能做到这一点,也不应该有。它能捕捉到的,是草稿写完后又悄悄混进来的 RLHF 式含糊措辞——例如一个本来应该直接结束的句子,却拖进一个逗号和一个以“-ing”结尾的从句;又或者一句含糊地声称“许多人如何如何”的话,本来应该明确指出究竟是谁。
我并不是在声称 AI 写作问题已经得到解决。我的意思是,我花了一周时间,看着一群聪明人围绕一个大约十分钟就能核实的数学论断争论不休,而针对属于我的那一半问题,真正的修复方案却是我在同一个下午就能拿来检查草稿的东西。
AI 帮助我研究、组织和编辑了这篇文章。论点、例子和观点都属于我。其中存在的任何错误也同样属于我。
部分评论可能仅对已登录的访客可见。请登录以查看全部评论。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。