Skip to content
Conduit

skill

zh-humanize

中文写作体检:可复算的 AI 痕迹指标 + 带证据等级的改写协议(不输出 AI 率)

1506406880-a11y/zh-humanizecommunitylistedunreviewed

Set up

Skills are installed by placing their folder where your agent loads skills.

The download comes from github.com/1506406880-a11y/zh-humanize itself, not from our server, so what you get is exactly what its author published.

Install instructions come from the README

Skills do not use an MCP config. Follow the steps in the README below.

README

synced Nov 1, 2026

zh-humanize · 中文写作体检

先把 AI 味测准,再动手改。

一个零依赖的 Python 工具,加一份带证据等级的改写协议。它不背词表,不输出「AI 率」,也不承诺骗过任何检测器。它只做一件事:指出哪些句子带着可重复观测到的机器写作习惯,并告诉你这句该怎么改、哪些地方不该改。

python -m zh_humanize.cli 稿件.md

三个反直觉的发现

这个项目建立在两组中文对照实测上:629 篇同题对照,加 270 对同题同事实的配对复测。结果推翻了大部分流行做法。

一、词表基本无效。 「赋能、闭环、抓手、底层逻辑」的配对效应量是 δ+0.10,不显著。「首先/其次/总之」是 δ+0.02。「这意味着」方向相反——人类用得更多(0.027 vs 0.016 次/千字)。把这些词清零,不会让文章更像人写。

二、句长不必打散。 「AI 句子长度均匀」在配对复测里不成立。早期「均匀度是人类 50 倍」的结论来自切句缺陷,修正后只有 0.87 倍。为了凑句长方差去拆句,是这类工具最常见的破坏方式。

三、稳定信号是句法动作,不是词。 真正两轮同向的是:「不是 A 而是 B」(δ+0.88/+0.72)、结论提示冒号(2.1 倍)、过长前置定语(δ+0.48/+0.54)、顿号密集罗列(1.45 倍)、小标题切碎(节长方差 δ−0.91)、段段紧扣(明确承接 98.9% vs 95.2%)。

还有一条方向相反的:AI 的词汇多样性比人类更高,因为它不敢重复用词。人类会在一段里反复用同一个名词。


它做什么

给定一篇中文成稿,输出一份分级体检报告:

等级含义处置
A两轮实测同向、可定位到句默认建议改
B条件显著或弱一档复核后改
C整篇分布只报告,不设目标值
F单模型指纹方向随模型,不定罪
X已否决计数展示,永不据此改

每条命中都带:密度、人类参照、原文例句、为什么、怎么改。

它不做什么

  • 不判断作者身份。统计显著说的是语料层面的差异,不是这一篇的判决。
  • 不输出「AI 概率」。转述就能让检测器大幅失灵,这个数字不稳定。
  • 不猜模型。破折号、分号这类指纹只能说「方向像谁」,不能反推。
  • 不自动改写。改写需要作者确认范围;工具只负责定位和复测。
  • 不处理机器判不了的东西:比喻是否贴切、案例是否凑数、论证是否成立。

安装

需要 Python 3.8+,无第三方依赖。

git clone https://github.com/1506406880-a11y/zh-humanize.git zh-humanize
cd zh-humanize
pip install -e .

也可以不安装,直接在仓库根目录运行:

python -m zh_humanize.cli 稿件.md

自检:

python -m zh_humanize.cli --selftest
python -m unittest discover -s tests -t .

用法

# 出 Markdown 报告
zh-humanize 稿件.md

# 写到文件
zh-humanize 稿件.md --md 体检报告.md

# 机器可读
zh-humanize 稿件.md --json > report.json

# 改写前后对比
zh-humanize --compare 原稿.md 改后.md

# CI:出现 A 级命中就失败
zh-humanize 稿件.md --fail-on A

JSON 里每条 finding 都有 id / grade / status / count / density / unit / threshold / evidence / examples / detail,便于接进自己的流水线。

作为 Agent Skill

把 SKILL.md 复制到你的 agent 的 skills 目录(例如 ~/.claude/skills/zh-humanize/ 或项目的 .zcode/skills/),或者用支持 Agent Skills 的安装器:

npx skills add https://github.com/1506406880-a11y/zh-humanize

Skill 的工作流是:检测 → 交付报告并等待确认 → 最小改写 → 复测对比。它明确禁止词表式乱删。


示例

examples/ 里有一组完整的改前、改后和对比:

指标改前改后
正文汉字663564
A 级命中50
B 级命中20
翻案腔7.541 次/千字0
提示语冒号1.5080
过长前置定语9.050
顿号密集罗列10.5581.773(观察)
句首连接词4.5250
句长 CV0.5160.485
段落 CV0.3840.426

两个值得注意的地方:

  • 改后仍保留「闭环」,因为它在原文里有实际指代。工具也没有因为它是黑名单词而扣分。
  • 改后仍保留六段流程的罗列,因为那是必须完整列出的清单。工具把它记为「观察」,不是「命中」。
  • 小标题还是 4 个,但字数少了 15%,所以每千字密度从 6.03 升到 7.09。这不是结构变碎,是分母变小——任何前后对比都要同时看绝对数。

改前报告:examples/report-before.md | 改后报告:examples/report-after.md | 对比:examples/compare.md


规则从哪来

文档内容
docs/01-证据.md两轮实测设计、A/B/X 级效应量、四条方法学教训
docs/02-改写协议.md五条原则、逐条改法、保留举证、改完三查
docs/03-误区.md十种看着有用、实测没用的做法
docs/04-口径.md切分、分母、指标定义、阈值、为什么不输出 AI 率

证据主要来自公开项目 lieflat-less-ai-tone(CC BY-NC 4.0)的两轮实测。本项目引用其效应量,代码、规则表、文档为独立实现。

其他参照:Wikipedia Signs of AI writing、HC3(arXiv:2301.07597)、Liang et al. 2023(GPT 检测器对非母语写作者的误判,DOI: 10.1016/j.patter.2023.100779)、DetectGPT(ICML 2023)。

局限

  • 语料因版权不公开,效应量无法被第三方逐条复算;可复算的是切分、正则、分母和门槛,都在代码里。
  • 语义层判断由单模型完成,抽样误判率 15–30%,方向可信,精确百分点不可信。
  • 人类写作组间差异极大,扩充语料可能改变部分结论。
  • 模型持续向人类文风收敛,所有频率都是特定时点的观测。
  • 本工具只能降低可测量的机器痕迹。「完全像真人」不是一个可验证的目标,任何声称能做到的说法都值得怀疑。

贡献

欢迎补规则,但请遵守两条:

  1. 新增规则必须给对照证据:什么语料、什么分母、效应量多少、能否定位到句。
  2. 新增规则不能只靠个案观察。先抽样看 20 条命中,再谈频率。

许可

MIT。见 LICENSE。

↑↓ navigate openesc close