交流评论、关注点赞

  • Facebook Icon脸书专页
  • telegram Icon翻墙交流电报群
  • telegram Icon电报频道
  • RSS订阅禁闻RSS/FEED订阅

人工智能:编程员为何爱这能令他们失业的新科技?

2021年09月09日 3:52 PDF版 分享转发

“当你开始学写代码,本身就能让你觉得自己很聪明,好像在《骇客任务》(Matrix,《黑客帝国》)里面一样,”26岁的陆伶彦(Janine Luk)说。她是一名在伦敦工作的软件工程师。

出生在香港的她职业生涯初期是在法国南部做游艇市场营销,但是却发现这一行“有些千篇一律和肤浅”。

于是,她开始在下班后自觉编程,之后又跟了一个15周的培训营。

在培训营的最后一天,她向一家网络安全软件公司Avast申请了一份工作。

三个星期后就开始上班了。

“两年半之后,我真的觉得那是我做过最好的决定,”她回忆说。

她刚开始进入这家公司时,她是团队里第一个女的软件开发人员。现在,她会用业余时间来鼓励其他女性、有色人种和LGBT【小编推荐:我所知道的地球历史与奥秘篇(十):同性恋与吸毒】(同性恋【小编推荐:我所知道的地球历史与奥秘篇(十):同性恋与吸毒】、双性恋及跨性别)人士尝试编程。

她说,对于像她这样的来说,最近最有趣的转变是(AI)工具的兴起,它能够自己完成越来越巨量的代码编写。

6月,位于旧金山(旧金山)、拥有5600万用户的代码托管平台公布了一个新的AI工具,叫做Copilot。

你开始键入几个新的代码字符串,然后AI会给出建议,如何写完剩下的部分。

“我见过最震撼脑袋的机器学习功能应用,没有之一,”Instagram的联合创始人迈克·克里格(Mike Krieger)对Copilot发出这样的热情赞叹。

Ad:美好不容错过,和家人朋友一起享受愉快时光,现在就订票

它是基于一项被称为“GPT-3”的人工智能技术,在去年夏天由OpenAI发布。那是一家位于旧金山的人工智能实验室,由伊隆·马斯克(Elon Musk)联合创办。

这个GPT(代表“generative pre-training”,即“生成预训练”)引擎做的一项“非常简单但是非常大量的工作——预测一串文字当中的下一个字母,”Codility公司的创始人,工作地在华沙的格泽戈茨·贾卡奇(Grzegorz Jakacki)解释说。他的公司制作了一个广受欢迎的招聘测试软件。

OpenAI训练人工智能,是通过网络上已经存在的文本,比如书籍、维基百科和数十万网页,他说,这样的原始素材是“有点经过人为策划但是尽可能多地包含了各种人类语言”。

而且,贾卡奇表示,“可怕的是,它没有被教导任何特定语言当中的规则。”

这样得出的结果还是像模像样的文字段落。

之后,人们还曾叫它去用多种不同风格来写作,比如,写一个新的哈利·波特(Harry Potter)故事,但是用厄内斯特·海明威(Ernest Hemingway)或者雷蒙·钱德勒(Raymond Chandler)的风格。

最终,OpenAI的首席执行官萨姆·阿尔特曼(Sam Altman)在推特(Twitter)上发文称,对于GPT-3的炒作“太过份”,而且人们需要记住,AI“有时间会犯一些非常傻的错误”。

GitHub的母公司微软(Microsoft)在9月买下独家许可使用GPT-3,而GitHub还决定训练另一个类似的模型。只不过这一次,是训练AI写软件的源代码。

GitHub是世界最大的源代码库,拥有至少2800万个公共代码库(软件代码组存放的地方)。所以,这家公司也能给Copilot一个可观的公共代码原始素材。

据曾经尝试给AI出代码难题的陆伶彦说,这样的结果是,Copilot能够提供“相对好的解决方案,尽管有时候会需要一些微调”。

作为一名程序员,她远没有把这个工具看作是她工作的威胁,而是喜欢有AI来帮她做写代码当中那些“比较沉闷的部分”,比如检查那些被叫做“正则表达式”(regular expressions)的复杂字串,她过去总是要“三番四次复查”。

而且,佛蒙特州开源软件公司红帽(Red Hat)的资深程序员迪娜·穆斯卡内尔(Dina Muscanell)说,由于AI接收的是由专业程序员写的代码,它真的能帮助编程者运用同僚的集体智慧结晶。

现在已经有一些像“Stack Exchange”这样的代码社群网站,程序员会在上面问问题然后得到建议。或许这也没什么不一样?

“如果你想想,是在敲代码的同时立即得到回馈,那还是很赞的。”她说,虽然是由AI来堆砌,但是其实“你有一整队人在给你投喂这些代码”。

不过,专业程序员对于AI这个初来乍到的新兵还是有一些顾虑。

其中一个是找错。贾卡奇说,在软件工程行业当中,“在垃圾显而易见的时候,你是比较幸运的,但是这个东西可能会制造一些非常微妙的垃圾。”

在代码当中的微小错误有可能非常难于被发现,同时导致非常大的代价。

未来一种可能的解决方法是利用AI来查找漏洞:比如,发现在微波炉上按某些按钮“是有效的输入,但是却不合情理”。不过,我们还没有达到这一步。

与此同时,穆斯卡内尔警告说,“如果你经验不足,而你是在尝试学习,你可能会出一些差错但是却没有意识到。”

另一个大问题则涉及这些自动生成代码的所有权。如果Copilot是在用其他人写的程序来获得训练,编出一些与另一名程序员写的几乎一样的代码,然后你又用到它,这会怎样?

陆伶彦说,使用AI工具“有可能会侵犯一些开源软件许可,因为它可能会有些东西是来源于训练代码”。而这可能会令你掉进剽窃的漩涡。

贾卡奇说,这完全是一个“法律尚未跟上技术”的领域。

理论上,你可以衡量有多少代码是源自于一组训练代码:方法是通过训练一个不同的AI去省略掉一组特定代码,但是使用所有剩余的代码。

但是,贾卡奇说,这样做将会“极其高成本”。

实际上,目前AI只提供一些短的代码片段,不会完全编写软件程序。

贾拉奇说,相较之下,要在网页代码中“得到任何一种有意义的功能”,最短的代码长度是1万行。

所以,它还没有准备好要取代真人程序员。

也没有到可以出现传说中的人工智能技术奇点的程度——这个想法最早是由数学家约翰·冯·纽曼(John von Neumann)假定的,指的是电脑智能的自学循环进入一个失控的爆发点,然后飞快地超越人类的智慧。

而更重要的一点,对于像陆伶彦这样的代码编写员来说,“即使它有帮助,也不一定代表工作量会减轻。”

代码仍然需要全面复核,而且要进行两部分测试,一个是它如何运作(称为单元测试),另一个是它如何与其他代码融合(集成测试)。

她表示,这样还是非常好。

她喜欢写代码的主要原因“是它当中解决问题的部分,而如果所有事都已经帮你做好了,那当中的乐趣就被拿走了,”陆伶彦这样反思到。

如果电脑做太多的思考,“你就得不到解决一个问题之后的那种满足”。

而虽然她认为,随着越来越多的学习和调适,AI编程工具是有潜力的,“但是希望不要太快,让我们变得多余,”她笑说。

来源:BBC中文

喜欢、支持,请转发分享↓Follow Us 责任编辑:宋伯明