← 最新论文
💬 NLP

CodeGENCAT: Generative Computerized Adaptive Testing for Open-ended Coding Problems

本文提出了 CodeGENCAT,这是一个生成式计算机化自适应测试框架,它利用生成式项目反应理论模型来预测学生的代码回答,并依据代码风格多样性和回答不确定性来选择题目,从而在评估编程知识方面优于传统基线方法。

原作者: Wanyong Feng, Alexander Scarlatos, Ruochen Sun, Andrew Lan

发布于 2026-05-28
📖 1 分钟阅读☕ 轻松阅读

原作者: Wanyong Feng, Alexander Scarlatos, Ruochen Sun, Andrew Lan

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象你是一位老师,正试图准确评估一名学生的编程能力。在传统测试中,老师提出问题,学生作答,老师仅将其标记为“正确”或“错误”。基于这一单一标记,老师选择下一道题:如果学生答对了,下一题就更难;如果答错了,下一题就更简单。

旧方法的弊端
该论文指出,这种“正确/错误”系统丢弃了大量有用信息。想象两名学生都未能解决同一个编程问题:

  • 学生 A 犯了一个微小的拼写错误(漏掉了一个分号)。
  • 学生 B 编写的代码逻辑完全错误。

在传统测试中,两者都被标记为“错误”。老师无法区分差异,因此无法针对特定学生调整下一道题以提供帮助。这就像一位医生,仅仅因为病人说“我感觉不舒服”,就用完全相同的药丸同时治疗骨折和头痛。

解决方案:CodeGENCAT
作者提出了一种名为 CodeGENCAT 的新系统。该系统不再仅仅等待学生作答,而是利用“数字孪生”(一个 AI)在学生实际作答之前,预测 学生将会写出什么。

以下是其工作原理,分步说明,并辅以烹饪类比:

1. “数字孪生”厨师(GIRT 模型)

想象你想了解一名学生在烹饪方面的水平。与其让他们立刻做出一整道菜,不如让一位超级聪明的 AI 厨师来预测,这位厨师了解学生当前的技能水平。

  • 如果学生是初学者,AI 会预测他们可能会把蔬菜切得大小不一,或者忘记给汤加盐。
  • 如果学生是专家,AI 会预测他们会使用精准的刀工和完美的调味。

在论文中,这个 AI 被称为 生成式项目反应理论(GIRT) 模型。它根据学生的估计知识水平,生成一段代码,这段代码看起来 exactly 就像该特定学生写出的那样。它不仅仅猜测“正确”或“错误”,而是生成实际的代码,包括该学生可能犯的具体错误和缺陷。

2. “菜单选择”(题目选择)

一旦 AI 预测了学生将会写出的内容,系统就必须决定:“接下来问学生哪道题能让我们学到最多?”

论文提出了三种选择下一道题的方法,就像厨师选择下一个要测试的食材:

  • 不确定性厨师:选择一道 AI 最不确定学生能否答对的题目(即 50/50 的猜测)。这是经典的“金发姑娘”区域——既不太容易,也不太困难。
  • 多样性厨师:选择一道 AI 认为学生可能会写出许多不同类型代码的题目。如果 AI 不确定学生如何解决它,那么这道题就极具信息量。
  • 信息厨师:选择那道基于预测代码,能给系统对学生理解带来最大“冲击”的题目,从而最快地细化技能评估。

3. 训练(教导 AI)

为了确保这个“数字孪生”准确无误,作者在两个阶段训练了它:

  1. 监督微调(SFT):他们教导 AI 查看学生过去的作答,并学习如何模仿它们。
  2. 直接偏好优化(DPO):这是秘诀所在。他们发现 AI 有时会偷懒,即使面对初学者也写出同样的“完美”代码。因此,他们教导 AI 要诚实:“如果学生是初学者,你必须生成带有错误的代码。”这确保了 AI 的预测既真实又多样。

结果

研究人员在真实的编程数据集(Java 和 Python)上测试了该系统。他们发现,CodeGENCAT 在评估学生真实技能水平方面远优于传统方法,尤其是在测试的前几道题中。

  • 类比:这就像一位老师问“你做对了吗?”与另一位老师说“让我猜猜你具体是如何尝试解决这个问题的,然后我会提出一个完美的后续问题来纠正你具体的误解”之间的区别。

关键要点

  • 不要只看分数:论文声称,查看实际代码(即使是预测的代码)比仅仅看“通过/失败”标签能提供丰富得多的信息。
  • 早期检测至关重要:该系统在测试开始时最为强大,能够比旧方法更快地识别学生的优势和劣势。
  • 安全性:该系统还能保持测试的安全性,确保所有学生不会得到完全相同的题目,这是自适应测试中的一个常见问题。

简而言之,CodeGENCAT 利用 AI 模拟学生的思维,使测试不仅能适应他们是否答对,还能适应他们如何思考,从而实现更准确、更个性化的评估。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →