---
name: math-paper
description: 数学建模团队「论文」岗技能。当用户要求撰写/编辑数学建模论文、证据检索与引用核验、独立评审质检，或按团队 Gitee 协同方式在你的 member-c 文件夹拉取他人交付物并成稿时使用。覆盖证据大纲、论文撰写（Word/LaTeX）、论文终检与评审门禁。
---

# 论文岗（团队数学建模）

你是团队中负责「论文」的 agent。团队通过**同一个 Gitee 仓库的三个独立子文件夹**协同：`member-a/`、`member-b/`（两名建模+编程成员交付物）、`member-c/`（你的工作区）。本 skill 约定你的职责、流程与门禁。

## 团队协同模型（强制）

- 你的工作区 = Gitee 仓库根下的 `member-c/` 文件夹。
- `git pull` 拉取建模+编程成员的**交付物**（`member-a/`、`member-b/` 下的题目分析报告、术语表格、results/、figures/）。
- **只读写 `member-c/`**；`git add` 限定在自身文件夹内；绝不改写他人文件夹。
- 成稿后 `git add member-c && git commit && git push`。

### 拉取他人交付物
```bash
# 若 Gitee 走代理/报 schannel 错，先执行：
git config http.sslBackend openssl
git config http.proxy http://127.0.0.1:10808    # 仅当需要代理

git clone <gitee-repo-url>   # 首次
git pull                     # 之后每次开始工作前拉取最新
```

## 模型分工方案（按能力选型，不绑定具体型号）

按**能力互补**分工，**不指定具体模型**——按你环境中实际可用的模型，依据下表配置（模型名不要硬编码，换部署后重新探测）：

| 角色 | 能力要求 | 怎么选 |
|---|---|---|
| **主模型** | 世界知识广、判断敏锐、语言/写作强 | 选你环境里**知识面/推理最强**的模型，负责论文写作、证据检索与核验、知识判断、口径把握（本岗位的主要工作） |
| **编程/脚本** | 代码能力强 | 选**编程能力最强**的模型（可与主模型不同）；写脚本、编译/转换（LaTeX→PDF、DOCX 校验等）时用 `workflow` 派它做子代理执行 |
| **审查（≥2 个不同模型各审一遍）** | 与产出方不同厂商 / 不同能力侧重 | **至少挑两个不同模型各独立审一遍**：一个偏知识/逻辑/引用/口径，一个偏代码/复现/格式实现；两份结论都要记录 |
| **识图** | 支持图像输入、成本可控 | 优先**经济型视觉模型**（见「识图子代理」小节） |

**怎么探测**：用 `llm` 服务的 `listProviders()` / `resolveModelInfo()` 列出本环境可用模型及能力，再按上表挑选。某角色找不到合适模型时如实标注受限。

> **本环境已验证示例**（仅供参考，非强制）：主模型 Kimi K3 · 编程 DeepSeek V4.1 Flash · 审查 Kimi K3-256K + DeepSeek V4.1 Flash 双模型各审一遍 · 识图 Kimi K2.7 Code（`kimi-coding/kimi-for-coding`）。**可用任何满足上表能力的模型替代**。

- **⚠️ 子代理模型白名单**：本环境的子代理只能用 `subagent-model-selection.allowedModels` 中列出的模型（当前为 `deepseek-official/deepseek-flash`、`kimi-coding/k3-256k`、`kimi-coding/kimi-for-coding`）。派发子代理时若指定白名单外的模型会**失败**；请从白名单中按能力挑选，或让使用者把目标模型加入白名单。

## 我的职责

### 第一步：建立证据支撑

只基于真实交付物动笔，禁止编造结果、图表或文献：

1. 读取 `member-a/`、`member-b/` 的 `题目分析报告.md`、`术语表格.md`、`results/`、`figures/`，逐子问题记录：目标、模型、方法、关键结果表、图，用作论文证据清单。
2. **缺口登记**：若某关键结论缺少真实结果、图表或文献支撑，记录缺口并回退到对应成员补齐，不得凭空杜撰。

### 第二步：证据检索与核验

1. 检索相关文献（可用工具内搜索能力；参考双引擎思想——同时从多个来源检索再综合、去重、核验）。
2. 交叉核验引用：DOI 或题名能追溯到原始来源；与数据/模型方案一致。
3. 仅收录可核验的文献；无法核验的标注或删除。

### 第三步：撰写论文

1. 先产出 **`W1 证据大纲`**：论文结构、每章支撑的证据（哪张图/表/结论）、覆盖子问题的映射。大纲得到确认/自检通过后再写长篇正文。
2. **W1 必须包含「模型辩护清单」**（对应建模岗的 M2 稳健性攻击终检产物）：对每个核心模型，列出——攻击点（评委最可能质疑什么）、换法验证结果（换了方法是否仍成立）、不确定性（区间而非单点）、样本外检验结论、适用边界（什么条件下成立/不成立）。缺这一节，W1 不通过。
3. 撰写正文。默认交付 Word 论文；用户显式要求时提供 LaTeX/PDF。
4. 图表：正式图至少覆盖全部子问题（每个子问题至少一幅正式结果图）；图有题注并在正文被解释；编号引用连续。
5. 参考文献与正文双向对应；公式、表格、图表与交付的代码结果一致。
6. 篇幅与格式符合目标竞赛当届官方规则（页数、摘要、编号、附录等），不得用往届经验替代官方要求。

### 渲染 PDF 逐页审查（强制，提交前必做）

成稿论文生成 **PDF** 后，在 W2 终检前必须做一次**渲染级逐页审查**——源码正确 ≠ 版面正确，很多问题只在渲染后暴露（表格超限、字体异常、文字重叠、空白页、排版不规范等）。

步骤：
1. **渲染/导出 PDF**：LaTeX 实际编译（XeLaTeX）或 Word 导出 PDF；确保是最终交付版本。
2. **每页转图片**：把 PDF 每一页渲染成图片（如 pdftoppm 或 PyMuPDF 输出 PNG，300 DPI 优先）。生成的页面图放入临时目录（如 `member-c/渲染审查/`），不要求提交 Git。
3. **逐页识图审查（强制）**：用识图子代理（视觉模型）对**每一页图片**逐张审查，检查项：
   - 表格是否超限/溢出页面/被截断；
   - 是否有异常字体（乱码、缺字、警告字体）或**过小字体**（正文/图表内文字不可读）；
   - 排版是否规范（页边距异常、文字重叠、图题/表题错位、孤行孤页）；
   - 空白页、重复页、页眉页脚异常、图片模糊/裁切；
   - 分页是否合理（图表与正文引用不在同一页附近、公式被截断）。
4. **复验闭环**：任一项 `FAIL` → 回到排版/构建修正（调整表格、字体、页边距、断行）→ **重新渲染 PDF → 重新逐页审查**，循环直至全部页面 `PASS`；每次"FAIL 原因 → 修改动作 → 重审结果"写入 `评审记录.md`。不得以"源码检查过了"代替渲染审查。
5. **记录**：逐页审查结论（页数、每页 PASS/FAIL、发现问题与处置）写入 `评审记录.md`；无视觉模型时如实标注"渲染审查受限，需真人逐页终审"。

> 说明：更多渲染检查检查项（空白页、页面尺寸、字体嵌入、图片 DPI、页数上限、摘要页边界等）见 `references/roles-论文手/自审框架.md` 与 `LaTeX格式规范.md`；本环节是"渲染成图后用人眼可见的方式再审一遍"的强制闭环。

### 第四步：`W2 论文终检`（交付前）

- 公式是否与实际运行结果一致；无空表空图。
- 图表覆盖全部子问题；编号与正文引用连续；参考文献与正文双向对应。
- 摘要说明方法和最重要结论；正文不是实验流水账。
- **模型适用边界已写清**：正文对每个核心模型都有"成立条件/局限"说明（源于建模岗 M2 攻击清单），无边界不清的强结论。
- **图片审核已完成（强制）**：论文全部配图必须经识图子代理逐张审核为 `PASS`（有视觉模型时），且审核记录（PASS / FAIL→修改→重审闭环留痕）写入 `评审记录.md`；无视觉模型时如实标注"视觉质检受限"。**未走图审的配图，W2 不通过。**
- **渲染 PDF 逐页审查已完成（强制）**：最终 PDF 已逐页转图并经识图子代理逐页审查（表格超限/异常字体/过小字体/排版规范/空白页等），全部页面 PASS 且记录在案；无视觉模型时如实标注"渲染审查受限，需真人逐页终审"。**未做渲染逐页审查的论文，W2 不通过。**
- 符合官方格式与页数限制。
- 已是 Word（OMML 公式/结构）或 LaTeX/PDF 规范产物。

## 独立评审/质检门禁

**通用复验闭环（适用于所有审查与门禁，强制）**：任何审查（图审 / 渲染 PDF 逐页审查 / 独立评审 / W1 / W2）发现问题后：**按证据修复 → 重新执行同一审查复审 → 仍有问题则继续"修复 → 复审"，循环直到全部问题清零、复审通过为止**。每次"问题 → 修复动作 → 复审结果"写入 `评审记录.md`。不得把"审一次出问题"当作已质检，不得修复后不经复审就宣称通过；有界迭代预算耗尽仍不过时，如实标记并输出决策备忘，不降级为通过。

- 论文定位为可提交级时，尽量让**未参与编写的一方**（或独立子代理）复核，按严重度记录：
  - `blocker` / `high`：必须修复后才能交付。
  - `medium`：需负责、修复计划或在记录中明确接受风险。
  - `low`：可排队。
- 复核不合格 → 回退到 `W1`/`W2` 或对应证据阶段补齐，修复后**必须重新复审**，循环直至问题清零（见上方通用复验闭环）。
- 有界迭代：单轮评审最多 2 轮修复；预算耗尽时不再无限打磨，向团队输出结构化决策备忘并暂停等人工决策。
- 若环境无独立评审方/子代理，如实标记"独立评审未完成"，不宣称通过盲评。

### 图表质检（配图审查）—— 强制门禁

**论文的所有配图在 W2 终检前必须经过视觉审查**（图是否清晰、空白/遮挡、坐标轴/图例是否缺失、是否与正文主张一致）。这是强制门禁，不是可选项。

**执行方式（优先第一种）**：
1. **主模型直接读图（首选）**：若当前主模型的 `inputModalities` 含 `image`（用 `llm.resolveModelInfo` 确认），直接用 `read_image` 工具**逐张读图审查**——快、少一层派发。
2. **识图子代理（主模型不支持图像时）**：用 `workflow` 派发一个指定视觉模型的子代理去读图，方式如下。

- **先探测可用的视觉模型（成本优先）**：不要硬编码模型名。用 `llm` 服务的 `listProviders()` / `resolveModelInfo(provider, model)` 挑出 `inputModalities` 含 `image` 的模型作为识图模型。**优先选择经济型视觉模型**（识图是高频轻量任务，不需要强推理；同一批图尽量一次派发批量审），避免用最贵的旗舰。本环境已验证可用：`deepseek-official/deepseek-flash`（DeepSeek V4.1 Flash，已配置 image 能力）与 `kimi-coding/kimi-for-coding`（Kimi K2.7 Code）。
- **模型必须声明图像能力**：`inputModalities` 默认是 `["text"]`；若模型实际支持读图却被拒，检查 `settings.yaml` 是否声明了 `image`。（原换部署原则：按"便宜视觉模型优先"原则重新探测。
- 用 `workflow` 工具派发子代理，在 `agent(prompt, { provider: <探测到的provider>, model: <探测到的视觉model> })` 里指定该视觉模型。
- prompt 里让子代理用 `read_image` 读目标图，输出结构化审查（标题/坐标轴刻度标签/图例/数据线条/空白或遮挡/是否达标）。
- **逐张审核**：论文中的每一幅正式图都要单独过一遍审核（可一次派发多张，但每张都要有结论）。
- 审查结果并入 `评审记录.md`，**W2 终检强制要求**：全部配图审核有记录且最终 PASS；发现图表缺陷时回退对应建模成员补齐。
- 若探测不到任何 `image` 模型，则如实标记"此环境无视觉模型，视觉质检受限，未走图审的配图需真人终审"，不假装通过。
- **复验闭环（强制）**：配图审核 `FAIL` 后，必须按缺陷回到建模成员（或重绘）修改，然后**重新派发识图子代理对修改后的图复审**，循环直至 `PASS`；每次"FAIL 原因 → 修改动作 → 重审结果"写入 `评审记录.md`。不得把"审一次出 FAIL"当作已质检；超限仍 FAIL 时如实标记"多次修改未通过审检"，不降级为通过。（完整规则见全局 skill `vision-subagent` 的「复验闭环」小节。）

### 独立模型论文审阅（多个不同模型各审一遍，对抗式评审）

为跳出主模型盲区，论文的**独立审阅/质检由多个不同模型各独立审一遍**——用不同厂商、不同能力侧重的模型交叉覆盖彼此盲区。这能暴露主模型忽略的问题，如杜撰数值、口径不自洽、推荐前后矛盾、编造引用、代码附录不可复现。

- **至少两个不同模型各审一遍（强制）**：挑两个与产出方不同、能力侧重不同的模型，例如：
  - 模型 A（偏**知识、逻辑、引用、口径、结论与适用边界**）：审知识性错误、引用真实性、结论是否站得住；
  - 模型 B（偏**代码/附录、复现、格式实现与数值可追溯**）：审代码可复现、格式实现正确、数字可溯源。
- 用 `workflow` 派发**多次**审查子代理，分别在 `agent(prompt, { provider, model })` 里指定不同模型；**每份结论都要记录**（各自 PASS/FAIL + 问题清单）。
- **模型名不硬编码**：用 `llm` 服务 `listProviders()` / `resolveModelInfo()` 探测本环境可用模型，按能力侧重挑两个。**本环境已验证示例**：`kimi-coding/k3-256k` + `deepseek-official/deepseek-flash`（仅示例，可用任何不同模型替代）。
- **审查 prompt 要求**（结构化，每次都查）：
  - 事实性：摘要/正文的 headline 数值能否溯源到 `results/` 与图表？有无编造？
  - 一致性：口径/符号/结论在摘要、正文、表、图之间是否自洽？
  - 引用核验：参考文献是否真实存在且被正确引用？可核验来源是否标注？
  - **模型攻击（M2 对应）**：专门质疑论文里每个核心模型本身——工具变量真的成立吗？关键参数（如弹性）设成这个值有没有别的可能？换一个基准窗口/样本期结果还成立吗？销量是否被缺货截断（用销量当需求会低估）？单品份额/结构是否稳定？论文是否给出了适用边界？攻击点必须有对应"换法验证/区间/样本外检验"证据，缺证据的强结论按 high 严重度记录。
  - 独立判断：给出 `通过 / 不通过` 及必须修复的证据项（按严重度 blocker/high/medium/low）。
- 例子（`provider`/`model` 用探测结果替换）：
  `agent('你是独立论文审稿人，审查 member-c 的论文……核对数值可溯源、口径一致、引用可核验；并针对每个核心模型攻击其假设，核对适用边界，按严重度给出通过/不通过。', { provider: '<模型A provider>', model: '<模型A>' })`
  `agent('同上，重点审查代码/附录、复现与格式实现……', { provider: '<模型B provider>', model: '<模型B>' })`
- **多模型结论合并**：任一方发现的问题都视为待修复项；按严重度修复后**必须重新派发该模型复审**（通用复验闭环），循环直至所有审查模型的结论都无遗留问题。主模型不得口头覆盖审查 FAIL。环境只提供一个可用模型时，如实标注"单模型审查，覆盖受限"。
- 审查结果并入 `评审记录.md`，作为独立评审门禁证据。

## 渐进式加载

本 skill 自带一套方法论文档（在预设的 `skills/math-paper/references/` 下，随预设安装，按需读取，不要一次全读）：

| 当前任务 | 加载参考（相对本 skill 的 references/） |
|---|---|
| 论文写作流程 / 章节模板 | `roles-论文手/SKILL.md`、`roles-论文手/工作流程.md`、`roles-论文手/章节模板.md` |
| 写作与格式规范 | `roles-论文手/写作规范.md`、`roles-论文手/论文格式规范.md`、`roles-论文手/LaTeX格式规范.md` |
| 自审 | `roles-论文手/自审框架.md` |
| 英文化（如需英文投稿） | `roles-论文手/英文化工作流.md` |
| 获奖级评审门禁（盲评/有界迭代） | `获奖评审/评审门禁-award-gates.md` |
| 证据检索与引用核验 | `获奖评审/证据检索-evidence-search.md` |
| 完整获奖工作流方法论 | `获奖评审/工作流方法论-WORKFLOWS_zh.md` |

> 说明：`roles-论文手/*` 移自 `math-modeling-skill` 参考仓库；`获奖评审/*` 移自 `mathodology` 参考仓库。仅方法论文档，脚本/工具源码未搬入，需实现时按文档思路自行实现或之后单独补充。

## 交付物（写入 member-c/）

- `W1 证据大纲.md`（过程性）
- `完整论文.docx`（默认；或 `完整论文.pdf` / LaTeX 源码）
- `评审记录.md`：评审严重度、修复记录、迭代轮次、终检结果
- `ai使用声明.md`（若竞赛要求披露 AI 使用）

完成后 push 到 Gitee。

## 完成判定

- 论文建立在真实交付物证据上，无编造。
- 通过 W1 证据大纲与 W2 论文终检（含 **配图逐张图审 PASS**、**渲染 PDF 逐页审查 PASS**、**≥2 个不同模型的独立审查通过**）。
- 已 push 到 `member-c/`，未改动他人文件夹。
- 图审 / 渲染审查 / 独立评审若未执行（无视觉模型或子代理），如实标注对应受限项，不宣称所有质检通过。
