ChatGPT 的编程问题正确率比抛硬币还低

ChatGPT 的编程问题正确率比抛硬币还低 普渡大学的一项研究显示,OpenAI 的聊天机器人 ChatGPT 在回答软件编程问题时,有一半以上的时间会回答错误。尽管如此,该机器人的说服力足以骗过三分之一的参与者。 普渡大学团队分析了 ChatGPT 对 517 个 Stack Overflow 问题的回答,以评估 ChatGPT 回答的正确性、一致性、全面性和简洁性。美国学者还对答案进行了语言和情感分析,并就模型生成的结果询问了十几名志愿参与者。 “我们的分析表明,52% 的 ChatGPT 答案是错误的,77% 是冗长的,”该团队的论文总结道。“尽管如此,ChatGPT 答案仍有 39.34% 的时间因其全面性和清晰的语言风格而受到青睐。” “在研究过程中,我们观察到,只有当 ChatGPT 答案中的错误很明显时,用户才能识别出错误,”论文中说到。“然而,当错误不容易验证或需要外部 IDE 或文档时,用户往往无法识别错误或低估答案的错误程度。” 论文称,即使答案存在明显错误,12 名参与者中仍有两人将答案标记为首选。 、

相关推荐

封面图片

研究发现:ChatGPT 回答编程问题的错误率超过 50%

研究发现:ChatGPT 回答编程问题的错误率超过 50% 美国普渡大学的研究发现,OpenAI 开发的人工智能聊天机器人 ChatGPT 在回答软件编程问题时,错误率超过一半,且能骗过三分之一的提问者。 该研究团队分析了 ChatGPT 对 517 个 Stack Overflow 网站上的问题的回答,评估了其正确性、一致性、全面性和简洁性。他们还对回答进行了语言和情感分析,并对 12 名志愿参与者进行了问卷调查。研究报告的结论是:ChatGPT 的回答虽然语言风格良好,但 52% 的回答是错误的,77% 是冗长的。参与者只有在回答中的错误很明显时,才能识别出来。否则,他们会被 ChatGPT 的友好、权威和细致的语言风格所误导。 OpenAI 在其 ChatGPT 网站上承认其软件“可能会产生关于人、地点或事实的不准确信息。” 来源 , 频道:@kejiqu 群组:@kejiquchat 投稿:@kejiqubot

封面图片

研究表明ChatGPT在回答编程问题时错误百出,并且错误很容易被忽略

研究表明ChatGPT在回答编程问题时错误百出,并且错误很容易被忽略 在研究中,研究人员查看了 Stack Overflow 中的 517 个问题,并分析了 ChatGPT 对这些问题的回答尝试。研究人员表示:“我们发现 52% 的 ChatGPT 答案包含错误信息,77% 的答案比人类的答案更冗长。”尤其令人不安的是,许多人类程序员似乎更喜欢 ChatGPT 的答案。普渡大学的研究人员对 12 名程序员进行了调查诚然,样本量很小 发现他们中 39% 的人没有发现人工智能产生的错误。 研究人员写道:“礼貌的语言、清晰的教科书式的回答以及全面性是使 ChatGPT 答案看起来更令人信服的部分主要原因,这让用户放松了警惕,忽略了 ChatGPT 答案中的一些错误信息。”

封面图片

新研究称ChatGPT提供错误编程答案的比例高达52%

新研究称ChatGPT提供错误编程答案的比例高达52% 普渡大学的一个研究小组在 5 月早些时候举行的计算机-人交互大会上提交的一份报告中,检查了发送到 ChatGPT 回答的 517 个 Stack Overflow 问题。普渡大学的研究小组反馈说,ChatGT 为这些编程问题提供错误答案的比例高达 52%。虽然人工智能聊天机器人提供错误的问题答案也许是意料之中的事,但珀杜大学的研究小组却更进一步指出,人类程序员在 35% 的情况下仍然更喜欢 ChatGPT 的答案,"因为它们的回答具有全面性和清晰的语言风格"。更糟糕的是,在 39% 的情况下,人类程序员并没有发现 ChatGPT 的错误答案。虽然这只是对 ChatGPT 功能的一个方面进行的研究,但它表明,生成式人工智能机器人仍然容易犯很多错误,而人类可能无法发现这些错误。Google的人工智能"概述"(AI Overviews)于今年 5 月初在美国地区的Google搜索中投入使用,它已经对一些搜索字符串生成了奇怪且充满错误的答案摘要。Google在向新闻机构发表的声明中试图解释这些明显的错误:我们看到的例子一般都是非常不常见的查询,并不能代表大多数人的经验。绝大多数人工智能概述都提供了高质量的信息,并附有深入挖掘的网络链接。声明还说,Google将利用这些"孤立的例子"来帮助"完善我们的系统"。 ... PC版: 手机版:

封面图片

研究表明 ChatGPT 提供的建议,比专家更全面、更有帮助

研究表明 ChatGPT 提供的建议,比专家更全面、更有帮助 来自墨尔本大学和西澳大利亚大学的研究团队从十大热门建议栏网站上,随机挑选了 50 个社会困境问题。该科研团队邀请了 404 名志愿者,盲测展示由专栏作家和 ChatGPT 所提供的答案,要求其回答哪个答案更平衡、更全面、更善解人意、更有帮助。 研究人员发现,ChatGPT 在五个随机提出的问题中的每一个和所有查询类别中都“明显优于”人类顾问,支持人工智能的偏好率在 70% 到 85% 之间。 尽管 ChatGPT 建议的质量很高,但 77% 的受访者依然表示,更喜欢人类专家给出的回答。来源 , 前文: 频道:@kejiqu 群组:@kejiquchat

封面图片

ChatGPT 通过了 Google 18.3 万美元年薪 3 级工程师的编程面试考验

ChatGPT 通过了 Google 18.3 万美元年薪 3 级工程师的编程面试考验 根据一份内部文件,Google 向 ChatGPT 输入了其编程面试问题,然而根据其回答,聘请它为 L3 级工程师,这是一个入门级工程师职位但薪水并不低。ChatGPT 是否会取代软件工程师或至少是初级的工程师?ChatGPT 自己给出的答案是不会,声明自己是一个能帮助完成部分任务的工具,不能完全取代一位具有创造力、问题解决能力和批判性思维的人类软件工程师。它也需要人类的监督和指导才能有效运作。那么 20 年后呢?ChatGPT 承认也许那时候会影响初级职位,但重申不会完全取代人类软件工程师。ChatGPT 回答问题能力已经让搜索巨人倍感警惕,它正在加快测试基于 LaMDA 的 AI 聊天机器人。 来源, 来自:雷锋 频道:@kejiqu 群组:@kejiquchat 投稿:@kejiqubot

封面图片

ChatGPT无法取代人类程序员:IEEE35页论文测出困难编码正确率仅为0.66%

ChatGPT无法取代人类程序员:IEEE35页论文测出困难编码正确率仅为0.66% 其成功率从0.66%到89%不等,这主要取决于任务的难度、编程语言等多种因素。论文地址: Tang指出,“AI代码生成一定程度上,可以提升开发效率,自动化软件工程。然而,我们必须认识这类模型优势和不足,以便合理应用”。“通过全面的分析,可以发现ChatGPT生成代码过程中,出现的潜在问题和局限性,进而改进生成技术”。有网友庆幸地发出疑问,所以我还没有被解雇?另一人对此表示,至少不是今天。还有人指出,这项研究是关于GPT-3.5的评估。要是GPT-4早就在编码能力上大幅提升,Claude 3.5更是如此。确实,现在我们有了更好的模型,对于GPT-3.5模型的评估,并没有太大的意义。0.66%-89%,惊人反差率总体而言,ChatGPT在不同编程语言的问题上表现相当不错特别是在尝试解决2021年之前LeetCode上的编码问题时。例如,它能够为简单、中等和困难的问题生成可运行代码,成功率分别约为89%、71%和40%。然而,当涉及到2021年之后的算法问题时,ChatGPT生成正确运行代码的能力受到影响。即使是简单级别的问题,它有时也无法理解问题的含义。比如,ChatGPT在生成“简单”编码问题的可运行代码方面的能力,在2021年后从89%下降到52%。而它在生成“困难”问题的可运行代码方面的能力也在此时间后从40%下降到0.66%。Tang对比表示,“一个合理的假设是,ChatGPT在2021年之前的算法问题上表现更好的原因是这些问题在训练数据集中经常出现”。接下里,具体看看研究者们对ChatGPT进行了哪些方面的评估。实验评估评估的整体流程如图2所示。首先为给定的LeetCode问题或CWE场景构造合适的提示并发送给ChatGPT,让它根据提示和上一轮对话的上下文信息给出响应。之后,研究人员将模型响应中的代码片段提交给LeetCode平台,利用其在线判断功能来检验代码的正确性,CWE漏洞则使用CodeQL进行手动分析。如果测试结果通过,则生成结束,否则就需要利用LeetCode和CodeQL的反馈继续建立新的提示、输入给ChatGPT,再次进行代码生成。如果ChatGPT在对话轮数限制(5轮)之内始终没有生成出通过测试的代码,则认为生成任务失败。功能性正确代码生成ChatGPT生成的代码在功能上是否正确?研究动机:给定提示,ChatGPT生成相应的文本,这种能力可能会提高开发者的生产力。首先去评估ChatGPT在单轮对话中,自动生成功能正确代码的能力。研究方法:- 让ChatGPT阅读问题描述,在单轮对话中生成相应代码。(最大对话轮数设为1)- 使用LeetCode平台上的编程问题作为数据集,截止研究时,有2500个难度不等的问题。- 将LeetCode所有问题分为2021年之前(Bef.problems)和2021年之后(Aft.problems)两类,因为ChatGPT的训练数据截止于2021年。- 考虑到2021年之前的问题可能已存在于ChatGPT的训练集中,这可能使代码生成任务退化为简单的数据库查询(即代码复用)。为了进行全面评估,研究中同时考虑了这两类问题。具体而言,研究人员重点关注LeetCode上的算法问题,因为算法问题是该平台上最重要、最多和最多样化的问题。Bef.problems和Aft.problems的总数分别为1624个和354个。此外,两者的难度分布为难、中、易,比例为1:2:1。在所有Bef.problems中,作者随机抽取了374个问题,其数量与Aft.problems相似,难度分布也与Aft.problems相同。同样,在354个Aft.problems和Bef.problems中,难、中、易问题的数量比例也是1:2:1,与LeetCode平台上所有问题的难度分布一致。此外,研究人员还检查了Bef.problems和Aft.problems之间是否存在显著差异。如果Aft.problems只是Bef.problems的重构,那么ChatGPT很可能可以轻松解决这些问题,这可能会影响实验结果在区分时间段方面的可靠性。论文中,作者总共找到了142对问题。然后,再让2名研究生独立检查这些问题对。通过仔细核对和讨论,结果发现这些相似的问题要么情景相似,但求解目标完全不同;要么情景和条件不同,但可以使用类似的算法(如动态编程)求解。经过仔细的人工分析,作者没有发现在任何情况下,Bef.problems可以很容易地重新表述为Aft.problems。因此,作者认为Aft.problems和Bef.problems之外,对于每个问题,都要求ChatGPT用5种不同的语言生成代码:C、C++、Java、Python3和JavaScript。此外,他们还使用相同的提示模板为每个 < 问题、语言> 对创建了相应的提示。Bef.problems和Aft.problems分别共有1,870和1,770个提示。由于ChatGPT的查询速度有限,研究者将每条提示输入一次,要求生成代码。然后,研究者将解析后的解决方案,提交给LeetCode进行功能正确性判断,并得到提交状态,包括接受、回答错误、编译错误、超过时间限制和运行错误。它们分别对应于A.、W.A.、C.E.、T.L.E.和R.E.。一个问题对应一个唯一的对话,以避免从其他问题触发ChatGPT的推理。实验中,作者以状态率(SR)来评估 ChatGPT 的代码生成能力。其中和分别是根据状态生成的代码片段数和输入的提示数。提示:所设计的提示模板由4个部分组成:它们分别是<Content>、<Examples>、<Template>和<Command>。<Content> 用自然语言描述问题,<Examples> 显示功能正确的代码 <input, output> 对,<Template> 指定生成代码的方法签名(method signature),<Command> 要求用特定语言生成代码。结果:表1和表2显示,LeetCode对五种编程语言在两个时间段、两种形式下的代码生成结果、SR以及相应的相对频率柱形图。由于Python3和JavaScript都是动态编程语言,因此这两列不包含C.E.。从总体结果来看,ChatGPT为Bef.problems生成的功能正确代码的A.率明显高于Aft.problems。具体来说,Bef.problems的五种语言平均正确率(68.41%)比Aft.problems的(20.27%)高出 48.14%。五种语言在不同阶段的代码生成性能差异显著,P值为0.008,效应大小值为1。对于Aft.problems,总体正确率低于25%,其中难、中、易问题的正确率分别为0.66%、13.90%和52.47%。用Holm-Bonferroni校正程序调整的P值和五种语言不同难度之间的效应大小值分别小于0.05和等于1。结果表明,面对Aft.problems,随着问题难度的增加,ChatGPT在功能上正确生成代码的能力明显下降。此外,即使是简单的问题,它也只能正确回答一半。在这五项/四项指标中,W.A.率是所有语言中最高的一项,达到58%。此外,每个W.A.代码片段平均有109个测试用例,而ChatGPT生成的代码只能通过其中的25%。难题、中难题和简单难题的测试用例通过率分别为20.90%、21.03%和38.41%。因此,无论难度如何,生成代码的语义都与相应问题描述的逻辑有很大差异。此外,C.E.率和R.E.率也都达到了16%,而且难题和中难题的C.E.率明显高于简单难题。ChatGPT生成的中难题代码,更容易出现编译和运行时错误。比如,图4中显示生成的函数cmpfunc,在调用前没有声明。语法错误只占这些错误的一小部分(3.7%)。至于T.L.E.率,虽然数值不高(6%),但测试用例的平均通过率为51%,高于W.A.代码片段。T.L.E.问题的难、中、易三个难度级别的测试用例,平均通过率分别为68%、50%和1%(易问题由于其T.L.E.率接近0%,可以忽略不计)。由于T.L.E.代码片段的测试用例通过率是部分的,不过生成的代码中最多还有6%在功能上... PC版: 手机版:

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人