绝大部分开发者在编辑重复性强的代码时,或多或少都曾有过“如果软件能够自动写完代码就好了”的想法。
现在,微软让这个想法变为了现实。
去年,微软GitHub曾与OpenAI合作,推出了AI编程工具Copilot的早期预览版本,今天,微软宣布,这一工具将正式上线,订阅费用为每月10美元或每年100美元。
Copilot是利用网络中的数十亿行公共代码(尤其是开源在GitHub上的),然后基于机器学习算法训练出来的,所以理论上支持所有编程语言,目前对Python、JS、TS、Ruby、Java、Go这些语言尤为适用。当开发者在Visual Studio Code、Neovim和JetBrains IDE等集成开发环境 (IDE)中编程的时候,Copilot可以给出完整的方法或算法建议,并提供样板代码,辅助单元测试。Copilot的强大之处不在于生成整段的代码,而是小段代码的推荐,这让开发效率提升了很多,这些小段的代码码农们自己也能写,只是比较消耗时间,而且有的时候推荐的代码比人工写的还要好。
在一些较为简单直观的循环节或其他重复性较强的代码中,Copilot甚至能够做到自动写出一段完整可用的代码块。
Copilot出色的AI表现使得它在早期测试阶段就获得了120万开发者的青睐,且在启用它的文件中,有将近40%的代码都是出自Copilot之手。
不过,有利必有弊,Copilot也存在一定争议。
首先,Copilot的AI训练是基于GitHub海量的开源代码实现的,对于一款商业软件来说,这一行为的合法性仍有待商榷。
其次,有部分人认为会影响自己写代码的思路,被固化,更有甚者觉得这是吃程序员的饭,砸程序员的碗?
另一方面,Copilot输出的代码在安全性上较差,存在约40%的安全漏洞,这导致它在商业大型项目中很难发挥出应有的效果。