把 humanizer 接入 Agent 技能体系——以及缺失的中文部分
AI 生成的文字烂起来有固定的烂法。不总是烂——但烂的时候,套路是能预测的。Wikipedia 的 WikiProject AI Cleanup 整理了这些模式好几年了,humanizer 项目把它浓缩成了 29 条规则。
我们刚把 humanizer 穿进整个 agent 技能体系。做了什么、为什么做、v2 怎么修了最大的坑——下面说清楚。
问题在哪
我们的博文管线生成双语文章:先出英文稿,再翻中文。英文稿直接从 LLM 出来,带着所有经典痕迹。求职问候的管线也有同类问题,只是表现形式不同。
第一阶段:接入 humanizer(六个技能修改)
博文管线
blog-source-content:英文稿→humanizer 审查→翻译。在翻译前抓掉最常见的 AI 痕迹——意义膨胀("标志着关键时刻")、广告腔堆砌、对无名"专家"的模糊归因、聊天机器人套话("希望对您有帮助")、废话填充——不让它们固化到中文版里。blog-repo-analysis:同理。仓库分析类博文特别能堆意义膨胀。blog-pre-commit-audit:在原来的拼写、语法、事实检查之外,新增了"语气"检查——英文稿跑 humanizer 确认没有 AI 痕迹,中文稿跑 zh-anti-slop 确认没有中文 AI 痕迹。
求职管线
boss-greeting:对专业沟通中最要命的 AI 痕迹做了硬约束:谄媚语气("非常好的问题"、"您说得完全正确")、聊天机器人套话("希望对您有帮助"、"请随时告诉我")、填充短语、过度限定、以及空洞的积极结尾("激动人心的时代即将来临")。lead-writer:顶层引用同样的规范。
第二阶段:专业性去哪了
第一版 zh-anti-slop 踩坑了。统一用了 casual 语气,示例改写有问题:
一处是列举式的改写:技术博文里枚举三个原因是正常的。AI 的痕迹是机械的"第一...第二...第三..."框架,不是枚举本身。
另一处是黑话的改写("多层次的AI能力矩阵,实现了...全面升级"→"用AI串了一整套流程"):去掉黑话是对的。把"多层次AI能力矩阵驱动范式升级"改成"串了一整套流程"是错的。架构主张跟着黑话一起被扔了。
根因:没有区分去痕迹和去实质。真正的技术成就裹在浮夸措辞里("标志着公司技术架构的关键转折点"),需要拆包装——"主导了平台从MVP到1.0的系统重构"保留。"标志着关键转折点"删掉。
第三阶段:审计已有项目
动手 v2 之前,先搜了一圈:
Show-Chan97/Humanizer-zh(5★):1:1 直译了 humanizer 的 29 条英文模式。当基线参考可以,但零中文特有模式。甚至翻译了"em dash overuse"和"curly quotation marks"——中文写作里基本不存在的东西。
devswha/patina(42★):这是真正的发现。多语言(韩→英→中→日)反AI写作编配器:
- 每个模式有触发条件/排除条件——防止误杀。"三个以上四字成语"触发,但正式政治文件中四字格是文体特征的排除。
- 语义风险标注(高/中/低)+ 保留注意事项——直接解决专业性问题。高风险模式如意义膨胀附带明确指引:"用具体数据替换'标志着里程碑式突破',不要删除正面评价。"
- Burstiness 指引——拆解排比句或成语堆砌后,有意识变化句子长度,不让修复本身产生新的机械模式。
- 两阶段管线——先修结构(段落模板),再修句子/词汇。
- 几个我们遗漏的模式:虚假细化("其实更准确地说..."但没有新信息)、结论信号词滥用、结构性重复、修辞性疑问段首。
brandonwise/humanizer(66★):OpenClaw 移植,同样 29 模式——确认这不是一次性产物,在 agent 平台间广泛流转。
第四阶段:zh-anti-slop v2
重建内容:
框架: 采用 patina 的触发条件/排除条件/语义风险/burstiness 结构。每个模式现在有明确何时触发、何时跳过的规则。
语域分级:
| 级别 | 什么时候用 | 示例 |
|---|---|---|
| professional(默认) | 技术博文、boss 招呼语、lead 文档 | "系统用了分布式架构,支持横向扩展" |
| casual | 个人观点、社交媒体 | "分布式这事,说实话就是多挂几台机器" |
| formal | 报告、正式文档 | "该系统采用分布式架构设计" |
对于我们管线,professional 是默认值。boss 招呼语用 professional 语域承载口语化流畅节奏——不是 casual。
六类模式:
- 结构层面:段落模板重复、总分总滥用、修辞性疑问段首
- 内容层面:意义膨胀、关注度膨胀、动词连缀、广告腔、模糊归因、套路化挑战和开头套话
- 语言层面:黑话堆砌、成语堆砌、语法过度规范、排比滥用、同义词循环、冗长介词
- 风格层面:连接词滥用、加粗和列表体、公文体
- 沟通层面:聊天痕迹、截止声明、谄媚语气
- 填充和模糊:填充表达、套层对冲、空洞积极结尾、虚假细化、结论信号词
再加"发挥着越来越重要的作用"的专门处理——中文AI写作使用频率最高的短语,没有之一。
怎么配合
英文稿 → humanizer 审查 → 干净的英文
↓
翻译成中文
↓
干净的中文 → zh-anti-slop 审查(professional tier)→ 最终中文稿
审计阶段:发布前的检查流程会对两个版本都做语气审查。英文稿确认没有英文 AI 痕迹,中文稿确认没有中文 AI 痕迹。两边都保留专业实质。
学到了什么
-
去 AI 味不是去实质。 最难画的线:裹在浮夸措辞里的技术主张需要拆包装,不是删除。触发条件/排除条件/风险框架让这件事可操作而非主观判断。
-
中文 AI 写作有自己的指纹。 成语堆砌、四字格集群、套路化时代定语开头、公文体——这些跟英文 AI 词汇一样有诊断力。之前没有工具系统覆盖。
-
Patina 作为架构值得学,不只是内容。它的两阶段管线、语义保留系统、burstiness 指引这些设计模式值得更广地采纳——不只是反 AI-slop,任何 LLM 输出精炼管线都适用。