Skip to content

LLM智能辅导系统综述 ​

问题 ​

传统智能教学系统难以灵活理解学生、维护教学知识和提供个性化指导。

大语言模型虽然具备知识生成、推理和自然语言交互能力,但如何将这些能力组织成一个真正能够指导学生的智能教学系统,仍是需要研究的问题。

核心观点:LLM 不应该只是一个回答问题的角色,应该参与教学知识管理、学生状态分析、教学策略选择和学习交互,形成持续的个性化教学过程。

内容 ​

  1. 传统智能辅导系统的四个模块:
  • 领域模型 掌握教学领域的专业知识
  • 学生模型 了解学生掌握了什么、哪里不会
  • 教学模型 决定接下来怎么教
  • 交互界面模型 负责学生与系统之间的交互
  1. LLM 参与的教学架构
  • 第一类:模块化架构
  • 第二类:集成式架构

LLM智能辅导系统

  1. LLM 智能辅导系统的四项核心能力 作者通过对现有研究任务的归纳,把 LLM 教学系统的能力归纳为四类:
  • 教学内容生成,生成知识讲解、题目、答案和辅助学习材料。
  • 学生回答评价,判断学生回答是否正确,分析问题并给出改进反馈。
  • 学生知识建模,长期跟踪学生的知识水平、能力和错误类型。
  • 教学对话管理,通过提问、逐步提示和反馈,引导学生主动思考。
  1. 应用场景
  • STEM 教育 科学、计算机编程,工程、数学
  • 语言学习 写作、口语、阅读和语言交流
  • 专业培训 医学、法律、工程和社会技能训练

未来方向 ​

  • 教学策略对齐。目前很多 LLM 只是能够生成解释,但不一定真正遵循科学的教学方法,未来需要让教学行为与教学理论、教师意图保持一致。

  • 透明的教学推理。系统不能只告诉学生应该修改这里,应该把涉及到这个问题的相关解释全部详细透明展示。教学决策应当能够追溯到可验证的教育材料,例如课程标准、知识图谱和历史交互记录

  • 多模态交互。 目前教学系统还是主要依赖文本交互,未来的教学系统还应该能够结合,图片和架构图,程序源码,运行时状态,甚至图片动画语音等多模态信息。

G-BOPPPS:生成式 AI 支持的操作系统教学模式 ​

研究问题 ​

传统操作系统教学存在三个主要问题:

  1. 教学方式比较单一,学生容易被动接受知识,课堂参与度不高。
  2. 学生基础不同,难以针对每个人的知识薄弱点提供个性化指导。
  3. 操作系统理论比较抽象,学生缺少实践训练,难以形成系统性思维和解决复杂问题的能力。 论文主要研究两个问题:

核心方法:G-BOPPPS 教学模式 ​

BOPPPS 是一种以学生为中心的教学模式,包含六个阶段。论文的核心工作就是将生成式 AI 融入贯穿这六个阶段。

阶段名称AI 参与的工作
BBridge-in 导入生成生活场景、案例和类比,激发学习兴趣
OObjective 目标将教学目标细化为具体、可衡量的学习目标
P1Pre-assessment 课前测评自动生成诊断题,识别学生知识薄弱点
P2Participatory Learning 参与式学习提供交互式指导、问题引导、案例模拟和知识解释
P3Post-assessment 课后测评自动评价学习成果,分析错误并推荐针对性练习
SSummary 总结生成知识总结、学习报告和个性化复习建议

论文选择讲解进程状态转换,使用的是学习通 AI 工作台,整个教学过程设计分为六个环节:

  1. 导入(3分钟): AI 生成医院场景,教师引导学生思考患者和医生的状态。
  2. 目标(2分钟): 明确本节课的知识、技能和素养目标。
  3. 课前测评(5分钟): AI 生成三道题,检测学生对进程概念和状态转换的掌握情况。
  4. 参与式学习(25分钟): 学生分组绘制医院场景与进程状态之间的对应关系,AI 提供辅助解释。
  5. 课后测评(5分钟): AI 生成测试题,检查学生是否掌握状态转换规则。
  6. 总结(5分钟): 通过填空题、知识图谱和课后任务巩固知识。

让学生先理解现实场景,再建立计算机专业概念,最后通过测试和实践验证理解。

最终结果:实验组成绩明显提高 作者认为,AI 的引入推动了学习机制的转变

传统学习方式:

被动接受知识 → 记忆概念 → 完成考试

AI 支持的主动学习:

主动提问 → 探索问题 → 实践验证 → 获取反馈 → 修正认知

这也是论文最重要的教育理念:如何高效组织教学活动,让学生从知识接收转向主动知识建构。

结合LLM与静态分析生成下一步提示 ​

问题 ​

假设学生需要完成一个编程实验,学生不知道下一步该做什么,普通 AI 可能直接给他完整实现,但学生缺少了分析过程

作者认为理想的帮助应该是,结合问题给出下一步代码思路提示,这样学生还有机会自己思考判断逻辑、实现条件和返回值。

作者将问题进一步具体化:如何同时保证提示的针对性、粒度和代码质量?

  • 针对性,提示必须与当前任务和学生代码有关
  • 粒度,每次只提供一个足够小的动作
  • 代码质量,避免错误、不合理或无关的代码修改

解决方法 ​

组合式提示生成流程

先规划步骤 → 再生成下一步代码 → 再约束代码 → 最后根据约束后的代码生成文字提示

One_Step_at_a_Time_架构

第一阶段:子目标生成,把一个整体任务细分为几个适合初学者立即完成的单步动作 ​

作者除了把题目发给 GPT-4 外,还给出了六类输入信息:

实验要求,参考答案中的函数签名(不给完整答案),学生已经实现、可以复用的函数教师提供的固定提示,当前课程已经教授的知识点(约束),参考答案中的字符串常量

同时鼓励它把任务拆得更细,保留与代码真正相关的步骤描述,去除一些与代码教学知识点不符的步骤。(无法保证子目标完全合理)

第二阶段:代码提示生成,抽象描述转为一个具体的代码变化 ​

作者给第二阶段的 LLM 提供第一阶段生成的子目标列表,学生当前代码,学生已经执行测试时产生的错误信息。

系统会生成一个修改后的代码版本,再与学生当前代码比较,提取下一步建议。

llm负责产生候选修改,程序静态分析负责筛选和限制候选修改,主要用于控制代码范围与质量

静态分析怎么约束 LLM ​

  1. 先删除无关修改
  2. 再判断函数长度
  3. 静态分析中的三种关键启发式规则:
  • 把过大的代码修改缩减为一步
  • LLM 同时改变判断条件和分支内部逻辑,让学生一次只关注一个逻辑问题
  • 内部函数体变化检测,避免一次性暴露整个分支处理方案

最后检查代码质量 ​

进行自动修复的代码质量问题,再转化为下一步提示的自然语言。

原因是如果直接要求 LLM 生成文字提示,模型可能写很多解释,以及给出的文字与实际代码修改不对应。

最终将文字提示、源码高亮和可选代码 Diff 结合起来教学,学生可以先获得方向,再选择是否查看具体代码,形成一定程度的分层帮助机制

实验效果 ​

第一类实验:专家验证

第二类实验:学生使用系统

论文验证了方法具有一定实用性,但能否显著提高学生独立编程能力需要更深验证。