本文为计算机科学教授大卫·汉弗莱 (David Humphrey) 撰写的关于 ChatGPT 及其对核心学习的潜在负面影响的文章。这是一本关于在教育环境中使用生成式 AI 的陷阱的好书。
原文由David Humphrey 发布于 2023年2月19日
本周,我走出了一个世界,进入了另一个世界。这一切始于我在几门编程课程中批改作业时。
我所阅读的代码质量令人惊叹!我的学生们做的事情与我的开源同行们相似:使用现代语法,采用函数式方法而不是创建大量不必要的状态,组合深度嵌套的函数调用,并采用有趣的模式来解决问题。
我在多份作业中赞扬了我所看到的代码。但随后我开始注意到我写这些相同评论的频率。尽管教授们喜欢认为自己随着时间的推移变得更好,但很难想象我自上个学期以来,或之前的学期,或我教授这门课程的数十次中有了如此大的进步。
我认为我没有改变,课程内容也没有改变。也很难想象这些学生的水平提高了一个数量级。是的,学生群体可能有很大不同;但如此不同?我认为还有另一个解释。
很长一段时间以来,我一直在思考高等教育将如何应对ChatGPT、Copilot和其他AI工具的复杂性。好吧,不用再想了,因为这就是我现在所处的地方。
“戴夫,你在做假设。你能证明这一切吗?”其实我可以,因为一些需要截图的提交中也包含了ChatGPT浏览器标签,里面恰好包括了提示的初始文本。显然,这甚至不是学生们觉得需要隐藏的事情。
我喜欢GPT,并且我已经使用Open AI的GPT-3 API编程很长时间了。它一直在打破我对可能性和不可能性的理解,迫使我思考解决技术问题的新方法。我明白为什么每个人都对使用它感到兴奋。
然而,我不确定如何将其理解为学生学习的一部分。我的女儿们也在大学中看到同样的现象,鼓励我在自己的课程之外思考这个问题:“你在课堂上所做的事情不会改变正在发生的事情——这是一个全球现象。”
当然,她们是对的,所以让我们明确:这正在发生。人们正在使用大型语言模型(LLM)来编写代码。根据GitHub自己的营销:
在2022年6月,我们报告称GitHub Copilot已经生成了27%的开发者代码。今天,我们看到这一现象越来越普遍,所有编程语言中平均有46%的代码是使用GitHub Copilot构建的,而使用Java的开发者中这一比例为61%。
想想节省了多少时间!但如果我稍微改述一下:“平均有46%的学生在线测试和作业[是]使用GitHub Copilot构建的。”如果我们将ChatGPT加入其中,我们可以用“论文”和“报告”替代“代码”。这好还是坏?是创新还是倒退?是在帮助还是伤害我们的学生?
许多不必在日常生活中处理这一实际影响的人给了我各种_有用_的想法:使用没有互联网的口头或纸质测试;“只需”停止使用人们可以作弊的评估;或者,让学生写关于AI响应的内容,讨论它们的好坏。
第一个解决方案因多种原因而困难,尤其是当前高等教育机构的资金模式并不优先考虑日益个性化或实时评估方法所需的师生比例。越来越大的班级使许多这些好主意变得不切实际。教职员工对此没有任何控制权,但请务必与我们的高级领导沟通。这将是很好的。
第二个解决方案在学生学习初期也很具挑战性。我教两类学生:1)一些在第一年学习编程的学生;2)其余的在最后一年,已经学习了半打语言并编写了许多程序。
在我看来,学习编程的学生并不受益于AI帮助“消除编程的繁琐”。在某个时刻,你必须学会编程。你不能通过避免学习编程的必然挣扎而达到目的。“戴夫,也许你必须那样学习,但那个世界已经消失!”这是真的。我已经连续编程约40年。今天遵循我低效、曲折的路径将没有任何好处。回不去了,我也不想回去。现代工具,包括AI的潜力太重要了。我们不能在教育中忽视或禁止AI。但让学生用它来字面上写作业也行不通。
第二组学生,即最后一年的学生,处于不同的位置。我(通常)并不试图让他们理解面向对象编程、枚举集合的不同方法,或何时写函数。我也不在评估这一点。在他们发展的这个阶段,假设他们能够编程。
对于这些学生,AI提供了一些有价值的东西。例如,本周我在审查一位开源学生编写的代码时。阅读时,我需要了解API的使用情况。我在谷歌上搜索答案,唯一返回的结果是这位学生的博客文章(在这个层次上很常见)。我的问题让我遇到了“搜索”的局限性,这已经不再足够。因此,我去ChatGPT询问我的想法,以及是否有更好的方法使用这个API。果然,ChatGPT输出了25行代码,确认了我的想法,并展示了另一种编写此代码的方法。
只是其中一半的代码是虚构的。它使用的一个API调用并不存在(我希望它存在!)。这对我来说并不重要,因为我并不打算按原样使用这段代码(我去阅读了官方文档):我只想了解其他方法。我想勾勒出一个想法。
从LLM返回的文本需要极高的辨别力和细致的阅读。你有时可以直接从ChatGPT复制/粘贴内容,这可能会误导人们认为你总是可以这样做。你不能。但如果这就是你所要做的呢?对于那些不太清楚自己在做什么,只是需要在晚上11:59之前提交这个该死的作业的学生呢?我向你保证,这种用例比人们意识到的要普遍得多。
我不知道正确的答案是什么。我不想像我曾经遇到的许多老师那样,他们对学生安全地将计算机、然后是CD-ROM、然后是互联网融入学习的能力持怀疑态度。
弄清楚这一点是一个沉重的负担,过去20多年的教学中没有其他变化能与之相比。学生从Stack Overflow复制粘贴相比显得微不足道。我们进入了一个新世界,这需要一种深思熟虑的方法。
我很感激像Ethan Mollick这样的人写关于如何在教育中拥抱而不是恐惧AI的文章。这绝对是我想要的方式。然而,正如我上面所写的,对于我来说,看到如何与所有学生一起做到这一点并不容易。
我在考虑的一件事是,我可能需要开始教学生如何在编程中使用GPT/Codex和其他LLM。与其说“你不可以”,我可以尝试展示一些AI在编程中的伦理和务实用途。后GPT时代的编程和学习编程是什么样的?我们需要讨论这个。我希望我的更多同事能在教育和行业中写关于这个问题的文章。
原文:CheatGPT