Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lieflat Less AI Tone

中文 | English

去AI味.skill:用语言学方法量化「什么是 AI 味」,再把它去掉

一个基于 283 万字语料统计的去 AI 味 skill

这个 skill 希望用语言学的研究方式,来量化"什么是 AI 味",并致力于去除 AI 写作的"AI 味"。该 skill 在 moxt.ai 制作。

研究以 629 篇文章(2,826,972 汉字,95,551 句,45,721 段)构建对照语料,其中 300 篇由五个主流模型在受控条件下生成,329 篇为人类作者的写作文本。检验了 26 项在公共讨论中被广泛认作"AI 文风"的候选特征,逐项计算生成侧与人类侧的频率比。

结果显示,11 项特征通过检验,有明显的区分度,其中区分力最强者为段首零回指评论(4.4 倍)。另有 15 项不具备区分力,部分项的方向与流行认知相反:人类使用比喻的频率为生成文本的 2.4 倍,正文设问句为 17 倍,句内同构排比亦高于生成文本。

研究同时发现,不同大模型的"AI 味"表现不同。例如破折号,DeepSeek 每千字 5.16 次、Claude 4.25 次,而 GPT 只有 0.11 次,极差达四十倍;提示性冒号最重的是 DeepSeek 与 Claude,问句小标题最重的是 Gemini。所谓"AI 文风"并非单一形态。

文末报告了六次因算子设计缺陷导致的测量失误及其修正过程,并讨论了单一模型样本、分母选择与语料不可核验三项方法局限。

关键词 生成文本识别;中文句法;语料库语言学;篇章衔接;对照研究

在 MoxtHub 打开去AI味.skill →


1 问题

大语言模型生成的中文文本存在某种可感知的风格特征,公共讨论中称之为"AI 味"。这一判断在写作者社群中具有高度共识,但支撑它的证据基本停留在个案观察层面。

流通中的判别清单大致包含以下条目:破折号使用过密;对举结构("不是 A 而是 B")反复出现;句长分布过于均匀;单字虚词(就、很、了)偏少;以具体物象包装抽象概念("记忆的仓库");设问后立即自答。这些条目通过社交媒体反复传播,逐步取得了近似常识的地位。

问题在于,它们从未被系统检验。清单中的条目来源各异,有的出自对早期模型输出的观察,有的来自英文语境的研究结论直接移植,有的仅是个别写作者的印象。其中哪些具有统计意义上的区分力,哪些是观察者偏差的产物,哪些方向甚至是相反的,缺乏可对照的证据。

本研究的目标不是提出新的判别清单,而是对既有清单逐项检验,并给出可复算的判定程序。

2 方法

2.1 研究设计

采用对照设计。以文本来源(模型生成 / 人类写作)为自变量,以各候选句法特征的出现频率为因变量。

有效对照要求控制三类混淆因素。

主题与文体。 生成侧的话题范围与文体设定与人类侧对齐。若两侧写作对象不属同类,观测到的差异无法归因于文本来源,可能仅反映文体差异。

模型个体差异。 生成侧采用五个模型各 60 篇,而非单一模型。研究初期曾以两个模型的 30 篇样本进行测算,所得结论后续大部分未能重复。以破折号为例,初期数据支持"该特征为 Claude 独有",扩充至五个模型后发现另一模型的频率更高。单一模型的个体倾向易被误读为生成文本的共性。

生成条件。 生成侧不联网检索,不施加任何写作风格指令,仅提供话题。附加风格约束将掩盖模型的默认倾向。

2.2 语料

汉字
生成 300 1,179,105 37,642 14,549
人类 329 1,647,867 57,909 31,172
合计 629 2,826,972 95,551 45,721

生成侧模型为 claude-opus-4-6、deepseek-v4-pro、gemini-3.1-pro、gpt-5.6-sol、kimi-k3,覆盖 38 个话题。

人类侧为公开发表文本,按来源分组独立统计。分组统计的作用在于检验组间一致性:若某特征仅在个别组偏高,则更可能反映作者个人风格或文体惯例,而非人类写作的共性。本研究中,单字虚词与破折号两项即由此被识别为不可靠指标。

2.3 文本切分

分句。 先按行切分,剔除标题行、表格行、代码块、引用块与列表项,再以 。!?; 为界断句,保留长度不小于 4 字的片段。

剔除非正文行是必要步骤。研究初期未作此处理,仅以 。!? 断句,导致 Markdown 表格与无句末标点的长列表被计为单句。受此影响,某一组的句长标准差被计算为均值的 27 倍,并据此得出"生成文本的句长均匀度为人类的 51 倍"这一结论。修正切分程序后重新测算,该比值为 0.87,即不存在差异。

分段。 以空行为界切分,剔除标题、表格、代码块、引用、列表项与图片行,保留长度不小于 8 字的段落。

2.4 分母选择

依据被测特征所依附的语言单位选择分母。

分母 适用特征 示例
每千汉字 词汇层、标点层 破折号、顿号、对举结构
每百段 段落层结构 相邻句同构、比喻起段
同类元素占比 依附于特定结构者 问句小标题占全部小标题之比

分母选择不当可导致方向性错误。生成侧平均每篇含小标题约 10 个,人类侧为 1 至 2 个。以每千汉字为分母时,问句小标题的比值为 32 倍;改以小标题总数为分母后,生成侧 2.7%,人类侧最高组 3.6%,差异消失。前一分母实际测量的是"生成文本小标题数量更多",后者才是"生成文本倾向以问句充当小标题"。

段首类特征的分母为非首段总数,因首段不存在可回指的上文。

2.5 判定标准

以频率比 R = 生成侧频率 ÷ 人类侧频率作为主要判据。

R 判定
≥ 2.0 纳入
1.25 ≤ R < 2.0 条件纳入,需组间一致且绝对量充足
0.8 ≤ R < 1.25 无区分力,排除
< 0.8 人类侧更高,反向亦不可作为删改依据

另设三项附加条件。

组间一致性。 人类侧各组数值极差不超过 5 倍。破折号一项组间极差达百倍(最低 0.01,最高 1.29),故虽 R = 3.0 仍附加限定说明。

算子可定位性。 特征须能落实到具体句段与词形。诸如"比喻是否贴切""并列案例是否属堆砌"等依赖语义理解的判断,无法转写为可执行算子,一律排除,不因主观上"接近 AI 文风"而破例。

改写可操作性。 特征成立不等于可用于改写。材料密度一项人类侧为生成侧的 2.8 倍,方向明确,但据此"补充数据"将违反信息守恒约束,故仅保留其可执行部分,即原文已含具体数据时不得以概括表述覆盖。单字虚词同理,生成侧确实偏低,但"补充虚词"无法验收,整项弃用。

2.6 算子实现

各特征以正则表达式实现,定义置于脚本首部,可直接修改与复核。

此环节为本研究方法链中最薄弱者。正则匹配字面形态而不解析语义,算子过宽将纳入大量不属于该特征的实例。本研究因此产生六次测量失误,详见第 5 节。由此确立的操作规程为:任何算子在采信其频率结果前,须先抽样检视 20 条命中实例。

3 结果

3.1 未通过检验的特征

R < 1.25,即不具区分力或方向相反者,共 15 项。

候选特征 测量结果 R
句长均匀度 变异系数 生成 0.58 / 人类 0.67 0.87
相邻句长差 生成 21.7 / 人类 21.7 1.00
段长均匀度 稳健离散度 生成 0.94 / 人类 1.00 0.94
单字虚词「就」 生成 2.93 / 人类 6.45 0.45
口语连接词 生成 1.01 / 人类 3.87 0.26
名词复现(少用代词) 相邻句同名词起句 生成 0.02 / 人类 0.04 0.50
抽象被动式 生成 0.09 低于阈值
设问自答 生成 0.13 / 人类 0.13 1.03
问句小标题 占小标题比 生成 2.7% / 人类最高组 3.6% 0.75
正文设问 生成 0.10 / 人类 1.83 0.05
句内同构排比 同字起首两项 生成 2.35 / 人类 3.87 0.61
比喻标记 生成 0.16 / 人类 0.38 0.42
抽象主语配具体谓语 生成 0.001 / 人类 0.001 0.70
动词名词化 生成 0.003 / 人类 0.005 0.52
正文序数词 句首「首先,」生成 0.06 / 人类 0.03 2.00,绝对量过低

三项结果与流行认知方向相反,值得单独说明。

比喻。 "生成文本倾向以比喻包装抽象概念"这一判断不成立。人类侧比喻标记频率为生成侧的 2.4 倍,以比喻独立起段者为 8 倍。差异不在是否使用比喻,而在喻体选择:生成侧偏好理想化的职业人格作喻体("像一位智慧的导师""一个永不疲倦的初级审查员",R = 7.3),人类侧多取具体个人("像一个老师傅""像一个人脉很广的医生朋友")。前者承担抒情功能,后者承担说明功能。

设问。 正文中的设问句,人类侧频率为生成侧的 17 倍。依"删除设问"这一流行建议改写,将使文本进一步偏离人类写作特征。

句长均匀度。 该项在本研究初期亦被认定成立,并曾报告 51 倍的比值。经查为切分程序缺陷所致(见 2.3)。修正后 R = 0.87。

3.2 通过检验的特征

编号 特征 测量结果 R
1 对举结构(不是 A 而是 B) 生成 0.73 / 人类 0.22 3.4
2 顿号并列过密 生成 3.21 / 人类 1.78 1.8
3 相邻句结构同构 每百段 生成 9.41 / 人类 4.81 2.0
4 破折号 生成 2.38 / 人类 0.80 3.0
5 冒号滥用 提示语 生成 0.29 / 人类 0.08;空转句引列表 0.29 / 0.03 3.8 / 9.4
6 序数词充当小标题 生成 0.19 / 人类 0.06 3.1
7 拟人化喻体 生成 0.018 / 人类 0.002 7.3
8 概括表述覆盖已有数据 数字密度 生成 6.34 / 人类 17.92 0.35(反向)
9 起首语(说白了) 生成 0.025 / 人类 0.008 3.2
10 译文句式(5 种) 见 3.4 2.6–5.3
11 段首零回指评论 占非首段 生成 0.61% / 人类 0.14% 4.4

通过检验的特征集中于篇章与结构层面,而非词汇或标点层面。区分力最强的第 11 项即属篇章衔接问题:生成文本在新段落起首处直接给出评价("听起来像一条功能描述""值得注意的是"),未标示评价对象,读者须回溯上文方能确定所指。值得注意的是,段首衔接词的总体密度两侧无差异(生成 14.4%,人类 15.1%),差异仅在于评价句省略回指成分。补入一个指示代词即可恢复衔接。

3.3 模型间差异

特征 Claude DeepSeek Gemini GPT Kimi
破折号 4.25 5.16 0.51 0.11 2.32
提示性冒号 0.38 0.43 0.22 0.25 0.32
对举结构 0.61 0.86 0.29 1.26 0.51
序数词小标题 1.00 0.69 0.22 0.73 0.82
过长前置定语 0.64 0.65 0.48 0.06 0.22
问句小标题 0.043 0.086 0.173 0.008 0.000

同一特征在模型间的极差可达四十倍(破折号:DeepSeek 5.16,GPT 0.11)。这一结果有两重含义。其一,不存在统一的"AI 文风",模型个体差异不可忽略。其二,基于单一模型样本得出的特征描述不具普适性,本研究初期的多项误判即源于此。

GPT 破折号频率之低,曾被用于论证该特征已失效。但 Claude 一项为人类侧的五倍以上,而该模型在写作场景中使用广泛,故本研究仍予保留。

3.4 译文句式的筛选

初始清单依"英文句法直接移植"设定 18 项,通过检验者 5 项。

纳入 生成侧频率 排除 生成侧频率
过长前置定语 0.42 抽象被动(被认为) 0.09
「当…时」从句 0.26 在…的过程中 0.07
前置话题壳(对于…来说) 0.22 不仅仅是 0.05
句首连接词(然而,) 0.18 存在着 / 有着 0.04
「这意味着」复述句 0.15 进行了…的分析 0.03
使得…能够 0.03
扮演…角色 0.02
在某种程度上 0.02
值得注意的是 0.02
以一种…的方式 0.01
一系列的 0.00

排除项中有三项为本研究规则集初始版本所自带("以一种…的方式""使得…能够""扮演…角色"),实测频率均低于 0.03。这些结构确属译文句式,但不构成生成文本的区别性特征,现代汉语书面语已充分吸纳此类句法。

4 从统计结果到改写规则

统计显著不等于可执行。本研究将 11 项通过检验的特征转写为改写规则时,附加了三重约束。

白名单原则。 仅处理清单内的 11 项。未命中任何规则的句子逐字保留,标题层级、段落次序、列表、表格与代码块位置不作变动。

信息守恒。 不得新增姓名、数字、日期、引语、来源、因果关系或原文未载的任何细节;同时不得删除原文的观点、结论与限定成分。将"可能提升"改为"提升"属于篡改判断强度,不属于风格清理。判定方法为,改写后每个实词须能在原文中指出出处。

语义判断的排除。 比喻是否贴切、设问是否解决了读者的真实疑问、并列案例是否属堆砌,此三类判断依赖语义理解,无法转写为可执行算子。将其写入规则只会诱导执行者依主观语感改写,故一律排除。

规则全文见 SKILL.md

4.1 应用

规则集以 Agent Skill 形式发布。推荐直接在 MoxtHub 打开 lieflat-less-ai-tone:Moxt 拥有强大的上下文空间和 AI 原生的文件格式,方便 agent 处理长文内容。

也可安装到本地:

npx skills add larashero3-dotcom/lieflat-less-ai-tone

安装后提交文本即按规则集处理。亦可直接将 SKILL.md 作为 system prompt 使用,适配任何支持自定义指令的工具。

与写作风格蒸馏配合使用时不必单独安装本规则集,writing-dna-skill 已内置一份,装该仓库即随行。二者构成先后两道工序,前者负责风格逼近,本规则集负责清除生成痕迹。同目录存在蒸馏产物时优先读取 语言DNA.md;两者冲突时以蒸馏产物为准,因其记录的是目标作者的实际写法,不属生成痕迹。

5 测量失误记录

本研究在算子设计环节共出现六次系统性失误,全部为算子覆盖范围宽于规则定义,且均在检视命中实例前即采信了频率结果。

初测结果 缺陷 修正后
过长前置定语 3.04 算子纳入普通句式 0.35
并列连词 0.26 规则定义为"单句内两次以上",算子测单次出现 0.00
「的…的…的」嵌套 0.25 算子跨顿号匹配,将正常并列计为嵌套定语 0.06
提示性冒号 无差异 6431 条命中中,标题 1266、列表 1225、对话 207,均属规则明示豁免者 R = 3.8
问句小标题 32 倍 分母为字数,未计生成侧小标题数量本身为人类侧的 5–10 倍 无差异
比喻包装 0.000 算子为 11 个词项的固定表,实际比喻表达均不在表内 R = 0.42(人类更高)

公开这一记录有两点考虑。其一,六项中有四项若未修正将直接进入规则集,其中两项方向相反,据以改写将使文本更偏离人类写作特征。其二,此类失误具有共同结构:算子与规则名称之间存在覆盖范围落差,而频率数字本身不提示这一落差。相应的操作规程已列入 2.6。

6 局限

人类侧语料规模有限。 组间差异已相当可观(破折号极差百倍,虚词密度差三倍),扩充语料可能改变部分结论。

部分特征缺少人类侧对照。 译文句式的筛选(3.4)仅依据生成侧绝对频率与阈值,未计算比值。某结构在生成侧频率高,不排除人类侧同样高频。

语义层特征无法测量。 篇章与修辞层面的判断(设问是否必要、比喻是否贴切、案例是否堆砌)超出正则算子的能力范围,只能退回可定位的形态特征。这意味着若"AI 味"的主要成分位于语义层,本研究的方法在原理上无法触及。

话题未严格配对。 生成侧为同批话题集中生成,人类侧文本跨越较长时间与较多话题,部分差异可能来自话题而非文本来源。

结论具有时效性。 模型迭代持续向人类文风收敛。GPT 的破折号频率在不足一年内由"近乎每句一次"降至 0.11。本研究所有频率数值应视为特定时点的观测。

语料不可核验。 语料因版权与隐私原因未予公开,故上述数值第三方无法直接复核。可复核部分为切分规程、分母选择、判定阈值与算子定义,均随脚本公开。这是本研究的实质缺陷,非免责说明。

7 复算

# 句层:各特征在两侧语料的频率与比值
python3 scripts/compare-human-ai.py --human <目录...> --ai <目录...>

# 段落层:相邻句同构、段首零回指
python3 scripts/check-structure.py --human <目录...> --ai <目录...>

# 生成侧:译文句式频率
python3 scripts/check-translationese.py <目录...>

三个脚本仅按目录参数读取 .md 文件,不含语料,亦不以目录名作为输出标签。算子定义位于各脚本首部。

替换为自有语料即可复算全部指标。若结论与本研究不一致,请优先检查语料的话题与文体是否对齐、分母是否与被测单位匹配。

关于 Moxt

Moxt 是一个组建 AI 团队来承担长程复杂工作的平台,主要包含四部分:

  • 工作流 — 把复杂任务规划为分步进行,每个阶段由各司其职的 agent 承担,即使无人值守也可自主运转
  • Agent 看板 — 实时掌握哪些完成了、哪些在跑、哪些需要你,随时介入调整
  • 小程序 — 不写代码就能构建团队真正需要的内部工具,由真实数据库驱动,人和 agent 共用
  • AI 原生工作空间 — 基于 Markdown、HTML、CSV 的文件系统,让 agent 跨对话始终保持上下文

本 skill 依赖长文本的反复读取与逐句改写,工作空间的上下文能力正对应这一需求。

在 MoxtHub 打开去AI味.skill →


数据与代码 scripts/ · 完整结果表 RESEARCH.md · 规则集 SKILL.md · MoxtHub 去AI味.skill · English README.en.md

许可 MIT

About

一个基于 283 万字语料统计的去 AI 味 skill · An AI-tone removal skill grounded in a 2.83-million-character corpus study

Resources

Stars

287 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages