2024-04-23 14:19

Meta AI可以编码吗?我对Llama、Gemini和ChatGPT进行了测试,结果还差得很远

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

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

为了设置这个基准,我使用了三个测试(刚刚添加了第四个)。它们是:

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

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

这一次,我将测试meta的新meta AI。让我们开始吧。

1. 写一个WordPress插件

左边是元ai生成的界面,右边是chatgpt生成的界面:

这两个人工智能聊天机器人都生成了所需的字段,但ChatGPT的演示更清晰,它包含了每个字段的标题。ChatGPT还将Randomize按钮放置在给定功能的更合适的位置。

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

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

  • meta AI:界面:足够,功能:失败
  • 美洲驼:完全失败
  • 谷歌双子座高级:界面:好,功能:失败
  • ChatGPT:界面:不错,功能:不错

2. 重写字符串函数

这个测试的目的是测试美元和美分的转换。元AI有四个主要问题:它在不应该改变的时候改变了正确的数值,没有正确地测试带有多个小数点的数字,如果美元金额少于两个小数(换句话说,如果输入5美元或5.2美元,它就会失败),一旦处理完成,它就会拒绝正确的数字,因为它错误地格式化了这些数字。

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

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

  • 元AI:失败
  • 美洲驼:成功
  • Google Gemini Advanced:失败
  • ChatGPT:成功

3. 寻找恼人的bug

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

这里的挑战在于,有一个显而易见的答案,但这个答案是错误的。这个问题需要对WordPress API如何工作有深入的了解,以及理解正在编写的程序的各个组件之间的相互作用。

meta AI顺利通过了这一关卡。它不仅正确地识别了错误,它甚至提出了一个建议,虽然没有必要,但提高了代码的效率。

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

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

  • 元AI:成功
  • 元代码Llama:失败
  • Google Gemini Advanced:失败
  • ChatGPT:成功

4. 写一个s图书馆的

该测试要求具备MacOS脚本工具Keyboard Maestro、苹果脚本语言Applescript和Chrome脚本行为的编码知识。

Keyboard Maestro是一个非常强大的工具(这也是我使用mac电脑作为主要工作设备的原因之一),但它也是一个相当晦涩的产品,由澳大利亚的一个程序员独自编写。如果一个人工智能聊天机器人可以使用这个工具编写代码,那么它很可能具有跨语言的良好编码知识。Applescript是苹果的MacOS脚本语言,但它也相当晦涩。

meta AI和meta的Code Llama都以同样的方式失败了:它们没有按照指示从Keyboard Maestro中检索数据。两人似乎都不知道这个工具的存在。相比之下,Gemini和ChatGPT都知道它是一个独立的工具,并且正确地检索了数据。

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

  • 元AI:失败
  • 元代码Llama:失败
  • Google Gemini Advanced:成功
  • ChatGPT:成功

整体结果

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

  • 元AI: 1 / 4成功
  • 元代码:1 / 4成功
  • Google Gemini Advanced: 1 / 4成功
  • ChatGPT: 4个成功了

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

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

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

你可以在社交媒体上关注我每天的项目更新。一定要订阅我的每周更新时事通讯,并在Twitter/X @DavidGewirtz, Facebook Facebook.com/DavidGewirtz, Instagram Instagram.com/DavidGewirtz和YouTube YouTube.com/DavidGewirtzTV上关注我。

相关推荐