技术越多地进入各个行业,编程作为一项技能就变得越重要。但从头开始学习任何编程语言到掌握都需要花费大量的时间和精力,即使对于已经在该行业工作多年的专家来说也是如此。
如果计算机能够理解简单的英语并按照你的指示去做,那不是很神奇吗?一家公司认为,人工智能是实现更简单、更快速地与计算机通信的关键,而不是连续几个小时对终端进行黑客攻击。
什么是 OpenAI?
OpenAI 是一家人工智能 (AI) 研究实验室和公司。他们创建了各种人工智能程序和机器学习算法,使计算机能够执行各种操作,例如从文本创建图像或制作解决魔方问题的机器人手。
他们的最新项目 OpenAI Codex 专注于让编程软件和应用程序更易于普通人使用,并在编写代码时节省专业程序员的时间和精力。
什么是法典?
AI编码软件Codex基于OpenAI的语言生成模型GPT-3构建,充当用户和计算机之间的翻译者。在早期的演示中,用户能够使用自然语言或简单的英语而不是专用的编程语言来创建简单的网站和游戏。
OpenAI 的首席技术官兼联合创始人 Greg Brockman 将 Codex 描述为:
我们将其视为增加程序员数量的工具。编程有两个部分:你必须“认真思考问题并尝试理解它”,以及“将这些小片段映射到现有代码中,无论是库、函数还是 API。”第二部分很乏味,但这是 Codex 最擅长的。它需要已经是程序员的人并消除苦差事。
Codex 的创建是为了改进 GPT-3。它的开发人员没有接受一般网络内容的培训,而是专门使用他们从网络各个部分抓取的开源代码存储库。
其结果是一款人工智能编码软件,能够以各种方式生成和解析书面句子,同时理解翻译和变体之间的联系。
Codex 软件如何工作?
Codex 不仅仅是一个头脑简单的翻译器。它和其他专门从事编码的人工智能一样。
使用 Codex 就像与 Alexa、Siri 或 Google 等虚拟助手交谈。你要求软件做你想做的事情,就像你请求朋友帮忙一样。
例如,如果您正在设计一个网站,您可以输入诸如“创建一个网页,标题位于左上角,菜单位于右上角”之类的命令。
您还可以指示它通过更改元素的字体、大小或方向来调整元素。虽然这对您来说似乎相对简单明了,但对 Codex 来说,它是一系列命令。
为了将网页中的元素向右移动,Codex 必须了解相关项目,选择它,然后将其在一个或多个方向上移动一定数量的像素。如果您熟悉编码语言,那么这通常比“将图像移动到右下角”需要更长的时间。
法典并非绝对正确
值得注意的是,法典并非绝对正确。随着它的学习和变得更加聪明,它会犯更少的错误,但它不太可能达到 100% 的准确率,特别是因为它处理像自然语言一样复杂的输入。
与无代码编程方法不同,Codex 可以帮助您并节省时间。当您在网站或程序上工作时,您仍然需要稍微熟悉您所使用的编程语言,以最大程度地减少错误和错误。
即使是被评为所有商业虚拟助手中最聪明的 Alexa,有时也难以理解用自然语言提出的某些问题和请求。使用 Codex 时,您可能需要多次重新表述您的请求,才能使其完全理解您的请求。
对剽窃的担忧
Copilot 是 Codex 的首批创作之一,它是 Microsoft 拥有的代码存储库,并与 GitHub 一起部署。它本质上是代码的自动完成。但是,当 Copilot 建议一些代码时,它有时会推荐其他开发人员编写的代码。
Codex 尚无定论。由于它接受了严格的开源代码培训,因此它的大部分建议可能属于合理使用,特别是当个人而不是公司使用时。布罗克曼还表示,他们希望对每一项新技术进行一定程度的辩论,如果社区认为有必要,就会做出改变。
OpenAI Codex 与高级编程语言
当谈到使编码更接近人类语言的选项时,有两种选择:要么像 Codex 那样使用人工智能进行翻译,要么使用已经类似于自然语言或数学符号的高级编程语言。
使用方便
可以肯定地说,Codex 比 Python 等最简单的编程语言更容易使用。如果您可以用清晰的句子输入您想要的内容,Codex 可以为您做到。
灵活性
从技术上讲,Codex 研究了各种代码示例,使其能够理解和生成各种命令。然而,命令越复杂,将其正确传达给软件就越困难。
另一方面,当您自己编写代码时,您可以简化请求并对其进行调整以实现您的确切目标,而限制很少。
可靠性
无论您使用 Codex 还是编写自己的代码,无论您的语言多么简单或经验丰富,错误都是不可避免的。不过,通过编写自己的代码,您可以对它将要做什么有一个可靠的路线图。然而,在 Codex 中,你会受到人工智能的支配,人工智能会准确地理解你想要告诉它的内容。
人工智能编程的未来
Codex 仍然相对较新。至少,与老式编程相比。使用 AI 和 Codex 进行编码不太可能很快取代手动编码。
如果成功,Codex 预计将与无代码和低代码工具竞争,使编程更容易为公众所接受,甚至弥补一些国家面临的程序员短缺问题。