AI 一夜之间成为主流的 10 个关键原因 - 以及接下来会发生什么
在某些挑战中,基于 GPT-4 的模型取得了胜利。在另一些情况下,它失败了。你怎么知道什么时候该依赖它?
我发现我一直在运行的编程测试最令人困惑的是,基于同一大型语言模型的工具往往执行起来完全不同。
例如,ChatGPT、Perplexity 和 GitHub Copilot 都基于 OpenAI 的 GPT-4 模型。但是,正如我将在下面向您展示的那样,虽然 ChatGPT 和 Perfasciity 的专业计划表现出色,但 GitHub Copilot 失败的次数与成功的频率一样多。
我测试了嵌入在 VS Code 实例中的 GitHub Copilot。我将在即将发布的分步文章中解释如何设置和使用 GitHub Copilot。但首先,让我们运行一下测试。
如果您想知道我是如何测试的以及每个单独测试的提示,请随时阅读 我如何测试 AI 聊天机器人的编码能力。
TL;DR:GitHub Copilot 通过了 2 次,未通过 2 次。
测试 1:编写 WordPress 插件
所以,这惨遭失败。这是我的第一次测试,所以我还不能判断 GitHub Copilot 在编写代码方面是否很糟糕,或者与它交互的上下文是否受到限制到无法满足此要求的程度。
让我解释一下。
该测试涉及要求 AI 创建一个功能齐全的 WordPress 插件,其中包含管理界面元素和作逻辑。该插件接受一组名称,对它们进行排序,如果有重复项,则分隔重复项,以便它们不会并排显示。
这是我妻子需要的真实应用程序,作为她在非常活跃的 Facebook 群组上运行的参与设备的一部分,作为她的数字商品电子商务业务的一部分。
大多数其他 AI 至少部分通过了这项测试。在测试的 10 个 AI 模型中,有 5 个完全通过了测试。其中 3 人通过了部分测试。两个 (包括 Microsoft Copilot) 完全失败。
问题是,我给 GitHub Copilot 的提示与给他们所有人的提示相同,但它只编写了 PHP 代码。需要明确的是,这个问题可以仅使用 PHP 代码来解决。但一些 AI 喜欢为交互式功能包含一些 JavaScript。GitHub Copilot 包含使用 JavaScript 的代码,但从未实际生成它尝试使用的 JavaScript。
更糟糕的是,当我创建一个 JavaScript 文件并从 JavaScript 文件中尝试让 GitHub Copilot 运行提示符时,它给了我另一个 PHP 脚本,该脚本也引用了一个 JavaScript 文件。
正如你在下面看到的,在 randomizer.js 文件中,它尝试将 randomizer.js 文件排入队列(基本上是为了运行),它编写的代码是 PHP,而不是 JavaScript。
测试 2:重写字符串函数
这个测试相当简单。我编写了一个函数,该函数本应测试 dollars 和 cents,但最终只测试整数 (dollars)。该测试要求 AI 修复代码。
GitHub Copilot 确实重新设计了代码,但它生成的代码存在一堆问题。
- 它假定字符串值始终是字符串值。如果为空,则代码将中断。
- 如果输入小数点(即“3”),如果输入了前导小数点(即“.3”),或者包含前导零(即“00.30”),则修改后的正则表达式代码将中断。
对于本应测试货币输入是否正确的内容,如果代码在边缘情况下崩溃,则失败是不可接受的。
所以,我们又一次失败了。
测试 3:找到一个烦人的 bug
GitHub Copilot 做对了。这是从我现实生活中的编码冒险中提取的另一个测试。这个 bug 之所以如此烦人(并且难以弄清楚)是因为错误消息与实际问题没有直接关系。
这个错误有点像程序员的技巧问题。解决这个问题需要了解 WordPress 框架中特定 API 调用的工作原理,然后将这些知识应用于有问题的 bug。
Microsoft Copilot、Gemini 和 Meta Code Llama 都未通过此测试。但是 GitHub Copilot 正确地解决了它。
测试 4:编写脚本
在这方面,GitHub Copilot 在 Microsoft Copilot 失败的地方也取得了成功。这里的挑战在于,我正在测试 AI 创建脚本的能力,该脚本知道在 AppleScript 中编码、Chrome 对象模型以及一个名为 Keyboard Maestro 的仅限 Mac 的第三方编码实用程序。
要通过此测试,AI 必须能够识别所有三个编码环境都需要注意,然后为每个环境定制单独的代码行。
最后
鉴于 GitHub Copilot 使用 GPT-4,我发现它未通过一半测试的事实令人沮丧。GitHub 几乎是地球上最流行的源代码管理环境,人们希望 AI 编码支持是相当可靠的。
与所有 AI 一样,我相信性能会变得更好。让我们继续关注并几个月后回来检查,看看 AI 在那个时候是否更有效。
您是否使用 AI 来帮助编码?您更喜欢哪种 AI?您是否试用过 GitHub Copilot?在下面的评论中让我们知道。


