IEEE 评估 AI 写程式的能力 简单问题成功率达 89% 困难问题仅 0.66%

研究指出,程式设计师经历了数十年撰写人工智能(AI)模型的程式码,现在 AI 正在进行一个圆满的循环,开始自己写程式码。然而,AI 程式码生成器能否与人类程式设计师媲美呢?

ChatGPT 写程式能力评估

《IEEE Transactions on Software Engineering》六月期刊发布的一项研究评估了 OpenAI 的 ChatGPT 所生成程式码的功能性、复杂度和安全性。研究结果显示,ChatGPT 在生成功能性程式码方面,成功率范围广泛,从低至 0.66% 到高达 89%,取决於任务的难度、程式语言及其他多种因素。

AI 生成程式码的优势与挑战

格拉斯哥大学讲师 Yutian Tang 表示,基於 AI 的程式码生成可以提升生产力并自动化软体开发任务,但需了解这些模型的优势与局限。通过全面分析,可以发现 ChatGPT 程式码生成中可能出现的问题和局限,从而改进生成技术。

ChatGPT 的测试与表现

Tang 的团队测试了 GPT-3.5 在五种程式语言(C、C++、Java、JavaScript、Python)中处理 728 个 LeetCode 测试平台上的程式问题的能力。ChatGPT 在解决不同语言的问题时表现尚佳,尤其在处理 2021 年前的 LeetCode 问题时,成功率较高。具体来说,简单、中等和困难问题的成功率分别约为 89%、71% 和 40%。

然而,对於 2021 年後的算法问题,ChatGPT 生成功能性正确程式码的能力下降。例如,简单问题的成功率从 89% 下降到 52%,困难问题的成功率从 40% 下降到 0.66%。

ChatGPT 的局限与改进建议

Tang 认为,ChatGPT 对 2021 年前的问题表现较佳,可能是因为这些问题在训练数据集中较常见。随着程式设计的演变,ChatGPT 尚未接触到新的问题和解决方案,缺乏人类的批判性思维,只能处理先前遇到的问题。

值得注意的是,ChatGPT 生成的程式码在运行时间和记忆体开销方面优於至少 50% 的人类解决方案。研究还探索了 ChatGPT 在接收 LeetCode 反馈後修正自身错误程式码的能力。随机选择了 50 个 ChatGPT 最初生成错误程式码的场景,结果显示,虽然 ChatGPT 能修正编译错误,但对於理解错误的修正能力有限。

研究还发现,ChatGPT 生成的程式码存在一些漏洞,如缺少空指针测试,但大多数易於修复。研究结果显示,C 语言生成的程式码最复杂,其次是 C++ 和 Python,後两者的复杂度与人类编写的程式码相似。

Tang 建议,开发者在使用 ChatGPT 时,应提供更多资讯帮助其更好地理解问题或避免漏洞。例如,面对复杂的程式问题时,开发者可以提供相关知识,并在提示中告知 ChatGPT 需注意的潜在漏洞。

相关文章

  1. 将照片变电影级短片 Luma Dream Machine 免费使用教学
  2. 英国 DPD 快递 AI 客服大失控 自称「最差」疯狂批评公司
  3. 马斯克成为 AI.com 域名的新「主人」
  4. Stable Diffusion CEO:AI 将是史上最大的泡沫
proton加速器好用吗

0 0 投票数
Article Rating
订阅评论
提醒
guest
0 Comments
最旧
最新 最多投票
内联反馈
查看所有评论