8 月 12 日,Open AI 为所有有兴趣尝试 Codex 的人举办了一场黑客马拉松。 Codex 是新一代 GPT-3 算法,可以将简单的英文命令翻译成代码。

我们 Serokell 认为尝试一下会很有趣:现在只有一小部分人可以免费访问测试版。我们的一个队友在等待名单上一年多后获得了访问权限。

挑战形式

挑战的重点是解决 5 个相同的小任务,每个人都可以测试系统。公平地说,它们非常简单——也许是因为 Codex 无法解决复杂的问题。

举个例子,其中一项任务是使用 pandas 的功能来计算字符串中两个日期之间的天数。还有一个专门针对算法的简单任务:对于二叉树,需要恢复原始消息。 我们的主要动机是看看 Codex 可以做什么,它对任务的理解程度如何,并监控其决策的逻辑。

剧透警告:并非一切都像 Open AI 演示期间那样出色和流畅!

存在什么问题?

第一个问题与服务器滞后有关——也许公司还没有准备好迎接如此庞大数量的参与者(几千人)。因此,我们浪费了大量时间尝试重新连接。有趣的是:排行榜有一个奇怪的逻辑。解决方案是根据完成时间而不是解决问题所需的时间来评分的。因此,在挑战开始时迟到的人在记分板上的先验很低。

对我们来说,Codex 似乎不是一个非常聪明的编码器。首先,它犯了很多语法错误。它很容易忘记右括号或引入额外的列。因此,代码变得不正确。捕捉这些错误确实需要时间和精力!

其次,Codex 似乎不知道如何处理数据类型。你作为程序员必须非常小心,否则模型会搞砸。 例如,在上一个简单地计算日期之间的天数的任务示例中,Codex 为我们弄乱了操作顺序。它忘记将字符串转换为日期并尝试按原样执行操作。

最后,Codex 提出的解决方案并不是最优的。这是成为一名优秀程序员的重要组成部分:理解任务,将其分解为可实现的部分,并在执行时间和内存方面实施最佳解决方案。 Codex 确实提出了一些解决方案,但它们远非最佳解决方案。例如,在处理树时,它写了一个 while 循环而不是一个 for 循环,并添加了初始任务中没有的额外条件。每个人都知道写 while 循环而不是 for 循环是一种很大的禁忌。

结论

Codex 不能用作真正编程的无代码替代方案。目前尚不清楚 Open AI 使用此解决方案的目标是什么。由于上述原因,非程序员不能使用它。程序员更愿意从头开始编写代码,而不是坐在 Codex 代码中编辑括号。

Codex 不像 PyCharm 插件那样能够成为自动补全工具。团队中的大多数人不在 GitHub 中编写代码,而仅将其用于项目管理。因此,目前尚不清楚 Open AI 将如何处理 Codex。

无论如何,Codex 是一项有趣的举措,有可能随着更多人的使用而大大改善。所以也许在未来,它会成为非程序员的无代码解决方案的超级用户友好替代方案。

内容中包含的图片若涉及版权问题,请及时与我们联系删除