网站搜索

Meta AI 可以编码吗?我用 Llama、Gemini 和 ChatGPT 对其进行了测试 - 效果还差得远


我对 Meta AI 进行了一套简单的编码测试。结果证明,确实只有一个人工智能聊天机器人值得您花时间进行编程。

人工智能工具编写代码的能力如何?在过去一年左右的时间里,我对大型语言模型进行了一系列测试,看看它们处理一些相当基本的编程挑战的能力如何。

这个想法很简单:如果他们无法应对这些基本挑战,那么可能就不值得要求他们做任何更复杂的事情。另一方面,如果他们能够应对这些基本挑战,他们可能会成为希望节省时间的程序员的得力助手。

为了设定这个基准,我已经使用了三个测试(并且刚刚添加了第四个)。他们是:

  1. 编写 WordPress 插件:这会在 WordPress 内部使用 PHP 编程语言测试基本的 Web 开发。它还需要一些用户界面构建。如果人工智能聊天机器人通过了此测试,它可以作为网络开发人员的助手帮助创建基本代码。我最初在“我要求 ChatGPT 编写一个我需要的 WordPress 插件。它在不到 5 分钟内完成了”中记录了此测试。
  2. 重写字符串函数:此测试评估 AI 聊天机器人如何更新实用函数以获得更好的功能。如果人工智能聊天机器人通过了这项测试,它可能能够帮助程序员创建工具。如果失败了,一年级编程学生可能会做得更好。我最初在“好吧,所以 ChatGPT 只是调试了我的代码。真的”中记录了此测试。
  3. 发现恼人的错误:此测试需要深入了解 WordPress 的工作原理,因为明显的答案是错误的。如果人工智能聊天机器人能够正确回答这个问题,那么即使使用 WordPress 这样的框架,它的知识库也相当完整。我最初在“好吧,所以 ChatGPT 只是调试了我的代码。真的”中记录了此测试。
  4. 编写脚本:此测试要求人工智能聊天机器人使用两个许多用户不知道的相当专业的编程工具进行编程。它本质上是测试人工智能聊天机器人除了大语言之外的知识。我最初在“Google 推出 Gemini Code Assist,我对它将帮助程序员持谨慎乐观态度”中记录了此测试。

我将带您完成每个测试,并将结果与我测试过的其他人工智能聊天机器人的结果进行比较。这样,您将能够更好地衡量人工智能聊天机器人在编码性能方面的差异。

这次,我正在测试 Meta 的新 Meta AI。让我们开始吧。

1. 编写 WordPress 插件

下面是左侧 Meta AI 生成的界面,与右侧 ChatGPT 生成的界面相比:

两个人工智能聊天机器人都会生成所需的字段,但 ChatGPT 的演示文稿更清晰,并且包含每个字段的标题。考虑到功能,ChatGPT 还将“随机化”按钮放置在更合适的位置。

在操作方面,ChatGPT 接收了一组名称并产生了随机结果,正如预期的那样。不幸的是,Meta AI 接收了一组名字,闪现了一些东西,然后呈现出一个白色的屏幕。这在 WordPress 世界中通常被描述为“死亡白屏”。

以下是本次测试和之前测试的汇总结果:

  • Meta AI:界面:足够,功能:失败
  • 元代码骆驼:彻底失败
  • Google Gemini Advanced: 界面:良好,功能:失败
  • ChatGPT: 界面:良好,功能:良好

2. 重写字符串函数

该测试旨在测试美元和美分的转换。 Meta AI 有四个主要问题:它在不应该更改的情况下更改了正确的值,没有正确测试具有多个小数点的数字,如果美元金额少于两位小数则完全失败(换句话说,它会失败,输入为 $5 或 $5.2),并且在处理完成后拒绝正确的数字,因为这些数字的格式不正确。

这是一项相当简单的作业,大多数计算机科学一年级的学生都应该能够完成。令人失望的是 Meta AI 失败了,尤其是 Meta 的 Code Llama 在相同的测试中取得了成功。

以下是本次测试和之前测试的汇总结果:

  • 元人工智能:失败
  • 元代码骆驼:成功
  • Google Gemini 高级版:失败
  • ChatGPT:成功

3. 发现烦人的错误

这不是一个编程作业。该测试采用一些预先存在的代码块,以及错误数据和问题描述。然后它会要求人工智能聊天机器人找出代码的问题并提出修复建议。

这里的挑战是有一个明显的答案,但它是错误的。该问题需要深入了解 WordPress API 的工作原理,以及了解所编写程序的各个组件之间的相互作用。

Meta AI 出色地通过了这一关。它不仅正确地识别了错误,甚至还提出了建议,虽然不是必需的,但提高了代码的效率。

在重写一个简单的字符串函数时惨遭失败后,我没想到 Meta AI 能够在一个更具挑战性的问题上取得成功。这表明人工智能聊天机器人的反应不一定一致。

以下是本次测试和之前测试的汇总结果:

  • 元人工智能:成功
  • 元代码骆驼:失败
  • Google Gemini 高级版:失败
  • ChatGPT:成功

4. 编写脚本

此测试需要 MacOS 脚本工具 Keyboard Maestro、Apple 脚本语言 AppleScript 和 Chrome 脚本行为的编码知识。

Keyboard Maestro 是一个非常强大的工具(这是我使用 Mac 作为主要工作机器的原因之一),但它也是一个由澳大利亚的孤独程序员编写的相当默默无闻的产品。如果人工智能聊天机器人可以使用此工具进行编码,那么它很可能具有良好的跨语言编码知识。 AppleScript 是 Apple 的 MacOS 脚本语言,但它也相当晦涩难懂。

Meta AI 和 Meta 的 Code Llama 都以完全相同的方式失败:它们没有按照指示从 Keyboard Maestro 检索数据。两人似乎根本不了解这个工具。相比之下,Gemini 和 ChatGPT 都知道它是一个单独的工具,并正确检索数据。

以下是本次测试和之前测试的汇总结果:

  • 元人工智能:失败
  • 元代码骆驼:失败
  • Google Gemini 高级版:成功
  • ChatGPT:成功

总体结果

以下是四项测试的总体结果:

  • Meta AI: 四分之一成功
  • 元代码 Llama: 4 次中有 1 次成功
  • Google Gemini 高级版:4 次中有 1 次成功
  • ChatGPT: 4 次成功

我已经使用 ChatGPT 来帮助编码项目大约六个月了。这里的结果并没有说服我改用其他人工智能聊天机器人。事实上,如果我使用任何这些人工智能聊天机器人,我会担心我可能会花更多的时间检查和发现错误,而不是完成工作。

我对其他大型语言模型感到失望。我的测试表明 ChatGPT 仍然是无可争议的编码冠军,至少目前如此。

您是否尝试过使用 Meta AI、Gemini 或 ChatGPT 进行编码?你的经历是什么?请在下面的评论中告诉我们。

您可以在社交媒体上关注我的日常项目更新。请务必订阅我的每周更新时事通讯,并在 Twitter/X 上关注我:@DavidGewirtz、Facebook 上:Facebook.com/DavidGewirtz、Instagram 上:Instagram.com/DavidGewirtz 和 YouTube 上:YouTube.com/DavidGewirtzTV。

相关文章