关于 ai-anti-patterns
用于识别并修订 AI 生成文本特征的写作审查技能,参考 Wikipedia 的“Signs of AI writing”指南。它也说明哪些模式有证据支持,哪些只是个人风格偏好。
主要功能
- 01筛查文本中的 AI 写作特征
- 02检查引用问题与提示词残留
- 03修订夸饰和结构模式
- 04将修辞表达改为直白措辞
- 05检查虚假精确和宣传用语
适用场景
- 01提交前审查草稿
- 02让 AI 辅助文本更自然
- 03核查引用和参考资料
- 04修订带有无依据暗示的比喻
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ edwinhu/ workflows --skill ai-anti-patterns安装后在 Claude Code 中输入/ai-anti-patterns确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
constraints/scored-tics-patterns.pywikipedia-chatgpt-artifacts.pywikipedia-communication-patterns.pywikipedia-promotional-language.pywikipedia-puffery-and-exaggeration.pywikipedia-structural-patterns.pywikipedia-template-artifacts.pyreferences/_index.md00-introduction.md01-puffery-and-exaggeration.md02-promotional-language.md03-structural-patterns.md04-stylistic-quirks.md05-formatting-and-typography.md06-communication-patterns.md07-template-artifacts.md08-markup-issues.md09-chatgpt-specific-artifacts.md10-citation-problems.md11-meta-indicators.md12-economist-2026-corpus-study.mdthird-party-brief.mdscripts/style_metrics.pystyle_stats.json详细介绍
AI 写作反模式
此技能包含的内容 — 如果下方列出的名称未涵盖某个主题,请在 references/ 中 grep:
!d=${CLAUDE_SKILL_DIR}; command -v skill-toc >/dev/null 2>&1 && exec skill-toc "$d"; s=$HOME/.claude/skills/plugin-utils/bin/skill-toc; [ -x "$s" ] && exec "$s" "$d"; echo "(skill-toc unavailable: references and scripts are NOT listed here — install the plugin-utils plugin, or start a new session so its bin/ reaches PATH)"
本指南介绍如何根据 Wikipedia 的“AI 写作迹象”指南,检测并修改 AI 生成内容的特征。
何时使用
在以下情况下调用此技能:
- 完成任何 AI 辅助写作后,提交前
- 检查文本是否具有 AI 写作特征时
- 编辑内容,使其读起来更自然时
- 完成写作任务后(通过钩子自动调用)
铁律
提交前,必须依据这些模式检查每一段 AI 辅助写作内容。
这不是可选项。AI 写作模式可以被检测出来,并会损害可信度。
快速筛查顺序
从最客观的特征开始:
| 优先级 | 部分 | 检查内容 |
|---|---|---|
| 1 | ChatGPT 痕迹 | turn0search0、oaicite、contentReference |
| 2 | 引用问题 | 虚构的 DOI、失效链接、不存在的来源 |
| 3 | 提示词拒绝语 | “作为一个 AI 语言模型……”“希望这能帮到你” |
| 4 | 浮夸辞藻 | “堪称……的见证”“丰富多彩的画卷”“坐落于” |
| 5 | 结构 | 章节摘要、“尽管面临挑战”、三段式规则 |
| 6 | 矫饰文风 | 本可直白表达,却使用了隐喻(见下文) |
必须避免的关键模式
严重程度:严重(必须立即修改)
这些模式是明确无误的 AI 痕迹:
ChatGPT 特有痕迹:
turn0search0、turn1search2(内部搜索引用)oaicite:X(引用占位符)contentReference[oaicite:X](未解析的引用)- 输出中的 JSON 归属信息块
提示词拒绝语:
- “作为一个 AI 语言模型……”
- “我无法提供……”
- “希望这能帮到你!”
- “希望这封邮件能在一切安好时送达”
严重程度:高(强烈建议修改)
已发布的列表位于 ~/.claude/skills/ai-tic/linter/tics.yaml,而不是本表。 该文件包含两部分——通过针对 14,294,148 个句子的近乎零人类写作率门槛的词句,以及一个 rejected: 区块,列出未通过的短语,避免再次提议这些短语。这里有六个短语被列为 AI 特征,但它们其实位于该 rejected: 区块中:serves as(141.35/M)、it is important to note that(44.42/M)、不带修饰语的 plays a crucial/vital/key role(21.94/M)、不带修饰语的 delve into(11.69/M)、underscores the importance(5.93/M)以及 Of course,(386.94/M)。它们已从下方表格以及仓库中所有可执行表格中移除。这与下方三十行处的“用户语气”部分对另一个列表所做的修正一致——“如果你喜欢,可以将这些内容作为语气偏好……不要将其作为 AI 检测依据。”——现在同样应用于此列表。要检查某个短语,请运行 /ai-tic <phrase>;不要在此处添加行。
浮夸和夸张(通过门槛的词句):
- “堪称……的见证”
- “丰富多彩的画卷”
- “坐落于……之中”
- “……的格局”
宣传性语言:
- “开创性的”“变革性的”“革命性的”
- “无与伦比的”“前所未有的”
- “尖端的”“最先进的”
中等级别(审阅并斟酌)
结构模式:
- 重复标题内容的章节摘要
- “尽管面临[挑战],仍取得[积极结果]”句式
- 负向排比:“然而……尽管如此……”
- 三项规则:每次都恰好列出三个示例
- 模糊措辞:“有些专家认为”“人们相信”
文风怪癖:
- 虚假精确——概括性数字精确到看似无意义的小数位
(“比率为 1.3771%”“覆盖了宇宙的 85.63%”)。
在摘要和引言中,数字只是概括而非报告数据时,优先使用较粗略的比例;将精确数值放在支持该数据的图表旁。此规则以
style·false_precision强制执行。 - 优雅变换(为避免重复而轮换使用同义词)
- 虚假范围(没有真实数据却使用“从 X 到 Y”)
- 所有标题都采用标题式大写
- 过度使用破折号(—)
- 过度使用粗体强调
用户语气偏好(不是 AI 特征——已于 2026-08-05 对语料库进行核验)
本节是个人文风偏好,并非检查器;它过去的名称(“用户语气检查器”)造成了实质性误导。 这里的内容从未出现在可执行规则表中,因此 writing-verify 检查会运行所有评分器,却对这些短语一无所知,而标题却暗示有四条强制规则。现在已将其中四条中的三条与 14,294,148 个人类学术写作句子进行比对(8.73M 篇金融/会计论文 + 5.56M 篇法律评论),结果显示它们都是正常的人类写作:
| 短语 | 金融 | 法律 | 结论 |
|---|---|---|---|
has bite / have more bite | 1.9/M | 5.2/M | 人类写作——包括一篇法律评论的标题:“Do the SEC's New Rating Agency Rules Have Any Bite?” |
the cut(监管削减) | 8.7/M | 4.7/M | 人类写作——“the cut in the corporate tax rate” |
Of course, | 299.9/M | 523.7/M | 人类写作 |
To be sure, ← 本节过去曾推荐此表达 | 11.5/M | 194.0/M | 人类写作,在法律评论中的出现频率是其替代表达的 3 倍 |
Admittedly, | 15.5/M | 63.3/M | 人类写作 |
cuts against | 0.9/M | 13.1/M | 人类写作 |
如果你喜欢,可以将这些表达保留为语气偏好——它们不可证伪,这没问题。不要将它们说成 AI 检测依据。完整记录:docs/investigations/2026-08-05_emphasis-enforcement.md。
通过筛选并保留下来的内容现作为语段规则强制执行:
ai-tic·sev3·rule-bites— “the reform should bite hardest”。这种动词用法没有语料记录(1/14.29M,且该命中是脚注中引用的 Financial Times 标题)。上文所述的名词用法则不是如此。名词与动词的区分就是这条规则的核心。ai-tic·sev2·sharpest-version— “the sharpest version of the objection”。出现次数为 0/14.29M;而<superlative> version of的全部四个命中都是 “the strongest version of”,the sharpest <noun>则有 86 个命中。这个词很普通,问题在于它的搭配。
过渡句重复仍是旧列表中唯一真正受到强制检查的条目——skills/writing-verify/scripts/bridge_repetition_check.py,由 workflows/writing-verify.js 调用。它针对章节开头执行真实逻辑,并非短语规则表。
自行检查短语: /ai-tic <phrase> — 它会针对语料库的两个部分运行 FP-hunt,并拒绝添加任何未达到资格门槛的内容。
如何修改
针对浮夸措辞
| AI 模式 | 人类写作替代说法 |
|---|---|
| “stands as a testament to” | “shows” 或 “demonstrates” |
| “rich tapestry of” | 具体说明其中包含什么 |
| “nestled in the heart of” | “in” 或 “located in” |
针对结构
| AI 模式 | 人类写作替代说法 |
|---|---|
| 标题内容的章节摘要 | 开门见山,不要进行元评论 |
| “Despite challenges...” | 直接陈述实际情况,不要套用固定句式 |
| 恰好三个示例 | 使用合适的数量:2、4、5 个,或只用 1 个 |
避免矫饰文风
定义(Anthropic 指引——引用原文,不要改述):
矫饰文风用隐喻和修饰取代直接陈述。作者不会说「一个值得调整的参数」,而会写成「一个值得拨动的旋钮」。作者不会说「这一点依然重要」,而会写成「这一点仍有其价值」。这些短语是为了展示作者,而不是传达观点,读者看得出来。这就是矫饰文风令人恼火的原因:它让读者更费力,只为让作者有机会表演。这种文风也不准确。隐喻会带入作者未曾选择、也无法控制的内涵。解决办法是说出你的本意。只要有直白的说法,就用直白的说法。
简短说法——「请去掉所有矫饰文风」——单独使用就有效,而且通常已经足够。
其运作机制是用隐喻替换直白说法。 这比笼统的「修饰」范围更窄:判断标准在于,是否有直白的说法可用,却被舍弃了。用「一个值得拨动的旋钮」替代「一个值得调整的参数」属于矫饰;长句不是,华丽的句子则是浮夸文风,属于另一种问题。吹嘘会夸大事实(「是……的有力证明」);矫饰文风则是表演。
不准确才是最关键的反对理由,而不是令人恼火。 隐喻会带入作者未曾选择的内涵:「酒吧绕开了诉讼」暗示有组织地规避,而「律师提出了相同的主张,要求以徒增诉讼费用为由驳回」则没有对动机作出任何断言。只从个人喜好出发修改,会忽略矫饰的版本往往声称了作者无法证实的内容。
修改步骤,按顺序进行:
- 将每个矫饰的短语替换为它所回避的直白说法。
- 将每处替换制成表格:修饰语、直白说法,以及它暗中带入的内涵。
- 指出作者最常重复的习惯。
三项限制——违反任何一项,修改效果都会比不修改更差:
- 保留原意和结构。 这是措辞调整,不是重写。
- 不要改动直接陈述的句子。 没有隐喻的句子,就没有需要替换的内容。
- 不要为了缩短而缩短。 目标是直白,不是简短。直白的替换即使比修饰语更长,仍然是正确的替换。
为什么表格才是交付成果,而不只是修改记录。 第三列才是重点。只列出替换,却不指出每处替换暗中带入了什么,就会掩盖实质性的变化。指出反复出现的习惯,也比任何单次替换都重要:单个隐喻很容易修正,却会立即再次出现;真正值得作者着手改正的是这种习惯。
一种相关的、更高层级的问题(属于支持性研究,而非定义)。 让修辞手法读起来像机器生成内容的,是密度,而不是手法本身:「问题不在于大模型使用这些技巧,而在于它们使用这些技巧的方式如此机械而一致,以至于变成了滥用……大模型缺少的不是技术能力,而是品味」(Colin Gorrie,Why ChatGPT writes like that)。需要留意的修辞手法包括对照(「不是 X,而是 Y」)、三段式、等长结构和缺乏依据的深刻论断。每节结尾都用一个结构均衡的两部分句子收尾,属于这一问题,而非隐喻替换——因此不属于上方替换表的范围,应当另行指出这是一种习惯。
模型说明。 Claude Fable 5.1 的文风比 Fable 5 更密集——句子更长,段落分隔更少。在用户消息中(首选)或系统提示词中定义反模式,是有据可查的缓解方法。
针对虚假精确度
摘要或引言中的数字是在概述;表格旁的数字是在报告数据。只有后一种情况才需要保留小数位。在概述中保留四位小数,会暗示估算值并不具备的精确度,读起来也像是机器生成的。
| AI 模式 | 人类替代表述 |
|---|---|
| “比率为 1.3771%” | “约为 1.5%” |
| “大约是 2.7361% 总体弃答率的十倍” | “大约是总体弃答率的十倍” |
| “575,553 个可检验项目中有 6,612 个——即 1.15%——低于” | “约 1% 的可检验项目低于” |
| “覆盖了可检验总体的 85.63%” | “覆盖了可检验总体的大约七分之六” |
| “28.3328% 这个数字” | “这个数字” |
规则本身已包含的例外必须继续作为例外保留:表格、图注、代码块或脚注中的精确数值;年份、法规和规则引文、案卷号、页码和版本号;以及分币金额是重点时的金额。
针对宣传性语言
| AI 模式 | 人类替代表述 |
|---|---|
| “开创性的” | 描述它实际做了什么 |
| “革命性的” | 与此前的做法进行比较 |
| “尖端的” | 具体说明所用技术 |
| “变革性的” | 用证据展示变革 |
参考文件
如需了解详细模式和大量示例,请参阅:
本表的重点是“由什么强制执行”这一列。 列出 11 章参考资料,会让人以为涵盖了 11 章内容;事实并非如此。其中 4 章没有可执行模块,在此标记为仅供参考,这样就没人需要在将草稿提交干净审查流程后才重新发现这一缺口。(第 05 章的粗体条目正是如此,直到 v5.134.0 才得到强制执行——参见 docs/investigations/2026-08-05_emphasis-enforcement.md。)
| 文件 | 内容 | 强制执行方式 |
|---|---|---|
references/_index.md | 概述和快速筛查指南 | — |
references/01-puffery-and-exaggeration.md | “堪称”、浅显分析 | wikipedia-puffery |
references/02-promotional-language.md | “丰富多彩的图景”、免责声明 | wikipedia-promotional |
references/03-structural-patterns.md | 章节摘要、否定式平行结构 | wikipedia-structural |
references/04-stylistic-quirks.md | 优雅变体、虚假范围 | 仅供参考 — 可用正则表达式匹配,但必须先通过 ai-tic 语料库门槛 |
references/05-formatting-and-typography.md | 粗体、长破折号、表情符号 | emphasis、formatting、em-dash(粗体/表情符号自 v5.134.0 起);行内标题列表部分覆盖 |
references/06-communication-patterns.md | 主题行、“希望这能帮到你” | wikipedia-communication |
references/07-template-artifacts.md | 疯狂填词模式、占位符 | wikipedia-template-artifacts |
references/08-markup-issues.md | Markdown 与维基文本混淆 | 仅供参考 — 特定于维基文本;仓库内没有对应项 |
references/09-chatgpt-specific-artifacts.md | turn0search、oaicite | wikipedia-chatgpt-artifacts |
references/10-citation-problems.md | 虚构的 DOI、失效链接 | 仅供参考 — skills/cite-check、skills/source-verify 和 cite-fidelity-* 约束的覆盖效果更好;它们会将引文与来源核对,而不是对引文进行模式匹配 |
references/11-meta-indicators.md | 突然截断、风格差异 | 仅供参考 — 需要判断;已纳入 user-agents/writing-reviewer.md 评估标准 |
每个具名系统都是 ${CLAUDE_PLUGIN_ROOT}/scripts/prose-audit.py 中的系统,因此它报告的问题都带有 span id。
标记为仅供参考的章节不会生成 span;根据“读者规则”,它指出的任何问题都属于判断,而非确定性发现。
自动检测
此插件包含 PostToolUse 钩子,会自动扫描 Write/Edit 输出中的反模式。检测到相关模式时:
- 钩子会发出警告,并指出检测到的具体模式
- Claude 会立即修改内容
- 修改会移除或替换被标记的模式
钩子会自动检查所有严重性为 CRITICAL 和 HIGH 的模式。
核查事实
- 用户对风格的要求(“写得简洁有力”“语气专业”)是对预期效果的要求,而不是对 AI 痕迹的要求;如果用浮夸措辞、模棱两可的表述或强调格式来实现这些要求,交付的文本读起来就会明显像 AI 生成的,损害用户的信誉。
- 快速浏览不等于核查。核查需要逐句对照模式列表;如果因为觉得指出浮夸措辞过于吹毛求疵,就在快速浏览时放过它,那么把未经审查的文本说成已审查过,就是未经证实的说法。
核心原则
摘自 Wikipedia 的指南:
- 这些是迹象,而非证据 - 多种迹象会增强判断的可信度
- 语境很重要 - 有些模式也会出现在人类写作中
- 关注更深层的问题 - 表面缺陷反映出综合能力和质量方面的问题
- 不要依赖检测工具 - 需要人工判断
相关技能
/writing- 《风格的要素》中的核心写作原则/writing-legal- 法律写作(第 2 阶段)/writing-econ- 经济学写作(第 2 阶段)