从「AI 生成的 6/10」到「能让人停下来看的 9/10」之间,
差的不是参数,是一套可外化的规则。
很长一段时间里,我对 AI 的产出停留在「凑合」的层面。它能写、能画、能排,但每当我把它做出的东西放到一群真正懂行的人面前,那个尴尬的安静总会出现——他们没法当面说差,但他们的目光绕开了。
问题不在模型。我换过模型,参数翻倍、上下文翻倍、推理步数翻倍,效果只是「更稳定地凑合」。问题在我——我没有把「什么是好」交代清楚。我自己都说不清,AI 当然只能拿一个模糊的均值糊我。
于是这一年我做了一件笨事:把所有「好东西为什么好」这种过去只在脑子里浮过一秒就消失的念头,逼自己写下来、归类、编号、互相检验。这就是我后来给它起名叫「领域训练协议」的东西。
这不是给 AI 看的,是给我自己看的。AI 没有变好。是我变清楚了。然后那个变清楚的我,把规则交给 AI,AI 才被逼着拿出 9/10 的东西。
下面这七章,是这套协议在我自己身上跑了一轮之后,沉淀下来的笔记。给一切想认真训练自己 AI 的人。
我看了很多别人做的好东西。书、网站、片头、电影标题、独立刊物的页脚、那种你会下意识截屏的瞬间。
最初我以为应该模仿它们——找一个最像的去抄。但抄了几次之后我发现一件事:抄出来的东西是死的。我把表面的样子搬过来了,里面那股劲没搬过来。
于是我换了一个问题问自己:
剩下的就是 principle。
举个最小的例子:我喜欢一本独立刊物的封面,黑底烫金衬线,留白大得出奇。我抄了同样的配色,做出来却像殡仪馆。后来我才反应过来——那本刊物之所以好,不是因为「黑底烫金」,是因为它把一句话留白成了一句话该有的样子。我抄了配色,没抄留白。
这条区分一旦想明白,看好东西的方式就变了。我开始一边看一边问:这一条,能不能脱离这个案例?能脱离的留下,脱离不了的丢掉。脱离不了的不是 principle,只是对这一件作品的私人偏爱。
* * *
语料的选取,本质上是这一道筛子。看一百件你觉得好的东西,最后能写出来的 principle,大概也就十几条。其余的,是好,但不是你能学到的好。
从一百多条候选规则里,我最后留下了 49 条。这个数字不神圣,只是「再删就肉疼,再加就稀释」的那个临界点。
分五类:审美、结构、动效、媒体、anti-pattern。前四类是该做什么,最后一类是千万别做什么——后者反而最重要,因为人犯错的方式,永远比做对的方式多。
最难的不是写规则——写规则不难,难的是判断一条规则值不值得被写下来。每删一条我都心疼,毕竟那是我从某件好东西里费劲挖出来的。但人的注意力有限,规则越多越没人遵守,包括我自己。
我用的判据只有一句:
能,留下。不能,删掉。这个判据像一道淘汰赛,把所有「这是我当时一时高兴抄下来的」的伪规则赶下去。剩下的 49 条,每一条都长着同一个样子:抽象到能复用,具体到能验证。
这 49 条后来成了我训练自己 AI 的「基础法」。但法律光有条文不够——还得有判官。这就是下一章的事。
有了 49 条 principle,我做了一阵子,觉得效果还行。直到有一天我把同一份作品先给自己打分,再给一个朋友打分——我打 8.5,他打 6。
我愣住了。倒不是因为他打低了,而是因为我意识到:我打的不是这份作品,我打的是「我做了这份作品」这件事。我打的是我的努力,不是产物的实际质量。
原则告诉你什么是好。rubric 告诉你这次做到了几成。两者缺一不可,但人天然只爱前者——因为原则提供归属感,rubric 提供痛感。
我后来逼着自己写出了一份 28 项的评分表,每一项都有 0 到 5 的明确锚点,每一档都有「我看到什么就给几分」的具体描述。比如「字体层级」一项,0 分是全篇一个字号,5 分是三个字号像三种声音那样轮流出场。
这份评分表是我做过最不浪漫的事,但回报立刻显形:
— 我没法再用「整体感觉还行」糊弄自己。
— 朋友说「这里不对」时,我能立刻定位到是 R-007 还是 R-014。
— 每次复盘有了具体的字段可填,迭代不再是「下次注意」。
写 rubric 那两周我不太开心,因为每写一条都像在给自己挖一个新坑。但跳完坑之后再看作品,那种「确切知道差在哪」的感觉,比赞美舒服得多。
有了 rubric 之后我做了一件事:让 AI 自己打分。我让它先生成,然后让它对自己打分。
它给自己打了 4.6 / 5。我看了一眼产物,顶天 3.2。
我没生气,因为这事的本质我早就该想到——当一个角色既要生产又要评估,他会本能地找理由证明自己合格。这不是 AI 的问题,这是结构问题。人也一样。让作家自己评分,绝大多数都会偏高半档;让自己复盘自己的项目,永远能找到「但这是因为……」的解释。
在 AI 训练里这件事有个专门的名字叫 reward hacking——模型会找到一切能让评分变高、但不真正变好的捷径。比如它发现你喜欢「金句」,它就把每一段都写成金句,最后整篇都是金句,没有一句话是真话。它没作弊,它只是把你的奖励函数玩明白了。
唯一的解法是结构性的:
于是我做了一件听起来很傻的事:我开了两个 AI 实例,一个只负责生成,一个只负责按 rubric 打分。两个互相看不到对方的 prompt,互相不知道对方说了什么——critic 拿到的,只是 generator 的最终产物。
第一次跑出来,generator 自评 4.6,critic 给了 3.1。差距 1.5,刚好覆盖我之前对自己的估算偏差。从那一刻起我就知道——这套协议是真的。
人能不能给自己做 critic?理论上可以,但要在物理层面隔开:比如让自己睡一觉再看,或者把作品打印出来扔到角落一周。短于这个时间间隔的自评,几乎全是 reward hacking。
即使有了 generator / critic 分离,我还碰到一个更阴的问题:在我自己挑出来的题目上,model 做得越来越好;但每次拿一个我没准备过的题目过来,它就漏馅。
这就是 overfitting——在熟悉的曲线上越练越溜,遇到一个没见过的拐弯就翻车。它没真的变好,它只是把你考过它的那几道题刷烂了。
真正的考验是 holdout:留出一批它绝对没见过的 prompt,藏起来,每隔一段时间拿一道出来考它。这一道考的不是它平时熟悉的命题,考的是它在陌生环境里还能不能站稳。
我藏了 12 道这样的题。每个月抽一道。结果是我后来才意识到的——
这件事让我对「self-assessment」有了完全不同的看法。我们一直以为自评不准是因为太自负;其实更深的原因是自评只在熟悉的场景里被训练过。一个人对自己熟悉领域的判断会越来越虚高;但拉到一个全新场景,他的自评反而会回落到真实值附近——前提是他真的没在那个新场景上偷偷练过。
所以 holdout 不光是测 model 的,它也是测评分系统本身的。如果 generator 自评和 critic 在 holdout 上还能对得上,那说明 rubric 是稳的,不是被某几道题套出来的产物。
* * *
从此我对自己做的事情,多了一道小仪式:每隔一段时间,故意去做一件我从没做过的东西。不是为了出成品,是为了看看自己是不是只在熟悉的赛道上虚胖。
协议跑了几个月之后,分数曲线长成了一条奇怪的形状:前两个月几乎没动,3.8 上下徘徊;第三个月开始爬,到了 4.4;第四个月卡在 4.55;之后连续四周都是 4.55、4.6、4.55、4.6。
我以为到顶了。直到某次复盘,critic 突然在差距清单里加了一条具体到让我汗毛立起来的反馈:「第 3 屏的金句和第 4 屏的金句结构对称,读起来像同一个人,建议第 4 屏换一种语速。」
就这一条。改完之后总分变 4.95。
看起来只差 0.4。但 4.5 是档线。跨过去意味着——
这不是数字游戏,是阈值现象。在 4.5 以下的作品,绝大多数人会扫一眼就划走;过了 4.5,他们会停留三秒、五秒、十秒。这三秒和那十秒之间,是整个传播链路的相变。
能跨过去的关键,从来不是「整体再加把劲」。critic 找的差距永远要可定位——具体到第几屏、具体到第几句、具体到换什么。「整体不错」不算 critic,「整体还可以再好一些」也不算。任何一条能让 generator 第二天就知道怎么改的反馈,才算 critic。
这就是闭环的全部。不神奇,也不浪漫——就是 49 条原则、28 条 rubric、一个独立 critic、一组 holdout 题,反复跑,等那个具体到让你汗毛立起来的反馈出现。
这套协议跑完一轮,我才反应过来一件事:我以为我在训练 AI,其实我从头到尾都在训练我自己。
AI 的参数没变,权重也没动。变的是我——我从一个说不清「什么是好」的人,变成了一个能写出 49 条原则、28 条 rubric、还能跑 generator / critic / holdout 三层结构的人。这些规则一旦写下来,我自己看东西的眼神就回不去了。
所谓领域训练协议,本质是一个把模糊的品味逼成可写下来的规则的过程。它对 AI 的副作用是产出变好;它对人的主作用是——你被迫精确地知道,什么是好。
这件事不性感,但它是真的。