AI 作业批改工作流
先把多页试卷还原成可靠的题目结构,再逐题生成批改、解析与知识点诊断




【产品 Demo 截图】从多图上传进入批改任务;页面明确展示最多 5 张试卷图片、自动切题、并发批改与渐进展示的完整入口。
【产品 Demo 截图】原始试卷区域保留每页题目与图像块的结构化标记,Demo 阶段方便查看切题是否准确,下方汇总正确率、错误类型、薄弱知识点和知识点关系。
【产品 Demo 截图】复合题详情把原题图、题干、学生作答和小题判定放在同一题目对象中,并给出得分、错因与改进建议。
【产品 Demo 截图】逐题列表允许展开查看作答情况、深度解析与知识点映射;正确、错误和折叠状态可以在同一报告中快速浏览。将指针放在画面上,滚动查看超出高度的部分
为什么做
虽然教育减负后,作业量已下降;学校为了保证教学质量,仍然要布置作业,科任老师仍要全量批改。批改的目的不是把作业本改完,而是让老师看见每位学生答题里暴露出的知识点掌握情况。对老师来说,这是一份机械、重复、却不能省掉的重要工作。
如果能用 AI 工作流完成作业批改,同时把发现的问题和错因分析汇成教师可看的报告,老师就不必在“看清学情”和“减少机械劳动”之间二选一:对学生掌握程度的洞察还在,负担可以降下来。
作业批改的产品目标,不是用 AI 替代教师判断,而是让工作流承担机械批改,把每位学生暴露出的知识漏洞收成教师能检查的报告。老师保留对掌握程度的洞察,同时从逐本翻阅中解脱出来。
先定义一个可靠的题目对象
要让这份报告可信,最先决定结果的并不是批改 Prompt,而是模型到底看到了哪一道题。真实试卷并不是整齐的一题一图:一道大题可能包含多个小问,题干和作答可能跨页,示意图可能离题干很远,公式、表格和手写笔迹也会被版面模型拆成不同区域。只要上游把题目边界切错,后续 OCR、参考答案和知识点都会沿着错误对象继续推理,最后得到一个看似完整、实际答非所问的报告。
我把一张试卷需要恢复的信息拆成三类关系:
- 题目边界: 大题题号负责切分,小问、解题过程和学生作答保留在同一道题内;相邻页面的首尾题块需要判断是否属于同一道跨页题。
- 图文关系: 题干、表格、公式、示意图和手写答案既要按阅读顺序组合,也要避免把相邻题目的图误挂进来。
- 结果证据: 每道题不仅保存判定,还要保留原题图、题干、学生答案、参考来源、错因和知识点映射,方便定位第一个出错环节。
保留来源页、裁剪框、跨页片段和配图关系。
复合题逐小问判断,并区分正确、错误与部分正确。
先独立求解,再结合学生作答生成解释和改进建议。
记录候选、匹配理由和证据;不确定时允许放弃映射。
产品如何组织
我把 Demo 收成四段顺序明确的处理链路。每一段都产生可保存的中间状态,避免问题只能在最终报告里被发现。
一次提交 1~5 张试卷图,保留页面顺序与原图。
切分大题、合并跨页题,并补齐题目依赖的图表。
识别题干与作答,先独立求解,再进行正式批改。
生成错因、知识点映射、薄弱项和学习建议。
1. 自动切题不是一次模型调用,而是带质量门槛的路由
主路径先通过版面分析清洗噪声块、恢复阅读顺序,并以大题题号建立候选;小问编号不会被误拆成新的大题。系统根据候选数量、覆盖面积和题块高度检查结果质量:主路径不可靠时降级到多模态整页拆题,全部失败时才使用均分切割保证流程不中断。
对于多页试卷,系统会把上一页底部与下一页顶部的题块送入跨页判断;只有位置、题号连续性和语义证据共同满足条件时才合并,并保存合并理由和置信度。
2. 图表不能只按“离谁最近”来关联
当题干出现“如图”或“如表”,但当前题图没有对应视觉块时,系统会从同页和相邻页召回候选图。规则层先比较页码、题号提示、图表类型、上下文关键词和空间位置,再让视觉模型在有限候选中判断;高置信命中后,将题图与候选图拼接并重新识别。
这个设计解决的不是“有没有图片”,而是“这张图片究竟属于哪一道题”。如果证据不足,主流程会保留缺图状态继续运行,而不是强行关联一个看似合理的候选。
3. 逐题反馈与整份报告分开完成
切题完成后,每道题会独立经过题干与手写答案识别、模型预解题、正式批改、错因或补全建议、知识点映射。题目之间并发处理,哪道题先完成就先返回;学生不必等到整张试卷的汇总报告生成后,才看到第一道题的结果。
前端把每道题组织为“作答情况、深度解析、知识点映射”三个页签。复合题保留每一小问的判定;检测到未作答时,学生侧隐藏参考答案与题目分析,避免把空白作答直接变成答案获取入口。
4. 知识点映射必须被知识图谱约束
如果只让模型自由生成知识点名称,同一个概念可能出现多个写法,也无法稳定汇总。我采用“语义抽取 → 规则召回候选 → 模型受限选择”的方式,把每道题映射到对应学科知识图谱中的主知识点和测试点。
映射结果同时保存置信度、匹配理由和证据片段。证据不足时可以返回 abstain;只有高置信映射才进入薄弱知识点统计。汇总层再把失分知识点与前置知识、测试点连接起来,为学习建议提供结构化依据。
Demo 跑通了哪些复杂路径
本地任务目录中保存了 30 个完成任务快照,共包含 364 道结构化题目。这些记录包括重复调试与回放,因此不能当作规模或准确率指标,但可以证明主要产品链路不是停留在 PRD 和静态原型里。
完成任务中的题目对象
实际出现的跨页题结果
高置信补配图命中记录
产生知识点映射的题目
其中 292 道题产生了高置信知识点映射。这个数字仍然只表示当前本地样本的映射状态,不能直接推导为知识点映射准确率;正式评测还需要人工标注的题目—知识点真值集。
失败时如何退回可检查状态
- 01版面服务不可用
降级到多模态整页拆题;仍失败时使用均分保底,并保留来源供后续排查。
- 02缺少标准答案
先让模型独立求解形成参考,再与学生答案比较;参考来源会随结果一起保存。
- 03知识点证据不足
允许放弃映射,不让低置信结果进入薄弱知识统计。
- 04学生没有作答
保留未作答判定,但学生侧隐藏参考答案和深度分析,避免反馈机制改变作答行为。
结果与边界
这个 Demo 已经验证了多图上传、试卷结构化、跨页题合并、缺图补配、逐题并发批改、SSE 渐进返回、知识点映射和汇总报告可以组成一条端到端链路;也让我更明确地看到,正式产品不能用“最终答案看起来正确”代替过程质量。
当前版本仍是单租户、本地 JSON 存储的产品验证:没有账号与权限体系,没有班级管理和教师复核工作台,也没有跨多次作业的长期知识画像。批改、切题和知识点映射仍需要分别建立人工标注集,评估错误边界、高置信误判和降级路径,而不是只看整体平均准确率。
项目收获
这次预研让我把 AI 批改问题从一个“大模型能力题”重新理解为一条可观测的产品链路:输入结构一旦出错,后面的每个模型都可能在错误对象上继续做出合理解释。产品设计真正要做的,是让题目边界、图文关系、参考来源、映射置信度和失败降级都能被看见,从而把问题追到第一个发生偏差的环节。
MY CONTRIBUTION / 个人贡献
- 将多页试卷拆成可追踪的题目对象,设计大题切分、跨页合并、缺图补配与多级降级策略
- 将预解题、正式批改、错因分析和渐进返回组织成题目级处理链路
- 为知识点映射加入候选约束、置信度、证据与放弃映射机制,避免模型自由生成标签
PROJECT OUTCOME / 项目结果
- 完成支持 1~5 张图片输入、题目级并发处理和 SSE 渐进展示的端到端 Demo
- 本地保存的 30 个完成任务快照覆盖 364 道结构化题目,包含跨页题与缺图补配等复杂路径
- 接入 9 门初中学科知识图谱,形成题目映射、薄弱点统计和前置知识关系展示
口径说明:这是产品验证与本地 Demo,不表述为生产系统;任务快照包含调试与重复运行,只证明功能路径被真实跑通,不作为批改准确率或规模化使用指标。