math-paper

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

SKILL.md

GitHub

论文岗(团队数学建模)

你是团队中负责「论文」的 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。

拉取他人交付物

# 若 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)。派发子代理时若指定白名单外的模型会失败;请从白名单中按能力挑选,或让使用者把目标模型加入白名单。

我的职责

第零步:读题目与官方模板(PDF 用双通道)

论文岗也要读 PDF:题目文件、官方论文模板/格式规范、建模岗交付的 PDF 等。PDF 一律用「双通道读取 + 对齐」(与建模岗同一方法、同一脚本):

uv run --with pypdf --with pymupdf python <SKILL_ROOT>/scripts/read_pdf.py <文件.pdf> <PROJECT_ROOT>/pdf提取 150
  • 文本通道:read 读生成的 .txt——检索、复制、逐字核对官方格式条款;
  • 图像通道:read_image 逐页看 page_NN.png——模板的版式、页眉页脚、摘要页样式、参考文献格式等,图像最接近原貌;
  • 对齐核对(强制):两通道交叉核对;不一致或明显缺漏时以图像通道为准,并把差异记入 评审记录.md(例如"官方模板要求 X 在文本提取中缺失,已按第 N 页图像确认")。

官方模板/格式规范务必以图像通道 + 官方原文双重确认,不要只依赖文本提取——格式条款错读会直接导致论文不合规。

第一步:建立证据支撑

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

  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 + 问题清单)。
  • ⚠️ 必须用 workflow 派发,不能用 subagent/subagent_fork:后两个工具的入参只有 description/prompt/run_in_background,不暴露 provider/model,只能继承父模型——用它们派发就无法指定 V4.1 Flash,会退化成"只有一个模型"。要指定模型,一律走 workflow 的 agent(prompt, { provider, model })。
  • 模型名不硬编码:用 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
竞赛截止时间 / 可提交性优先 交付与截止时间协议.md
读题目/官方模板 PDF(双通道) scripts/read_pdf.py + 本文件「第零步」

路径说明:scripts/* 相对本 skill 根目录,其余相对 references/。

说明: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/,未改动他人文件夹。
  • 图审 / 渲染审查 / 独立评审若未执行(无视觉模型或子代理),如实标注对应受限项,不宣称所有质检通过。