← 最新论文
💻 computer science

Chatbot-Based Assessment of Code Understanding in Automated Programming Assessment Systems

该论文通过综述对话式评估方法,提出了一个结合确定性代码分析与双代理对话层的“混合苏格拉底框架”,旨在利用大语言模型在自动化编程评估系统中有效验证学生对代码的真实理解,同时解决幻觉、作弊及隐私等关键挑战。

原作者: Eduard Frankford, Erik Cikalleshi, Ruth Breu

发布于 2026-04-09
📖 1 分钟阅读☕ 轻松阅读

原作者: Eduard Frankford, Erik Cikalleshi, Ruth Breu

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

这篇文章主要探讨了一个让老师和程序员都头疼的新问题:在大模型(AI)时代,学生交上来的代码虽然能跑通,但他们真的懂吗?

想象一下,以前老师批改作业,就像检查一辆车能不能发动。如果车能开,老师就认为学生学会了修车。但现在,学生可以像“叫外卖”一样,直接让 AI 生成完美的代码。车确实能开了,但学生可能连引擎盖怎么打开都不知道。

为了解决这个问题,作者提出了一套**“苏格拉底式对话考核系统”**。下面我用几个生活中的比喻来拆解这篇论文的核心内容:

1. 核心问题:只考“能不能跑”,不够用了

以前的自动评分系统就像**“安检门”:代码通过了测试(安检门绿灯亮了),就放行。
但现在,学生可以用 AI 生成代码,就像
“租了一辆豪车”**去考试。车是好的,但司机(学生)可能连方向盘都没摸过。一旦老师问:“这辆车刚才为什么在路口停了?”学生就答不上来了。

2. 现有的三种“考官”流派

作者先做了一次大调查,发现目前用来检查学生是否“真懂”的聊天机器人主要有三种流派:

  • 流派一:死板的“填空题”机器(基于规则)

    • 比喻:就像一本**《标准答案手册》**。它只能问手册里写好的问题。比如看到代码里有“循环”,它就问“循环变量是多少?”。
    • 优点:非常稳定,不会乱说话。
    • 缺点:太死板。如果学生写了个手册里没有的奇怪代码,它就傻眼了,或者只能反复问同样的问题,像复读机。
  • 流派二:全能的“聊天大师”(基于大模型 LLM)

    • 比喻:就像一个博学的老教授,能和你聊任何话题,问题很自然。
    • 优点:灵活,能像真人一样追问。
    • 缺点:容易“幻觉”(胡说八道),或者太热心直接把答案告诉你(这就失去了考试的意义)。而且它可能会因为太聪明,反而帮学生作弊。
  • 流派三:聪明的“混合双打”(混合系统)

    • 比喻:这是作者最推崇的。就像**“老教授 + 严谨的审计员”**搭档。
    • 审计员(计算机程序)负责看代码,找出事实(比如:这个变量在第 5 行变成了 10)。
    • 老教授(AI 聊天机器人)负责根据审计员提供的“事实”,向学生提问。
    • 效果:既灵活,又不会乱说话,因为 AI 被“事实”锁住了,只能基于代码的真实运行情况提问。

3. 作者提出的新方案:苏格拉底式混合框架

作者设计了一个新系统,叫**“混合苏格拉底框架”**。它的核心思想是:不要只问“为什么”,要问“具体发生了什么”。

这个系统由两个“特工”组成:

  • 特工 A(提问者):像侦探一样

    • 它不直接看代码,而是先让计算机“跑”一遍代码,记录下每一步发生了什么(比如:变量 i 在第 3 次循环时变成了 5)。
    • 然后,它根据这些真实的运行记录,向学生提问:“嘿,刚才第 3 次循环时,变量 i 是多少?你是怎么算出来的?”
    • 关键点:因为问题基于具体的运行数据,学生没法直接让 AI 生成一个通用的“漂亮答案”来糊弄,必须真的懂代码逻辑。
  • 特工 B(评判者):像阅卷老师一样

    • 它拿着学生的回答,和计算机记录的“真实事实”做对比。
    • 如果学生说“因为循环结束了”,但事实是“循环还没结束”,特工 B 就会指出:“不对,再想想。”
    • 它还会设置**“防作弊护栏”**:如果学生问“直接告诉我答案”,特工 A 会拒绝,并说:“不行,你得先告诉我这一步发生了什么。”

4. 怎么防止学生用 AI 作弊?

这是最精彩的部分。作者提出了一些“反作弊”的绝招:

  • 随机化“现场”提问
    就像警察查酒驾,不是问“你平时喝多少酒”,而是让你现在吹气。系统会随机生成不同的输入数据,问学生:“在这个特定数据下,你的代码第 10 行会输出什么?”AI 很难预测所有随机情况,学生必须现场推理。
  • 分步推理
    不让一步到位。系统会问:“第一步发生了什么?然后呢?最后呢?”就像让厨师现场演示切菜,而不是让他背菜谱。
  • 监考模式
    对于重要的考试,系统可以开启“监考模式”,限制学生使用外部 AI,或者要求实时视频监考。

5. 总结与未来

这篇论文告诉我们:

  • AI 不是洪水猛兽:我们不能禁止学生用 AI,因为 AI 是未来的工具。
  • 考核方式要升级:未来的考试不再是“看代码能不能跑”,而是**“看你能不能解释代码为什么这么跑”**。
  • 人机协作:最好的系统不是完全靠 AI,也不是完全靠人,而是**“计算机负责抓事实,AI 负责像老师一样提问,人类老师负责最终把关”**。

一句话总结
这就好比以前我们只检查**“车能不能开”,现在我们要检查“司机能不能在突发路况下解释清楚为什么踩刹车”**。通过这种“苏格拉底式”的对话,让那些只会“叫外卖”(用 AI 生成代码)的学生无处遁形,真正掌握编程的精髓。

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

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

试用 Digest →