| name | engineering-paper-humanizer |
| description | 用于中文工程类论文正文润色与去 AI 味。用户要求润色/改写论文段落、优化表述、 改得自然一点、降低 AI 痕迹/模板化套话、处理中文引号破折号括号、 humanize thesis prose、academic Chinese polishing 时使用。 适用于 LaTeX/Markdown/plain text 正文;用户直接粘贴文本时自动独立模式。 不处理引用位置/LaTeX 命令/Markdown 格式(交给 academic-format-cleaner)。 |
Engineering Paper Humanizer
Red Flags(停止并检查)
| AI的想法 | 正确做法 |
|---|
| "这段写得太平淡,加点升华" | 工程论文用参数、约束和代价说话,不加宏大叙事 |
| "破折号改成逗号太麻烦,保留" | 中文正文破折号必须处理,不得保留 —— |
| "括号里只是参数说明,保留吧" | 中文解释性括号默认清理——参数数值、量程单位、条件补充全部通过语言叙述替代,不得保留括号形式。只保留专业缩写英文全称括号;标准号和型号在正文中通过语言叙述引用(策略见 rewrite-guide.md §标准引用括号专项处理),表格内可保留括号 |
| "status.json 里 P0 还在,先润色" | AI 以为"证据有问题是审计的事,润色是文字的事,分开处理就行"。实际上 P0/P1 未清零说明正文中仍有不可靠的结论,润色只会让它们看起来更可信。必须先退回审计修复证据(validation mode 除外) |
| "这个结论的证据我帮它补上" | 不补写来源、数据、实验条件,缺证据移入缺口清单 |
| "润色就是压缩文字" | 保留数据口径、方法条件、指标含义和结论边界,不删必要信息 |
| "marker 里的题名太长,缩写一下" | 题名是 Zotero/.bib 文献匹配的唯一键——缩写一个词、改一个字符,bibliography 自动解析就匹配不上,参考文献列表会缺条目。不论题名多长,原文照录,不缩写、不询问用户 |
| "md 转 txt 写个脚本处理一下" | Markdown → 纯文本转换使用 academic-format-cleaner/scripts/check_format.py <file> --fix --format plain --output <file>,不自己写转换脚本 |
| "这段有很多参数,检测器应该不会判 AI" | 真实报告显示,参数密集但结论过圆、结构过整齐的段落仍会高风险 |
| "先按我的规则统一润色,报告只是参考" | 用户提供 AI 检测报告时,高风险片段优先级高于通用敏感词清单 |
处理中文工程论文的正文表达与通用中文标点。读取 .tex、.md、.txt 文件,以正文内容为目标——不触碰 LaTeX 命令、引用位置、标题层级或代码块格式,这些交给 academic-format-cleaner。
运行脚本需要 Python 3.7 或更高版本;Git 仅在需要查看差异时使用。
运行模式
根据用户输入来源自动判断入口模式,无需用户手动指定:
| 场景 | 判断依据 | 模式 |
|---|
| 用户粘贴文本到消息中(如"润色以下文本:……""处理这段文字:……") | 用户在消息中直接粘贴待润色文本 | 独立模式 |
| 用户指定论文文件或章节(如"润色 output/main-ch3.md""润色 §3.2") | 消息中引用文件路径或章节编号 | 工作流模式 |
独立模式:不检查 status.json,不读取审计报告,不写入产物文件。跳过步骤 1(读取上下文)的工作流检查部分,只执行核心润色:运行文本检查 → 按规则改写 → 标点专项 → 二次 AI 痕迹审计 → 输出。结果直接返回,不落盘。
工作流模式:遵循下方完整流程,包括门控检查、审计报告读取、备份、产物落盘和 chapters/chX/status.json 更新。若 .thesis-workflow/chapters/chX/status.json 不存在但用户要求润色论文文件,先提示用户完成上游阶段(审计),用户确认后方可继续。
无论使用哪种入口,humanizer 的默认完成状态都是”尽量降低 AI 检测风险”。改写时优先改变句式骨架、语序和连接方式,降低过度成熟、过度整齐、过度精炼的模型痕迹;可把非关键专业表达改成更普通的说法,允许适度口语化。默认保留并适当增加”的、了、把、这个、这样、前面算出来的、后面还需要”等普通承接词。数值、单位、型号、标准号、引用和核心技术关系仍需保留。
工作流模式下细分为三种子模式(由 workflow router 设定,详见 workflow §执行模式):
- Review-gated:所有确认点暂停,P0/P1 硬性阻断
- Preauthorized:跳过文件/格式询问,但细纲确认不跳过,P0/P1 仍阻塞
- Validation:P0/P1 可不为 0,产物写入 validation 目录
在 Thesis Workflow 中的位置
位于 reference-integrity-auditor 之后、academic-format-cleaner 之前。
推荐顺序:
thesis-outline-planner:规划总大纲和文献池。
evidence-grounded-chapter-writer:撰写带证据标记的章节初稿。
reference-integrity-auditor:检查无来源结论、source marker 和待补证据。
engineering-paper-humanizer:在证据可靠后润色正文,降低 AI 腔。
academic-format-cleaner:最后处理引用位置、LaTeX/Markdown 格式和命令保护。
若草稿仍存在 P0/P1 证据问题,先退回证据审计或章节写作,不要直接润色成更像定论的文字。
启动前先判断运行模式(见 §运行模式):
- 独立模式(用户粘贴了待润色文本)→ 跳过本节门控检查,直接进入步骤 2。
- 工作流模式(用户引用论文文件或章节)→ 检查
.thesis-workflow/chapters/chX/status.json(门控规则遵循 workflow §强制串行规则第5条):若 p0_count 或 p1_count > 0,或 next_allowed 不为 "humanizer"、"format-cleaner" 或 "next-chapter",拒绝继续并提示先运行 reference-integrity-auditor 并将 P0/P1 清零。若 next_allowed 为 "fix-evidence" 说明审计已发现问题但尚未修复,拒绝继续。若文件不存在,说明审计阶段未运行,提示用户先完成上游阶段,用户确认后方可继续。"format-cleaner" 和 "next-chapter" 状态允许润色以支持修改回环(见 workflow §修改回环)。Validation mode 下可忽略此门控。
处理范围
处理这些问题:
- AI 腔与模板化表达:如“具有重要意义”“应运而生”“值得注意的是”“综上所述”“广阔应用前景”等空泛套话。
- 普通论文语气:用具体工况、参数和基本说明替代空泛升华,但表达要像普通学生写出来,不追求过度专业。
- 通用中文标点:ASCII 直双引号、中英文引号混用、半边引号、破折号、异常 dash 和解释性括号。
- 中文化规则:清理无主语动作句、权威感套话、引导式开场、口号式尾部否定、碎片化标题和堆叠句。
- 文本级自检:运行
scripts/check_text.py 定位正文表达问题。
- 检测报告回灌:若用户提供 AI 检测报告,先提取总风险、分档比例和 80% 以上片段,再按报告高风险片段制定润色优先级。
- 普通学生稿效果:默认降低表达成熟度,使文本更像普通本科生按资料整理出的基础论文段落,而不是过度规范、过度精炼的模型稿。
不处理:LaTeX 命令、Markdown 格式结构、公式/代码环境内部内容、变量/数值/单位、缺来源结论——这些交给 format-cleaner 或 auditor。source marker 方括号及题名文字绝对不动,只改 marker 前后的连接词。
核心原则
- 意思保真优先:核心意思、参数和结论方向不变;表达可以普通、松一点,不追求精炼漂亮。
- 标点服务语义:引号只用于真实引用、特指术语、语义距离;破折号默认改成逗号、分号、句号或自然连接词;中文解释性括号默认拆进正文或删除。
- 公式数据保护:只改公式前后的说明文字,不改 LaTeX 数学环境、参数符号、单位、数值和计算结论。
- 证据边界保护:含
[待补来源: ...]、needs-source、P0/P1 的内容移出正文,放入证据缺口或台账。润色只处理已有来源支撑的正文。
- Source marker 保护:
[文献题名]、[Mxx]、[参考文献] 等方括号标记不动方括号、不动题名文字——不缩写、不翻译、不删减。只改 marker 前后的连接词和句式。
工作流程
1. 读取上下文
先判断运行模式(见 §运行模式):
-
独立模式:跳过本节,直接进入步骤 2。
-
工作流模式:执行以下检查。
判断文本类型和用户目标。若用户只要求格式修复,转用 academic-format-cleaner。若用户要求润色、降 AI 味或修复中文标点,继续本流程。
强制读取审计报告(工作流模式):启动时必须读取 .thesis-workflow/chapters/chX/audit.md(如存在),获取其中的两个手交清单:
可润色段落:这些段落可以正常改写润色。
禁止润色成定论的段落:这些段落含 P0/P1、缺数据或 unsupported claims,只做标点和连接词修正,不改变技术表述的确定性。不得将这些段落中的”可能””初步””待验证”等降级表述改为肯定语气。
如果 chapters/chX/audit.md 不存在但 status.json 存在且 P0/P1 已清零,可继续但需在输出中注明”审计报告缺失,润色边界由 humanizer 自行判断”。
如果用户要求直接修改论文主文件,修改前先通过 scripts/git_snapshot.py <主文件> 创建备份。修改完成后将本轮润色操作记录(变更清单,非全文副本)写入 .thesis-workflow/chapters/chX/humanized.md,最终润色后文本写入对应章主文件 main-chX.md / main-chX.txt / main-chX.tex。
文件产出规则遵循 workflow §输出与文件安全。本阶段产物为 .thesis-workflow/chapters/chX/humanized.md(润色操作记录,非全文副本)。
如用户提供了项目级上下文文件(ledger/ 目录),先读取 ledger/facts.md 和 ledger/decisions.md。
2. 运行文本检查
根据文件扩展名选择对应格式运行 check_text.py:
python <SKILL_DIR>/scripts/check_text.py <TARGET_FILE> --format markdown
python <SKILL_DIR>/scripts/check_text.py <TARGET_FILE> --format plain
python <SKILL_DIR>/scripts/check_text.py <TARGET_FILE>
统一使用 check_text.py 作为正文检查入口。
若用户同时提供 AI 检测报告,先阅读报告中的高风险与中风险片段,不要只看总百分比。优先处理以下真实报告中反复出现的风险模式:文献综述连续罗列、功能模块流水账、参数结论句过圆、安全规范口吻成串、结论按“第一、第二、第三”机械枚举、英文原文直译段落。报告片段与 check_text.py 诊断冲突时,以报告高风险片段为本轮改写重点。
3. 按规则改写
按 references/rewrite-guide.md 和 references/punctuation-guide.md 逐段处理:
- 删除章节预告、教程式开场、对话残留。
- 将“显著提升”“关键作用”等空泛判断换成具体指标;无指标时改成“有一定提高”“作用比较明显”等普通说法。
- 把“本质上”“核心在于”“真正的问题是”等伪洞察开头改为普通说明,如“这里主要是……”“这个地方的问题是……”。
- 对“完成了/实现了/进行了”这类无主语动作句补出主体或工况。
- 对“无需猜测”“无额外配置”等口号式尾巴改成完整机制说明。
为让流程结束后更接近可通过 AI 检测的状态,还需遵循:
- 不大幅改变原文总字数;优先调语序、补主语、换普通同义词,而不是新增大量内容。
- 降低过度精炼度;允许句子略显笨拙、重复一点,读起来像普通学生按资料整理出来。
- 长句可拆为短句,也可减少句号,多用逗号、分号承接,使语气没有那么整齐。
- 不要过度压缩名词短语;可以适当保留或增加“的、了、把、这个、这样、以后、前面算出来的”等普通连接和语助词。
- 专业词汇可以适度降俗;但参数名、标准号、元件型号、单位、引用和影响结论的核心术语不乱改。
- 删除”我觉得、我认为”等主观口语,但不要加入新的主观判断。
步骤3自检:逐段回读改写结果,确认——每段都实际改动了句式或语序(非仅复制原文)?AI 套话(”显著提升””具有重要意义”等)是否已清除?如果有段落只改了一两个词,返回重改。
4. 标点专项处理
引号:
- 中文正文外层用中文双引号,嵌套用中文单引号。
- 书名、论文名、标准名、法规名优先用书名号。
- 代码、命令、变量、路径、文件名用反引号或等宽命令,不用中文引号。
- 英文整句引用不要强行改成中文引号;LaTeX 中优先用 TeX 式引号或
\enquote{}。
- 单纯强调不要加引号。
破折号:
- 中文正文默认不用
——、—、–、--、---。
- 解释关系改为“即”“也就是说”或拆句。
- 补充插入改为逗号、分号或拆句,不要改成括号。
- 强转折改为分号或句号。
- 数字范围、页码范围、数学负号、复合术语、代码片段除外。
括号:
- 正文括号默认清理,尤其是“即、例如、如、检查……、说明……”这类解释性括号。
- 只保留非留不可的括号:专业缩写、英文全称、标准号、型号、必要参数或单位说明。
- 中文解释括号能并入正文就并入正文,不能并入且不影响核心意思时直接删除。
步骤4自检(硬性门控,不可跳过):
运行 check_text.py 并检查输出中以下规则 ID 的具体数量(不是"是否下降",是"是否为 0"):
- PUNCT-002(破折号):必须为 0(数字范围如
20–50、复合术语如 3-RPS 除外)
- PUNCT-007(解释性括号):必须为 0(纯英文缩写/全称、纯数字参数、标准号括号除外;含中文的括号一律清理)
- ASCII 直双引号
"...":必须为 0(英文整句引用除外)
以上三项任一非零 → 列出每条的具体行号和上下文,逐处修复,修复后重新运行 check_text.py 确认归零。三项未全部归零禁止进入步骤5。
修复循环上限:步骤 4 修复循环最多 2 轮。2 轮后仍未归零的项,记录具体行号和未解决原因到 humanized.md,标记为"人工审核"后进入步骤 5。
5. 二次 AI 痕迹审计
完成初稿后,做一次短审:
- 问自己:这段哪里还明显像 AI 生成?
- 列出剩余痕迹:节奏过整齐、术语堆叠、连接词过强、结尾太漂亮、句子太精炼、参数解释太硬。
- 再改一遍,直到文本读起来像普通学生按资料整理出的论文段落,而不是模型拼出的总结。
- 对照用户提供的检测报告复核:最高风险片段是否已经改变句式骨架,而不仅是替换同义词。
步骤5自检:再次运行 check_text.py,逐项确认:
- errors/warnings 总量是否比步骤2明显下降?无明显改善 → 返回步骤3-4重做
- AI 痕迹密度是否降低?
6. 输出
独立模式:返回改写后的文本,附简短改动说明。不写文件,不更新 status.json。
工作流模式:返回改写后的文本,并附简短说明。若用户给的是文件并要求直接修改文件,先备份、再修改文件,修改后运行 check_text.py 复查,并把本轮润色变更清单写入 .thesis-workflow/chapters/chX/humanized.md(非全文副本),最终润色后文本写入主文件。
humanized.md 最低记录要求(工作流模式):
- 每个高风险片段的原文首句 → 改文首句对照(至少标注段落位置)
- Source marker 完整性确认结论(是否所有
[文献题名] marker 保持原样)
check_text.py 复查的关键指标变化(errors/warnings 数量对比)
- 禁止只写"全文润色完成"这类无信息量的单句记录
润色完成后,更新 .thesis-workflow/chapters/chX/status.json:将 stage 设为 "humanized"、next_allowed 设为 "format-cleaner",放行下游格式清理阶段。
参考文件
| 文件 | 用途 |
|---|
scripts/check_text.py | 通用中文文本检查 |
scripts/text_rules.json | 文本规则数据 |
scripts/generate_dict.py | 生成文本规则速查表 |
scripts/git_snapshot.py | 智能备份脚本(修改主文件前创建备份) |
scripts/_shared.py | checker 和 dict 生成器共享工具函数 |
references/rewrite-guide.md | 中文工程论文改写规则 |
references/punctuation-guide.md | 引号和破折号专项规则 |
references/optional-checks.md | 可选质量评判 |
见 workflow router 参考文件 main-tex-context-template.md | 论文主文件结构地图模板;由 outline-planner 首次创建,humanizer 读取其中格式约定 |