AI「导师」进哈佛!7x24小时辅导CS课程,RAG或成AI教育最后一块拼图

  新智元报道

  编辑:拉燕

  哈佛大学将 AI 引入 CS 课程,学生的个性化「导师」,学习效率拉满!

  去年,哈佛大学做了件大事。

  他们在自己的 CS50 课程中引入了一整套 AI 工具,堪称学生个人的个性化「导师」。

  一开始,这套工具服务的对象是 70 来个上暑校的学生。后来逐渐开放,数千名线上学生也得以拥有属于自己的学习导师。

  到了秋季,AI 工具又面向了几百位本校学生开放,反响不可谓不强烈。

  今天,我们通过一篇论文,来向全体读者朋友详细介绍这套 AI 工具的开发过程,相信每位同学都可以获益匪浅。

  哈佛个人 AI 导师

  首先,不同于传统学习过程中,学生们使用搜索引擎直接获得答案或是教学资料,这套工具的设计理念是,引导学生自主探索解决问题的方案,比较忌讳直接把答案摆出来。

  这也是为什么这套工具一经推广,学生们都爱不释手,并将它比作自己的个性化导师。

  根据哈佛大学的研究,将人工智能有策略地融入教学,可以给学生提供持续性的个性化支持,不仅能把整个学习过程包装的引人入胜,还能帮助真正的老师们解决不少复杂的教学难题。

  不过在详细介绍之前,想必大家对 AI 如何改变了教育生态这个问题,了解的已经不少了。

  说实话,就 AI 在教育领域下场这件事而言,负面的担忧并不比正面的期待要少。

  之前,学生们用生成式 AI 替自己写作业、完成论文的事儿已经发生不少了。显然,这和教学的基本目标相悖。因此,更多老师选择的做法是,明令禁止用 AI 完成课程作业。

  因此,为了规避这个问题,哈佛大学设置了一些防护措施,为的就是维护学术诚信,促进更有意义的学习过程。

  他们还测试了专为 CS50 这门课开发的 AI 聊天机器人,以橡皮鸭的形象呈现,称为 CS50 Duck(或叫 CS50.ai)。

  哈佛大学表示,这个系统是为了实现他们的终极目标:1:1 的师生比例。

  开发过程

  谷歌最初追求的是简单的概念验证功能,后来逐渐才演变出更多更加高级的项目,最终目的当然是提供一套全面的工具,帮助学生学习 CS50 的课程。

  目前,这些工具包括:

  1)高亮代码解释——用于快速、易懂的代码解释

  2)style50 增强版——用于评估不同代码风格

  3)CS50 Duck——一个通过多平台回答课程相关问题的聊天机器人。

  所有这些工具都由统一网络应用程序 CS50.ai 提供支持。除了提供快速准确的 AI 生成的回复外,CS50.ai 还内置了一个叫「Pedagogical Guardrails」的东西,直译过来就是「教学围栏」,目的就是引导学生学习,而非直接提供答案。

  高亮代码解释这一块,哈佛大学创建了一个 VS Code 的扩展,以此来模仿人类教师的行为,为学生提供某一代码片段的简要解释。

  学生要做的很简单,只要选中一行或者几行代码即可。

  这个东西和 CS50 现有的正确性测试工具 Check50 相辅相成,可以及时讲明白代码语义相关的问题。

  这样一来,有了更加便捷和准确的代码解释,学生就可以提高学习效率,更多把目光放在更高层次的问题上,比如如何设计代码。而不是像解释代码这种稍低层次的问题。

  而 style50 代码风格分析,不仅可以检查代码的风格,还可以帮学生改进代码。

  在呈现上,最新版本的 style50 会将学生的初始版本和改进的版本放在一起比较,让学生更清晰地看出改在了哪里,为什么改,改完了哪儿好。

  同时,学生还可以一键生成通过自然语言解释的文本,一目了然,不用自己分析。

  不得不说,从交互性上看,这套系统做得是真不错。

  上面提到,这套系统的后端都是由 CS50.ai 支持的,这样不同部分之间就有了一致性。

  同时,为了让学生的体验更好,哈佛模仿 ChatGPT 的形式,开发了一个 CS50 Duck 的独立网站,一样采用对话形式,学生可以和 GPT-4 直接互动,如下图所示。

  CS50 Duck 可以通过 CS50.ai 的网站和单独的 VS Code 扩展程序两种方式使用,如下图所示。

  一直以来,哈佛都使用第三方平台 Ed 作为其 CS 课程的在线讨论平台,提供教学辅助。

  通过 Ed,学生们可以提出问题,并接受来自工作人员和同时在学这门课的同学的指导,这样做简化了讨论,最大限度地减少了重复问题的反复提出,还促进了同学间的合作。

  为了进一步完善 Ed 的功能,新版本中,开发人员利用 CS50 Duck 的 HTTP 请求功能将其集成到平台中,如下图所示。

  聊天机器人 CS50 Duck 也会参与进来,并回答问题。通过在 CS50.ai 应用程序中为 Ed 上的 CS50 Duck 创建的一个专用 API 端点,开发人员就可以控制由 GPT-4 输出的回答,确保 CS50 Duck 的输出符合课程的设置和教学理念,而非简单地直接回答学生的问题。

  CS50 Duck 的所有回答都设置为可由人类工作人员审核,审核员可以对答案进行修改或是删除。

  学生的提问首先会被转发到 CS50.ai。其中,所有涉及个人身份的信息都会被删除。然后,提问会被进一步处理成结构化的问题,成为一个 prompt。

  这些 prompt 根据特定课程的设计和指南创建,目的是为了引导 GPT-4 以更高的精度生成回答,做到上下文理解「满分」。

  此外,对于来自 Ed 平台的提问,CS50.ai 在生成回复时使用了一种叫做检索增强生成(retrieval-augmented generation,RAG)的技术。

  RAG 利用从外部来源获取的信息和知识,提高 LLM 生成内容的准确性和可靠性,减少幻觉的发生。

  然后,相关信息被添加到 prompt 中,使 GPT-4 能够生成更加准确且符合上下文的回答。

  这么来看,CS50.ai 和 GPT-4 相互配合,能够快速为学生提供正确而有效的回答。

  还有一个非常有意思的点,值得一提。

  细心的读者应该已经注意到了,上面的聊天界面的小鸭子旁边有五个小心心,其中一个还只有一半了。

  有没有很熟悉,就像玩儿那种游戏的时候,人物角色旁边会出现的生命计数。

  这也是这套系统的创新点之一。

  CS50.ai 通过可视化小心心来实现一个节流机制,每个学生一开始有 10 个小心心(其实是 5 个完整的,10 个一半的),每三分钟恢复一个。

  与 CS50 Duck 的每次互动都会消耗一个小心心,为的就是防止大量频繁的垃圾输入的行为。

  从成本角度来看,这有助于降低 CS50.ai 的运行成本,毕竟给 GPT-4 发一次消息就得付一次钱嘛,买过的朋友肯定都清楚这一点。

  其次,对学生来说,这套机制也是具有宝贵教学意义的。有了发送信息数量的限制,学生就得在提问之前仔细考虑自己的问题,让自己和 CS50 Duck 之间的互动效率和质量更高。

  根本目的还是在于培养学生独立解决问题的能力和精准提出关键问题的能力,这对学习本身至关重要。

  而且还能让部分学得上头的同学,停一步,慢下来好好看看自己之前学习的过程,强制性的复盘并休息一小下。

  RAG 是消除幻觉的关键

  有关这个 RAG,咱们再多说几句。

  LLM 有时候会产生幻觉,这个大家都知道。

  之所以会出现这种情况,是因为 AI 模型是在大量文本数据的基础上训练出来的,因此它们学会了流畅地生成文本,而不一定重视事实的正确性。

  此外,LLM 有时会有一个所谓的知识截断点,这使得它们的信息仅限于在最近一次训练之前所学到的知识,而无法获得实时更新,或那次训练后新出现的内容。

  而 RAG 就可以很好地解决这个问题。哈佛大学的开发人员利用 OpenAI 的嵌入式应用程序接口(Embeddings API)为 CS50 创建文本嵌入,从而形成一个真实的外部数据源。

  这些嵌入是向量表示的(即数值),可以为机器学习算法捕捉语义,从而更有效地解释和利用数据。

  整个数据准备过程包括将课程讲座的英文字幕分割成 30 秒的短小独立片段,然后利用 OpenAI 的 text-embedding-ada-002 模型为这些片段创建嵌入,并将结果存储在 ChromaDB 向量数据库中。

  之后,开发人员还会为每个输入进来的来自学生的提问创建一个新的嵌入,并在向量数据库中执行嵌入搜索,以检索按相关性排序的内容。

  如此一来,就最大程度地规避了幻觉的出现。

  学生反馈集准确率

  从使用过的学生们的反馈来看,这套系统不可谓不成功。

  有同学表示,他们很喜欢人工智能机器人回答问题时的直接,既不会有包含个人情绪的评价,也不会有觉得你问题太笨蛋的优越。即使是最愚蠢的问题,它也会一视同仁地回答。

  还有同学表示,在 AI 时代,ChatGPT 不可避免的会让自己在学习的过程中偷懒。而有了个性化定制的 CS50.ai,就可以既使用 AI 又规避过度依赖 AI 的问题。

  而在两次校内的调查中,哈佛大学采访了差不多五百位同学,看看他们使用 CS50ai 的频率和使用感受。

  结果显示,17% 的学生每周使用这些工具十次以上,32% 的学生每周使用5-10 次,26% 的学生每周使用2-5 次,25% 的学生每周使用少于两次。

  此外,大多数学生认为课程的 AI 工具是有帮助的。从数据来看,47% 的学生认为其非常有用,26% 的学生认为有用,21% 的学生认为有点用。不过,还有6% 的学生认为没用。他们有可能还没习惯,或者是本身已经非常优秀了,不需要 AI 来协助自己学习。

  还有不少用过的学生将 CS50 Duck 拟人化,把这个小动物当作自己的好朋友。哈佛大学表示,这就符合他们设计这套系统和这个形象的初衷了。

  不过,上面提到的节流的小心心,有些学生还是持反对意见,觉得不受限制的提问更好一点。但哈佛大学虞姬还是不会对这个部分进行改动。

  而为了评估 CS50 Duck 在 Ed 上的表现,开发人员邀请了一位不在团队中的资深开发者来审查 CS50.ai 生成的回复。

  CS50 Duck 在暑假期间,一共在 Ed 上发布了 64 条回答,其中 25 条与课程内容相关,其余 39 条与行政相关。

  25 个和课程内容相关的问题的回答中有 22 个(88%)是准确的,39 个和行政问题相关的回答中有 30 个(77%)是准确的。

  而着时间的推移,CS50 这门课的教学大纲也在不断变化,这就导致了 GPT-4 与课程的最新变化不同步。

  未来 RAG 会更大程度的派上用场,这套 CS50.ai 的系统应该也会不断进行优化。

  参考资料:

  https://cs.harvard.edu/malan/publications/V1fp0567-liu.pdf