Skip to main content
Glama

AIGC Humanizer ZH

中文学术写作 AIGC 率降低工具。基于 16 种 AI 写作模式,不改动学术观点,只打破机器写作的模式规律。

Python MCP License Version


这是什么?

真实论文改写实验中,同一篇文章 AI 润色版的 AIGC 检测率超过 50%,经过系统性人工去味处理后降至 11%。差异不在于内容——观点没变、论证没变、数据没变——只在于 AI 写作有高度可预测的模式规律,而人类写作更随机、更情境化。

本项目把这种「去味」经验归纳为 16 种 AI 写作模式7 项硬约束,提供两种使用方式:


方式一:MCP Server(完整版)

适合已配置 DeepSeek TUI / Claude Desktop MCP 的用户,需要自动检测和高精度分析。

安装与启动

pip install -r requirements.txt   # mcp + jieba
python server.py                  # stdio 传输,供 MCP 客户端调用

~/.deepseek/config.toml 中配置:

[mcp_servers.aigc-humanizer]
command = "python"
args = ["/path/to/aigc-humanizer-zh/server.py"]

10 个 MCP 工具

工具覆盖「保护公式 → 扫描痕迹 → 逐段决策 → 执行改写 → 验证质量 → 还原公式」的完整链路:

工具

做什么

输出什么

mask_latex

把 LaTeX 公式替换为占位符,防止润色时被篡改

masked_text, count, warnings

evaluate_ttr

jieba 分词计算词汇丰富度 + 扫描违禁词

passed, ttr_score, banned_words_found

analyze_ai_risk

L1+L2 融合扫描(L1 正则 + L2 统计)

overall_risk, layers, statistics, hard_violations

analyze_statistics

L2 统计层独立评估:burstiness / TTR / 词汇集中度

burstiness, ttr, lexical_concentration, overall_risk_level

generate_rewrite_plan

按 SOP 6 步生成优先级排序的改写计划

rewrite_plan(移位→砍尾→破对称→换词→去模糊→注视角)

analyze_by_paragraph

逐段输出 AIGC 风险评分 (0-100)

aigc_score, needs_rewrite, 命中模式详情, statistics

build_rewrite_prompt

为单段生成可直接喂给 LLM 的改写 prompt

结构化 prompt(含原文、模式、文体约束)

assess_quality

6 维度 60 分制质量评分

total_score, grade, 各维度分

restore_latex

把占位符还原为原始 LaTeX 公式

还原后完整文本

典型工作流

mask_latex → analyze_by_paragraph → 用户逐段决策 →
  ├── 低风险段: 跳过
  └── 高风险段: build_rewrite_prompt → LLM 改写 → 用户确认替换
→ assess_quality(≥54 优秀) → restore_latex → 完成

检测引擎特点

  • 16 种模式全部由正则引擎自动扫描,每种模式独立计分(weight + score_cap 上限),输出 score_raw(原始分)和 score_capped(封顶分),计分过程透明

  • 7 项硬约束由代码自动评估,命中即判定高风险

  • 上下文感知过滤:P8 模糊归因自动排除 Boulianne(2015)研究表明本研究表明 等具体引用;P2/P7 段末套句只在段落末尾句生效

  • P6/P14 规则分离:三元对称并列(理论上/实践上/方法上)和三步走结构(从经济维度看/从社会维度看/从文化维度看)不再重叠命中

  • 红蓝军评测闭环:70 条样例(62 合成 + 8 真实)的回归测试套件,scripts/evaluate_red_blue.py 输出 pattern/HC 级 F1、误报率及 L2 统计层 recall/FPR


两层 AIGC 判断架构(v0.4+)

能力

依赖

对新模型稳健度

L1 正则层

16 模式 + 7 硬约束(表层套话)

零依赖

低(新模型套话少时盲区大)

L2 统计层

burstiness / TTR / 词汇集中度 / 个人视角 / 结构平行度

jieba(已有)

高(模型无关,对齐知网公开判据)

设计决策:曾尝试引入 L3 判别模型层(HuggingFace AI 文本分类器),但经多源测试集验证,开源中文 AI 检测模型召回率接近 0%(默认模型 Hello-SimpleAI/chatgpt-detector-roberta-chinese 对中文 AI 文本 AI 概率 <0.01),引入后反而稀释 L1+L2 灵敏度,故弃用。L1+L2 两层架构在对抗集达 96%、扩充集 100%、泛化集 100% 准确率。

L1+L2 融合策略

  • L1 硬约束命中 → 一票否决,直接判高风险

  • 强人类信号(personal=high)+ 无强 AI 结构 → 低风险(覆盖 L2 判定)

  • 否则按加权融合:L2(0.7) + L1软分(0.3)

  • 融合分 ≥0.6 高风险 | ≥0.35 中风险 | <0.35 低风险

实测准确率(L1+L2,94 条多源样例)

测试集

样本数

AI

人类

准确率

AI 召回率

人类准确率

对抗集

24

12

12

96%

100%

92%

扩充集

40

20

20

100%

100%

100%

泛化集

30

15

15

100%

100%

100%

合计

94

47

47

99%

100%

98%

对抗集唯一误判为 human_editorial_formal(正式社论,句长均匀触发 burstiness=high),属正式写作的固有特征,强行修复会导致 AI 漏检(过拟合风险)。

诚实声明

  • L2 对齐知网公开判据方向(burstiness / 词汇多样性),是模型无关的统计特征,对新模型稳健,但不保证与知网数值一致

  • 知网结果以知网为准,本项目结果仅供参考与改写辅助。

  • 本项目检测能力仅对中文文本有实际效果

运行测试

python -m pytest -q                                          # 106 项单元测试
python scripts/evaluate_red_blue.py \
  --fixtures tests/fixtures/red_blue/synthetic.jsonl \
  --min-f1 0.70 --max-fpr 0.15 \
  --stats-fixtures tests/fixtures/red_blue/realistic.jsonl   # 红蓝评测 + L2 统计层
python scripts/eval_adversarial.py                           # 对抗集 24 条
python scripts/eval_expanded.py                              # 扩充集 40 条
python scripts/eval_generalization.py                        # 泛化集 30 条

方式二:Skill 文件

如果你不想安装 Python 依赖,或者只是临时处理一两篇论文,可以直接加载 Skill 文件让 agent 按规则执行。

两种 Skill

文件

定位

特点

SKILL.md

轻量版(默认)

16 种模式速查 + HC-1~HC-7 + 逐段改写流程,零依赖,加载即用

SKILL_full.md

完整版

16 种模式的详细散文说明(含「规律」小结和扩展示例)+ LaTeX 公式保护/还原 + TTR 词汇丰富度自检 + 结构化逐段输出模板 + 6 维度 60 分制质量评分

轻量版已作为默认 Skill 文件,直接加载即可。如需完整版能力:

加载

/skill https://raw.githubusercontent.com/shuohui-air-technology/aigc-humanizer-zh/main/SKILL.md

加载后 agent 即获得:逐段扫描 → 交互式改写 → 最终自检 的完整能力。

如需完整版(含 LaTeX 处理 + TTR + 结构化模板):

/skill https://raw.githubusercontent.com/shuohui-air-technology/aigc-humanizer-zh/main/SKILL_full.md

能做什么

  • 识别全部 16 种 AI 写作模式 — 与 MCP Server 共享同一套模式编号和改写规则。其中 12 种通过阅读直接识别,4 种统计类模式(排比、三步走、破折号密度、加粗滥用)标注 ⚡ 需你自主判断

  • 执行 7 项硬约束 — 改写后逐项核查,命中即修复

  • 6 步 SOP 改写流程 — 移位→砍尾→破对称→换词→去模糊→注视角

  • 注入学者视角 — 承认局限、表达意外、留下判断、短句造节奏

  • 质量自评 — 6 维度自主判断(直接性、节奏、真实性、信息密度、学术规范、抗检测性)

  • 噪声保留 — 每千字保留 2-3 处轻微 AI 特征,避免过度均质化

轻量版与完整版的差异

轻量版(SKILL.md)阉割了完整版(SKILL_full.md)的部分能力:TTR 词汇丰富度判断标准、LaTeX 公式手动保护/还原流程、结构化逐段输出模板。4 种统计类模式(P13-P16)需你逐段手动统计。但核心的逐段交互式改写流程16 种模式的改写规则完整保留。

与 MCP Server 相比,两个 Skill 版本都无法自动执行 TTR 计算和正则引擎扫描,但完整版提供了更接近 MCP 工具链路的手动操作指南。


检测能力参考

16 种 AI 写作模式

ID

模式

严重度

典型触发

1

理论起笔

🔴 高

「依据社会建构主义理论……」

2

段末套路结尾

🔴 高

「此案例印证了……」

3

整齐编号逻辑

🟡 中

「首先……其次……再次……」

4

被动分析套话

🔴 高

「该处理体现了……」

5

模板化问题陈述

🟡 中

「面临的核心问题是……」

6

三元并列对称

🟡 中

「理论上……实践上……方法上……」

7

段末冗余总结

🔴 高

「综上所述……由此可见……」

8

模糊归因

🔴 高

「专家认为……」(无出处)

9

填充短语与过度限定

🟢 低

「值得注意的是……」「可能在一定程度上……」

10

泛化结论与意义声明

🔴 高

「具有重要意义……前景广阔……」

11

AI 高频词汇

🟡 中

「深刻揭示」「不可或缺」「综合运用」

12

回避系动词「是」

🟡 中

「作为……重要载体」「扮演着……角色」

13

过度对仗排比

🟡 中

「突破范式,填补空白,创新视角……」

14

结构性三步走

🟡 中

「从经济维度……社会维度……文化维度……」

15

破折号密度异常

🟢 低

一段内 —— 超过 4 次

16

正文加粗滥用

🟢 低

全文 ** 超过 5 处

7 项硬约束

#

约束

阈值

违规后果

HC-1

AI 高频词密度

每段 > 2 个

高风险

HC-2

段末总结套句

全文 > 1 处

高风险

HC-3

整齐三元并列

每段 > 1 处

高风险

HC-4

理论起笔占比

> 20% 段落

高风险

HC-5

正文加粗

全文 > 5 处

高风险

HC-6

泛化结尾

全文 > 0 处

高风险

HC-7

模糊归因

全文 > 0 处

高风险


红蓝军评测闭环

项目使用确定性的红蓝对抗循环来持续提升规则精度:

红队生成样例 → 人工审核 → 蓝队调规则 → 裁判脚本阻断回归
python scripts/evaluate_red_blue.py \
  --fixtures tests/fixtures/red_blue/synthetic.jsonl \
  --min-f1 0.70 --max-fpr 0.15 \
  --stats-fixtures tests/fixtures/red_blue/realistic.jsonl \
  --min-stats-recall 0.50 --max-stats-fpr 0.20

当前 baseline:70 条样例(62 合成 + 8 真实),16 种 pattern 全覆盖,L1 negative/near_miss 误报率 0.00,L2 burstiness recall=1.00 fpr=0.00。

详细工作流(含红队 LLM prompt 模板)见 docs/red-blue-workflow.md


工程结构

aigc-humanizer-zh/
├── src/
│   ├── models.py              # 数据结构(PatternMatch/ParagraphRisk/RiskReport/StatisticalSignals)
│   ├── pattern_defs.py        # 16 种模式 + 7 项硬约束的规则定义(纯数据)
│   ├── paragraph.py           # 段落切分逻辑
│   ├── detector.py            # PatternDetector 类(L1 正则层)
│   ├── statistics.py          # L2 统计层(burstiness/TTR/词汇集中度/个人视角/结构平行度)
│   ├── patterns.py            # 兼容 re-export 入口(保持旧导入不变)
│   ├── scanner.py             # LaTeX 栈式扫描器
│   └── evaluator.py           # TTR + 60 分制质量评估(复用 PatternDetector 结果)
├── server.py                  # MCP Server 入口,9 个 @mcp.tool()
├── scripts/
│   ├── evaluate_red_blue.py   # 红蓝军评测裁判脚本(L1 + L2)
│   ├── eval_adversarial.py    # 对抗集评测(24 条)
│   ├── eval_expanded.py       # 扩充集评测(40 条)
│   └── eval_generalization.py # 泛化集评测(30 条)
├── tests/                     # 测试文件 + 70 条样例(62 合成 + 8 真实)
├── docs/
│   └── red-blue-workflow.md   # 红蓝工作流文档
├── SKILL.md                   # 轻量版 Skill(默认加载)
├── SKILL_full.md              # 完整版 Skill(含 LaTeX/TTR/结构化模板)
├── WORKFLOW.md                # 交互式工作流 Agent Prompt 模板
├── pyproject.toml             # Python 工程配置
├── requirements.txt           # mcp + jieba
└── LICENSE                    # MIT

参考来源

  • 真实论文 AI 润色版(AIGC >50%)与人工改写版(AIGC 11%)的逐段对比实验

  • Wikipedia: Signs of AI writing(WikiProject AI Cleanup)

  • de-AI-writing skill (OUBIGFA) — 硬约束数字化设计参考

  • Humanizer-zh (op7418) — 模式分类与质量评分框架参考


注意事项与局限性

检测模式的适用范围

本项目的 L1 正则层(16 种 AI 写作模式)主要针对 GPT-3.5/4 等早期模型的典型输出风格。随着模型迭代,新一代 AI 的写作风格趋于多样化,在大部分非模板化的论文中可能不会有效触发这些检查机制。因此:

  • L1 适合作为保守的硬性检查机制,但不应作为唯一的判断依据

  • L2 统计层(burstiness/TTR/词汇集中度/个人视角/结构平行度)是模型无关的,对新一代模型输出更稳健,是当前两层架构的主力检测层

改写可能影响文本质量

改写过程本质上是对原文表达方式的干预。虽然本项目设计了 7 项硬约束来防止破坏性修改,但在以下情况下仍可能出现文本质量下降:

  • 连续多次改写导致语言均质化,失去原文的节奏和个性

  • LaTeX 公式保护不到位(尤其在 Skill 模式下需手动操作)

  • 过度追求「去味」导致表达生硬、学术严谨性受损

建议在改写前对论文原文进行完整备份,每轮改写后对比原文审阅,确保学术内容无损。

使用声明

本项目仅作学术交流与技术研究使用。作者不支持、不鼓励将本工具应用于任何可能影响学术诚信的使用场景,包括但不限于:

  • 将他人的 AI 生成文本伪装为人类撰写

  • 规避学术机构对 AIGC 内容的合理检测

  • 以「去 AI 味」为手段掩盖抄袭或造假行为

工具是中性的,使用者的意图决定其价值。请在学术诚信的边界内使用。


许可证

MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shuohui-air-technology/aigc-humanizer-zh'

If you have feedback or need assistance with the MCP directory API, please join our Discord server