我把 Claude 3.5 Sonnet 与 ChatGPT 擅长的人工智能编码测试进行了对比——结果它失败了
上周,我收到了一封来自 Anthropic 的电子邮件,宣布 Claude 3.5 Sonnet 已经上市。据这家人工智能公司称,“Claude 3.5 Sonnet 提高了行业智能标准,在各种评估中都超越了竞争对手的模型和 Claude 3 Opus。”
该公司补充道:“Claude 3.5 Sonnet 非常适合代码生成等复杂任务。”我决定看看这是否属实。
我将对新的 Claude 3.5 Sonnet 模型进行我的标准编码测试集 — — 我对各种 AI 进行了测试,结果各不相同。想跟着做你自己的测试吗?将你的浏览器指向 我如何测试 AI 聊天机器人的编码能力 — — 你也可以,其中包含我应用的所有标准测试、它们如何工作的解释以及在结果中要寻找什么。
好的,让我们深入研究每个测试的结果,看看它们与之前使用 Microsoft Copilot、 Meta AI、 Meta Code Llama、 Google Gemini Advanced和 ChatGPT进行的测试相比如何。
1.编写 WordPress 插件
一开始,这似乎很有希望。让我们从 Claude 3.5 Sonnet 根据我的测试提示创建的用户界面开始。
这是人工智能第一次决定将两个数据字段并排放置。布局很清晰,看起来很棒。
Claude 还决定做另一件我从未见过人工智能做的事情。这个插件只需使用 PHP 代码即可创建,PHP 代码是在 WordPress 服务器后端运行的代码。
但一些人工智能实现还添加了 JavaScript 代码(在浏览器中运行以控制动态用户界面功能)和 CSS 代码(控制浏览器如何显示信息)。
在 PHP 环境中,如果您需要 PHP、JavaScript 和 CSS,您可以直接在 PHP 代码中包含 CSS 和 JavaScript(这是 PHP 的一个功能),也可以将代码放在三个单独的文件中 —— 一个用于 PHP,一个用于 JavaScript,一个用于 CSS。
通常,当 AI 想要使用所有三种语言时,它会显示需要剪切并粘贴到 PHP 文件中的内容,然后将另一个块剪切并粘贴到 JavaScript 文件中,然后将第三个块剪切并粘贴到 CSS 文件中。
ChatGPT中文网页版
但 Claude 只提供了一个 PHP 文件,然后在运行时自动将 JavaScript 和 CSS 文件生成到插件的主目录中。这既令人印象深刻,又有点错误。它试图简化插件创建过程,这很酷,但插件是否可以写入自己的文件夹取决于操作系统配置的设置——而且很有可能失败。
我在测试环境中允许这样做,但我绝不允许插件在生产环境中重写自己的代码。这是一个非常严重的安全漏洞。
尽管 Claude 的代码生成解决方案颇具创意,但最终还是插件失败了。按下“随机化”按钮完全没有效果。这很可悲,因为正如我所说,它很有前途。
以下是本次测试和之前测试的总体结果:
- Claude 3.5 Sonnet:界面:良好,功能:失败
- ChatGPT GPT-4o: 界面:良好,功能:良好
- Microsoft Copilot: 界面:足够,功能:失败
- 元人工智能: 界面:足够,功能:失败
- Meta Code Llama: 彻底失败
- Google Gemini Advanced: 界面:良好,功能:失败
- ChatGPT 4: 界面:良好,功能:良好
- ChatGPT 3.5: 界面:良好,功能:良好
2.重写字符串函数
该测试旨在评估人工智能如何重写代码以更适当地满足特定需求;在本例中即美元和美分的转换。
Claude 3.5 Sonnet 修订版正确地删除了前导零,确保像“000123”这样的条目被视为“123”。它正确地允许最多两位小数的整数和小数(这是提示要求的关键修复)。它可以防止负值。而且它足够聪明,可以为任何奇怪或意外的输入返回“0”,这可以防止代码异常地以错误结束。
一个缺点是它不允许单独输入小数值。因此,如果用户将 50 美分输入为“.50”而不是“0.50”,则输入将失败。根据测试的原始文本描述,它应该允许这种输入形式。
尽管大多数修改后的代码都能正常工作,但我不得不将其算作失败,因为如果将代码粘贴到生产项目中,用户将无法输入仅包含美分数值的输入。
以下是本次测试和之前测试的总体结果:
- 克劳德 3.5 十四行诗:失败
- ChatGPT GPT-4o: 成功
- Microsoft Copilot: 失败
- 元人工智能: 失败
- Meta Code Llama: 成功
- Google Gemini Advanced: 失败
- ChatGPT 4: 成功
- ChatGPT 3.5: 成功
3. 发现一个恼人的错误
这项测试的最大挑战是,AI 的任务是找到一个不明显的错误,而要正确解决它,需要具备 WordPress 平台的知识。这也是我自己没有立即发现的一个错误,最初我要求 ChatGPT 来解决它(它确实解决了)。
克劳德不仅做对了这一点——捕捉到错误的细微之处并加以纠正——而且它也是自我在网上发布全套测试以来第一个捕捉到发布过程在示例查询中引入错误这一事实的人工智能(我随后对其进行了修复并重新发布)。
以下是本次测试和之前测试的总体结果:
- 克劳德 3.5 十四行诗:成功
- ChatGPT GPT-4o: 成功
- Microsoft Copilot: 失败了。失败得非常精彩。失败得非常热情。失败得非常情绪化。
- 元人工智能: 成功
- Meta Code Llama: 失败
- Google Gemini Advanced: 失败
- ChatGPT 4: 成功
- ChatGPT 3.5: 成功
到目前为止,我们已经失败了三分之二。让我们继续进行最后一个测试。
4. 编写脚本
这项测试旨在了解人工智能的编程知识在多大程度上能够融入到专门的编程工具中。虽然 AppleScript 在 Mac 上编写脚本相当常见,但 Keyboard Maestro 是一款由澳大利亚的一名程序员销售的商业应用程序。我发现它不可或缺,但它只是 Mac 上众多此类应用程序之一。
然而,在 ChatGPT 中进行测试时,ChatGPT 知道如何“说”Keyboard Maestro 以及 AppleScript,这表明其编程语言知识范围非常广。
不幸的是,Claude 并不具备这些知识。它确实编写了一个 AppleScript 来尝试与 Chrome 对话(这是测试参数的一部分),但它忽略了必不可少的 Keyboard Maestro 组件。
更糟糕的是,它生成的 AppleScript 代码会产生运行时错误。为了在测试中忽略匹配的大小写,Claude 生成了以下代码:
如果标签页的标题包含忽略大小写的输入,则
这几乎是一个双重错误,因为“contains”语句不区分大小写,而短语“ignoring case”不属于它所放置的位置。它导致脚本出错,出现“Ignoring can’t go after this”语法错误消息。
以下是本次测试和之前测试的总体结果:
- 克劳德 3.5 十四行诗:失败
- ChatGPT GPT-4o: 成功但有所保留
- Microsoft Copilot: 失败
- 元人工智能: 失败
- Meta Code Llama: 失败
- Google Gemini Advanced: 成功
- ChatGPT 4: 成功
- ChatGPT 3.5: 失败
总体结果
以下是五项测试的总体结果:
- 克劳德 3.5 十四行诗: 4 人中 1 人成功
- ChatGPT GPT-4o: 4 人中有 4 人成功,但有一个奇怪的双选答案
- Microsoft Copilot: 4 人中 0 人成功
- 元人工智能: 四分之一的人成功
- Meta Code Llama: 4 人中 1 人成功
- Google Gemini Advanced: 四分之一的人成功
- ChatGPT 4: 4 人中有 4 人成功
- ChatGPT 3.5: 4 人中有 3 人成功
我对 Claude 3.5 Sonnet 有点失望。该公司特别承诺这个版本适合编程。但正如你所见,情况并非如此。并不是说它不能编程。它只是不能正确编程。
我一直在寻找能够超越 ChatGPT 解决方案的 AI,尤其是当平台和编程环境供应商开始将这些其他模型直接集成到编程过程中时。但是,现在,当我需要编程帮助时,我会回到 ChatGPT,这也是我对你的建议。
好啦,今天就到这里,如果你也想在体验ChatGPT4.0
具有GPT4对话、DALL·E3绘画、GPT4V看图助手。
可以点击下方红色链接进行使用。