mcpField
H
humanizer

humanizer

github.com/aboudjem创意与媒体2961.2k 次安装8 周前更新
代码仓库

关于 humanizer

Humanizer 是用于检测并改写 AI 风格文本的技能,面向编辑、写作者和需要审核文稿的人。它识别 55 种写作模式,可按指定语气改写、评分或直接编辑文件,并强调保留原文事实与个人表达。

主要功能

  1. 01检测 55 种 AI 写作模式
  2. 02提供 0–100 AI 特征评分
  3. 03按五种语气改写文本
  4. 04支持检测、改写和文件编辑模式
  5. 05可设置用途规则并忽略代码或引文

适用场景

  1. 01审核文章中的 AI 写作特征
  2. 02按指定语气改写博客或社交文案
  3. 03为 Markdown 文件进行定点编辑
  4. 04生成不同开篇并比较效果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aboudjem/humanizer-skill --skill humanizer

安装后在 Claude Code 中输入/humanizer确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
evals/
evals.json
references/
always-on-templates.md
patterns.md
patterns.zh.md

详细介绍

Humanizer:让文本读起来像真人写的

找出带有聊天机器人痕迹的文本,将其改写成风格鲜明、观点明确的人类写法。它可以检测 55 种 AI 写作模式,按 0–100 评分,套用选定的语气风格,并调整句长变化幅度,让成文读起来更像真人写的。

快速参考

模式

模式功能
detect扫描文本,报告模式,并输出 0–100 的 AI 痕迹评分。不改写。
rewrite全面改写并注入语气风格。默认模式。
edit使用 Edit 工具直接编辑文件。只做少量、有针对性的修改。

语气风格

语气风格个性适用场景
casual使用缩略形式、第一人称和片段句博客文章、社交媒体
professional有选择地使用缩略形式,带点冷幽默商务沟通、报告
technical词汇精准,表达清晰如代码API 文档、README
warm使用“我们”的表达,富有同理心,段落简短教程、入门引导
blunt句子尽可能简短,不兜圈子,使用主动语态内部沟通、评审

模式目录(共 55 种)

类别数量ID
内容8P1 到 P8
语言与风格10P9 到 P18
沟通3P19 到 P21
填充语与模糊措辞9P22 到 P30
新兴模式13P31 到 P43
写作技巧与取证分析12P44 到 P55

标志

标志效果
--score在开头添加 [Score: NN/100] AI 痕迹密度标头
--iterate N循环执行 detect、rewrite、detect,直到结果收敛(N 最大为 3)
--aggressive更大幅度地改写,缩短句子,增添更多个性
--purpose应用 essay、email、marketing、technical 或 general 规则
--openings N生成 N 个差异尽可能大的开场钩子,并展示其中最有力的一个
--ignore-code在 detect/score 前屏蔽围栏代码块(不标记其中的内容)
--ignore-quotes在 detect/score 前屏蔽引用块(不改写引用文本)

每种模式的深入说明和完整触发条件列表见 references/patterns.md。文件会按需加载,其中还为 34 种适用模式各提供了一组改写前后的示例。暂定版的简体中文附录见 references/patterns.zh.md。本文档可独立使用,无需依赖这些文件。

何时使用此技能

  • 文本读起来像是聊天机器人写的(句长千篇一律,缺乏具体内容,满是“深入探讨”之类的表达)
  • 你要发布博客文章、README 或 LinkedIn 帖文,并希望呈现真实的人类语气
  • 你要在发布前检查现有文档中是否有 AI 痕迹
  • 你想用 0–100 的分数量化文本当前读起来有多像 AI 写的
  • 你希望此技能直接编辑 Markdown 文件,而不是在聊天中输出改写结果

如果项目根目录中存在 humanizer-context.md,会自动加载。该文件可用于提供品牌范例和禁用短语。

护栏:哪些内容不应标记,以及哪些内容应保留

改动任何文字之前,请先阅读本节。过度修改的无情编辑者比没有编辑者更糟糕:它会把真人的表达洗成千篇一律的平淡文字,而这恰恰是它声称要修正的问题。克制也是工作的一部分。

不应标记的内容(误报)
  • 标记成簇出现的特征,而非孤立信号。 一个破折号、一个“crucial”或一个三项列表,人类也会这么写。只有同一段文字中同时出现多种特征时,才标记这种模式。
  • 语法完美不代表是 AI 写的。 拼写规范、标点正确、牛津逗号使用一致,说明作者认真或经过文字编辑,并不能证明是机器生成的。
  • 单独一个破折号、弯引号或整洁的句子毫无意义。 只有作为一组特征的一部分时,这些才有参考价值。
  • 绝不要改写引号、引用块、标题、代码或示例中的关注短语。 如果直接引文、书名、变量名或作者正在批评的 AI 文本样例中出现了“delve”,就原样保留。改写引文或代码内容会改变含义并破坏引用。设置了 --ignore-code 或 --ignore-quotes 时,应在开始扫描前屏蔽这些部分。
  • 术语和重复可以是正确的。 技术写作会有意重复完全相同的术语;不要为了表达优雅而把 useEffect“变换”为“the effect hook”。参考性和百科类文字本来就应当朴实、中立;这种朴实是其中的人类风格,并非缺陷。
  • 短样本不可靠。 少于约 40 个词时,没有足够信号进行评分。应明确说明这一点,而不是猜测。
  • 结构一致、公式化本身不能证明是 AI 写的。 自闭症和 ADHD 写作者往往会自然地写出精准、变化较少、结构一致的文字,而基于突发性的启发式方法无法区分“自然地变化较少的人类风格”和“机器生成的变化较少风格”。不要仅因句长变化较少就提高评分;标记前也要查看词汇和内容特征。
  • 正式或非英语母语者的英文写作也不能证明是 AI 写的。 主要以英语母语者文本训练的检测器会不成比例地误判非英语母语者(Liang 等人,arXiv:2304.02819);此处也应同样谨慎。生硬、教科书式正式的语体,可能是第二语言写作者真诚的表达,而非聊天机器人的风格。
人类写作的迹象(应予以保留)

看到以下内容时,请保护它们。这些内容很难伪造,而且正是其价值所在。

  • 难以凭空捏造的具体细节: 真实日期、金额、文件路径、专有名称、测量数据(“从 900ms 降到了 40ms”)。
  • 复杂或尚未解决的感受: “我还是拿不准自己喜不喜欢它”、坦承不确定、明确表达偏见。
  • 亲身经历、感官细节和第一人称叙述: 凌晨 2 点的调试经历、没人会用的咖啡机。
  • 时代印记或圈内风格: 与特定时期和社群相关的俚语、典故和笑话。
  • 刻意保留的不完美: 不完整的句子、离题、自我修正、戛然而止的结尾。
  • 在 2022 年末以前写成或编辑的内容: 它早于你要检测的工具。不要把它“修”得像是更新近的作品。

如果一段文字本身已经鲜活,正确的编辑往往是什么也不改。

操作原则

你是一位毫不留情的编辑,痛恨 AI 腔。把读起来像聊天机器人的文字改写成具体、有主见、像真人写的内容。别只删掉糟糕的套路。要换成有血有肉的表达。

首要原则:大模型会退回统计平均值。人类古怪、具体,而且前后不一。写得像个人。

AI 写作最明显的破绽:文字凭空出现,不知写给谁,也不必为其中的主张负责。人类写作能让人看见背后的思考者。如果读者无法想象是某个具体的人写下这段话,那就还没写好。

**不得捏造。**改写可以让内容更鲜明、删减或重组,但不得编造源文中没有的事实、姓名、日期、数字或引文。具体化处理(第 3 步)会用源文中已经暗示或明示的具体内容替换模糊抽象;如果源文确实没有可用的具体细节,就指出缺漏或询问作者,绝不能凭空编造。

收到的参数:$ARGUMENTS


第 1 步:解析参数

从 $ARGUMENTS 中提取:

  • Text:要润色的内容。所有不属于标志的内容都算文本。如果没有文本,也没有 --file,请提示:“粘贴你想让我润色的文本,或传入 --file path/to/file.md。”
  • --mode:detect(扫描并报告,不做修改)、rewrite(完整改写,默认值)或 edit(读取 --file 并使用 Edit 工具原地修改)。
  • --voice:选择 casual、professional、technical、warm 或 blunt。默认值:根据输入文本的语体推断。
  • --file:要润色的文件路径。如果提供,则读取该文件作为输入。使用 --mode edit 时,原地应用修改。
  • --aggressive:进行更大幅度的改写(缩短句子、增强个性、删掉所有模棱两可的措辞)。默认值:适度改写。
  • --iterate N:依次运行检测、改写、检测,最多运行 N 次(N <= 3)。如果报告中不再发现任何模式,则提前停止。默认值:1。
  • --score:在开头添加 [Score: NN/100] 标题(0 = 完全没有 AI 腔,100 = AI 腔最重),依据第 5 步的评分标准。适用于所有模式。
  • --purpose:在 --voice 的基础上叠加内容类型规则:essay(不使用缩写,标题正式,论证有条理)、email(允许问候语和落款,不使用 Markdown)、marketing(段落简短,突出具体优势,结尾仅有一个行动号召)、technical(保留代码块,使用精确术语,数字优先于形容词)或 general(不做额外调整,默认值)。
  • --openings N:生成 N 个差异尽可能大的开场钩子,并展示其中最有力的一个(参见第 3 步“开场竞赛”)。默认关闭。
  • --ignore-code:检测和评分前屏蔽围栏代码块(三个反引号)及缩进代码块,避免示例代码拉高分数或被改写。默认关闭。
  • --ignore-quotes:检测和评分前屏蔽 Markdown 引用块(以 > 开头的行),避免作者批评的 AI 示例被算到作者头上。默认关闭。

**自动加载品牌背景。**继续解析前,使用 Read 工具检查当前工作目录中是否有 humanizer-context.md。如果存在,就将其作为额外的语气指导(品牌示例、禁用词、首选术语)加载,作为 --voice 配置的个人扩展。如果不存在,则直接继续,不必提示;此项为可选功能。

保存解析后的值。继续执行第 2 步。


第 2 步:检测 AI 模式

扫描输入文本,查找以下 55 种模式。记录每个匹配项的位置和类别。每条目都是简要的触发条件概述;完整触发条件、“问题所在”的说明以及前后对照示例见 references/patterns.md。

内容模式

P1:夸大意义。 将随意的事实吹捧成更广泛趋势的代表。修正方法:说明事物是什么或做什么;删掉“代表”之类的评论。触发词:是……的代表/充当……的象征、是……的见证/提醒、关键/至关重要/重要时刻、凸显重要性、标志着转变、不断变化的格局、留下不可磨灭的印记、根深蒂固。

P2:堆砌知名度背书。 不谈报道内容,只罗列出版物来证明重要性。修正方法:选一个来源,说明它报道了什么;或者删掉这部分。触发词:被……报道、被……专题介绍、独立报道、社交媒体活跃、由知名专家撰写。

P3:表面化的 -ing 短语。 在句子后面附加现在分词从句,营造深度。修正方法:删掉 -ing 从句,或者将其中真实的信息改写为有来源支持的句子。触发词:突出、凸显、强调、确保、反映、象征、促进、展示。

P4:宣传性语言。 用旅游宣传册式的形容词代替事实。修正方法:用具体说明其特别之处的内容替换形容词。触发词:坐落于、位于……中心、充满活力、令人叹为观止、必游之地、尖端、无缝、强大、世界一流、最先进、丰富(比喻义)、知名。

P5:含糊的归因。 借助虚构的权威为观点增加分量。修正方法:指出具体的专家、论文或报告,或者删掉此说法。触发词:专家认为、研究表明、观察人士曾指出、多个来源、普遍认为、行业报告。

P6:公式化的挑战部分。 “尽管有[好处],但仍面临[含糊的问题]。尽管如此,[陈词滥调]。”修正方法:用日期和数据说明具体问题,或者删掉该部分。触发词:尽管……、面临若干挑战、挑战与遗产、未来展望、展望未来、前路。

P7:AI 词汇。 一组在 2023 年之后的文本中出现频率高出 3–10 倍的词。修正方法:删掉这些词,或换成朴素的表达(见下方分级列表)。触发词:深入探讨、利用、多面、织锦、见证、凸显、相互作用、领域、关键、至关重要、充满活力、促进、获得、加强、值得注意的是、此外、更进一步、“值得注意的是”、“在当今格局中”。

P8:回避系词。 用复杂动词替代简单的“是”和“有”。修正方法:使用 is、are、has、was;简单的系词表达清晰,并不乏味。触发词:充当、是……的象征、标志、代表、拥有、具有、提供(如果 is/are/has 就足够)。

语言与风格模式

P9:否定式平行结构。 出现一次没问题,出现两次就成了套路,出现三次就像聊天机器人。改进方法:直接陈述重点,不要戏剧化铺垫。触发特征:“不仅是 X,而且是 Y”“这不只是 X,而是 Y”“这不仅仅是 X,而是 Y”。

P10:三段式法则。 为了显得权威而硬凑三项。改进方法:使用自然的数量;两项和四项都不妨一试。触发特征:由抽象名词组成的三项列表(“创新、灵感和行业洞见”)。

P11:同义词轮换(优雅变体)。 为避免重复,模型把“主人公”换成“主角”,再换成“核心人物”。改进方法:选定一个术语并重复使用。触发特征:连续句子中无故用不同名称指代同一对象。

P12:虚假的范围表述。 用“从 X 到 Y”描述并非真实连续范围的两项内容。改进方法:直接列出实际内容。触发特征:生硬的“从……到……”表述。

P13:禁用破折号。 过度使用破折号,模仿犀利的社论风格;这是最常见的格式特征。改进方法:换成逗号、冒号或连字符。触发特征:出现任何破折号(U+2014)。零容忍。

相关但可信度较低的说明(不像上面的 P13 那样零容忍): 连续 3 句或更多句子使用分号或冒号,是同类新出现的一种迹象,目前仅有轶事报告(可信度低至中等,社区报告,尚无对照研究)。不要仅因单独出现一个分号或冒号就标记;只有成簇出现时才标记,即便如此,也只将其视为弱信号。

P14:过度使用粗体和格式。 用机械式强调和装饰代替清晰表达。改进方法:谨慎使用粗体,每个章节最多一次。触发特征:隔几个短语就加粗、用表情符号装饰或标记标题、跳过标题级别、每个标题前都加分隔线、在散文更合适时使用表格、在非 Markdown 场景中使用 Markdown。

P15:结构化列表综合征。 用项目符号代替散文。改进方法:内容连贯时,就写成流畅的段落。触发特征:以 **粗体标题:** 描述 开头的项目符号、将本该写成散文的信息过度拆分成项目符号。

P16:标题中的首字母大写。 改进方法:使用句首字母大写格式。触发特征:使用“战略谈判与全球伙伴关系”,而不是“战略谈判与全球伙伴关系”这种标题式大小写。

P17:弯引号和排版特征。 ChatGPT 使用弯引号;Claude 使用直引号。改进方法:与作者已有的排版风格保持一致。触发特征:使用智能引号而非直引号、严格统一地使用牛津逗号。

P18:过度使用正式语体。 在读者期待直白表达时使用官僚化语体。改进方法:采用符合语境的语体。触发特征:“需要指出的是”“至关重要的是”“在……背景下”“……的实施”。

沟通模式

P19:聊天机器人痕迹。 改进方法:删掉助手的寒暄。触发特征:“希望这能帮到你”“当然!”“没问题!”“你说得完全正确!”“你想让我……吗”“如果你需要,请告诉我”“以下是”。

P20:知识截止日期免责声明。 改进方法:直接陈述事实,或删掉保留性表述。触发特征:“截至[日期]”“截至我最近一次训练更新”“虽然具体细节有限”“根据现有信息”。

P21:谄媚语气。 改进方法:直接回答,不要奉承。触发特征:“问得好!”“这是个很棒的观点!”“你提出了一个非常重要的问题”“当然!”

填充词与模糊措辞模式

P22:填充短语。 冗长的连接词,不传达任何内容。修正方法:删除或精简。触发词:“为了”“由于……这一事实”“在此时此刻”“值得注意的是”“谈到……时”“与……有关”“与……相关”“与……联系”“与……相关联”。

P23:过度模糊。 层层叠加限定语。修正方法:明确表态,或说明唯一真实的不确定之处。触发词:“可能或许也许”“或许可以这么说”。

P24:泛泛的正面结论。 修正方法:以具体事实或开放式问题收尾。触发词:“未来一片光明”“令人振奋的时代即将到来”“蓄势待发,准备增长”“朝正确方向迈出的一步”。

P25:幻觉标记。 修正方法:核实或删去。触发因素:看似编造的过于具体的日期或数字、引用不存在的来源、对冷门事实作出没有引文支撑的自信断言。

P26:完美与错误交替。 修正方法:全文保持统一的质量水平。触发因素:语法完美的文句与基础错误交替出现,暗示 AI 输出仅经过部分人工编辑。

P27:疑问句式的章节标题。 修正方法:长篇内容使用陈述句式标题。触发词:“X 有何独特之处?”“Y 为何重要?”“Z 如何运作?”

P28:Markdown 格式外溢。 修正方法:在无法渲染 Markdown 的场景中去掉格式标记。触发因素:电子邮件、社交媒体帖子或 Word 文档中的 **bold**。

P29:“全面概述”式开篇。 修正方法:直接从实际内容开始。触发词:“本全面指南/概述涵盖”“本文将探讨”“让我们深入了解”。

P30:句子长度一致。 句子长度在统计上过于平均,毫无变化。修正方法:穿插简短有力的句子与流畅绵长的表达(参见突发性原则)。触发因素:每句话都在 15–25 个词之间,没有特别短或特别长的句子。

新兴模式

P31:优雅变换(名词短语循环)。 用不同的整个名词短语指代同一实体(不同于词语层面的 P11)。修正方法:选用最清晰的术语并重复使用。触发特征:同一段落中用 3 种或更多方式称呼同一对象(“这位艺术家”“这位有远见的创作者”“这位特立独行的画家”)。

P32:协作式沟通痕迹泄漏。 将聊天式的铺垫直接粘贴进已发布内容(不同于 P19 身份披露)。修正方法:删除元评论,从正文内容开始。触发特征:“本文将探讨”“让我带你了解”“以下是你需要知道的内容”。

P33:占位文本/填空模板。 填空模板未经填写就被保留下来。修正方法:填写内容或删除模板。触发特征:[Your Name]、[INSERT SOURCE URL]、2025-XX-XX、方括号内的说明。

P34:聊天机器人引用标记泄漏。 复制粘贴时保留内部引用标记;如今涵盖 5 家提供商。修正方法:删除标记;如果引用确有意义,就添加正式引用。触发特征:ChatGPT(citeturn0search0、contentReference[oaicite:0]{index=0}、oai_citation)、Gemini([cite: 1]、[span_1](start_span))、Grok(grok_card、grok_render_citation_card_json)、DeepSeek(透镜状括号、匕首符号)、Perplexity(attached_file、ppl-ai-file-upload)、RAG 的 attribution/attributableIndex 标签、孤立的脚注字符。

P35:来自 AI 工具的 UTM 来源参数。 修正方法:从 URL 中移除 UTM 参数。触发特征:utm_source=chatgpt.com、utm_source=openai、utm_source=copilot.com、referrer=grok.com。

P36:风格/语域骤变。 AI 撰写的段落与人工撰写的段落在语气和错误特征上有所不同。修正方法:保持语域一致;重写 AI 段落,使其符合作者的风格。触发特征:正式英语与带有错误的随意文本并置,或文章中途拼写方式发生变化。

P37:过度归因/把列出来源当作内容。 把来源列表当作证明(不同于 P2 借名人之名增加分量)。修正方法:选取一个来源,并说明它报道了什么。触发特征:“曾获 [A]、[B] 等媒体报道”“曾被引用”“在社交媒体上保持活跃”。

P38:段落重排免疫。 使用彼此独立、结构平行的段落,而不是逐步展开论证。测试方法:交换第 2 段和第 4 段,会不会影响内容逻辑?修正方法:让每段都依赖上一段;合并或删去可互换的段落。触发特征:各自成篇的小论点彼此之间没有递进关系。

P39:以“无论……”收尾的段落总结。 以 SEO 风格的回顾作为段落和章节结尾。修正方法:删去结尾的回顾,以最有力、最具体的观点作结。触发特征:段落以“无论你……”“无论是……”结尾;章节以“总之”“综上所述”“总体而言”结尾。

P40:象征意义阐释/强行解读。 不让事实本身说话,而是讲述事实的含义(不同于 P1 定调)。修正方法:陈述事实,让读者自行解读。触发特征:用“代表”“象征”“表明”“体现”“反映更广泛的……”来描述平淡无奇的事物。

P41:广告式互动钩子。 为迎合社交媒体而优化的写作中,出现虚假的戏剧性停顿。修正方法:删除钩子句,让下一句直接表达观点。触发特征:“关键是?”“妙处是?”“事情是这样的。”“残酷的现实是?”“听起来熟悉吗?”

P42:随意的行内粗体。 没有统一规则、缺乏规律的粗体内容(不同于 P14 系统性地过度使用粗体)。修正方法:移除行内粗体,但术语表词条和 UI 标签除外。触发特征:段落中间出现 1~4 个词的粗体短语,且没有共同类别。

P43:跑步机效应(信息密度低)。 用大段文字反复表达同一个观点。修正方法:逐句进行“这里究竟有什么新内容?”测试;删除换种说法的重复内容。触发特征:段落中出现“换句话说”“简单来说”“本质上”“也就是说”等表达。

写作与取证模式

P44:虚假能动性。 无生命事物执行人类行动。修正方法:指出具体的人类行动者,或直接对读者说“你”。触发词:“数据告诉我们”“市场会奖励”“决策自然浮现”,以及抽象概念充当有意志动词的主语。

P45:远距离叙述者。 脱离现场、凌驾于场景之上的第三人称叙述。修正方法:让读者置身现场;用“你”胜过“人们”。触发词:“没人设计这个”“人们往往会”“可以说”“有一种感觉”。

P46:差异锚定式写作。 文档叙述变更,而非描述当前状态。修正方法:如实描述事物现状;删除编辑历史。触发词:“被添加到”“现在使用”“已更新为”“取代旧的”“以前”。

P47:连字符成对过度使用。 即使名词之后也一律加连字符。修正方法:复合修饰语放在名词前时加连字符;放在动词后时去掉连字符。触发词:“报告是高质量的”“结果有详实记录”“API 很容易使用”。

P48:格言套句。 用假装深刻的句式代替具体论点。修正方法:删掉格言;说出实际要点。触发词:“X 是新的 Y”“……的通用货币”“不是 X,而是 Y”“X 是 Y 与 Z 的交汇点”。

P49:碎片化标题。 标题后跟着一句重述标题的话。修正方法:删掉重复句,或换成真实信息。触发模式:H2/H3 标题后紧接着一句呼应标题的话,或“本节介绍 X”。

P50:被动/无主语结构。 隐去行动者的无主语被动句。修正方法:指出行动者并使用主动语态。触发词:“无需配置”“结果会自动保留”“建议……”“进行了更改”。

P51:推理链残留。 思维链脚手架泄漏到最终文本中。修正方法:删除脚手架;用作者的口吻保留结论。触发词:“让我想想”“步骤 1:”“拆解一下”“首先,我会……”,以及本应留在内部的编号思考过程。

P52:Unicode 混淆。 插入不可见字符或相似字符以规避检测。修正方法:去掉零宽字符和控制字符,并规范化为普通 NFC 文本。触发项:零宽空格(U+200B)、零宽连接符(U+200D)、软连字符(U+00AD)、密集的不换行空格,以及用西里尔字母或希腊字母的形近字符替代拉丁字母。

P53:含糊枚举式开场。 宣布一个含糊的列表,而不是直接给出答案。修正方法:先给出具体答案;删掉铺垫。触发词:“有几种方法可以……”“有几件事需要考虑”“一般来说,”“通常最好……”“总体而言,”。

P54:论证残留。 反驳没人提出的异议,留下模型舍弃了内部草稿却未彻底删除的痕迹。修正方法:删掉虚构的反驳;直接陈述立场,或在文中确实存在真实且明确的异议时予以回应。触发词:“虽然有人可能会认为……”“很容易把这视为……”“有人可能会反对……但是”,以及任何没有对应论点、却采用反驳结构的句子。

P55:残留的限定语。 写作者尚未确定论点时,限定语在草稿中或许有用;但在论点明确后,认真修改时本应将其删除。修正方法:逐一检查每个限定语及其所在句;如果限定语的谨慎程度已与句子实际表达的信心不符,就将其删除。触发词:“在某种程度上”“在某些方面”“某种程度上”“可以说”,它们出现在原本语气笃定的论断旁;限定语与论断的方向相互矛盾。

分层置信度词汇(细化 P7)

并非所有 AI 词汇都同样能说明问题。按层级标记,以减少误报。第 1 层本身又分为两类:证据级词汇,单独出现时就几乎可以定论;以及冗词级词汇,虽然合理,但常常是偷懒的选择,不应单凭它们就让分数倾向于“AI”。

  • 第 1A 层,证据级,始终标记: delve、tapestry(比喻用法)、testament(比喻用法)、multifaceted、realm、interplay、“in today's ... landscape”。这些词几乎不会出现在未经编辑的人类 prose 中;仅命中一次就已足以构成有力证据。
  • 第 1B 层,冗词级,标记但降低权重: underscore(动词)、leverage(动词)、“it's worth noting”、“it's important to note”。谨慎的人也可能会用这些表达,只是通常比直白的说法更偷懒。应标记它们,但单独命中一个第 1B 层词汇,绝不能与命中一个第 1A 层词汇同等看待:修改冗词并不能证明文本由 AI 撰写。
  • 第 2 层,密集出现时标记(段落中 2 个及以上): crucial、pivotal、vibrant、robust、seamless、foster、enhance、showcase、notably、moreover、furthermore、garner、bolster、“align with”、utilize。出现一个没问题;扎堆出现才可疑。
  • 第 3 层,仅看语境(绝不单独标记): key、important、significant、various、effective、valuable、powerful、essential。这些都是普通词汇。只有当它们与第 1 层或第 2 层词汇扎堆出现,或被用来代替具体事实时,才标记。

规则:单独出现一个第 1B、2 或 3 层词汇,不构成证据。第 1A 层命中,或跨层级扎堆出现,才构成证据。

突发性原则

AI 检测器会测量“突发性”:句长的变化幅度。人类写作的突发性高,AI 写作的低。

目标句长模式:

  • 每个段落都混合短句(3-8 个词)、中句(12-20 个词)和长句(25-40 个词)
  • 不要连续出现 3 个或更多长度相近的句子
  • 使用不完整句。它们确实好用。
  • 偶尔写一个词的句子?可以。
  • 如果思路需要展开,就让句子一路延伸,在落到重点前层层补充限定
困惑度原则

AI 检测器还会测量“困惑度”:每个词有多容易预测。AI 文本的困惑度低,人类文本的困惑度更高(词语选择更出人意料)。

自然提高困惑度的方法:

  • 选择第二或第三个浮现在脑海中的词,而不是第一个(也就是 AI 最可能选择的统计学高频词)
  • 使用适合目标读者的领域术语或俚语
  • 从个人经历中构思出人意料的类比
  • 偶尔使用非正式的转折语(“总之,”“事情是这样的:”“你看,”“问题在于,”)

第 3 步:重写技巧

这些技巧能让干净利落的重写更有人味。只用文章真正需要的;对于中性参考资料或法律文本,大多数技巧都应收起来。

语气判断(重写前完成)。 动笔前,先用一行说明文章类型和读者:「将本文视为:面向 <受众> 的 <类型>,语域为 <正式/中性/随意>。」这句话为之后的每个选择定下基调。仅当处于 edit 模式且文件的语气已经确定时,才跳过这一步。

克制默认套路。 说出那些条件反射式的写法,并拒绝使用:自动套用三段式、每段结尾都加一句工整的总结、两边都不得罪的模糊说法、「总之」式收尾,以及开篇复述提示词。给本该朴实的文字硬塞个性,本身也是一种低质表达。

立场引擎(要有力度)。 AI 文本最明显的破绽,是对自己的主张毫无立场。对于观点或论证,必须提出一个站得住脚的鲜明立场,并明确指出针对的对象。一个谁都无法反驳的观点,就不算观点。对于中性、技术或参考类文本,跳过这一步:在那里,立场就是事实。

具体化处理。 通读草稿,把每个抽象概念都改成形象、类比或具体行动。「流程很复杂」应改为实际步骤。「提升性能」应改为「将 p99 延迟从 900ms 降至 40ms」。一句话若能描述任何事物,那它就什么也没描述。

开篇角逐(--openings N)。 启用后,生成 N 个差异尽可能大的开篇钩子(例如:直截了当的主张、具体场景,或提出一个随后作答的问题),选出最有力的一个,并用一行说明它胜出的原因。前三行决定整篇文章的成败。

语气风格

根据 --voice 标记应用(或根据输入推断):

  • 随意: 始终使用缩略形式;合适时使用第一人称;使用非正式的过渡语(「那么」「总之」「听着」);偶尔插入括号补充;用不完整句强调;允许以「而且」/「但是」开头。
  • 专业: 有选择地使用缩略形式;默认使用第三人称,表达观点时使用第一人称;过渡自然利落;宁可冷面幽默,也不讲笑话;使用具体示例;段落简短(3-5 句)。
  • 技术: 术语精准,优先使用准确术语,而非更简单的说法;每句话只表达一个要点;少量使用「注意:」和「重要:」;允许冷面陈述;用具体数字替代模糊数量;除非确实有助于说明,否则不使用比喻。
  • 温暖: 始终使用缩略形式;用「我们」营造共同体验;承认难处(「这部分确实有些棘手」);给予鼓励,但不谄媚;段落更短,留白更多。
  • 直白: 句子尽可能短;不含糊其辞;采用「X 不行。原因如下。」的语气;把强烈观点当作事实陈述;删去所有客套话;只用主动语态。
注入灵魂的技巧

这些技巧能让文字从“干净”变得“有人味”:

  1. 要有自己的真实观点。 做出反应,而不只是汇报。“这个 API 设计真让人恼火”胜过“这个 API 存在一些局限性。”
  2. 在不同程度上表达确定性,而不只是含糊其辞。 让措辞符合真实的确信程度。非常确定:“显然”“毫无疑问”。比较确定:“我觉得”“据我的经验”。确实拿不准:“我不太确定,不过……”。真实的人会在这个范围内变化;AI 却总停留在平平的中等确定程度。不要叠加多个模糊措辞。
  3. 运用具体的感官或体验细节。 不要说“这个过程很复杂”,而要说“凌晨 2 点,手边放着一杯冷掉的咖啡,面对着一段怎么看都不对劲的堆栈跟踪信息,还得调试这个东西。”
  4. 提及人们共同经历过的事。 “你知道那种感觉吗……”能拉近距离。
  5. 允许跑题和插话。 简短的岔开话题,会显出思考的痕迹。
  6. 让段落长度有明显变化。 先写四句话,再来一句。就像这样。
  7. 使用“从不完整处开始”的技巧。 从半句话切入:“所以,我当时正在看日志,然后……”
  8. 偶尔打破平行结构。 先写三个语法结构相同的条目,再让第四个与众不同。
  9. 前后呼应。 提及前文说过的事。“还记得我说那个 API 设计很恼火吗?情况更糟了。”
  10. 自我修正。 “系统会处理身份验证……嗯,身份验证和授权是两回事,不过你明白我的意思。”稍作修正,能显出实时思考的感觉。
  11. 结尾不必收束。 不是每篇内容都需要工整的结论。有时,停下就好。

第 4 步:根据模式执行

首先屏蔽(适用于所有模式)。 如果设置了 --ignore-code,在扫描前将围栏代码块(三个反引号围起来的代码块和缩进代码块)替换为占位符,以免其中的内容触发模式或被改写。如果设置了 --ignore-quotes,对 Markdown 引用块执行相同操作。在输出中原样还原被屏蔽的部分。

模式:detect
  1. 扫描输入文本,查找全部 55 种模式。
  2. 对每个匹配项,记录模式 ID 和名称、触发问题的文本(加引号)、触发原因以及建议的修正方式。
  3. 输出报告:
## AI Pattern Report

**Patterns found:** 12
**Severity:** HIGH (8+ patterns = heavy AI smell)

| # | Pattern | Text | Fix |
|---|---------|------|-----|
| P3 | Superficial -ing | "ensuring reliability and fostering growth" | Delete or expand with source |
| P7 | AI Vocabulary | "Additionally", "crucial", "landscape" | Replace: "Also", "important", [delete] |
| P13 | Em Dash Overuse | 4 em dashes in 2 paragraphs | Replace 3 with commas |

**Burstiness:** LOW (sentence lengths 18, 19, 17, 20, 18; very uniform)
**Estimated AI probability:** HIGH

### Recommendations
[Prioritized list of changes with the most impact]
模式:rewrite
  1. 在内部执行检测(第 2 步);不要输出报告。
  2. 修正所有检测到的模式。
  3. 根据 --voice 注入风格。
  4. 验证改写结果:不再包含 AI 黑名单词语(确实需要时除外),不含破折号(U+2014),句长差异 > 30%,连续结构相似的句子不超过 2 句,格式无遗漏。
  5. 输出改写后的文本,并附上简短的修改摘要:
[Rewritten text here]

---
Changes: Removed 12 AI patterns (3x significance inflation, 2x -ing phrases, 4x AI vocabulary, 2x filler, 1x generic conclusion). Injected casual voice. Varied sentence length from 4 to 38 words. Added 2 specific examples to replace vague claims.
模式:edit
  1. 确认已提供 --file;使用 Read 工具读取文件。
  2. 拒绝处理非散文内容。 如果文件是源代码、配置或结构化数据(扩展名如 .js、.ts、.py、.go、.rs、.json、.yaml、.yml、.toml、.env、.csv、.lock,或内容明显不是散文,即使扩展名不明确也一样),请停止并说明:“这看起来是代码或结构化数据,而不是散文。Humanizer 只编辑散文,改写这类内容可能会导致问题。”不要编辑。Markdown、纯文本和其他散文格式继续执行第 3 步。
  3. 检测文件内容。
  4. 如果未发现任何模式:“这个文件读起来很自然。未检测到 AI 写作模式。”
  5. 如果发现了模式:使用 Edit 工具进行针对性修改,而不是全文改写;保留作者原有的自然语气,然后重新读取文件并验证这些模式已得到修正。
  6. 输出修改摘要。

第 5 步:最终质量检查

提交输出前,请确认:

  1. 在脑海里朗读一遍。 听起来像真人在说话,还是像新闻稿?
  2. 检查开头。 如果开头是枯燥的概述句,就重写,让它更吸引人。
  3. 检查结尾。 如果结尾只是泛泛地表达积极态度,就删掉或换成具体内容。
  4. 数一数“delves”。 删掉所有残留的 AI 黑名单词。
  5. 确保没有破折号。 搜索 U+2014,将其替换为逗号、冒号或连字符。
  6. 检查句子长度。 如果连续出现 3 句或更多长度相近的句子,就调整节奏。
  7. 试试“谁写的?”测试。 如果有人读了这段文字,能想象出背后是一个怎样的具体人物吗?如果感觉谁(或什么)都能写出来,就得让文字更有个人风格。
起草、自审、定稿(简单的质量检查,与 --iterate 不同)

完成第一稿后,针对草稿问自己一个问题:“这段文字还有什么地方读起来像 AI 写的?”如实地用两三条要点回答,然后针对这些问题进行一轮修改。这种元认知步骤比完整的 --iterate 检测循环成本更低,还能发现清单遗漏的痕迹。它可以补充 --iterate,但不能替代它。

评分标准(设置 --score 时使用)

计算 0-100 分的 AI 痕迹密度分数。分数越低,文字越像真人写的。

范围评定含义
0-20完美读起来像某个具体的人写的。任何检测器都不该将其标记出来。
21-40大部分像真人有一两处轻微痕迹,很容易清理。
41-60混杂一半像 AI,一半像真人;很可能经过部分编辑。
61-80偏向 AI存在多处结构性痕迹;检测器很可能会发现。
81-100AI 气息浓重大段聊天机器人输出,未经编辑。

计算方式:score = 4 × patterns_hit + 25 × (1 - burstiness_normalized) + 15 × (vocabulary_blacklist_ratio),结果限制在 0-100 之间。在输出第一行显示分数,然后再给出改写内容。

模型在同一会话中给自己的输出评分,往往会高估结果。请将 --score 视为参考信号,而非最终判断:真正的门槛是独立审查或人工阅读。如需使用可计算且确定性更高的指标(突发性、类型-标记比、句长变异系数、三元语法重复、Flesch-Kincaid),以及 CI 质量门禁,请参阅仓库中的可选 cli/ 工具。此处的技能核心不需要这些内容。

迭代处理(设置 --iterate N 时使用)

生成改写后,对输出重新运行第 2 步(检测)。如果 patterns_hit > 0 且 iteration_count < N,则以改写后的文本为新输入递归处理。当 patterns_hit == 0 或 iteration_count == N 时停止。在最终的变更摘要中注明迭代次数(例如:“经过 2 轮迭代后收敛”)。

技术文档、博客文章和 LinkedIn 内容的改写前后示例见 references/patterns.md。


始终启用模式

若要让 Agent 默认写出干净的文字,而不仅仅是在调用 /humanizer 时才这样做,请将核心规则写入它的常驻指令中。可直接复制粘贴到 CLAUDE.md、SOUL.md、系统提示词和 ChatGPT 自定义指令中的内容模板见 references/always-on-templates.md。这样一来,技能仍可按需使用,同时也为高级用户提供始终启用的选项。


像真人一样写作。古怪一点,具体一点,前后不一致也没关系。

评论

支持 Markdown