OpenAI再次惊艳:只要你会说人话,就能写代码?

OpenAI再次惊艳这个圈儿!有了此东东,再也不用上StackOverflow了?

你还在苦于不会写代码,落后于其他人吗?你是否曾因为刷不到 DMV 等各种预约而苦恼,看着别的程序员随便写个脚本就能节省大把时间精力,特别眼馋?

如果回答“是”的话,那么有一条好消息告诉你:

OpenAI 发布了一个最新的技术,名叫 Codex API。

只要你会说人话(英文),它就能自动写出代码。

以后无论想要实现什么功能,写代码这事儿再也不用求人了!

截图来源:GitHub Copilot

Codex 到底有多神?

OpenAI 在官网上写道:Codex API“精通十几种编程语言,可以将简单的自然语言命令转变成代码,并代理用户执行。这使得现有软件增加自然语言编程界面成为可能。”

API 目前已经支持 Python、JavaScript、Go、Perl PHP、Ruby、Swift和Shell 等多种主流编程语言。

它的工作方式也特别简单:你只需要用自然语言描述你想要做什么,比如“插入这张图片”、“把图片调小一点”、“让它每次被点击的时候都弹出一个通知”之类的,这个 API就可以把这些描述,按照你选择的编程语言,快速转换成代码!

图片来源:OpenAI

但如果你以为 Codex API 只会修修图片、改改字体这种简单的编程操作,就太小看它了。

Codex API 还可以设计和生成软件 UI:

图片来源:OpenAI

Codex 还是一位数据科学家,可以下载和规整数据、分析、制作图表:

图片来源:OpenAI

它不仅能把人话翻译成代码,还能更进一步,实现多种编程语言之间的互译,比如从 Python 转译 Ruby:

图片来源:OpenAI

你还可以让它帮你做数学题:

再也不用担心搜题软件被政策打击了,有了 Codex API,你就有自己的搜题软件了……

就算你不是程序员,没有写代码的需要,Codex API 也还是有很大帮助的。比如,你可以用它实现复杂的文档编辑,用语音命令删除段前空格:

图片来源:OpenAI

用逻辑功能快速修改整个文档,比如在每行之前加上行数编号:

图片来源:OpenAI

更复杂的操作,比如数一下文档中某个词的出现次数,并且在文末注明:

图片来源:OpenAI

OpenAI 甚至演示了用 Codex API 编写一个完整的小游戏。只有想不到,没有 Codex 做不到的:

Codex API 到底是什么?为什么它这么厉害?它和 OpenAI 过去曾经震撼世界的那些技术发明和突破,是否有关系?

从GPT-3来,到程序员中去

OpenAI 总部位于硅谷,是全球领先的 AI 基础研究机构。它在去年发布了震撼世界的 GPT-3,一个超大规模的通用自然语言深度学习模型。 

读者朋友或许还记得,去年报道 OpenAI 基于 GPT-3 推出的“OpenAI API”的时候,曾经着重提到,GPT-3在多种风马牛不相及的语言类任务上,表现都十分出色。这些任务当中,就包括了“自动编程”。更具体来说,就是用自然语言写代码。 

当时,有开发者基于 GPT-3 开发了一个网页 App 快速生成器。在输入框里用自然语言进行描述,它就可以快速“脑补”出你想要的用户界面。 

比如,十秒钟生成一个 Google 首页,GPT-3 可谓是信手拈来。

图片来源:Sharif Shameem

还有开发者用 GPT-3 制作了一个财会程序,还是用“我今天投入了1000美元”、“后三个月房租预付了900刀”这样的自然语言,程序就能自动修改资产负债表上对应的项目。

(真不知道在科技公司工作的财务同学们,看到码农同事把自己的工作也代劳了,现在作何感想……) 

图片来源:Yash Dani

OpenAI 表示,他们去年发布了 GPT-3 之后,看到很多开发者用它做各种各样奇妙的事情。特别是在代码生成上面,他们自己之前并没有特别重视 GPT-3 在这方面的能力,但看到开发者“爆改”之后的结果深受启发。OpenAI 也在考虑:是不是可以在这个方向上多做一些事情? 

说到这里大家也应该都明白了:没错,Codex 技术本身以及 API,正是 GPT-3 在代码生成能力上面的延伸。

GPT-3 的主要能力是理解用户输入的自然语言,然后生成新的自然语言,完成各种各样的相关任务。 而 Codex 的训练数据包括大量自然语言,以及来自 GitHub 的公开 repo 和其它来源的数十亿条代码。 

它 和 GPT-3 本体的不同之处,在于它的输出就是代码。 只要用户能用英语讲清楚自己的需求,Codex 就能用指定的语言输出正确的代码。

OpenAI 希望 Codex 能够解决程序员的痛点: 

一旦程序员知道要开发什么东西,写代码的行为可以被分解为两部分:

(1)将问题分解成更简单的问题 

(2)将这些简单的问题映射到已经存在的现有代码(库、API 或函数) 

其中(2)可能是编程中最无趣的部分(也是门槛最高的部分),而这正是 Codex 最擅长的地方。 

这里,已经让人能想到一些经典的使用场景了:

比如,程序员的日常,有段代码不知道怎么写,以前的做法是 Google、Stack Overflow、Quora……以后可以直接让 Codex 一站式解决了; 

图片来源:Reddit/Programming Humor

再比如,产品经理有个需求找工程师,被各种推脱……产品经理直接召唤 Codex:你看这不是明明能实现吗!赶紧给我做!

更重要的是,因为 Codex 现在已经被 OpenAI 做成了 API,也就意味着任何其它软件都可以接入,获得“说人话、自动出代码”的全新能力! 

第一个实装 Codex API 的不是别人,正是 GitHub 前段时间推出的 AI 结对编程助手 Copilot:

图片来源:GitHub Copilot

Copilot 可以在编辑器内帮助程序员写出整句代码,甚至生成完整的函数。该功能目前对 Phthon、JS、TypeScript、Ruby、Go 等语言的适配性最佳,当然也继承了 Codex API 对其它语言的适配。 

图片来源:GitHub Copilot

此外,Copilot 在一些场景下还会为用户提供多种代码实现选项,让用户来自己决定选择或拒绝。用多了之后,Copilot 还能“学习”用户的编程习惯,往后的推荐会更契合用户的编程“风格”…… 

图片来源:OpenAI

目前,GitHub 已经将 Copilot 开发成了 VS Code 插件,这样使用 VS Code 的程序员朋友们就可以随时求助自己的 AI 结对编程小帮手了。当然,前提是你的英文表达能力过关(英文不好的程序员朋友,提升一下喽。) 

让我们再回到 Codex 技术。据 OpenAI 透露,Codex 目前的身份可以被定义为一个“泛用性”的编程模型,意味着原则上你可以把它应用于任何编程相关的任务。当然对于那些“难度”更高的任务,效果可能不会特别好。 

“我们已经成功将 Codex 用于转译、解释代码和重构代码等任务。不过我们知道,它在未来能够实现的,还有更多更多。”

为了推广这项技术,OpenAI 还举办了一个 Codex 挑战赛 ,邀请来自全世界的开发者,一同挑战 Python 编程难题。Codex 将作为参赛选手的结对编程小帮手。当然,别以为 Codex 能解决所有的难题。它只是你的助手而已,并不是“作弊器”。 

目前,OpenAI 正在对 Codex API 进行免费的非公开测试。各行各业的开发者,特别是那些在编程上没那么多经验的人士,都可以到 OpenAI 的官网,加入等候名单,申请测试资格。

未来,OpenAI 也有可能会像对待 GPT-3 那样,把 Codex API 也变成提供给企业用户的付费服务。 

倒是希望,Codex 能够继续保持对普通个人用户的免费,让更多没有编程知识的人们,也能享受技术带来的各种便利

作者:光谱 杜晨,头图来源:OpenAI,观点代表个人。本站不对内容的真实性及完整性作任何承诺。

(8)
上一篇 2021年8月12日 12:04
下一篇 2021年8月12日 21:35

您可能也感兴趣:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

本站暂停更新,查看最新更新的内容请大家访问IT小熊(https://www.itcubs.com),谢谢!