---
name: deai
version: 1.0.0
description: |
  润色师：10维AI痕迹检测与自然化改写。迭代修复直到达标。
  触发词："降重"、"去AI味"、"润色"、"deai"、"AI痕迹"。
allowed-tools:
  - Read
  - Edit
  - Write
  - Bash
  - Grep
  - Glob
  - Agent
  - AskUserQuestion
---

# /deai — 润色师

## 设计哲学

> 好的中文学术论文读起来像一个人在认真讲一件事，内容铺开、论证扎实、一气呵成。
> 而不是一个 AI 在列提纲、贴标签、堆括号。
>
> 润色的目标不是"换个说法"，而是让每一段读起来像作者亲手写的——
> 有自己的思考节奏，有对读者的体贴，有对技术的真正理解。

---

## Step 0：加载配置

```bash
# 论文修改小组 — 配置加载
CONFIG=""
for candidate in ".thesis/config.json" "../.thesis/config.json" "../../.thesis/config.json"; do
  if [ -f "$candidate" ]; then
    CONFIG="$(cd "$(dirname "$candidate")" && pwd)/$(basename "$candidate")"
    break
  fi
done

if [ -z "$CONFIG" ]; then
  echo "ERROR: 未找到 .thesis/config.json"
  echo "请先运行 /thesis-init 初始化论文项目"
  exit 1
fi

echo "CONFIG: $CONFIG"
THESIS_DIR=$(python3 -c "import json; print(json.load(open('$CONFIG'))['thesis_dir'])")
CHAPTERS_DIR=$(python3 -c "import json; print(json.load(open('$CONFIG'))['chapters_dir'])")
BUILD_CMD=$(python3 -c "import json; print(json.load(open('$CONFIG'))['build_command'])")
WORKSPACE=$(python3 -c "import json; print(json.load(open('$CONFIG'))['workspace_dir'])")
echo "THESIS_DIR: $THESIS_DIR"
echo "CHAPTERS_DIR: $CHAPTERS_DIR"
echo "WORKSPACE: $WORKSPACE"
```

如果 preamble 输出 ERROR，立即停止并提示用户运行 /thesis-init。

---

## Step 0.5：确定目标

使用 AskUserQuestion 确认：

1. 目标章节（c1-c6，或"全文"）
2. 质检档位：
  - **Quick**：只查维度 1-4（高频AI词）
  - **Standard**：查维度 1-6（+ 结构性问题）
  - **Exhaustive**：查全部 8 维（+ 段落间交叉检测）

默认推荐 Standard。

---

## Step 1：读取目标章节

从 `$CHAPTERS_DIR` 读取指定的 tex 文件全文。统计基础指标：

- 总行数、总段落数
- `\xsection` 数量、`\xsubsection` 数量
- `\begin{equation}` 数量
- `\begin{itemize}` / `\begin{enumerate}` 数量

---

## Step 2：8 维 AI 痕迹扫描

对目标章节逐段扫描，按以下 8 个维度检测。每检测到一处，记录：维度编号、行号、原文片段、问题描述。

### 维度 1：程式化衔接词

**高频词表**：

- 过渡类：首先、其次、再次、最后、此外、另外、与此同时、在此基础上
- 总结类：综上所述、综上、由此可见、不难发现、显而易见
- 强调类：值得注意的是、需要指出的是、特别地、尤其是

**阈值**：同一 `\xsubsection` 内出现 ≥3 个不同的高频词 → 标记

**改写原则**：删除衔接词，用句子间的因果、转折、递进等逻辑关系本身来衔接。不是把"首先"换成"第一"，而是让内容的逻辑自然推进。

### 维度 2：句式骨架重复

**检测方法**：提取每段的主干结构（主语+谓语+宾语模式），检查连续 3 段内是否出现相同骨架 ≥2 次。

**典型重复模式**：

- "本文提出了 X，用于解决 Y"（连续多段）
- "X 呈现出 N 个特点：第一…第二…第三…"
- "为了解决 X 问题，本文设计了 Y 方法"

**改写原则**：变换叙述视角。同样是介绍方法，可以从"问题出发"、从"现象出发"、从"对比出发"，不必每段都从"本文提出"出发。

### 维度 3：模板化总结句

**模式库**：

- "本节/本章证明了…显著优于…"
- "实验结果表明…具有显著优势"
- "得到了充分的验证/证实"
- "从根本上解决了…问题"
- "为…奠定了坚实基础"
- "取得了一定的成果"
- "系统地开展了…工作"

**改写原则**：用具体数字和事实替代空洞总结。"实验证明本方法显著优于基线" → "在任务A上指标提升 X%，在任务B上提升 Y%"。

### 维度 4：空洞修饰词

**词表**：显著地、有效地、充分地、系统地、深入地、全面地、创新性地、合理地

**检测条件**：修饰词后面没有跟具体数据或证据 → 标记

**改写原则**：要么删掉修饰词（"有效地提升了性能" → "提升了性能"），要么补上具体数据（"显著提升" → "提升 16%"）。

### 维度 5：机械化段落开头

**检测**：连续 2 段以上用相同模式开头。

**高频开头模式**：

- "具体而言，…"
- "从 X 角度来看，…"
- "在此基础上，…"
- "针对…问题，本文/本章提出…"
- "为了解决…，我们设计了…"

**改写原则**：每段开头应该有变化。可以从现象切入、从数据切入、从对比切入、从问题切入，而不是每段都从"本文提出"切入。

### 维度 6：AI 套话收尾

**模式库**：

- "存在深化空间 / 进一步优化的空间"
- "为后续研究奠定了基础 / 提供了新思路"
- "具有重要的理论意义和实际应用价值"
- "分工明确，共同驱动/推动…"
- "以上内容共同构成了…的理论支撑"

**改写原则**：收尾要具体。说清楚"具体哪个问题还没解决"、"具体下一步要做什么实验"，而不是用万金油套话收束。

### 维度 7：括号注释堆砌

**核心原则**：只有本文提出的核心算法/方法需要在首次出现时标注英文全称，其他术语不需要括号注释。

**需要标注全称的（仅限首次出现）**：

- 本文提出的核心算法和方法（通过 /thesis-init 或 /terminology 配置）

**不需要标注全称的**：其他所有非核心术语。领域内通用概念和标准算法——读者要么已知，要么看英文标题即可理解，不需要在正文中用括号注释英文全称。直接写中文名或缩写即可。

**检测规则**：

1. 同一段内出现 ≥2 个"中文（English Full Name, ABBR）"格式的括号注释 → 标记
2. 非核心术语出现括号英文注释 → 标记为"非必要括注"
3. 核心算法的缩写在首次定义后再次出现括号注释 → 标记为"重复括注"

**改写原则**：

- 核心算法：首次出现保留"中文全称（English Full Name, ABBR）"，后续直接用缩写
- 非核心术语：删除括号英文注释，只保留中文名或缩写
- 例："中心化训练分布式执行（Centralized Training with Decentralized Execution, CTDE）" → 直接写"CTDE"或"中心化训练分布式执行"

### 维度 8：小标题碎片化

**检测**：连续出现的 `\xsubsection` 或 `\textbf{(N)}` 小标题，每个标题下正文不足 15 行（约半页）。

**问题本质**：把本该用段落展开论述的内容切成碎片，每块贴个标题就算交代了，显得单薄、取巧。

**好的状态**：一个 section 下铺开写 2-3 页连贯叙述，读者感受到的是"这个人真的想清楚了，从头到尾讲给你听"，而不是"列了个提纲，每条写两句就下一条"。

**修复策略**：

1. 相邻的短小节（各 <15 行）合并为一个节
2. 去掉子标题，用段落内的逻辑衔接
3. 合并后每段充实到 4-7 句

**验收**：同一 section 下不出现连续 3 个以上 <15 行的子标题。

### 维度 9：标题中英混杂

**检测**：`\xsection` 或 `\xsubsection` 的第一个参数（中文标题）中包含英文单词、英文缩写或英文括号注释。

**典型模式**：

- `\xsection{你的方法名 (ABBR) 机制}` — 括号内夹英文缩写
- `\xsubsection{子模块名 (English Name)}` — 括号内夹完整英文名
- `\xsubsection{Soft Actor-Critic (SAC) 算法原理}` — 开头就是英文

**规则**：中文标题必须是纯中文。英文名称放在第二个参数（英文标题）里，不要混进第一个参数。本文核心方法的缩写如果已经在正文中定义过，标题中也不需要出现。

**改写原则**：

- `{你的方法名 (ABBR) 机制}` → `{你的方法名机制}`
- `{Soft Actor-Critic (SAC) 算法原理}` → `{SAC算法原理}` 或 `{最大熵强化学习算法原理}`
- 极短的通用缩写（SAC、MDP）在标题中可保留，但不加括号注释

### 维度 10：正文伪标题（黑体标签）

**检测**：正文段落中使用 `\textbf{xxx。}` 或 `\textbf{xxx：}` 格式充当伪小标题。

**典型模式**：

- `\textbf{重要性目标。}将权重学习重构为…`
- `\textbf{稳定性约束。}尽管监督式回归…`
- `\textbf{关键实现细节。}本小节说明…`

**问题本质**：这些黑体文字在视觉上像标题但不在目录中，读者会困惑"这到底是标题还是正文"。它们通常是 AI 生成时用来组织思路的标签，写进正文后显得膈应。

**排除**：表格中的 `\textbf{}`（表头加粗、最优值加粗）不算伪标题，不需要处理。

**修复策略**：

- 删除 `\textbf{}` 标记
- 如果伪标题有引导作用，改为普通文字融入段首："在重要性目标的定义上，…"
- 如果伪标题的内容在后文已体现，直接删除

---

## Step 3：生成扫描报告

输出格式：

```
AI 痕迹扫描报告 — c4.tex
══════════════════════════════════════
AI 痕迹分数：6.5/10（10=严重，0=无痕迹）
扫描档位：Standard（维度 1-6）
──────────────────────────────────────
检测到 N 处问题：

[维度1] 行 42: "首先…其次…最后…" 三连
  → 建议：删除序数词，用因果逻辑自然推进

[维度3] 行 128: "实验结果表明本方法显著优于基线方法"
  → 建议：改为具体数字 "在任务A上提升 X%"

[维度8] 行 200-250: §4.1 下三个子节各仅 12 行
  → 建议：合并为一个节，铺开叙述
──────────────────────────────────────
```

---

## Step 4：分类与确认

将所有检测结果分为两类：

- **AUTO-FIX**：机械性替换，无需判断
  - 删除重复的括号注释（维度 7）
  - 删除明确的空洞修饰词（维度 4 中无数据支撑的"显著地"等）
  - 删除"综上所述"等纯过渡废话（维度 1 中的总结类）
- **ASK**：需要作者判断的改写
  - 段落重写（维度 2/5/6）
  - 小标题合并（维度 8）
  - 涉及内容调整的总结句改写（维度 3）

对 AUTO-FIX 项直接执行。对 ASK 项，使用 AskUserQuestion 批量展示，每项给出原文和改写建议，让作者选择 A) 按建议改 / B) 跳过。

---

## Step 5：执行改写

对作者确认的每一处：

1. 读取原文上下文（前后各 5 行）
2. 生成改写文本，遵循以下原则：
  - 保持学术严谨性，不降低专业度
  - 保留所有技术事实和数据
  - 不改 `\label{}`、`\ref{}`、`\cite{}`、`\begin{}`、`\end{}` 等 LaTeX 命令
  - 不一次性替换超过 30 行——拆成多次 Edit
  - 每改一处立刻写入文件
3. 每条改写遵循"中文论文好段落"标准：
  - 每段 4-7 句，聚焦一个论点
  - "现象 → 解释 → 结论"自然收束
  - 技术叙述顺序：问题 → 方案（先说为什么需要，再说怎么设计）
  - 实验分析：指标 → 原因 → 佐证 → 影响

---

## Step 6：重新扫描验证

改写完成后，对修改过的段落重新执行 Step 2 扫描。

- 如果分数下降 ≥2 分 → 改写有效，继续
- 如果分数下降 <2 分 → 部分改写可能引入新的模式化表达，需要二次调整

**迭代上限**：最多 3 轮。3 轮后仍不达标 → 输出当前状态，建议作者人工审阅剩余项。

---

## Step 7：输出改写报告

```
降重完成 — c4.tex
══════════════════════════════════════
AI 痕迹分数：6.5 → 3.2（下降 3.3）
──────────────────────────────────────
AUTO-FIX：N 处（括号注释删除 X 处，空洞修饰词 Y 处）
作者确认改写：M 处
跳过：K 处
迭代轮数：2
──────────────────────────────────────
改动文件：$CHAPTERS_DIR/c4.tex
改动行数：约 XX 行
══════════════════════════════════════
```

---

## 改写参考标准

### 好的中文学术段落长什么样

**结构**：每段 4-7 句，一个完整论点。

**节奏**：不是"定义→公式→解释"的三段式循环，而是有起伏的叙述——
先说一个你观察到的现象，再解释背后的机制，然后用数据佐证，最后点明这意味着什么。

**衔接**：段与段之间靠内容的逻辑关系衔接，不靠"首先/其次/最后"的序号词。
上一段的结论自然引出下一段的问题，读者感觉是"顺着读下来的"，而不是"跳到下一条了"。

**公式后的解释**：每个关键公式后面至少说清两层：

1. 这个公式在数学上做了什么（形式层）
2. 这对实际效果意味着什么（直觉层）

**实验分析**：不是"A 比 B 高了 X%"就完了，而是：

1. 报数字（A 在任务 T 上得分 Y，比 B 高 X%）
2. 解释为什么（因为 A 的某个机制在 T 的某个特性下起了作用）
3. 给佐证（消融实验/可视化/其他任务的对比印证）
4. 说影响（这说明我们的设计假设是正确的 / 这个场景下还有局限）

### 高频替换对照表


| 需要替换           | 替换方式                          |
| -------------- | ----------------------------- |
| 存在深化空间         | 存在两个不足 / 直接说不足是什么             |
| 呈现出 X 个特点/方面   | 直接陈述那些特点                      |
| 值得注意的是         | 删除，直接说内容                      |
| 综上所述           | 删除，或换为具体总结                    |
| 不难发现           | 删除，直接说结论                      |
| 由此可见           | 改为具体的因果表达                     |
| X 个维度          | 说清楚具体是哪几个                     |
| 损失地形           | 损失函数的变化趋势                     |
| 本文提出了 X，用于解决 Y | 为了解决 Y，我们设计了 X / 直接描述 X 的工作机制 |
| 分工明确，共同…       | 说具体分工内容                       |
| 得到了充分的验证       | 实验证明…（具体数字）                   |
| 取得了一定的成果       | 删除，直接说成果                      |
| 系统地开展了         | 删除，直接说做了什么                    |
| 从根本上解决了        | 显著缓解了 / 在实验范围内验证了             |


---

## 安全红线

- ❌ 不改 `\label{}`、`\ref{}`、`\caption{}`、`\cite{}` 内部标识符
- ❌ 不删实验数据（表格数值、图文件名）
- ❌ 不改公式内容（`\begin{equation}` 内部）
- ❌ 不一次性替换超过 30 行
- ✅ 每改一处立刻 Edit 写入
- ✅ 改写后保持原段落的技术含义不变

---

## 收尾协议（完成后必须执行）

每次 skill 执行完毕后，无论结果如何，必须执行以下四步：

**0. 编译验证（修改 tex 文件后必须执行）**

- 进入论文工程目录：`cd "$THESIS_DIR"`
- 执行编译：`$BUILD_CMD`
- 检查编译结果：0 errors = 通过，有 error = 立即定位修复
- 记录编译状态到进度文件

**2. 更新问题清单 `$WORKSPACE/issues.md`**

- 本次发现的新问题：追加到"待处理"区，格式为 `- [ ] **编号** 位置 — 问题描述 → 建议skill`
- 本次解决的问题：从"待处理"移到"已解决"，标注完成时间
- 未变化的问题：不动

**3. 更新进度文件 `$WORKSPACE/progress.md`**

- 在"完成记录"区追加一行：`- YYYY-MM-DD HH:MM /skill名 — 执行摘要（N项修改/N个问题）`
- 如果任务看板中有对应任务项，更新其状态（勾选 `[x]`）

**4. 保存报告（如有输出）**

- 报告保存到 `$WORKSPACE/reports/` 目录
- 文件名格式：`YYYYMMDD-skill名-目标.md`（如 `20260322-review-chapter-c4.md`）

---

## Completion Status

- **DONE** — 所有检测项已处理，AI 痕迹分数下降达标
- **DONE_WITH_CONCERNS** — 完成但部分项作者选择跳过，分数未达理想值
- **BLOCKED** — 目标文件不存在或无法读取
- **NEEDS_CONTEXT** — 需要作者确认改写方案

