选自theregister.com
作者:Thomas Claburn
机器之心编译
编辑:张倩、小舟
做作业或考试时,你能忍住不去用电脑里已经安装的这款代码补全神器吗?
Copilot 是由微软、OpenAI、GitHub 三家联合打造的 AI 编程辅助工具。今年早些时候,Copilot 已被集成到 Visual Studio 2022 中。此外,GitHub 还有一个专门的校园计划,可以让学生免费获取这款编程神器。
不过,负面效应接踵而至:Copilot 在一项测试中展示出强大的能力,以至于它可能被用作编程**工具。
来自马萨诸塞大学阿默斯特分校计算机科学系的教授 Emery Berger 本月早些时候发表了一篇博文**告教育工作者,他说,「配备 Copilot 的学生就好像自备神器参加编程考试。」
假设你让 CS 的入门学生写一个迭代的 Python 程序,输出从 1 到 N 的所有数字的和。拥有 Copilot 的学生只需要将问题语句作为注释复制并粘贴到 IDE 中,然后输入函数定义「def output_sum(N):」并按 Tab 键就可以**剩下的内容(加粗部分都是 Copilot 生成的)。
他担心 Copilot 将使**的编程练习**毫无意义,因为 Copilot 知道所有答案。
「据我所知,Copilot 已完成所有入门级编程任务的专门训练」,Berger 写道。
Berger 还嘲讽地写道:对于使用 Copilot 的学生,教育工作者不妨将他们的课程目标描述为「按下 Tab 键」,因为只需要这样一个简单的操作,学生就能借助 Copilot 很容易地生成代码,完成编程题目。
Berger 举例说明了这种情况,下图代码中粗体部分都是 Copilot 自动补全的,Berger 只手动输入了函数名和参数。
编程在许多计算机科学课程中都扮演着重要角色,尤其是在计算机科学入门课程中,入门级编程题目包括数字排序、找到斐波那契数列的第 n 个元素等。而这些简单的编程题目似乎难不倒 Copilot。
Berger 说 Copilot 不同于在 Stack Overflow 和其他互联网编程资源上搜索答案。因为后者搜索到的代码答案,老师也可以搜索到,并且可以使用抄袭检测器测试学生提交的代码。
而 Copilot 「实际上是产生了新的解决方案。尽管新方案不会非常优秀,但它看起来和搜索到的答案有足够大的差异,以至于让老师误解代码是学生自己完成的。」
因此,Berger 认为与编程相关的教学方法急需改进,并提醒我们:不能掩耳盗铃,**这种「作弊」不存在。
「如果你认为每个人都会克制自己,不去用安装在电脑上的这个作弊神器,那真的很不合理,或者说很不负责任。它的**太大了。实话实话,可能在不久的未来,软件**就会变成这个样子。」
Berger 承认 Copilot 很有用。他说,**人员想要使用该软件是有道理的。
「当然,从评估的角度来讲,我们可以要求大家在不能用 Copilot 的**下考试。就像要求小学生在做基本算术题时不能用计算器一样。」
他在伊利诺伊州的一个同事描述说,他们用的计算机是考试专用的,锁定了一些功能,所以学生们是在一个受控的**中参加测试的。他建议说,这些措施,再加上口试之类的方法,可以帮助** Copilot 带来的一些负面影响。
Berger 还发现,Copilot 也有一些积极的方面,比如填写样板文件和实现 API 的能力。
「我觉得记住那些 API 的繁琐细节没有什么意思,那不是我们应该教或关注的东西。你知道创建具有这些特征的 DataFrame 的确切语法吗?我不在乎。如果你能在 Google、Stack Overflow 上找到这些内容,或者按一下 Tab 键它们就能出来,我觉得这样就很好。」他说。
尽管如此,他还是认为,对于教育工作者来说,确定学生确实在学习手里的材料还是很重要的,这可能意味着在计算总分时,要重新考虑用「Copilot」可以解决多少课后作业。
Berger 说,现在就说 Copilot 对学生产生了影响可能还为时过早,因为这款软件才刚刚对公众开放了几个月。但他认为,用不了多久,它的影响就会显现。
「我对此持乐观态度,」Berger 说,「但我认为,我们至少要考虑到这一点。我觉得还没有那么多的教育工作者意识到这是多么大的一场**。」
参考链接:
https://www.theregister.com/2022/08/19/copilot_git**_students/
https://itnext.io/coping-with-copilot-b2b59671e516