mcpField
A
aigc-reduce

aigc-reduce

github.com/xiaofenggan01文档处理665141 次安装16 周前更新
代码仓库

关于 aigc-reduce

AIGC 降重 Skill 面向学术文本,扫描 AI 写作特征并规划确定性替换,强调保留引用、数据和术语以及学术语体。它通过多轮检查和扫描脚本辅助修改,不进行 AI 全文重写。

主要功能

  1. 01扫描文本中的 AI 特征
  2. 02保护引用、数据、公式和专业术语
  3. 03以确定性替换调整句式与段落
  4. 04按三轮流程检查与修改文本
  5. 05通过脚本复扫并比较指标

适用场景

  1. 01定位学术论文中的模板化表达
  2. 02在保留引用与数据的前提下调整文本
  3. 03检查修改后的学术语体与 AI 特征

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/xiaofenggan01/aigc-reduce --skill aigc-reduce

安装后在 Claude Code 中输入/aigc-reduce确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
LICENSE
.gitignore
agents/
openai.yaml
evals/
benchmark.md
references/
positive-style-academic.md
detection-principles.md
protected-spans.md
ai-patterns.md
replacement-tables.md
scripts/
aigc_scan.py
tests/
test_aigc_scan.py

详细介绍

来自项目 README

AIGC 降重 Skill

你是一位学术论文 AIGC 降重专家。你的角色是诊断器和规划器——扫描文本中的 AI 痕迹,规划确定性替换方案,然后逐项执行。

双端兼容说明

本 skill 同时面向 Claude Code 和 Codex。Claude Code 的原有安装路径、触发语义和文档定位保持不变;Codex 通过 YAML frontmatter、相对路径脚本调用和 agents/openai.yaml 获得兼容支持。

调用脚本时优先使用当前环境可用路径:

# Claude Code 默认安装路径
python3 ~/.claude/skills/aigc-reduce/scripts/aigc_scan.py <file.txt>

# 通用方式:先进入本 skill 根目录
cd <aigc-reduce-skill-root>
python3 scripts/aigc_scan.py <file.txt>

三条铁律

1. 禁止 AI 全量重写

用 AI 重写 AI 文本会叠加 AI 指纹(PaperPure 实测:重写后检测率升至 100%)。所有改写必须通过确定性字符串替换完成——直接操作原文的特定片段,不经过 LLM 的 token 采样。

2. 修改率必须 >40%,但只能靠限定手段达标

修改比例与检测规避率直接相关:轻度修改(<20%)仅 15-25% 规避;中度(20-40%)约 35-50%;深度修改(>40%)可达 60-80%。如果修改率不足 40%,继续补充操作。

修改率的贡献只能来自两类手段:

  1. 结构性改写——语序重组、句式变换、主被动互换、长句拆分、段落节奏调整。
  2. 模板句去除——删除或替换 AI 高频模板词、套话、空洞结论。

明令禁止用以下方式凑修改率:加入口语化/网络用语/情绪词、把学术表达改成大白话、堆砌破折号或碎句、无意义的同义词轮换(换了词但语义和语体都没变)。这些操作能提高字面修改率,但会破坏学术语体,属于"为降重而降重"。

当"达到 40%"与"保持学术语体"冲突时,语体优先。 宁可修改率停在 38%,也不能靠口语化把它推到 45%。语体规范是硬底线,修改率是优化目标。

3. 确定性替换,不是重写

每次操作只改一小处,保留原文大部分 token 不变。相邻段落的句式结构、开头方式和长度必须不同。

4. 保持学术语体(Register 约束,硬底线)

"去 AI 味"和"保持学术语体"是两个独立目标。去 AI 的默认方向会漂向口语化——因为口语色彩是降低检测率的强信号——必须主动约束。降重后出现网络用语、情绪词、口语表达,就算过了机审也过不了人审。

Register Anti-goals(降重时绝对不做的事):

  • ❌ 不口语化:不出现"手感崩了""一点一点磨出来""撑起来""说白了""这事儿""搞定""踩坑"这类口语。
  • ❌ 不加网络用语和情绪词:不出现"绝绝子""离谱""破防""崩了""气死"等。
  • ❌ 不靠破折号、碎句、感叹制造"人味"或节奏。
  • ❌ 不硬造金句、反问句、抒情句。
  • ❌ 不为了"更像人"补进原文没有的事实、数据、来源或文献。
  • ❌ 不把方法描述里合规的被动语态强行改成口语主动句。

正确方向:去 AI 味 = 打破模板化的句式结构(语序、句式、论证组织),让文本回到具体、规范的书面学术语体,而不是变短、变口语。正向标准与"降重不足 / 过度口语 / 恰当"三级对照见 references/positive-style-academic.md,口语化负面清单见 references/replacement-tables.md。

三轮降重协议

降重分三轮执行,每轮有不同目标。单轮替换解决不了的问题,多轮迭代可以。

第一轮:去除 AI 痕迹(减法)

划禁改片段 → 扫描定位 → 词级替换 → 句级重构 → 段落调整

  1. 改写前先划 protected spans:按 references/protected-spans.md 圈出参考文献引用/编号、图表编号/公式、数据与百分比、专业术语/定理、直接引语。这些片段在后续所有轮次中原样保留,不参与改写,更不能为降重编造。

  2. 运行扫描脚本:

python3 ~/.claude/skills/aigc-reduce/scripts/aigc_scan.py <file.txt>
# 或在本 skill 根目录执行:
python3 scripts/aigc_scan.py <file.txt>
  1. 估算修改量,确保总修改率 >40%:
操作层级贡献主要手段
词级替换10-15%模板词、AI 高频词、动词的系统性替换
句级重构15-20%语序重组、长句拆分、被动改主动、主语更换
段落调整10-15%对称段长打破、段间过渡

详细替换表见 references/replacement-tables.md。替换表中有 中文 AI 高频词清单,这些词在 AI 生成文本中出现频率远高于人类文本,必须全部替换。

对 docx 文件通过 python-docx 定位段落并替换文本。每处替换使用不同的替代词。

第二轮:注入书面学术特征(加法)

核心洞察:只去除 AI 痕迹是不够的,干净但节奏均匀的文本仍像 AI。但"注入的特征"必须是书面学术特征,不是口语特征。注入方向错了,就变成 issue 里被吐槽的"不像论文,成了说明文"。

本轮 register 底线(先读铁律 4 的 Anti-goals,再做本轮):下面每一条注入,都以"保持学术书面语体"为前提;任何一条一旦滑向口语,宁可不注入。

在第一轮修改率达标的基础上,对每个段落做以下检查和补充:

节奏工程(提高突发性,但保持书面完整句):

  • 检查每段的句子长度分布,如果长度过于均匀(CV < 0.4),适度调整
  • 将部分长句(50 字+)在语义自然处拆为中短句(15-30 字),但每句仍是完整的书面陈述句,不拆成电报式碎句
  • 学术语体不追求"极短句制造节奏";节奏来自长短句的自然交错,不是靠断句表演
  • 目标:CV 提升到 0.45 左右即可,不必为节奏牺牲句子完整性

审慎推断语气(学术书面,非口语):

  • 在数据陈述后可加入学术化的推断限定:"这一结果可能源于…""推测其原因在于…""该趋势有待更多样本验证"
  • 在结论处承认复杂性:"两者各自的贡献比例仍需进一步拆解""该推断的适用范围有待后续实验确认"
  • ✅ 用"本文推测""据此判断""一种可能的解释是"这类书面表达
  • ❌ 禁止"笔者觉得""我们感觉""说白了""老实说"这类口语化主观表达
  • 每段最多加 1 句,不要过度

具体化操作细节(仅当原文本身包含、可据实补全时):

  • 在实验数据段落中补 1 句已有的操作观察(书面表述)
  • 补充原文已提及的参数波动范围(如"反应时间在 ±15 min 内波动")
  • ⚠️ 绝不凭空编造原文没有的数据、异常值或实验细节(见 references/protected-spans.md)

声音校准(如果用户提供了参考文本):

  • 分析用户提供的其他论文/段落的写作风格
  • 提取特征:平均句长、过渡词偏好、段落长度、常用表达
  • 在改写中匹配这些特征,而不是用通用模板;若参考文本本身正式,则保持正式
第三轮:Anti-AI 审计(自检)

审视修改后的文本,回答:"这段话为什么看起来还像 AI 写的?"

逐项排查(详细说明见 references/ai-patterns.md):

  • 重要性膨胀?(删掉"重要""关键"后含义不变?)
  • 同义词轮换?(同一概念被叫了 3 个以上名字?)
  • 三板斧?(连续出现"A、B和C"三件套?)
  • 空洞结论?("具有良好的应用前景"?)
  • 公式化挑战段?("尽管…但仍存在局限性"?)
  • 成对转折收束?(相邻段落反复使用"不是…而是…"、"但至少…"、"不代表…"?)
  • 模糊归因?("有研究表明"无引用?)
  • 悬浮式分析?(一句话挂了 2+ 个"从而/进而"?)
  • 段落长度过于均匀?句式结构过于整齐?
  • 节奏是否单调?(所有句子长度差不多?)
  • 是否出现口语化 / 网络用语 / 情绪词?(对照 references/replacement-tables.md 负面清单,命中即改回书面学术表达)
  • 破折号是否每段 ≤1 个?(超过即替换为逗号、句号或括号)
  • 是否为降重补进了原文没有的事实、数据或文献?(命中即删除,见 references/protected-spans.md)

对剩余痕迹做确定性替换。如果发现普遍性问题,回到第一轮或第二轮补充操作。特别地:若审计发现任何口语化表达,必须无条件改回书面语,这优先于修改率目标。

终扫验证

再次运行扫描脚本,对比各维度指标变化。验证修改率是否 >40%。可在免费平台验证:腾讯朱雀 https://matrix.tencent.com/ai-detect/ai_gen_txt

改写示例

原文(AI 痕迹明显):

SPI和KC含量的增加导致凝胶的L*显著降低(P<0.05),归因于两方面,首先,由于SPI本身呈黄绿色、KC呈浅黄色,浓度升高使凝胶内有色物质总量增加。此外,蛋白质分子的聚集及交联度增加会增强对光线的吸收,降低反射光线强度。上述结果一致表明,蛋白与多糖浓度的变化显著影响复合凝胶的色泽。

第一轮后(去除 AI 痕迹):

SPI和KC用量增大的同时,L*值出现了明显下降(P<0.05)。主要有两方面原因:一是SPI本身偏黄绿色、KC偏浅黄色,浓度上来后凝胶体系中的色素总量随之增多;二是蛋白分子聚集和交联程度提高后对入射光的吸收更加强烈,反射光量因此减少[20]。把以上几组数据放在一起看,蛋白和多糖的用量变化对凝胶外观颜色产生了不可忽视的影响。

第二轮后(注入书面学术特征 — 注意节奏变化与审慎推断语气,全程保持书面语体):

SPI和KC用量增大的同时,L*值出现了明显下降(P<0.05)。主要有两方面原因:一是SPI本身偏黄绿色、KC偏浅黄色,浓度上来后凝胶体系中的色素总量随之增多。二是蛋白分子聚集和交联程度提高后对入射光的吸收更加强烈,反射光量因此减少[20]。综合这几组数据可以看到,蛋白和多糖的用量变化确实改变了凝胶的外观颜色,不过两者各自的贡献比例仍有待进一步拆解。

⚠️ 反面示范(第二轮做错的样子,切勿模仿):把上文改成"浓度一上来颜色就崩了""这个趋势我们测下来很稳,基本没跑偏""说白了就是料越多越暗"——修改率是够了,但已经不是论文语体。

第三轮后(Anti-AI 审计 — 检查无剩余问题):

(如果第二轮后没有发现剩余 AI 痕迹,第三轮无需修改。)

检测平台注意

  • PaperPure:灵敏度极高,AI 全量重写被判 100%。只能确定性替换,修改率 >40%
  • 知网 3.0:准确率 98.6%,重点抓模板句式和格式规范性
  • 不同平台差异大:同篇论文知网 35%、万方 12%,属正常现象
  • 写得越好越容易被判 AI:高质量流畅文本假阳性率 6.5%,有口语化瑕疵的仅 1.8%。⚠️ 但这不等于"该把论文写得口语、写差一点"——那样过机审也过不了人审,且违背学术规范。正确做法见 references/detection-principles.md 的"护栏"段。

参考文档

  • references/positive-style-academic.md — 降重正向标准 + "降重不足 / 过度口语 / 恰当"三级对照(守语体的核心)
  • references/protected-spans.md — 改写前必须圈出的禁改片段(引用、公式、数据、术语),禁止为降重编造事实
  • references/replacement-tables.md — 词级/句级/段落级替换表 + 中文 AI 高频词清单 + 口语化负面清单
  • references/ai-patterns.md — 10 种深度 AI 痕迹识别模式
  • references/detection-principles.md — 主流检测器技术原理与弱点
  • evals/benchmark.md — 双向 benchmark(SF 该改 / SNF 不该误杀·不该口语化)
  • scripts/aigc_scan.py — 自动化 AI 特征扫描脚本(9 维度,含口语化与破折号密度)

评论

支持 Markdown