前段时间,我给自己的博客写了一个七期的建站技术系列。初稿大部分内容是由 AI 生成的,然后我再进行人工润色。写完之后,我对内容本身是满意的,但总觉得文风上还缺了点什么——那股说不清道不明的“AI 味”一直挥之不去。为了让这个系列读起来更像一个活生生的人写的,我决定深入探索一下如何“去 AI 味”。这前前后后折腾了四轮迭代,其中三轮都碰壁了,最终才发现答案其实并不在我最初以为的地方。
第一轮:字句层面的挣扎
最开始,我直觉地觉得 AI 味主要体现在字句上。于是,我找了一个专门用于中文文本去 AI 味的工具,一个名叫 humanizer-zh 的 skill。它内置了一个 31 条模式的清单,像“不是X而是Y”这种假对比句式、开头“接下来深入看看”之类的起跑式铺垫、爱用格言收尾、限定词堆叠、以及四字词排比等等,都是它识别并尝试修正的模式。
我把系列的第一篇文章丢进去,按照它给出的建议修改。一通操作下来,足足修了 15 处地方。修完之后,我再回头看自己的文章,结果却大失所望。直觉告诉我,AI 味还是很浓郁,甚至可以说,根本没怎么变。
问题到底出在哪儿呢?字句看上去都合规了,没有那些明显的 AI 腔调了,但整篇文章的“骨架”依然是浓浓的 AI 味。比如经典的七段式提纲:“一、这期解决什么问题 / 二、背景 / 三、别人是怎么做的 / 四、我们是怎么做的”,每一节字数均匀,层层预告,结尾必总结。这种完美到像机器一样工整的结构,是那个模式清单完全管不住的。我意识到,去 AI 味不能只盯着字词句。
第二轮:结构层面的尝试与新的困惑
既然字句搞不定,那我就把目光转向了结构。我又引入了另一个 skill,名叫 shuorenhua,它在编辑边界和保真红线方面有自己的侧重。同时,为了有个参照,我还特意找来了一篇真人写的公众号文章,仔细研究它的叙事方式。
我尝试把之前那种僵硬的七段式模板彻底拆掉,按照“事情线”的逻辑重排叙事,力求更接近真人的表达习惯。这一轮改进效果确实明显,文章读起来比之前顺畅了不少。然而,好景不长,很快又露馅了。读者视角的反馈指出:“开头先放两个数字,这个正常人不会这么开头。”
我恍然大悟:真人写文章,并不会刻意用“先给结论”或者“先交代一个事实”这种带有明显设计感的开场。在按新规则改写过的稿子里,我以为我已经规避了所有已知的 AI 腔,但规则没覆盖的地方,很快就冒出了新的 AI 腔。这感觉就像在玩打地鼠游戏,每当我修掉一种 AI 味,另一种又会从别的地方冒出来。我开始觉得,AI 味可能不是一个可以穷尽的清单。
第三轮:研究驱动,试图提炼规则
经历了前两轮的失败,我决定不再盲猜,而是系统性地去研究真人到底是怎么写技术博客的。我开始在中文互联网上搜寻,抓了三篇风格迥异的真人技术博客作为样本:
- 阮一峰的技术教程: 典型的白话文风格,段落短小,甚至单句成段。文字中几乎没有比喻,也没有感叹词。结尾通常就一个简单的“(完)”字,干脆利落。
- 掘金上一篇 Hexo 建站踩坑记录: 口语化非常浓郁,作者毫不避讳地保留了踩过的弯路。敢于写“具体咋产生的我也不清楚”、“第二天早上再跑一遍居然通过了,奇奇怪怪”这种非常真实的表达。结尾甚至有点敷衍,直接结束。
- 腾讯云上一篇 Jekyll 踩坑日记: 记录时间精确到分钟,直白地表达绝望情绪。报错原文直接粘贴,然后给出解决方法和来源链接,非常实用和真实。
从这三个风格各异的样本中,我提炼出了 10 条可检查的规则:
- 开头禁止设计钩子(真人只有经历流水、直接进主题、时间事件三种起法)。
- 结构不对称允许硬切。
- 金句全文最多两处。
- 允许承认不知道或不确定。
- 时间锚点要具体。
- 段落节奏允许悬殊,而不是均匀分布。
- 数字随事件出现,不集中展示。
- 保留纯粹的弯路,不强行升华。
- 结尾去除仪式感,自然收束。
我用这 10 条规则,再次重写了一篇文章。不得不说,质量确实又上了一个档次,文章读起来更自然了。但反馈依然指出,有些表述“不够中文”。我感到非常挫败,感觉自己已经把能想到的规则都用上了,为什么还是差那么一点点?
第四轮:柳暗花明,答案不在提示词里
就在我快要放弃的时候,我突然想到一个实验。我的环境里有 Gemini 的 API,为什么不试试直接换个模型呢?
我做了一个大胆的决定:把完全相同的事实素材、完全相同的写作约束(包括我千辛万苦提炼出的那 10 条规则,以及一份禁语清单),打包喂给 Gemini 生成。我心里并没有抱太大希望,毕竟前面已经折腾了三轮。
然而,结果却出乎意料!Gemini 一次性就过关了。它的开头是那种“经历流水”的自然起法,比如:“本来想把这系列的收尾写成一个技术总结,结果九月底给我整了个大活”。文章里口语和书面语自然混合,段落节奏的悬殊感也完全对味。我当时的原话判断就是:“这个味道对。”后续用同样的素材包,我流水线批量生成了十几篇文章,它们的风格都非常稳定,没有再出现之前的 AI 味。
核心论点:去 AI 味,模型本身大于提示词工程
经过这四轮的摸索,我得到了一个最重要的启发:去 AI 味这件事,模型本身远大于提示词工程。
AI 味不是一组可以枚举的违规模式,而是一种生成分配。那种均匀的段落节奏、对仗的收尾倾向、完美闭环的叙事偏好,这些东西是深植于模型输出分布里的。提示词能做的,只是抑制你已经识别出来的模式。但它抑制不了一种分布,这就像你在一个封闭的池塘里,试图用网子捞走所有你不想看到的鱼,但池塘的水质和生态系统决定了它会不断生出新的鱼。
当你的规则清单越写越长,模型就会在这些规则围出的“空地”里,继续用它原本的分布来“说话”。于是,新的 AI 味就从规则的缝隙里,不断地长出来。
而换一个模型,比如一个在它的生成分配里就“装着真人中文博客语感”的模型,同样一套约束喂给它,直接就能对味。约束没有变,变的是那个“说话的人”。这就像你让一个没怎么听过爵士乐的人即兴演奏爵士,给他一本再厚的爵士规则手册也没用;但你换一个听了一万小时爵士乐的人上来,他不用看手册,也能演奏出地道的爵士乐。
| 维度 | 提示词工程路线 | 换模型路线(最终答案) |
|---|---|---|
| 作用层 | 抑制已识别的模式 | 更换生成分配本身 |
| 覆盖面 | 规则永远追着新的 AI 味跑 | 语感在分布里,不需要枚举 |
| 成本 | 规则清单越写越长,提示词膨胀 | 一次切换,约束原样复用 |
| 副作用 | 模型在规则内「表演不像 AI」,长出新的 AI 味 | 表层小毛病仍在(可脚本修) |
| 适合管什么 | 红线(事实、格式、禁语) | 语感、节奏、叙事的自然度 |
提示词工程的真正价值:明确分工
是不是说提示词工程就没用了呢?当然不是。它只是不再是去 AI 味的主战场,而是有了更明确的分工。
那些“红线”约束,必须严格留在提示词里。比如,文章里的事实数字一个不许改、指定标题必须一字不差、必须保留的代码块和图表、以及明确的禁语清单。这些是不可动摇的硬性要求,模型必须遵守。
而确定性的质检,则必须交给脚本来完成。比如,用 grep 检查禁语、核验数字是否准确、代码围栏是否配对、以及是否有虚构内容等等。
有趣的是,即使换了模型,这些质检脚本依然每篇文章都能抓到东西。我发现 Gemini 每篇文章还会写 2 到 4 处“这表示”式的过渡词,爱给数字加粗,有一次甚至自创了标题(把我的指定标题改成了它自己的版本)。但这些全是表层的小毛病,脚本运行一遍,轻松就能修正。而文章语感的骨架,它却是一次性就对了。
这就是我最终确定的分工:人负责提供核心素材、设定红线和进行最终的直觉判断;模型负责语感生成;脚本负责确定性核验。我那三轮失败的提示词工程,并非一无所获,它买来的不是“去 AI 味成功”,而是对这套分工里,提示词到底该管什么、脚本又该管什么的清醒认知。
后来我做了个更狠的实验:机器改写骗不过机器检测
那个去 AI 味的 skill 在文档里声明过,它不判断文章是不是 AI 写的,也不输出 AI 含量。到了这个阶段,我决定把真正输出 AI 含量的检测器请进来。前面四轮迭代靠的是我的直觉和读者的反馈,现在我想看看机器给这些稿子打多少分。
我接通了腾讯朱雀的检测 API。接入走的是 EdgeOne 网关,返回的是分段级 label 和置信度,能直接看到哪些段落被判成 AI。为了不凭感觉吵架,我拿了三份命运不同的稿子做对照。
第一份是被我否掉的初稿,AI 置信度 99.71%。第二份是用户验收过的 Gemini 版,97.35%。第三份是逐段精修过的一篇,49.47%。三组数字摆在一起,结论有点扎心:检测器分不清“被否的稿”和“验收过的稿”。人验收的是语感,检测器看的是统计分布,两回事。精修版能压到 49.47%,是因为我逐段修过禁语和结构,还嵌了大量真人引语。不是模型突然变真人,是人工编辑痕迹变多了。
我不死心。既然检测器给分段级置信度,那就可以定位疑似段落,让大模型只重写这些段,再重组复测。于是我写了一个自循环引擎:朱雀分段检测,找出高 AI 置信度的段落;大模型只重写这些段;事实红线卡住数字和术语;重组后再次送检。目标很明确,把 AI 占比压到 10% 以下。
然后我得到了四轮曲线:82.2% → 81.8% → 83.5% → 84.7%。独立复测 97.8%。不降反升。期间我换了两个模型,Gemini 和 deepseek-flash,试了三档递进改写策略:叙事化重构、结构爆破、极端人化。累计 58 段次成功改写,全部无效。温度从 0.85 调到 1.2,也没用。
第三档“极端人化”策略最值得记一笔。它要求满屏碎语、极短句、自我纠正。改写产物变成了这样:
呃这个,怎么说呢,得严格留在提示词里。必须。心里头,就这么嘀咕。
我盯着屏幕。半天。
文章已经支离破碎,朱雀照样判 98%。文字都碎成这样了,检测器还是认得。这就是为骗检测器改写会产出怪味的极端版本:你以为在往“人味”走,其实是在破坏文章,同时还没有改变检测器真正看的东西。
这段实验把原来的结论又推了一步。前面那个核心论点说的是“模型大于提示词”。这次实验要补上后半句:模型大于提示词,但检测器大于模型的改写。大模型改写大模型的输出,分布还是大模型,朱雀识的是分布,不是措辞。提示词能约束措辞,改写能打碎句子,但都没有换掉那个生成分配。换模型能换分配,所以 Gemini 版一次就对味;可一旦进入“骗检测器”的目标,模型改写又只是在同一类分布里来回腾挪,检测器反而更稳。
人类作为终审者:直觉的堡垒
还有一点非常值得写下来:判断一篇文章“还有没有 AI 味”,最终的终审者只能是人。
我三次否定自己的稿子,靠的都是直觉。那种“还是感觉有 AI 的痕迹”的判断,是没有任何自动检测器可以替代的。甚至我最初用的那个去 AI 味的 skill,它自己在文档里都声明了“不判断文章是不是 AI 写的,也不输出 AI 含量”。
AI 味的标准,是长在大量真人阅读经验所形成的直觉里的。它无法被量化,无法被规则枚举,但它真实存在。新增实验里唯一被判过“人工”的,是那些带着具体经历、真实细节、人工编辑痕迹的段落。检测器不认这种痕迹,模型也仿不稳这种痕迹。它们不是靠规则写出来的,是靠一个人真的经历过、真的改过、真的知道哪里不对劲,才留在文本里的。
所以最终分工更新为:机器管素材组织和确定性质检,模型管语感初稿,人管两样东西——终审的直觉,和真想骗过检测器时的那支笔。