智能批改作业

Automation

智能批改作业——毕业设计/论文多文档自动化审查。触发词:"批改作业"、"审查毕业设计"、"毕设审查"、"审查存档"、"智能批改"、上传论文/毕设存档文件或目录。 支持:doc/docx/pdf/pptx 批量读取、多维度评分(内容完整性/格式规范性/逻辑一致性/论证合理性)、跨文档一致性检查(书名词号日期引用)、PPT答辩评审(基本信息/内容结构/视觉美感/观点表达)、GB/T 7714参考文献格式校验。 内置安全护栏:每条问题标注出处文件和置信度,输出前自动执行三问自查(证据可溯源/排除提取噪声/排除文件混淆)——宁可漏报,不可误报。

Install

openclaw skills install auto-grading

智能批改作业 Skill v1.0

串联 doc-browser(批量读取)→ academic-workflow(评分模板) → 输出审核报告

触发场景

  • 用户上传毕业设计存档目录、zip 压缩包、或指定路径
  • 用户说「批改作业」「审查毕业设计」「毕设审查」「审查存档」「智能批改」
  • 用户要求对学生毕业论文/毕业设计做规范性检查

审查流程(5 步)

第①步:批量读取(doc-browser 模式)

对目标目录中所有文件执行:

文件类型工具提取内容
.docxpython-docx全文 + 图片数 + 域代码残留检测(TOC/HYPERLINK/PAGEREF/REF)
.doc (WPS)textutil → antiword → olefile 二进制提取(三级降级)全文
.pdf (查重报告)PyPDF2全文 + 定位重复率数值
.pptxpython-pptx幻灯片文本 + 图片数 + 页数

文件优先规则:当同一文档存在 .doc.docx 两个版本时,检查 .docx 是否为模板半成品(判断标准:含占位符/格式说明文字/旧项目名),若是则改读 .doc

数据交接:提取文本写入 /tmp/auto_grading/ 目录下对应的 .txt 文件。

第②步:单文档评分

按毕业设计评审模板(references/review_template.md)对每份核心文档评分:

文档类型评分维度满分
创作报告/论文内容完整性 + 格式规范性 + 逻辑一致性 + 论证合理性100
文献综述同上100
开题报告同上100
外文翻译格式规范性 + 翻译质量60
申报表/任务书/进程表格式规范性 + 栏位完整性40

第③步:跨文档交叉审查

检查维度满分具体检查项
要素一致性50游戏名称/学生姓名/学号/指导教师在所有文档中完全一致;日期逻辑(开题<中期<答辩<提交);审批栏完整
引用一致性30三套参考文献(创作报告/文献综述/任务书)重叠度合理;正文引用条目均在参考文献列表中存在
分工一致性20小组分工表与创作报告中个人角色一致;申报表课题方向与分工表匹配

第④步:PPT 答辩评审

维度满分说明
基本信息完整20题目/姓名/学号/指导教师/学院/日期 齐全
内容结构30选题背景→设计思路→过程展示→成果呈现→总结展望,逻辑清晰
视觉美感25版式统一、配色协调、图文比例合理、无文字堆砌
观点表达25核心创新点突出、设计过程有说服力、成果有实物/视频支撑

第⑤步:输出汇总报告

必须在输出前执行安全护栏

安全护栏(Harness Engineering)

核心原则:宁可漏报,不可误报。

三层硬约束

层级机制执行方式防什么
L1 格式校验scripts/harness.py --inputPython 脚本强制执行阻止 evidence 为空的虚假 bug
L2 证据回溯scripts/harness.py 自动 grep 原文脚本在提取文本中搜索 evidence 字符串阻止幻觉/编造出来的问题
L3 版本校验scripts/harness.py --archive-dir检测 .doc/.docx 并存,自动选正确版本阻止审错模板文件

审查工作流(L1+L2+L3 全链路)

① batch_extract.py 提取文本 → /tmp/auto_grading/
② LLM 评分 + 输出 issues.json(每条含 file/issue/evidence/confidence)
③ harness.py --input issues.json --txt-dir /tmp/auto_grading --archive-dir <存档目录>
   ├── L1: 校验 evidence 非空、confidence 有效
   ├── L2: grep 原文确认 evidence 真实存在
   │      ├── 找到 → passed(高/中置信度保持)
   │      └── 未找到 → 自动降级为 ⚠️待验证
   └── L3: 有 .doc/.docx 冲突时自动选择正确版本
④ 输出清洗后的 clean_issues.json + 护栏报告

为什么这套 Harness 能防止之前的虚假 bug

之前的错误(报"图1-1来源错误"但实际不存在)→ L2 会因 evidence 字符串在原文中找不到而自动降级。 之前的错误(审了模板 .docx 而非正式 .doc)→ L3 会检测模板残留信号,自动选 .doc。

第⑤步:输出结构化评审结果

① 输出 JSON(给 harness.py 校验):

{
  "student": "姓名",
  "review_date": "2026-06-15",
  "single_doc_scores": {
    "创作报告": {"完整性": 30, "规范性": 13, "逻辑性": 15, "论证": 16, "总分": 74}
  },
  "cross_check": {"要素一致性": 45, "引用一致性": 25, "分工一致性": 18, "总分": 88},
  "ppt_review": {"基本信息": 18, "内容结构": 25, "视觉美感": 20, "观点表达": 22, "总分": 85},
  "issues": [
    {
      "file": "创作报告.doc",
      "issue": "副标题仍为'以曹乐川为主'",
      "evidence": "游戏《归浦:数字宿命》——以曹乐川为主",
      "confidence": "高"
    }
  ]
}

② 运行 harness.py 校验:

python3 scripts/harness.py --input /tmp/issues.json \
  --txt-dir /tmp/auto_grading --archive-dir <存档目录>

③ 基于清洗后的 clean_issues 生成 Markdown 报告(评分表 + 交叉审查表 + 修改清单 + 整体评价)。

安装依赖

pip install PyPDF2 python-docx python-pptx olefile
# macOS 自带 textutil、antiword(可选)