书面作业将引入人工智能技术来辅助评阅

熟悉我的同学们都知道,我是一个“系统狂魔”。平时没事的时候,我就喜欢写一些业务系统,来提升自己工作的效率。刚回到软件学院工作时,我花了大约半年的时间开发了KL平台,用于组织和管理我的教学过程。

近几年,人工智能,尤其是大语言模型,发展迅速。我也一直在思考:能否将它应用到我的教学中?学校也鼓励我们多加探索。不过,我的思路和多数老师有些不同。

很多老师设想的“AI 助教”,核心是基于检索增强生成的技术:先整理课程内容,构建知识库,再提供一个对话接口,让学生随时提问,由大语言模型结合知识库回答。

但我并不打算这么用。原因有两点:

第一,本科教学所涉及的基础知识,大语言模型已经掌握得非常好。大家在算法课上就能体会到,无论问题简单还是复杂,模型通常都能给出不错的答案。第二,从我的个人使用体验来看,模型厂商公开给用户使用的产品往往比开放出来的 API 更强大。

所以,如果学生在学习中遇到问题,他们更可能直接去问通用的大语言模型,而不是依赖老师自己开发的“AI 助教”。这一点在我的课堂上也有体现:学生们遇到问题时,大多会直接打开 ChatGPT 提问。于是,他们很快就“学会”了(这里加引号是因为,他们往往只是得到了正确答案,但未必真正理解)。更直观的例子是,KL 平台的讨论区里,关于课程和作业内容的讨论很少,大多数帖子是一些程序性问题,例如“考试能不能用计算器”、“这个题要不要写证明”、“老师,我的代码有一个隐藏样例过不了,能不能告诉我是哪一个?”——这些并不是 AI 助教能解决的。

因此,作为一个“懒人”,我思考的方向就变成了:如何利用大语言模型来减轻自己和助教的负担?这个暑假,我花了大量时间探索、设计并实现了一个自动评阅书面作业的系统。它能够根据我预设的参考答案和评分标准,对学生的作业打分并生成详细的评分理由。

得益于 KL 平台上已有的作业数据和评阅记录,我能够进行大量实验,反复调试,直到系统达到我满意的效果。目前,该系统已能较好地识别和评阅大部分作业题目,并且我已将它完整地集成进 KL 平台。

从 2025 年秋季学期开始,离散数学和算法设计与分析两门课程的书面作业,将先由自动评阅系统进行初评,再由助教人工复核,确保结果与参考答案和评分标准一致。

这样做的好处有:

  1. 减轻工作量,提升反馈质量:以往书面作业完全依赖人工评阅,助教的工作量非常大。为了快速完成批改,评语往往写得过于简略,学生有时并不清楚自己错在哪里。自动评阅系统的优势在于,它能不厌其烦地写出清晰、具体的反馈,帮助学生更好地理解问题。
  2. 统一评分尺度:人工评阅时,最棘手的问题是如何界定“扣多少分才合适”。比如同一个错误,我可能在前几份作业中扣一半分,但在后面看到类似错误时却扣掉全部分。为了保证一致性,我常常需要在评阅完成后再回头逐一检查,修正不一致之处,工作量非常大。自动评阅系统则能天然保证评分标准的一致性。

致同学们的几点提醒

为了让自动评阅系统在教学中发挥应有的作用,同时保证评分的公平与有效,我有以下几点呼吁:

  1. 答案要写得清晰、具体、完整:除非系统出现明显的事实性错误(例如把正确答案判错),否则我们不会修改评阅结果。换句话说,如果你的答案不够完整,系统可能会据此扣分,而我们在复核时也大概率会认可这一结果。请务必将答案写得条理清晰、逻辑完整。
  2. 作业必须有良好的排版:如果排版混乱,系统可能会直接判为错误,我们在复核时也会采纳这一意见,这么做的原因是,如果你考试的时候也让自己的卷面凌乱不堪,那么大概率你也是得不到这道题目的分数的。因此,请大家务必重视排版。我推荐使用LaTeX或Markdown来排版你的作业,这样不仅公式输入方便,而且效果更美观。

希望大家能够理解并配合,这样不仅能帮助我们更好地管理课程,也能让你们获得更清晰、详细的作业反馈。