不同AI分析错误代码的差异:谁更胜一筹?谁才是最强者?结果出乎意料!

本文主要是介绍不同AI分析错误代码的差异:谁更胜一筹?谁才是最强者?结果出乎意料!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先祝大家新春快乐,我已经提前三天上班了~~为了年后新框架能上线运行,这几天没人打扰,能安静地冲一下代码,嘎嘎嘎。

准备

错误代码:

...
foreach($arr_config['path'] as $value_path)
{if(file_exists($value_path)){require_once $value_path.'.php';}
}
...

现在是一目了然错在哪里,但开发的时候因为脑子绕在前一个错误的里面没出来,所以一直没看出来错哪里了。。。尤其一开始我的脑子有点混乱,感觉AI尽在说车轱辘话:我当然知道是路径的错,但我不相信是路径的错。。。

测试下来大多AI都找到出错方向了,只是没切中我的痛点。给出代码的解决方案都不尽如人意,只有讯飞星火碰巧第一次就答对。

想看结果的点击右侧目录跳到最后去,中间过程太长了,慢慢看。

如果是文字方面的趣味比较,可以看看这篇《不同的AI修改同一篇文章标题》

在这里插入图片描述

国外AI

Chatgpt3.5

chatgpt找到错误原因了

第一次对话

在这里插入图片描述

第二次对话

我说他回答错了是不对的。给出的方案挺全面,针对后缀特别写了方案。
在这里插入图片描述

第三次对话

并没有给出代码解决方案。
在这里插入图片描述

Gemini(谷歌)

写得真够多的,但回答错误,好处是它提示到我错哪里了。。。,就是那个 .

虽然谷歌的方案最扯淡,但是我隐隐觉得这货有智能,它似乎在找突破口,尤其当我再次问他的时候,它回答问题时又再次提到这个 .

第一次对话

看似错大谱了,但好像它在思考。
在这里插入图片描述
在这里插入图片描述

第二次对话

在这里插入图片描述
在这里插入图片描述

第三次对话

这家伙纠结于 . 让我感觉以外。
给了一次错误的代码解决方案,再给了三次正确的代码解决方案。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Claude

这个AI是我平时用的最多的~~

第一次对话

完全找错方向,有点胡说八道的味道了。
很大可能是因为之前我一直在问他一个循环内错误的情况,所以它结合了上下文来回答这次提问导致出错。
在这里插入图片描述

第二次对话

在这里插入图片描述

第三次对话

语句精炼,且给出的方案也正确。
在这里插入图片描述

在这里插入图片描述

国产AI

文心一言3.5

目前用下来,百度AI是国产顶流。我经常会拿百度和国外的三个AI联合使用。

它提到了 file_exists()require_once() 处理的路径可能不同,而其它AI并没有明显的将两者结合对比。

第一次对话

在这里插入图片描述

第二次对话

还给出了else的语句
在这里插入图片描述

第三次对话

再次询问后没有给出代码方面解决方案。

在这里插入图片描述

在这里插入图片描述

讯飞星火

和chatgpt一样,从 file_exists() 作为突破口,而且给出了正确的解决方案!

告诉它切入点后它竟然给了错误的答案。。。

再次询问时它又是从原来的切入点找了,给出的解决方案也是错的。

总结就是讯飞没有上下文概念。每次询问就是新的询问,并不会结合上文,所以你最好期盼它能一击命中。

第一次对话

一击命中,但之后的连续错误说明只是运气好~~
在这里插入图片描述

第二次对话

唯一一个提示了错误的位置,还是给出了错误的代码解决方案。

在这里插入图片描述

第三次对话

继续错

在这里插入图片描述

豆包

今天刚开始用,它有各种角色包,我用它查了一次历史相关的问题,回答还是蛮专业的。

第一次对话

跳开路径判断直接调用,这招坏坏的哦。
在这里插入图片描述

第二次对话

给出了正确的代码解决方案。
在这里插入图片描述

第三次对话

又回到最初~~还是用了第一次的方案,说明没有懂第二次对话的意思。
在这里插入图片描述

在这里插入图片描述

综合分析

列表

  • 分类规则
    R1 表示第一次询问后AI能否找到正确的出错原因(首次询问);
    S1 表示第一次询问后AI能否给出正确的解决方案;
    R2 表示第二次询问后AI能否分析正确的出错原因(告知要点);
    S2 表示第二次询问后AI能否给出正确的解决方案;
    R3 表示第三次询问后AI能否找到正确的出错原因(重新再问);
    S3 表示第三次询问后AI能否给出正确地解决方案;

  • 积分规则
    R系
    1 表示原因表述正确,切中要点;
    0 表示原因表述方向对了,但没切中要点;
    -1 表示原因表述错误。
    S系
    1 表示解决方案表述正确,并给出了正确代码;
    0 表示解决方案表述正确,但没有给出代码;
    -1 表示解决方案表述正确,但代码错误;
    -2 表示解决方案表述错误,代码也错误;

名称R1S1R2S2R3S3得分备注
Chatgpt 3.50011103中规中矩,没有惊喜
Gemini-1-21110.50.5S3给了4个方案,其中有1个错的
Claude-1-211111可能因前文误导,R1S1错误,有点可惜
文心一言 3.50011103国产顶流,还是可以的
讯飞星火111-10-11唯一S1就完全正确
豆包01110-12S1、S2的代码能解决问题,但并非我要

结论

得分只是根据这一次表现所做,平时都是联合着一起用的,并不代表在代码方面的平均水平,所以我在总结一下个人感受:

  • Chatgpt 3.5 中规中矩吧,我对它信任度较高,但最近的表现感觉变懒了;
  • Gemini 话最多,但在代码方面的感觉比较差,整体感觉和别的AI不太一样,不知道是智商高、个性强还是没调教好;
  • Claude 是我用最多的,感觉它在代码方面最强,第一次的丢分很大可能是它结合之前的问题在回答;
  • 文心一言 3.5 是国产顶流,没得说,可以和三个国外拼一拼;
  • 讯飞星火 因为没有上下文概念,用的最少;
  • 豆包 我今天才用,后面多测试了再说,但是它角色多,今天问了一个历史方面的,表现还是不错的。

尽管分数不尽如人意,但我个人目前代码分析首推的还是Claude,其次是Chatgpt文心一言豆包 有待观察。

在这里插入图片描述

这篇关于不同AI分析错误代码的差异:谁更胜一筹?谁才是最强者?结果出乎意料!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/716729

相关文章

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3