OpenAI 的 ChatGPT 聊天机器人可以很好地修复软件错误,但与其他方法和 AI 模型相比,它的关键优势在于它与人类对话的独特能力,可以提高答案的正确性。
来自美因茨约翰内斯古腾堡大学和伦敦大学学院的研究人员将 OpenAI 的 ChatGPT 与“标准自动程序修复技术”和两种深度学习程序修复方法进行了比较:CoCoNut,来自加拿大滑铁卢大学的研究人员; 和 Codex,OpenAI 基于 GPT-3 的模型,支持 GitHub 的 Copilot 配对编程自动代码完成服务。
另外:如何开始使用 ChatGPT
“我们发现 ChatGPT 的错误修复性能与常见的深度学习方法 CoCoNut 和 Codex 相比具有竞争力,并且明显优于标准程序修复方法报告的结果,”研究人员在一篇新的 arXiv 论文中写道,该论文首先由 New Scientist 发现。
ChatGPT 可用于解决编码问题并不新鲜,但研究人员强调,其与人类对话的独特能力使其比其他方法和模型具有潜在优势。
研究人员使用 QuixBugs 错误修复基准测试了 ChatGPT 的性能。 自动程序修复 (APR) 系统似乎处于劣势,因为它们是在 2018 年之前开发的。
另外:最好的 AI 艺术生成器:DALL-E 2 和替代品
ChatGPT 基于 transformer 架构,Meta 的 AI 负责人 Yann LeCunn 本周强调该架构是由谷歌开发的。 Codex、微软研究院的CodeBERT,以及谷歌的前身BERT,都是基于谷歌的transformer方法。
OpenAI 在调试代码的示例中突出了 ChatGPT 的对话功能,它可以在其中要求澄清,并从一个人那里接收提示以获得更好的答案。 它使用人类反馈强化学习 (RLHF) 训练了 ChatGPT(GPT-3 和 GPT 3.5)背后的大型语言模型。
研究人员指出,虽然 ChatGPT 的讨论能力可以帮助它得出更正确的答案,但其建议的质量仍不清楚。 这就是为什么他们想要评估 ChatGPT 的错误修复性能。
研究人员针对 QuixBugs 40 个纯 Python 问题测试了 ChatGPT,然后手动检查建议的解决方案是否正确。 他们重复了四次查询,因为 ChatGPT 答案的可靠性存在一些随机性,正如一位沃顿商学院教授在让聊天机器人通过类似 MBA 的考试后发现的那样。
另外:开发人员的角色正在发生根本性的变化,这些数字表明
ChatGPT 解决了 40 个 Python 错误中的 19 个,与 CoCoNut (19) 和 Codex (21) 相当。 但是标准的 APR 方法只解决了其中的七个问题。
研究人员发现,ChatGPT 的后续互动成功率达到了 77.5%。
但是,在工作量和生产力方面对开发人员的影响是模棱两可的。 Stack Overflow 最近禁止了 ChatGPT 生成的答案,因为它们质量低下但听起来似是而非。 这位沃顿商学院教授发现,ChatGPT 可以成为 MBA 学生的好伙伴,因为它可以扮演“聪明的顾问”的角色——给出优雅但经常错误的答案——并培养批判性思维。
“这表明人工输入对自动 APR 系统有很大帮助,ChatGPT 提供了这样做的方法,”研究人员写道。
“尽管性能出色,但问题是验证 ChatGPT 答案所需的心理成本是否超过了 ChatGPT 带来的优势。”