60/60 vs 4/60:humanizer与提示词改写方案大比拼,本地12B模型为何更强
【免费下载链接】humanizer项目地址: https://ai.gitcode.com/hf_mirrors/jialinyyzz/humanizer
同一批 60 篇英文草稿,两种去 AI 味方案正面交锋:一个是当下最流行的「提示词改写」做法,一个是开源本地模型 humanizer。用最严格的 AI 检测器实测,提示词改写60 篇全部被判为 AI 生成,而本地运行的 12B 微调模型只有 4 篇被标记。这篇文章讲清楚:差距从何而来,以及怎么在自己电脑上跑起来这个「文本人性化」模型。
一、测试设定:同一批草稿,两种方案
对比测试的条件如下,全部来自项目官方评测:
- 检测器:Originality.ai(API v3),AI Allowance 设为 0%,即最严格档位;
- 时间:2026-10-02,一次测量;
- 样本:同一批 60 篇英文草稿,两种方案各改写一遍;
- 提示词方案的「顶配」待遇:由旗舰级模型 Claude Sonnet 逐篇执行一个广受欢迎的 humanizer 提示词技能(v3.1.0,GitHub 上 53k 星)——这已经是提示词路线能拿到的最好效果。
结果一目了然:
| 方案 | 被判为 AI(/60 篇) | 中位 AI 分数 |
|---|---|---|
| 提示词改写(Claude Sonnet + 热门提示词技能) | 60 / 60 | 100% |
| humanizer 本地 12B 模型 | 4 / 60 | — |
在完整的 210 篇英文评测集上,humanizer 也只有 11 篇被标记,95% 的改写被判为人类写作;而上一代模型是 26/210,这次版本把误判率砍掉了一半以上(配对检验 p = 0.004)。
二、为什么提示词改写总是被检测器抓出?
2.1 提示词改的只是「皮肤」,改不了「指纹」
提示词路线的本质,是让一个大模型按指令做句子级修饰:换个开头、拆两句长句、删几个客套话。但 AI 文本被检测器盯上的原因,是统计层面的指纹——
- 句子长度分布过于均匀,缺乏真人写作的长短错落;
- 段落节奏模板化:每段都是「铺垫 → 展开 → 小结」;
- 大量无意识的「AI 腔」套话:hedging(过度谨慎措辞)、铺垫式过渡句。
这些指纹藏在整篇文本的统计结构里,靠提示词逐句润色根本动不到它。检测器比对的正是这些统计特征,所以无论提示词写得多花哨,输出还是「换了一张皮的 AI 文」。
2.2 训练出来的模型,改的是「写法本身」
humanizer 的思路完全不同:不是让模型「按规则修改文本」,而是用大量真实数据教会它直接像人一样写。看一组真实的中英邮件改写对比,就能感受到差别——改写后的文本保留了全部数字和事实,但读起来节奏明显是人写的:
三、本地 12B 模型是怎么练出来的?
humanizer 基于 Gemma-4-12B 微调而来,训练分三步,全程没有使用任何 AI 检测器(既不是奖励信号,也不是过滤器,更不会用它挑模型):
- SFT 监督学习:28,598 对「AI 草稿 → 人类原文」训练对。人类一侧全部是真实人写的文本(论文摘要、政府报告、学生作文、公司邮件、Reddit、知乎等),AI 一侧是前沿模型从人类文本倒着写出的草稿——等于让模型反复练「把 AI 腔翻译回人话」;
- DPO 偏好对齐:3,918 组偏好对,只按「事实保真度和照抄程度」两个维度筛选;
- GRPO 强化学习:三轮共 500 步,严格的事实判官打分 + 防照抄惩罚,累计生成 41,600 篇改写、逐篇评分。
3.1 人性化不等于编造事实
一个常见的误区:把文字改得像人写的,数字和事实也会跟着漂移。humanizer 把「保留所有数字、单位、日期、人名和引语」作为硬约束来训练,实测数据(420 篇英文改写,从严的 LLM 判官逐篇审核):
| 指标 | 本次版本 | 上一代 |
|---|---|---|
| 未发现事实问题的改写 | 376 / 420 | 369 / 420 |
| 中位照抄率(越低越好) | 0.165 | 0.19 |
| 照抄率超过 0.5 的输出 | 0.2% | 1.0% |
判官挑出的问题里,超过九成改一个词或短语就能修好(例如「37 条投诉」被写成「37% 的投诉」)。中文侧稍弱:204 篇中文改写中 149 篇无事实问题,仍在追赶英文。
四、在自己电脑上运行 humanizer:三步快速上手
模型文件全部开源(Apache 2.0 协议),支持 llama.cpp、MLX、transformers、vLLM 等多种运行时。推荐用 llama.cpp,三步跑通:
4.1 第一步:按内存选模型文件
| 你的内存 | 推荐文件 | 大小 |
|---|---|---|
| 32 GB 及以上 | humanizer-12b-Q8_0.gguf(推荐) | 约 12.7 GB |
| 16 GB | humanizer-12b-Q6_K.gguf | 约 10.0 GB |
| 16 GB 或硬盘紧张 | humanizer-12b-Q4_K_M.gguf | 约 7.6 GB |
三档量化版与全精度版本的差距都在噪声范围内,放心选最小的那档即可。下载模型时一并带上 prompt_format.json——里面存着必须逐字使用的指令和分隔符。
4.2 第二步:启动本地服务
llama-server -m ./humanizer-model/humanizer-12b-Q8_0.gguf -c 8192 -np 1 -ngl 99 --host 127.0.0.1 --port 8080参考速度:M5 Max 上约 36–38 token/s,一封百词英文邮件约 3.6 秒,300 字中文邮件约 8.5 秒。想更省事,也可以直接用 macOS / Windows 桌面 App,首次运行自动选档下载模型,之后离线可用。
4.3 第三步:记住四条关键规则(错一条效果就变差)
- 它是文本续写模型,不是聊天模型:把完整提示词发到续写接口,别套通用聊天模板;
- 提示词必须逐字一致:指令翻译过、改写过一个空行,效果都会明显下降(USAGE.zh.md 第 1 节给了可自检的拼接代码);
- 只靠 EOS 停止:不要设置任何停止符,尤其不能用
###; - 采样参数:temperature 1.0、top-p 0.95,其余全关(top-k 0、min-p 0、重复惩罚 1.0)——很多运行环境默认值会偷偷帮你开别的采样,务必显式覆盖。
💡 长文档(Markdown / Word)推荐用命令行工具
hz:一行命令完成切块、改写、数字核对,标题代码表格原样保留,用法见 USAGE.zh.md 第 14 节;AI Agent 的接入指引见 AGENTS.md。
五、实用提醒:用之前先读这 4 条
- ✍️发出前通读一遍,重点核对数字、日期、人名——自动检查只能发现数字缺失,改词或语义偏移查不出来;
- 📉中文仍在追赶英文,且中文改写更容易照抄草稿,看着太像原文就重新采样一次;
- 🚫不承诺任何检测结果:95% 是一个检测器在某一天的一次测量,检测器本身也在更新。带 emoji 的社交帖、政策备忘这类模板化体裁仍是最难的(各被标记 3/16、2/13);
- ⚖️ 这是改自己草稿的写作工具:如果学校、单位或出版方对 AI 辅助有明确规定,请按规定执行。
六、小结
「60/60 vs 4/60」这个差距说明了一件事:AI 文本的统计指纹靠提示词擦不掉,只能靠训练重写。humanizer 用一个完全本地运行的 12B 模型给出了答案——不开联网、不用 API、数据不出本机,一封邮件几秒钟,95% 的改写通过最严格检测,同时把「不改动事实」作为硬约束写进训练目标。文件清单、每种运行环境的完整用法和排错表,都可以在仓库的 README.md 和 USAGE.zh.md 里找到。
【免费下载链接】humanizer项目地址: https://ai.gitcode.com/hf_mirrors/jialinyyzz/humanizer
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考