| name | quality-assurance-auditor |
| description | 强制审计论文生成质量,防止模型偷换、逻辑断链、内容空洞。Invoke when 用户提出检查/审计/验收/确保/verify/QA,或合并前需要把关。 |
质量审计员(Quality Assurance Auditor)
目标
- 在论文生成的每一个关键节点插入“强制验收点”,只有审计通过才能进入下一步,防止“字数达标但逻辑错误”或“模型偷换”等隐性偷懒。
- 提供可量化的通过/失败判定,并给出具体修改清单,确保最终论文既“厚”又“对”。
适用时机
- 任何一步 skill(赛题解析、模型选型、结构设计、微单元生成)完成后,用户希望确认“这一步真的做对了吗?”
- 在合并全文之前,做最终一致性扫描,防止前后矛盾、遗漏约束、图表断链。
- 当用户怀疑“AI 偷偷简化了模型”或“生成的内容空洞”时,立即调用本 skill 进行强制审计。
输入
- 必填:待审计产物(如 problem-doc-model-selector 输出的模型路线、paper-structured-composer 给出的结构清单、或单个微单元文本)。
- 必填:原始赛题 PDF/Word 内容或关键约束摘录,用于对照。
- 可选:用户自定义的评分点清单(如 CUMCM 官方 rubric),可覆盖默认规则。
输出
- 审计报告(JSON + 人类可读):
checkpoint_id:本次审计节点编号
status:PASS / FAIL
score:0–100 量化得分
failures[]:未通过项列表,含「问题描述」「位置」「建议修改」
warnings[]:可接受但建议优化的项
- 若状态为 FAIL,则拒绝进入下一步,并给出「必须修改清单」
- 若状态为 PASS,则给出「已验证通过」印章,可安全继续
审计维度(可逐层开关)
开始审计前,若任务是数学建模论文、建模路线或最终稿,优先读取 references/qa_checklist.md,并把其中“必过项”作为阻塞门禁。
- 赛题覆盖度
- 是否 100% 识别所有子问题(Q1/Q2/Q3…)
- 是否 100% 覆盖所有显式约束(不等式、边界、特殊条件)
- 模型-任务匹配度
- 模型类型(预测/优化/分类)与任务目标是否一致
- 是否具备处理给定数据格式的能力(时序→时序模型、截面→回归等)
- 逻辑一致性
- 假设 ⇄ 模型推导 ⇄ 结果解释 是否闭环
- 符号表是否出现冲突或双口径(同一符号两种含义)
- 评分点对齐度
- 每个高分点(敏感性分析、对照实验、误差量化)是否在结构或文本中被“可定位”地承诺
- 机械重复检测(High Priority)
- 允许凑字数:允许使用“随着…的发展”、“综上所述”等学术连接词来增加篇幅,不做Fail判定。
- 打击机械复制:严查连续段落完全重复(如同一段话连续出现两次)、占位符未替换(如出现“补充说明”字样且内容重复)。若发现这种“乱七八糟”的重复,直接 FAIL。
- 结构核查:对比
paper_prompt_default.md,重点检查核心章节是否遗漏,对具体的段落格式可适当放宽。
附加产物
- Word 导出 (docx): 审计通过后,若存在
final_paper.md,必须调用转换工具(如 pandoc 或 python-docx)将其转换为 final_paper.docx,作为最终交付物。不应只交付 Markdown。
- 图表-正文链检测
- 正文是否出现“见图 3”而图 3 真实存在且编号正确
- 图表标题与正文描述是否语义一致
工作流程(可嵌套到任意阶段)
- 接收待审计产物与原始赛题
- 按用户指定的维度逐项扫描
- 生成 PASS/FAIL 报告与修改清单
- 若 FAIL,则阻塞后续 skill 调用,强制返回修改;若 PASS,则盖章放行
- 可选:将审计结果写入
.audit_log.jsonl,供后续追溯
使用示例
- 输入:(1)problem-doc-model-selector 输出的「模型路线」、(2)赛题原文
- 行为:
- 检查是否遗漏子问题 → 发现 Q3 未被提及 → FAIL
- 报告:
failures: [{"issue": "子问题 Q3 未被识别", "suggestion": "在模型路线中补充 Q3 的任务拆解与指标定义"}]
- 用户必须先修正模型路线,重新审计通过后才能进入结构设计
防偷懒机制
- 本 skill 绝不生成任何新内容,只做「Review & Reject」
- 所有判定规则公开透明,用户可自定义阈值或开关维度
- FAIL 时强制阻塞,无法通过 prompt 绕过,必须实质修改
备注
- 审计规则默认对齐 CUMCM 国赛评分标准,可通过
rubric= 参数覆盖
- 支持中英文赛题与输出,关键词库可扩展
- 审计本身不依赖外部大模型,全部基于规则与关键词库,确保速度与不偏性
附录 A:脚本入口(推荐)
本 skill 的可执行脚本都放在 scripts/ 下。
生成任务清单:
python ~/.codex/skills/quality-assurance-auditor/scripts/pipeline.py
行为:初始化目录 → 检查 problem_files/ 是否为空(不通过则阻塞)→ 生成 paper_output/tasks.json → 汇报当前微单元完成进度。
最终论文审计:
python ~/.codex/skills/quality-assurance-auditor/scripts/audit_paper.py
行为:检查 problem_files/、tasks.json、微单元、final_paper.md、图表引用、占位符、重复段落、基线/验证描述、final_paper.docx,并生成 paper_output/qa_report.md/json。若有阻塞问题,脚本返回非零码。
目录约定(与项目全局对齐)
- 本技能会强制要求
problem_files/ 非空。
- 本技能统一在
paper_output/ 下产出任务清单与微单元目录。
前后衔接
- 常作为全局门禁:建议在“生成正文/合并全文”之前先跑一次。
- 后续通常接:
paper-micro-unit-generator(生成微单元与合并)或 paper-workflow-orchestrator(一键全流程)。
约束(必须遵守)
- Memory Interaction (必做):
- 审计通过后:必须调用
context-memory-keeper,将“审计通过状态”与“生成的任务清单概况”更新到 Short-term Workbench。
- 本技能是全局门禁:当用户要进入“生成正文/合并全文/交付论文”阶段,必须先通过本技能的目录检查与任务清单生成。
- 未生成
paper_output/tasks.json 时,禁止直接进入 paper-micro-unit-generator。
- 当用户已生成
paper_output/final_paper.md 时,建议再次调用本技能做最终一致性把关,确保“每问有结论、图表可定位、引用不断链”。