导读 人工智能的一大卖点是编写计算机代码的能力,最近的一项研究调查了ChatGPT在该任务上的表现,发现它至少获得了及格分数。这项研究发表在《I...
人工智能的一大卖点是编写计算机代码的能力,最近的一项研究调查了ChatGPT在该任务上的表现,发现它至少获得了及格分数。
这项研究发表在《IEEE软件工程学报》6月刊上,通过LeetCode测试平台上的728个编码问题运行了GPT-3.5,涉及五种编程语言,包括C、C++、Java、JavaScript和Python。
对于2021年之前LeetCode中存在的问题,ChatGPT解决简单问题的概率为89%,解决中等难度问题的概率为71%,解决难题的概率为40%。
然而,在2021年之后针对LeetCode平台上的问题进行测试时,简单、中等和困难的结果分别下降到52%、40%和0.66%。ChatGPT最初是在2021年之前的数据上进行训练的;该知识库直到2023年底才扩大。
“当遇到2021年以后的算法问题时,ChatGPT生成功能正确的代码的能力会受到影响。它有时无法理解问题的含义,即使是简单级别的问题,”参与这项研究的格拉斯哥大学讲师YutianTang表示。“ChatGPT在2021年之前能够更好地解决算法问题的一个合理假设是,这些问题经常出现在训练数据集中。”
研究人员还指出,ChatGPT在修复人为错误方面比修复自身错误更胜一筹,与人类相比,ChatGPT生成的代码运行时间和内存开销都更少,仅为人类的一半。IEEESpectrum表示,ChatGPT生成的代码也存在大量错误,不过“其中许多错误很容易修复”。“用C语言生成的代码最复杂,其次是C++和Python,它们的复杂度与人类编写的代码相似。”