分享

对话录:生成式人工智能与编程教育

 老巫婆图书馆 2023-12-03 发布于北京

2023年11月17日,一段视频发布在YouTube上,是MIT App Inventor项目组的两位重量级人物——Hal与Evan的对话,讨论的内容是生成式人工智能对编程教育的影响,以及App Inventor未来的技术方向。在张路老师的推荐下,我仔细聆听了对话内容,感觉到对话的内容很有启发性,于是将其翻译过来,连同对话的视频一起分享给大家。顺便说一句,由于本人英语听力有限,其中难免有错误之处,还望英语听力优秀的读者能够发现其中的错误,并告知于我,将不胜感激。

以下是译文内容。


HalEvan,App Inventor的确实现了移动技术的大众化,我们希望任何人,即使是孩子或任何没有受过技术培训的人,都可以上手使用这个工具。该项目始于2006年,也就是iPhone问世的那一年,并于2010年对外发布,在谷歌共开发了6年,后来把它移交给MIT,从那以后,我们一直在扩展和维护它。这是我们的旗舰产品,目前我们拥有2000万用户。这可能是MIT在教育技术时代最具影响力的项目,而我们只有一个小型的团队。这是一件有趣的事情,当初项目的起因是智能手机的出现,而现在,我们来到了一个新的时间节点———生成式人工智能的诞生。在过去的一年里,新技术以超乎想象的速度迅速膨胀,你如何看待这件事情?

Evan:我们关注到了生成式AI的进展,去年我们为App Inventor增加了许多新的功能,包括两个人工智能组件———聊天机器人和图片生成器。利用这两个组件,用户可以将生成式AI技术应用到自己的App中,创建问答类及艺术创作类应用,而不必了解新技术的具体细节。

Hal新技术带动了全球范围内编程领域的无代码运动,几乎每个人都在思考它商业价值:我们应该雇佣什么样的人?他们必须会编写程序吗?他们必须了解计算机吗?对于我们这些长期探索教育的人来说,此时我们的所思所想、所作所为应该着眼于下一代,我们要回答的问题是:计算机科学这门课究竟要教什么?或者说,在生成式AI能够自主编程的情况下,我们如何教编程。我们所面临的挑战,不仅限于MIT,而是整个教育界。当面临如此纷繁的可能性和选择时,教授计算技术的真正意义是什么?你在这方面有什么值得推荐的例子吗?

Evan当然,我经常对比两种进化趋势,一方面是编程技术的进化,另一方面是由前者引发的编程教育的进化。从上世纪50年代起,编程语言经历了从打孔卡到汇编语言,再到C语言的一系列进化,进化的趋势是让事情变简单,更容易被人们接受,尤其是被孩子们接受。你知道,许多概念并非真的难以理解,只是因为表达概念的方式过于艰深。当你把App Inventor这样的技术摆在他们面前时,他们可以做出一些真正令人惊奇的事情,因为它破除了“编程很难”这样的成见。其实编程并不难,只需你用正确的方法进行思考,并了解计算机能做什么。App Inventor正是这样的一个工具,让孩子们更容易理解编程的概念,并动手实践。

Hal下一步的技术改进是Alexa,我们的思路是,让开发者来描述一个应用的功能,然后让计算机来创建应用。你可以说:帮我创建一个应用,其中有一个按钮,按钮上写的是某种语言(如,英语、法语等),当我点击按钮时,把我说的内容翻译成这种语言。也就是说,你将文本提交给系统,于是系统为你创建一个应用。

Evan正是,我们将App Inventor的块语言与生成式人工智能系统(如Open AI的ChatGPT模型)结合起来,你可以使用自然语言来描述一个简单的应用,而App Inventor将为你创建这个应用。令人鼓舞的是,我们见证了这个技术的实现。我们把这项技术展示给一家荷兰的高级用户,他们提供了一份荷兰语的应用描述,系统同样为他们创建了这个应用。作为一个英语使用者,我也可以看到并运行这个应用,这是因为App Inventor是一个可视化的编程语言,而且具有14种不同的语言版本,如,中文或西班牙文等,因此,即便我看不懂他们的应用描述,我也能看懂应用的代码。如此说来,这项技术为国际协作开发应用提供了极大的方便。

Hal这听起来有点疯狂,能够通过说话来创建应用,甚至是用荷兰语来创建一个英语的应用。

Evan的确如此!

Hal这是一个很好的例子,许多MIT的高级开发者也为此感到震惊。这意味着一种可能性,每个人,也包括孩子们,他们可以拥有这种能力。当下每个人都关心如何编写程序,但是我们已经更进一步,不只是编写程序。在程序产生之前,只要描述你想要什么,于是程序就有了。我们已经在原型系统中实现了这个功能,但谁知道接下来会发生什么呢?真令人期待!

Evan是的。我们正在研究如何让系统生成更为复杂的应用。如你所知,我们在早期教学中使用的例子都比较简单,可能只涉及到5~10个代码块,早期的示例展示了大语言模型的卓越性能,它可以将不同程序从概念上加以整合,以便生成更为复杂的应用。我们正在尝试升级它(Alexa)的功能,如添加编辑功能。当生成的应用不符合你所提供的功能描述时,你可以通过对话的方式对应用进行编辑修改。你可以告诉计算机:将按钮向右移动,将按钮变大,改变按钮颜色,等等。如果应用的功能不符合要求,你可以要求它对代码进行修改,即使你不清楚这些功能与哪些代码相关,也不必担心,只要你能描述清楚,系统就会帮你解决这些问题。由此,你可以创建出越来越复杂的应用。

Hal令人难以置信的是,随着MIT App Inventor项目的不断迭代,开发工具变得越来越强大了,但这些功能对孩子们来说适用吗?

Evan是的。

Hal不仅仅是专业的程序员,是否所有人都能使用它?我想说的是,适用性是有限度的,就连天空也是有极限的。

Evan希望如此吧。之前我们在一起讨论过,如果你想将物品发送到空间站,那么你就必须走得比空间站更远。看看在过去15年左右的时间里App Inventor所产生的影响,从东欧到印度大陆,孩子们创建了各式各样的应用。有人创建应用帮助退伍军人,有人创建应用帮助那些交流有障碍的人。还有一些退休的程序员,他们之前使用Android Studio或XCode开发应用,但当他们发现App Inventor可以快速创建应用时,决定转而使用App Inventor。

Hal如此说来,App Inventor不仅改变了我们的教育,同时也让更多人改变了对编程的认识。只要说明你想要什么,应用就被创建出来。这听起来像科幻小说或魔术,但这些事情已经发生了。

Evan我认为这关系到看问题的角度。每当提到编程,人们习惯于以计算机为出发点,但是,编程其实与计算机无关,而与人有关,它关乎人类如何看待周遭的问题,以及如何利用计算机来解决问题。从根本上说,如果缺少人的参与,就不会有编程这件事。每个人都会有编程的动机,因为他们都需要解决问题。

Hal想来这一切将成为可能。

Evan更了不起的是App Inventor以及它与CSAIL①课程的关系。在CSAIL,出色的研究人员创造出惊人的前沿技术,而App Inventor利用并呈现了这些技术,使得全世界的人们都可以分享这些技术成果,创建有趣的应用来解决身边的问题,从而使社区得到改善。

Hal对教师们而言,首要的建议是,不仅要让孩子们做东西,更要让这些作品对现实世界产生影响。一个14岁的孩子可以发布一个数据库应用,让世界各地的人们都能访问这些数据。我希望App Inventor能够传递这样的理念,孩子们不仅要做东西,更要做真正有用的东西,这也是我们设计这套系统的初衷,而这套系统根植于CSAIL所创建的技术。之前我们提过,我们现在有2000万用户,每月的活跃用户数为100万,这样来之不易的局面,使得我们处在一个有利的位置,让我们得以思考教育问题,甚至从理论上思考计算机科学,同时,借助于技术来达成我们的目标。再说一次,教师们必须认识到,不只是让孩子们做有趣的东西,如果孩子们有好的创意,他们会做出有用的东西,并对他们的城市、国家或任何事情产生影响。

Evan是的,你提到孩子们的作品给社区带来的积极影响,我想起了Ganali的例子。作为一个13岁的孩子,在密歇根州弗林特市水源危机导致的铅中毒事件中,她得知这一消息,于是制作了一个设备来检测铅的浓度,同时针对这个设备用App Inventor制作了一个app来读取数据,并将数据可视化,以便人们随时跟踪数据的变化。若干年后,她现在成为一名MIT的学生。

Hal这件事情让人印象深刻,有趣的是,在当时没有多少可用传感器的情况下,她不仅完成了这个应用,而且让很多人愿意使用这个应用。尽管五年之后,这个应用看起来有些过时,但实际上,人们可以将这个应用中的技术和思路,延展到他们要做的事情上。重要的不只是开发应用,而是让更多的人来使用你所开发的应用,而这正是App Inventor的愿景之一。

注:

CSAIL:Computer Science & Artificial Intelligence Laboratory,计算机科学与人工智能实验室,是App Inventor项目团队所属的实验室。

人物简介:

Hal:全名Hal Abelson,是MIT 计算机科学与工程系的著名教授,是MIT App Inventor项目的创始人和领导者。

Evan全名Evan Patton,是App Inventor项目的首席软件工程师。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多