Autograder+: A Multi-Faceted AI Framework for Rich Pedagogical Feedback in Programming Education

📄 arXiv: 2510.26402v1 📥 PDF

作者: Vikrant Sahu, Gagan Raj Gupta, Raghav Borikar, Nitin Mane

分类: cs.AI, cs.LG

发布日期: 2025-10-30


💡 一句话要点

Autograder+:用于编程教育中提供丰富教学反馈的多方面AI框架

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 自动评分 编程教育 大型语言模型 代码可视化 对比学习

📋 核心要点

  1. 传统自动评分器反馈信息不足,无法有效帮助学生理解错误和改进代码,阻碍了编程学习的深入。
  2. Autograder+利用微调的大型语言模型生成教学对齐的反馈,并结合代码可视化技术,揭示学生的学习模式。
  3. 实验结果表明,该系统生成的反馈与教师的评论具有很强的语义一致性,并能有效聚类相似的代码解决方案。

📝 摘要(中文)

编程教育的快速发展已经超过了传统评估工具的能力,导致教师在提供有意义、可扩展的反馈方面手段有限。传统的自动评分器虽然高效,但如同黑盒系统,仅返回通过/失败的结果,无法深入了解学生的思维或学习需求。Autograder+旨在将自动评分从纯粹的总结性过程转变为形成性学习体验。它引入了两项关键功能:使用微调的大型语言模型自动生成反馈,以及可视化学生代码提交以揭示学习模式。该模型在精选的学生代码和专家反馈上进行微调,以确保教学对齐、上下文相关的指导。在对来自多个编程任务的600份学生提交进行评估时,该系统产生的反馈与教师评论具有很强的语义一致性。对于可视化,在1000份带注释的提交上训练的对比学习代码嵌入能够根据功能和方法将解决方案分组为有意义的集群。该系统还支持提示池,允许教师通过选择的提示模板来指导反馈风格。通过集成AI驱动的反馈、语义聚类和交互式可视化,Autograder+减少了教师的工作量,同时支持有针对性的教学并促进更强的学习成果。

🔬 方法详解

问题定义:论文旨在解决编程教育中自动评分器反馈不足的问题。现有自动评分器通常只提供通过/失败的结果,无法提供关于学生代码错误原因和改进方向的详细信息,导致学生难以有效学习和改进编程技能。教师需要花费大量时间手动提供反馈,难以满足大规模编程教育的需求。

核心思路:论文的核心思路是利用大型语言模型(LLM)生成更具教学意义的反馈,并结合代码可视化技术,帮助教师和学生更好地理解代码的结构和语义。通过对LLM进行微调,使其能够生成与教师风格一致的、上下文相关的反馈。同时,利用对比学习训练代码嵌入,将相似的代码解决方案聚类在一起,方便教师发现学生的常见问题和学习模式。

技术框架:Autograder+系统主要包含三个模块:自动反馈生成模块、代码可视化模块和提示池模块。自动反馈生成模块使用微调的LLM,根据学生提交的代码生成反馈。代码可视化模块利用对比学习得到的代码嵌入,将代码解决方案聚类并可视化。提示池模块允许教师选择不同的提示模板,以控制反馈的风格和内容。整个流程是:学生提交代码 -> 自动反馈生成 -> 代码可视化 -> 教师/学生查看反馈和可视化结果。

关键创新:该论文的关键创新在于将大型语言模型应用于自动评分领域,并结合代码可视化技术,实现了更具教学意义的自动反馈。与传统的自动评分器相比,Autograder+能够提供更详细、更个性化的反馈,帮助学生更好地理解代码错误和改进方向。此外,提示池模块允许教师灵活控制反馈的风格和内容,使其更符合教学目标。

关键设计:LLM的微调是关键设计之一,使用了精选的学生代码和专家反馈作为训练数据,以确保生成的反馈具有教学对齐性和上下文相关性。对比学习用于训练代码嵌入,使用了1000份带注释的提交作为训练数据,并设计了合适的损失函数,以确保相似的代码解决方案能够被聚类在一起。提示池模块的设计允许教师选择不同的提示模板,例如“指出错误类型”或“提供改进建议”,以控制反馈的风格。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

在对600份学生提交的评估中,Autograder+生成的反馈与教师评论具有很强的语义一致性。通过对比学习,系统能够将相似的代码解决方案聚类成有意义的集群,帮助教师发现学生的常见问题。提示池功能允许教师灵活控制反馈风格,满足不同的教学需求。这些实验结果表明,Autograder+能够有效提高自动评分的质量和教学效果。

🎯 应用场景

Autograder+可应用于各种编程教育场景,包括在线课程、编程训练营和大学计算机课程。它可以减轻教师的评分负担,提供更及时、更个性化的反馈,从而提高学生的学习效果。未来,该系统可以扩展到支持更多编程语言和更复杂的编程任务,并与其他教育工具集成,构建更完善的编程学习生态系统。

📄 摘要(原文)

The rapid growth of programming education has outpaced traditional assessment tools, leaving faculty with limited means to provide meaningful, scalable feedback. Conventional autograders, while efficient, act as black-box systems that simply return pass/fail results, offering little insight into student thinking or learning needs. Autograder+ is designed to shift autograding from a purely summative process to a formative learning experience. It introduces two key capabilities: automated feedback generation using a fine-tuned Large Language Model, and visualization of student code submissions to uncover learning patterns. The model is fine-tuned on curated student code and expert feedback to ensure pedagogically aligned, context-aware guidance. In evaluation across 600 student submissions from multiple programming tasks, the system produced feedback with strong semantic alignment to instructor comments. For visualization, contrastively learned code embeddings trained on 1,000 annotated submissions enable grouping solutions into meaningful clusters based on functionality and approach. The system also supports prompt-pooling, allowing instructors to guide feedback style through selected prompt templates. By integrating AI-driven feedback, semantic clustering, and interactive visualization, Autograder+ reduces instructor workload while supporting targeted instruction and promoting stronger learning outcomes.