Only 11 of 26 popular Chinese 'de-AI-flavor' rules survive testing
A hospital worker who writes science explainers in his spare time reviewed 13 Chinese open-source 'de-AI-flavor' writing projects and found most of their rule lists had never been validated: only lieflat-less-ai-tone had tested anything, having five models write 60 pieces each (300 AI articles) and comparing them with 329 human-written public articles (~2.83 million characters), scoring 26 circulating criteria — just 11 held up, while 15 were refuted, including sentence-length uniformity. The author then built a Claude Code skill that tiers rules by evidence and adds hard constraints such as information conservation (every fact in the final draft must exist in the source) and no changing the strength of claims, plus a scanning script that uses only the Python standard library. On the Chinese HC3 dataset, 3.4% of 12,000-plus human answers were flagged as AI-like, versus 18.9% for GPT-3.5 answers and 85% for Claude answers and 83% for 12 science drafts.
Why it matters: It shows with data that the widely shared 'de-AI-flavor' checklists are mostly untested, and following them can push text further from human writing or even prompt models to invent details absent from the source.

我在医院工作,业余写给家长看的科普。这两年初稿很多是让 Claude 先起的,改稿时最花时间的就是把那股 AI 味去掉。今年想干脆做一个 Claude Code 的 skill 来干这件事,动手之前先去 GitHub 上看了看别人怎么做的。
中文的同类项目我读了 13 个,星数最多的一万八千多。读下来发现两个问题。
很多规则没被验证过
这些项目的规则清单大同小异:句子要长短参差,少用“首先、其次、最后”,删掉设问,少用比喻和排比,多加口语词,“值得注意的是”换成“说白了”。
其中只有一个项目认真测过。lieflat-less-ai-tone 的作者找了五个模型各写 60 篇,一共 300 篇,对照 329 篇人写的公开文章,总共 283 万字,把网上流传的 26 条判据挨个算了频率。
站得住的只有 11 条。
被推翻的那 15 条里,有几条是大家最爱引用的。句长均匀度人机没差别,早先“AI 均匀度是人的 51 倍”的说法,是程序把 Markdown 表格切成了一句话。正文里的设问,人类用得是 AI 的 17 倍,比喻是 2.4 倍。倒是“说白了”开头的句子,AI 多用 3.2 倍。
也就是说,照着很多教程去改,文字只会离人写的更远。
站得住的 11 条都很具体。最强的一条是段落开头直接下评论、却不说评论对象,比如上一段讲完用药,下一段开头来一句“关键在于家长要保持冷静”。人写这里通常会带个“这”字。AI 在这个位置的频率是人的 4.4 倍,改起来也简单,多数时候补一个字就行。
很多改写示范在编造
另一个问题更要紧。不少项目的示例会教模型“加入个人经历”“补充具体细节”,改完的稿子里就多出了原文没有的数字、作者没说过的态度,甚至一个“上周门诊遇到的孩子”。有两个大项目后来专门在更新日志里承认并修了这个问题。
对写医学内容的人来说,这比 AI 味本身危险。读者可以原谅一篇文章有点机器腔,但不会原谅一个编出来的病例。
我做了什么
我的 skill 把规则按证据分成三级。实测成立的 11 条加上几条中文学术研究里有数据的,当硬规则。多个项目都提到、但没有频率数据的,比如“具有重要意义”“未来可期”这类,只在命中而且确实空洞的时候才改。被推翻的,直接写进“不要做”。
硬规则之上还有四条约束,排第一的是信息守恒:终稿里每个事实都要能在原文里找到,缺材料就标出来交给作者,不替他补。第二条是不改论断强度,“可能”不能改成“会”。
我还写了个扫描脚本,只数那些能用正则定位的形式特征,给出每千字的密度和人机基线的对比。
验证
脚本写完,我用 HC3 中文数据集测了一下。这个数据集里同一批问题既有网友和医生的回答,也有 GPT-3.5 的回答。我又让现在的 Claude 回答了其中 60 个问题,另写了 12 篇科普稿。
一万两千多条人类回答里,被误判为有 AI 痕迹的占 3.4%;GPT-3.5 的回答是 18.9%;Claude 的回答是 85%,科普稿 83%。
GPT-3.5 的检出率低,是因为它的 AI 味主要在词上,“综上所述”“此外”这类词它用得是人的十几到二十几倍,而脚本把套话词只当提示、不计入判定。现在的 Claude 正好相反,这些词几乎不用,毛病全在格式上:65% 的回答先来一句“有以下几种情况:”再接一串列表。
破折号的变化最大。lieflat 测的旧版 Claude 每千字四个多;我翻出五月份让 Claude 写的几篇小红书稿,每千字七八个;现在的版本只有零点几个。同一家的模型,隔几个月就差一个数量级。所以任何固定的“AI 词表”都会过时,这也是我没有做词表黑名单的原因。
一次失败
改稿测试是让一个 agent 按 skill 改 6 篇科普稿,再让另一个没看过 skill 的 agent 当医学编辑,逐句核对有没有改动事实。
事实一个没多。但核查找出了三个问题,其中一个让我后背发凉。
高热惊厥那篇有一节“错误做法”,每条前面有个 ❌:“❌ 掐人中”“❌ 喂水、喂药”。改稿的 agent 按“去掉装饰性符号”的规则把 ❌ 删了。于是“掐人中”三个字成了一个粗体小标题,格式和上面的“让孩子侧卧”一模一样。家长在孩子抽搐的时候是慌着扫读的,截图也经常截不到节标题。
另外两个问题:一篇删掉了全文唯一一句“有疑问及时就医”;一篇把“剂量是关键,孕周也有影响”改成了“先看剂量,再看孕周”,主次没了。
这三条后来都写进了硬约束:删 ❌ 必须换成“别……”;危险信号的加粗不能去;唯一的兜底就医提示不能删;主次也算论断强度。改完规则重跑,前两个修好了,第三个修好了一部分。
局限
人类对照组是问答语料,长文章上的误报率还没测,带小标题的公众号文章可能会高一些。Claude 的样本只有 72 篇。阈值是看过这批数据之后调的,3.4% 偏乐观。DeepSeek、Qwen、Kimi 都还没测。
这些都写在仓库的验证记录里。skill 和脚本都是 MIT 协议开源,脚本只依赖 Python 标准库,不用 Claude Code 也能单独跑:
https://github.com/tangwenwen-md/chinese-de-ai-writing
如果你手上有其他模型的中文对照数据,或者发现哪条规则误伤了你的文字,欢迎来提 issue。
利益相关:文中的 skill 是我做的开源项目。本文初稿由 Claude 协助撰写,数据和结论经我本人核对。
How we got here