首页 > 资讯 > 科技 > 正文
2022-03-20 21:31

人工智能如何成为我的代码编写精灵

代码从Feross Aboukhadijeh的手指间倾泻而出。

作为开源软件运动的拥护者,他编写了非常受欢迎的网络应用程序,点对点文件交换,以及其他100多段代码,这些都是在他大学毕业后的10年里完成的。最近,在一种名为“副驾驶”(Copilot)的工具的帮助下,Aboukhadijeh进入了一种新的心流状态。这是一个人工智能软件,可以帮他打字和思考。

该工具由私人研究实验室OpenAI和微软旗下的GitHub(程序员共享代码的网站)开发,本质上是软件开发的自动完成功能。就像Gmail试图在您编写一个句子时完成它一样,Copilot提供完成您程序的一个块。该工具于去年夏天发布给一组经过挑选的编码人员。

Aboukhadijeh很快发现副驾驶很好,几乎是令人不安的。他开始输入一行代码,几秒钟之内,人工智能就会知道他要去哪里——然后,砰的一声,接下来的四五行完整的代码就会显示为浅灰色文本,他可以按下Tab键接受。当他看到它生成了完全符合他意图的干净代码时,他觉得有点不可思议。“它是怎么得到这些预测的?”他回忆自己当时的疑惑。“其中一些真的很可怕。”

几个星期以来,Aboukhadijeh一直让副驾驶在他工作的时候开机。他发现它还有其他令人印象深刻的技巧;它甚至可以理解他用基本英语写的命令。如果他只是在他的代码编辑器中输入“编写一个将文档中的每个单词大写的函数”,那么他就会自己组装这些代码。他会检查,确保没有错误;有时候做的。

更重要的是,这个工具正在改进他的代码。例如,Aboukhadijeh曾经需要他的软件来识别几种不同格式的文本文档,所以他在代码中一个一个地列出了所有格式。副驾驶反而推荐了一个简洁的命令,优雅地将所有的信息汇集在一起。

“我当时就想,这是怎么做到的……?”他觉得他永远不会关掉副驾驶。

并非只有他一个人这样:在Copilot推出9个月后,已有数万名程序员试用了这款软件。我采访了15名使用过它的程序员,其中大多数人,比如Aboukhadijeh,发现它极大地加快了他们的速度——尽管他们有时会被它的优秀吓到。(正如Instagram最初的代码编写人迈克·克里格(Mike Krieger)所说,“真是令人兴奋。”)当然,他们也注意到它犯了一些错误,从愚蠢到令人苦恼的细微错误。GitHub和OpenAI一直在通过匿名数据跟踪Copilot的性能,这些数据包括编码人员接受多少建议行,以及他们随后在GitHub上存储多少行。他们发现,人工智能编写的代码占用户新发布代码的35%。

硅谷正忙着预测,有人会突然推出一款智力超过人类的人工智能。

自从计算机问世以来,人们一直在寻找使它们更容易编程的方法。第一批美国程序员,即1945年为ENIAC机器编写指令的女程序员,她们的工作困难得近乎可笑:她们必须用电线来构建逻辑。在50年代,磁带和打孔卡使工作稍微容易一些。然后出现了具有类似英语语法的编程语言,其中一些语言——比如Basic或cobol——被明确地设计用来鼓励新手。到了90年代,Python之类的语言自动化了编码中一些最粗糙、最令人沮丧的部分,比如内存管理。在2000年代,开源运动造就了一代很少从零开始写东西的程序员。

我只想说,好莱坞那种程序员疯狂地自己敲出大量代码的形象,多年来一直都不是真的。通过将别人写的代码块拼接在一起,个人可以创造出比20年前可能出现的更加复杂的应用程序。副驾驶技术有望成为这几十年发展轨迹的下一个重要步骤。