每日文摘
深挖 · humanizer:456 行提示词拿下去 AI 味品类第一,原理能不能抄

humanizer 是「去 AI 味」这个品类里星数最高的项目:40,470 stars、3,498 forks(GitHub API,2026-09-03 抓取),2026 年 1 月创建后两周冲到 3.6k,此后每月稳定涨四五千颗、七个多月没有衰减迹象。它值得深挖的原因有点反差:这个仓库没有任何代码——全部实现就是一份 456 行的 Markdown 提示词 SKILL.md,9 个文件里唯一的 Python 是 CI 打包校验脚本,作者自己在 AGENTS.md 里写明「The repo has no build step」(AGENTS.md、git tree)。一份提示词凭什么是品类头部、它的原理能不能抄来做一个中文版,是这篇文章要回答的问题。
是什么
先给结论:是的,humanizer 就是「让 AI 输出更像真人写的」工具——官方定位是「Agent skill that removes signs of AI-generated writing from text」,把带 AI 腔的文字重写成「像作者本人写的」,同时不改动原文陈述的任何事实(SKILL.md)。
但有一个边界必须先划清:它的目标是「人读起来不像 AI」,不是「骗过 AI 检测器」。这两件事经常被混为一谈,而证据把它们分得很开:
- 给人读:有效。目前最系统的实测是 issue #229 的盲测(语料和统计脚本都开源了):原始模型输出对比 humanizer 重写版,评审在 16 组对比中全部偏好重写版;文中被引用的「AI 词汇」痕迹从 70 次降到 0,「排版类痕迹」(破折号、弯引号)从 60 次降到 0(issue #229)。
- 过检测器:无效。同一个盲测里,AI 检出率只从 100% 降到 98.6%,商用检测器 Pangram 4.0 对所有变体都判 100% AI。作者 blader(Siqi Chen,Runway Financial 联合创始人兼 CEO,不是那家 AI 视频公司 Runway)在 issue 里回应得很直白:「纯 LLM 生成靠任何 skill 或 prompt 都打不过 Pangram(我试过)」「过 AI 检测器不是这个仓库的目标——让 AI 文字在人听起来不像 AI,才是」(issue #229)。
- 例外要如实说:有用户自述处理后 Turnitin 给了 1–19% 的检出区间(issue #252),但没有处理前对照、没有方法细节,属于孤例;竞品 Rephrasy 团队也在 issue 里论证过 prompt 路线原理上动不了检测器测的 perplexity/burstiness(该帖带竞品折扣码,利益相关,维护者已关闭)(issue #252、issue #82)。
所以对它的预期应该是:一个跑在 agent 里的文风编辑器,而不是学术不端工具。
核心机制:一份 SKILL.md 的四个部件
humanizer 的机制是纯 prompt 工程——没有统计检测、没有分类器、没有后处理代码。拆开看是四个部件。
部件一:35 条「AI 写作特征」模式清单。 这是它的知识主体,而且不是作者发明的——源头是 Wikipedia 编辑社群维护的 Wikipedia:Signs of AI writing,一群天天清理 AI 词条的编辑整理出的实战清单(SKILL.md)。每条模式的结构固定:Words to watch 词表 + Problem 说明 + Before/After 成对示例。代表性条目:
- 夸大重要性:pivotal moment / testament to / evolving landscape
- AI 高频词:delve / tapestry / underscore / showcase / intricate
- 「Not just X, it’s Y」句式与强行三连排比
- 破折号禁令——终稿里不许出现 em dash,返回前要逐个搜索
—和– - 聊天残留:「I hope this helps!」「Want me to…?」
- 空洞光明结尾:「The future looks bright」——处理方式是整段删掉,停在最后一个具体事实上
- 假坦率开场:「Honestly?」「Here’s the thing」当独立钩子用
- 回应没人提出的反对意见:「To be clear」「Don’t get me wrong」
部件二:固定四步重写流程。 先对照 35 条清单标记 AI 特征;写草稿并「read it aloud」检查节奏;然后两问自检——「还有什么听起来是 AI 生成的?」「重写是否增删了任何事实、名字、数字、日期、引述?」;最后成段自然重写,而不是逐条打补丁(SKILL.md)。
部件三:防幻觉硬约束。 「Do not invent facts. Do not add a fact, name, number, date, quote, or citation unless it comes from the source or the user.」缺细节就问用户,不许编。这条是 v2.9.0 加的——早期有用户报告它重写时会编造细节,社区反馈直接变成了 prompt 的一条硬规则(SKILL.md、README 版本史)。
部件四:反误报白名单 + 声音匹配。 这是最见功力的部分。专设一节「What not to flag」:完美语法不等于 AI、正式词不等于 AI、单个破折号不算(编辑记者常用)、单独弯引号不算(macOS 和 Word 默认自动替换)——判定原则一句话:「One em dash proves nothing. Several stock patterns in the same passage are stronger evidence.」(单特征不构成证据,多特征叠加才算)。声音匹配则是让用户贴 2–3 段自己的旧文,先分析样本的句长、用词、标点、怪癖,再按这些习惯重写,且写作样本的优先级高于内置规则——样本里常用破折号,破折号禁令就不适用(SKILL.md)。
还有一个容易被忽略的设计:它对「有人味」的定义不只靠删。SKILL.md 明确要求保留这些人的痕迹——具体而反常的细节、混合情绪与未消解的矛盾、时代性梗(模型训练滞后一年以上所以写不出来)、长短句交替、真正的插入语与自我纠正。判定锚点也很有意思:「2022-11-30(ChatGPT 发布)之前的编辑几乎不可能是 AI 写的」(SKILL.md)。
怎么跑起来
它不是 npm/pip 包,没有可执行文件,就是一个 agent skill:
- 安装:
npx skills add blader/humanizer --global(Skills CLI,覆盖 Claude Code/Codex/Cursor/Copilot 等 10 种 agent);Claude Code ≥2.1.142 可以/plugin marketplace add blader/humanizer;最朴素的方式是把 SKILL.md 复制进 agent 的 skills 目录——README 官方支持(README) - 成本:MIT 免费开源,不调外部 API、不需要 API key,唯一开销是宿主模型的 token——SKILL.md 约 30KB,注入约 7–8K token(估算值)(git tree)
- 调用:三种模式。贴文本(返回草稿 + 残留特征清单 + 终稿)、给文件路径(只改 prose,代码块/YAML frontmatter/数据/链接目标都不动)、嵌入模式(给 PR 描述、commit message 这类任务内嵌用,只返回终稿)(SKILL.md)
- 限制:没有编程 API。想接进 Node.js 管道只能通过 agent 会话间接调用,最自然的接入点是「草稿写完 → 发布之前」跑一遍
数据说话
- 40,470 stars / 3,498 forks;创建两周即 3.6k stars(引爆),之后每月 +4k~6k,Wayback Machine 九个月度快照重建的曲线无衰减(GitHub API、Wayback)
- 有意思的是传播路径:抽查了 135 个 GitHub Trending 每日存档都没有它,HN 上两个帖子分别只有 3 分和 2 分——这个 4 万星项目不是靠技术社区榜单走红的,更像社交平台传播(Wayback trending 存档、HN)
- 社区贡献管道活跃:102 个 issue、151 个 PR、15 位贡献者,持续有人提交新 pattern 和多语言本地化;几乎每个 minor 版本都是 prompt 内容的实质迭代(v2.7 破折号规则 → v2.9 防编造 → v2.10 新增 #34/#35 → v2.11 全文 Plain Language 重写)(releases)
- 品类对比:第二名 no-ai-slop 6.8k stars(20+ 条规则),中文本地化 Humanizer-zh-TW 826 stars——humanizer 约是第二名的六倍,是事实上的模式库源头
- 质疑也要记录:#229 盲测同时显示减法式重写把「节奏均匀」类痕迹从 60 放大到 101——把所有棱角都磨掉之后,「过于均匀的好形状」本身成了新的可识别信号;dev.to 和 r/claudeskills 上有批评说通用规则会误删作者刻意的个人风格、把文章拉平(dumbing down)(issue #229、dev.to)
值不值得跟:对「收集资料 → 整理文章给人读」的场景
这个场景(比如本站的日报和深挖文章:AI 收集资料、整理成文、读者是人)恰好是 humanizer 的正面战场——有用,但有三点要想清楚。
第一,用法要对:它是发布前的最后一道文风编辑,接入点在「草稿 → 发布」之间,不是写作环节的一部分。
第二,直接拿来用会水土不服。35 条 pattern 面向英文写作——delve/tapestry 的词表、Title Case 标题、em dash 禁令,这些放到中文文章里要么不适用、要么规则完全不同(中文的「AI 味」是另一套:排比、「值得注意的是」、空洞总结段)。中文可参考社区本地化 fork:Humanizer-zh-TW(826★)和 De-AI-Prompt-Enhancer-Writer-Booster(743★),但都远不如原版打磨。
第三,真正值得搬的是原理,自己做一个中文版 skill 时有四件内容层设计可以直接抄:
- 模式清单每条带 Before/After 成对示例——成对示例比抽象规则对 LLM 有效得多,这是整份 SKILL.md 最核心的格式决策
- 四步流程 + 两问自检——尤其是第二问「事实有没有漂移」,把防幻觉做进流程而不是靠模型自觉
- 防幻觉硬约束写成禁令——不许增删事实、名字、数字、日期、引述,缺信息就问(对资料整理类文章这是底线)
- 反误报白名单 + 声音样本优先——「单特征不构成证据」防止把正常文风抹平;让用户贴旧文做 voice matching,比套一个统一的「人味」模板高明——已有社区实践(voice-humanizer)在此基础上加个人语料 CORPUS.md(dev.to)
工程层还有三件值得抄:CI 校验三处版本号一致、pattern 必须连续编号且与 README 表格同步、SKILL.md 不超过 500 行(validate-package.py)——把一份 prompt 当软件包来维护,是这个项目最被低估的护城河。它的维护史也说明了规则式路线的宿命:只覆盖已知特征,新型 slop 要靠持续发版跟进词表,所以 v2.6 到 v2.11.2 的每次 minor 都在改内容。它动不了采样层——那是 antislop-sampler 那条路线(生成时命中 slop 短语就回退重采)的地盘,但那个需要自己控制推理栈,门槛完全不同。
一句话总结:humanizer 证明了「知识整理 + 流程设计 + 工程化维护」这份看起来最没有技术含量的工作,在 prompt 工程里能做到什么高度——40k stars 拜的不是算法,是 Wikipedia 编辑社群的众包知识被包装成了可执行、可分发、可迭代的 skill。
参考阅读
- SKILL.md 原文 — 全部原理的真源,35 条 pattern 逐条可读
- Wikipedia: Signs of AI writing — 知识源头,编辑社群的 AI 写作特征清单
- issue #229 盲测 — 最系统的效果实测:质量全胜、检测率不动
- README — 安装方式与版本史,prompt 软件包化的范例
- validate-package.py — 88 行 CI 脚本如何校验一份 prompt
- Why I Built My Own Humanizer — 基于它自建的社区实践,含对通用规则误报的批评
- antislop-sampler — 对照组:sampling 层压制 slop 的另一条路线
- no-ai-slop — 品类第二名,横评参照