aigc-humanizer-zh
AIGC Humanizer ZH
中文学术写作 AIGC 率降低工具。基于 16 种 AI 写作模式,不改动学术观点,只打破机器写作的模式规律。
这是什么?
真实论文改写实验中,同一篇文章 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 工具
工具覆盖「保护公式 → 扫描痕迹 → 逐段决策 → 执行改写 → 验证质量 → 还原公式」的完整链路:
工具 | 做什么 | 输出什么 |
| 把 LaTeX 公式替换为占位符,防止润色时被篡改 |
|
| jieba 分词计算词汇丰富度 + 扫描违禁词 |
|
| L1+L2 融合扫描(L1 正则 + L2 统计) |
|
| L2 统计层独立评估:burstiness / TTR / 词汇集中度 |
|
| 按 SOP 6 步生成优先级排序的改写计划 |
|
| 逐段输出 AIGC 风险评分 (0-100) |
|
| 为单段生成可直接喂给 LLM 的改写 prompt | 结构化 prompt(含原文、模式、文体约束) |
| 6 维度 60 分制质量评分 |
|
| 把占位符还原为原始 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
文件 | 定位 | 特点 |
| 轻量版(默认) | 16 种模式速查 + HC-1~HC-7 + 逐段改写流程,零依赖,加载即用 |
| 完整版 | 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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