微软AI Copilot杀入自动编程领域,“码农”们有福了

划重点
  • 1

    只需几个简单的提示,微软的Copilot编程助手就能自动完成代码的编写。

  • 2

    微软宣布,Copilot助手已经吸引了130万个客户,其中包括5万家企业。

  • 3

    Copilot助手仍存在局限性,如调用过时代码、生成有缺陷或侵犯版权的内容。

图片
腾讯科技讯 据国外媒体报道,早在2021年,微软便率先推出了Copilot编程助手预览版,引起了广大软件开发者的热烈反响。他们非常看好这款助手的巨大潜力,并对其充满期待。
Copilot编程助手由微软及其软件托管平台GitHub共同开发,其背后依托于OpenAI的生成式人工智能技术。尽管这个助手尚不完美,偶尔还会犯些小错误,但其在编程方面的表现却令人满意。只需简单的几个提示,Copilot编程助手便能自动完成代码的编写。
时光荏苒,三年后的今天,Copilot编程助手已经得到了OpenAI GPT-4的技术支持,能力得到了极大提升。如今,它不仅能够回答工程师的疑问,还能将代码从一种编程语言无缝转换为另一种语言。这意味着Copilot助手已经能够协助编写越来越多的软件,甚至被应用于为公司关键系统编程的重要任务中。
在这个过程中,Copilot助手正悄然改变着软件工程师的工作和生活,他们是第一个大规模使用生成式人工智能的专业群体。微软表示,截至目前,Copilot助手已经吸引了130万个客户,其中包括5万家企业,从初创小公司到高盛、福特和安永等业界巨头。工程师们纷纷表示,Copilot的出现让他们从繁琐、重复的任务中解脱出来,每月为他们节省了大量宝贵的时间,使他们得以专注于更具挑战性的工作。
微软和GitHub押注Copilot将成为强大的人工智能助手,可以击败类似的竞争对手,如Tabnine、亚马逊CodeWhisperer以及谷歌支持的Replit Ghostwriter。此外,Copilot编程助手也是微软在Office、Windows、必应和其他业务线推出的一系列Copilot产品中的测试版,预示着微软在人工智能领域有更大的雄心。
图片
图注:在过去一年中,软件开发者使用最多的AI编程工具,Copilot居于首位
但如同人工智能一般,GitHub Copilot同样存在局限性。开发者们反馈,这款工具有时会调用过时的代码,对问题提供毫无帮助的答案,甚至产生有缺陷或可能侵犯版权的建议。鉴于Copilot是基于公共和开放的代码库进行训练的,工程师们在使用时面临着重复安全漏洞的风险,或者可能在工作过程中引入新的问题,特别是当他们盲目接受Copilot的建议时。
GitHub强调,这款工具仅仅是一个助手,而非人类程序员的替代品,并将使用的责任归于客户。GitHub的首席执行官托马斯·多姆克(Thomas Dohmke)表示,为了防止懒惰的程序员简单地接受Copilot的建议,需要有强有力的指导方针。
生成式人工智能无疑是近年来推动计算机编码领域变革的一系列创新中的最新成果。回溯至上个世纪,程序编译器通过迅速将指令翻译成计算机能理解的1和0,极大地加速了软件开发的进程。而近年来,Linux的普及进一步推动了开源编码的广泛应用,使得程序员能够充分利用他人的工作成果,避免从头开始编写所有内容。
像GitHub Copilot这样的编程助手可能更具革命性,因为生成式人工智能具备将软件工程师目前所做大量工作自动化的潜力。目前,Copilot编程助手主要致力于帮助程序员提升工作效率。Copilot的预测能力使得程序员能够保持在“流程”中,无需频繁地停下来查找资料。
在软件开发中,没有什么任务比调试软件更乏味了,这一过程往往会消耗工程师高达50%的时间。然而,Copilot编程助手能够在几分钟内创建缺陷测试程序,相较于传统方式所需的几小时,这无疑展现了人工智能的真正价值。而且它并非要取代人类程序员的工作,而是让他们能够腾出更多时间来专注于开发更具创造性的解决方案。
许多公司已经开始部署Copilot编程助手,利用其来为关键系统编写代码。以酿酒巨头嘉士伯为例,他们运用Copilot为一个既有工具编写代码,这个工具旨在辅助销售人员规划、准备和记录销售电话。从长远来看,企业甚至可能将代码检查的任务外包,这随着人们对人工智能的信任逐渐加深将成为可能。
为了评估Copilot的准确性,加拿大滑铁卢大学去年开展了一项实验。研究人员创建了一个包含已知缺陷代码片段及其修复程序的数据集,并测试Copilot编程助手是否能够准确地复制这些片段。实验结果显示,这个助手复制有缺陷版本的概率为33%,这一比例低于人类程序员。令人惊讶的是,在25%的情况下,Copilot甚至能够生成带有修复程序的代码。总体而言,Copilot在避免基本错误方面表现得相对较好。
然而,软件工程师改变工作习惯的速度可能相对缓慢。虽然许多人欢迎Copilot助手的加入,但他们也表达了对过度依赖该工具的担忧。最近一项由GitHub资助的研究发现,仅有27%的开发者接受了Copilot助手的建议。
当出现问题时,工程师们往往倾向于将责任推给Copilot编程助手。去年10月和12月,Etsy网站短暂瘫痪时,一些开发人员就指责该软件导致了故障。
展望未来,预计Copilot助手将在未来几年内得到显著改进。GitHub已经推出了一系列增强功能,包括一个企业版本,它可以根据客户自己的编程代码回答问题,这将有助于工程师更快地推进工作,并提升资深程序员的效率。在接下来的几个月里,GitHub还计划允许工程师使用雇主自己的代码库来帮助自动完成他们正在开发的程序,这将使生成的代码更加符合企业的特定需求,并进一步提高其实用性。(编译/金鹿)