larashero3-dotcom /lieflat-less-ai-tone
一个基于 520 万字语料统计的去 AI 味 skill · An AI-tone removal skill grounded in a 5.2-million-character corpus study
★ 7,151⑂ 502👁 12⑃ 4● 9▤ 0◈ 0
7,151
stars
+151
502
forks
12
watchers
4
prs
9
issues
0
releases
0
discussions
README
Lieflat Less AI Tone
中文 | English
!去 AI 味 Skill:约 520 万字、100+ 项指标、约 50 万次模型语义判断
一个基于两轮实测语料(共 1,169 篇、约 520 万汉字、100+ 项指标、约 50 万次模型语义判断)的去 AI 味 skill:先交付有指标、研究参照、原文例句和改法的检测报告,用户回复后再改写和复测。
这个 skill 用两轮对照研究筛选值得处理的写作特征,再对成稿做有依据的检测和最小改写。
---
1 研究问题
AI 在 Coding 能力提升的同时,写作的体感好像并没有同步变好,生成的文字依然读起来很奇怪。
比如不少主力模型智商极高,但写出来的长文我往往要读好几遍,很大的原因是它满篇都在用「不是技术问题,而是认知问题」的对举、密集的破折号和分号,还有完全理解不了的比喻。
为了处理这些问题,常见的做法是给模型列一张禁用词表,或者塞一段「去 AI 味 Prompt」。我也试过很长一段时间,但实操下来有两个明显痛点:
第一是禁用词表管不住真正的 AI 味。很多文章完全避开了「赋能」「闭环」「抓手」,标点也很克制,但读完三段依然一眼就能看出是 AI 写的。
第二是容易乱改、误伤正常表达。把十几条经验规则攒在一起喂给模型直接改稿,模型会非常激进地把文章里原本自然的设问句、「一、二、三」小标题一并删掉,甚至为了迎合「长短句参差」的指令,把顺畅的句子硬生生拆碎。
市面上流传的「AI 味清单」基本来自个案观察和个人语感,从未经过系统检验。我的思路是,从「读着像 AI」这个很难直接验证的主观体验里,找到若干个能客观反映模型写作特征的指标,先量化评测,再顺藤摸瓜地从工程和规则上把问题解决掉。
从源头看,把「去 AI 味」做成一套可靠的 Skill,核心只涉及三个问题:
第一,怎么把脚本数不出来的「AI 味」真正测准?这决定了能不能抓到藏在句子意思和上下文里的深层习惯。
第二,哪些语言特征是真正影响阅读体验的标准?这决定了改写规则往哪里发力。
第三,拿到这些指标后,如何管住模型的手?这决定了改写过程能否在清理套路的同时,不误伤作者原本的正常表达。
这些工作在构建思路上有两个相同的原则:
首先是有效,让每个指标能简洁直接地对应一个可定位的句法或篇章问题,通过指标高低,顺藤摸瓜地在规则上准确动刀。
其次是可靠,让评测与改写前后的变化尽量可以量化,避免凭感觉盲改。
2 两轮实验
2.1 第一轮实验:629 篇对照文本
语料生成方法:同一批话题,五个模型各写 60 篇,与 329 篇人类作者文章对照。
语料统计:
| 侧 | 篇 | 汉字 | 句 | 段 |
|---|---|---|---|---|
| 生成 | 300 | 1,179,105 | 37,642 | 14,549 |
| 人类 | 329 | 1,647,867 | 57,909 | 31,172 |
模型:claude-opus-4-6、deepseek-v4-pro、gemini-3.1-pro、gpt-5.6-sol、kimi-k3。人类侧分组独立统计,检验组间一致性。
判定标准: 倍率 R = 生成侧频率 ÷ 人类侧频率。R≥2.0 纳入;1.25–2.0 条件纳入(需人类侧组间一致且绝对量足);0.8–1.25 排除; --json /tmp/before.json
第 1.5 步:语义层候选抽取 + 会话内模型按封闭判据判读
(同义重命名段 / 段间衔接接口 / 冒号句 / 三连同构组,
判据见 references/semantic-criteria.md,单篇约 40-80 条)
python3 scripts/detect.py --candidates --out /tmp/candidates.json
第二步:模型复核命中,报告本篇指标、研究显著性、例句、改法和排除项;等待用户回复
第三步:收到用户回复后,按其接受或调整的方案改写(规则见 SKILL.md)
第四步:复测 + 前后对比报告(默认 Markdown,--format html 出网页版)
python3 scripts/detect.py --json /tmp/after.json
python3 scripts/report.py 原文 改后文 /tmp/before.json /tmp/after.json \
--semantic /tmp/candidates_labeled.json --out 去AI味报告.md
完整示例:Agent 记忆问题案例。其中有改前报告、改后全文、左右两列 HTML 对照页和复测结论。
检测分三层:脚本层(数得出符号的,detect.py)、语义层(要理解句意的四项,会话内模型按封闭判据逐条判)、人审层(比喻贴切度/暗喻/拟人喻体——模型间共识只有 0-40%,只列出不判)。
检测报告分级:
| 级 | 含义 | 处理 |
|---|---|---|
| A | 机械改:删提示语、换标点,零语义风险 | 模型复核误报并提出建议;用户回复后改 |
| B | 建议改:顿号罗列、长定语,需句式重组 | 模型逐条筛选并提出建议;用户回复后改 |
| C | 只报告:句长均匀、结构碎——整篇级问题 | 默认不改;用户主动要求时再处理 |
| H | 人审区:拟人喻体等贴切度问题,模型判不准 | 默认保留;用户主动要求时再列清单 |
| X | 已否决:实测不是 AI 味(配对复测反向) | 永不改,展示计数防误改 |
| F | 指纹:破折号/分号/引号等分模型特征 | 带方向解读;可安全改写的局部命中默认建议改,保留须给具体理由 |
防过度改写
模型改写 AI 味最常见的失败是改过头:为"像人写的"把句子改得忽长忽短、拆段落、删掉本来正常的表达。SKILL.md 定了六条改写原则:最小改动(一处命中只改必需部分)、信息守恒(改写后每个实词须能在原文指出出处)、不制造参差(句长离散度人机无差异,不为节奏改句长)、结构不动、有风格参考时以参考为准、改后三查加复测。
检测报告的结构区(句长 CV、节长 CV、同构/百段、小标题密度)会标明各参考值所属轮次与计算口径。配对复测的句长 CV 人类参考值为 0.54;第一轮抽样的 0.67 不与其混用,也不把任何指标强行推到目标值——机械参差化比不改更糟。
5 方法论教训
研究过程本身的缺陷,记录在 RESEARCH.md,共六次测量失误(宽正则误测、分母选择错误)和两次配对复测推翻。
6 复算
bash
单篇/单目录检测报告
python3 scripts/detect.py
人类 vs 生成语料的规则命中率对比(需自备语料)
python3 scripts/compare-human-ai.py --human --ai
段落级:句子同构(段首零回指已于 2026-10-26 移除:弱信号,与已反转的指代不清同族)
python3 scripts/check-st