经常会看到这样的问题,AI以后真的会取代程序员吗?这是人工智能对编程的威胁吗?近日,OpenAI带着他们能够自动写代码的Codex引发了热议。
AI编程其实也并非是新鲜事了,之前的AI自动辅助编程工具Copilot也是一个。实际上,Codex更像是Copilot的一个全面升级。二者同样都是再GPT-3的基础上构建而成,不过Codex能够直接将英文需求描述直接转换为代码。
GPT-3是一个训练集45TB、参数规模1750亿、预训练结果700G的AI模型,其一经问世就成为了万众瞩目的焦点。在其出现之后,使用GPT-3作诗、作曲甚至作画的应用纷至沓来,今天要说的Codex的前身也是基于其的自动生成代码网站debuild.co。在该网站上,注册后用户只需要用英语描述相关需求,相关前端的代码便会自动生成。不过现在该网站基本处于关闭状态。
然而codex却是大幅度的升级,它能够理解自然语言所描述的需求,并且生成的代码也有一定复杂的逻辑。
不过就其本质而言,Codex仅仅是编码专用版的GPT-3。Codex最大的版本仅有120亿的参数,相比GPT-3还是小了许多。最初的时候,GPT-3能够从python的注释中生成一些简单的代码,于是openAI的工作人员便找到github进行合作预训练,将其喂给codex。最后,这个120亿参数版的codex能够对28.81.%的问题给出正确的答案。而之后OpenAI的工作人员又想到了让AI像程序员一样反复修改,组后这种用量堆叠的方式,codex达到了77.5%的正确率。
但其实,codeX目前也常常翻车,在官方直播中就翻车了。这也侧面说明codeX现在并不完美,并不能很好地理解用户的意图,因而其给出的代码也很有可能完全错误。
由于其生成的代码无法保证准确性和正确性,也存在着一定的安全风险。甚至,OpenAI还表示,Codex会生成一些带有种族歧视的内容。
本质上,codex不能创造代码,仅仅是在不停地搬运代码而已。未来地选择应该是AI与人类程序员的配合,而非AI独立完成编码任务。而由此,ctrl+c/v的开发模式终有一天会被淘汰。因为AI最擅长的便是高度模仿过去存在的相似代码,复制粘贴+修补Bug的模式AI可能效率远远高于人类程序员。