AI 在回答问题和编写代码方面已经变得相称出色。
在一项新的研究课题中,ChatGPT 考试测验查找示例代码中的 bug 并给出修复建议。
其表现远超现有程序,成功修复了 40 个 bug 中的 31 个。
AI 开始显现出强大的能力,一些人又开始担心程序员会失落业了,在软件开拓和编程中的历史中,这又是一次“狼来了”的故事吗?

ChatGPT 现可查找并修复代码中的 bug

最近几周,AI 新贵 ChatGPT 迎来了一系列评测寻衅。
一项最新研究来自约翰内斯古腾堡大学和伦敦大学学院的打算机科学研究职员,他们创造 ChatGPT 能够从示例代码中创造缺点并加以修复,且整体表现优于现有同类程序。

研究职员将这 40 段 bug 代码提交至四种不同的代码修复系统,分别为 ChatGPT、Codex、CoCoNut 和 Standard APR。
在 ChatGPT 上,他们只需讯问“这段代码有什么问题?”再将代码内容复制粘贴至谈天框内即可。
在首轮测试中,ChatGPT 的表现跟其他程序相差不大。
ChatGPT 办理了个中 19 个问题,Codex 办理了 21 个,CoCoNut 办理了 19 个,Standard APR 办理了 7 个。
研究职员创造 ChatGPT 给出的答案与 Codex 最为相似,“这倒是正常,毕竟 ChatGPT 和 Codex 来自同一措辞模型家族。

轨范员教AI写代码40 个bug能修复 31 个取代轨范员成真了

但在收到首批答案之后,ChatGPT 的强大能力开始表现出来,随后势如破竹般办理了 31 个问题,轻松超越了其他只能供应静态答案的同类工具。

研究职员在报告中写道,“ChatGPT 的一大核心上风,在于我们会在对话中直接交互,更详细地描述需求。
我们创造,对付大部分要求,ChatGPT 会哀求供应关于问题和 bug 的更多细节信息。
在向 ChatGPT 供应提示信息之后,其成功率得以进一步提高,修复了全部 40 个 bug 中的 31 个,成绩可谓一骑绝尘。

他们还创造,ChatGPT 能够快速办理的某些问题,在其他程序上每每须要反复拉扯。
“ChatGPT 在修复 bug 时彷佛表现出较高的不一致性。
但对终极用户来说,只要多实行几次该当就能得到有代价的结果。

例如,当研究职员提交下图问题时,他们预期的答案是将 n^=n-1 更换为 n&=n-1。
但 ChatGPT 给出的回应是“我无法判断程序中是否存在 bug,请供应关于预期行为的更多信息。
”经由研究职员的提示,ChatGPT 在第三次回答中成功创造了问题。

但在我们考试测验将同样的问题输入给 ChatGPT 时,它的回答却截然不同。
ChatGPT 这次并未哀求供应预期行为,而是在预测我们想要达成若何的效果。
ChatGPT 一贯在根据用户输入进行学习,它彷佛已经理解了这段代码的用场——大概便是从当初研究职员们的提示中学习而来。
我们的验证互换与研究报告不同,而且下一次再试可能也不相同。

目前,帮助软件工程师查找和修复 bug 的家当已经汇聚起 6 亿美元的体量。
这次研究的成功,大概将重新定义这块可不雅观的业务市场。
Sentry 等盛行平台已经成为软件团队的标配工具,通过发布问题报告和供应修复建议,大大增强开拓者们编写高质量代码的能力。

OpenAI 调集数百程序员,教 AI 写代码

无论是 bug 修复软件开拓商还是软件工程师自己,显然都把稳到了这波堪称历史迁移转变点的趋势。
ChatGPT 的所有者 OpenAI 也在不断增强 AI 的编程能力,根据 Semafor 的一份报告,OpenAI 在过去 6 个月中加大招聘力度,已经在环球范围内悄悄聘请了上千名承包商来培训其 AI 学习软件工程。

在这近 1000 名承包商中,约 60% 的人卖力“数据标记”,即创建大量图像、音频剪辑和其他信息,用于演习 AI 工具或自动驾驶系统;其余 40% 则是程序员,紧张卖力为 OpenAI 的模型创建数据以学习软件工程任务。

此前,OpenAI 从 GitHub 上抓取代码来演习其模型,而且 OpenAI 于 2021 年 8 月推出的产品 Codex,已经可以实现将自然措辞转换为事情代码,现在该公司的招聘热潮表明它正在进一步推进该技能,乃至有可能为一些程序员岗位创造出一个替代工具。

Semafor 采访了南美的一位工程师,他表示自己参加了 OpenAI 的口试,该过程包含了五小时的无偿编码测试。
这个测试有两个部分组成:对付一个给出的编码问题,OpenAI 哀求他用书面英语阐明他将如何处理这个问题,并给出一个详细办理方案;查找 AI 代码中的缺点并供应有关如何修复缺点的阐明。
这位工程师见告 Semafor,他认为公司希望将人类的思维过程输入到其人工智能技能中。

事实上,据 Insider 最近的宣布,一些亚马逊员工已经开始利用 ChatGPT 来帮助编码。
亚马逊内部的 Slack 显示,ChatGPT 已经被亚马逊用于许多不同的事情职能中,包括回答口试问题、编写软件代码和创建培训文档等。

一名员工在 Slack 上表示,亚马逊 Amazon Web Services(AWS)云部门已经成立了一个小型事情组,以更好地理解人工智能对其业务的影响。
通过测试,该团队创造 ChatGPT 在回答 AWS 客户支持问题方面“做得非常好”。
此外,人工智能工具在创建培训文档方面也“非常出色”,在企业计策问题方面“非常强大”。
其余,这名员工还在 Slack 上称,ChatGPT 在为 AWS Aurora 数据库工程师编写故障打消指南和回答“困难的”支持问题方面也“非常出色”,它还能够“弄傍友户的公司目标”。

现在还取代不了程序员,那将来呢?

随着数百名程序员同心协力“教”模型如何编写基本代码,ChatGPT 背后的技能可能会朝着一种新的软件开拓方向发展,就像重型设备对建筑行业一样,给软件行业带来变革意义。

而且自从 ChatGPT 能力开始显现后,“程序员要失落业了”、“取代程序员”之类的声音已经不绝于耳。
大多数人对此嗤之以鼻,毕竟过去几十年来,我们听够了类似的声音,云做事、无做事器打算、低代码和无代码......每个技能浪潮的到来,都有人喊出“程序员要被替代了!

但还是有相称“激进”的声音,认为这次“替代程序员”并不是又一个“狼来了的故事”。

今年一月份的 ACM 通讯揭橥了一篇名为“编程的闭幕”的文章,预测在人工智能驱动的未来“编程将过期”。
作者 Matt Welsh 是 Fixie.ai 的首席实行官兼联合创始人,他曾是哈佛大学打算机科学教授、谷歌工程总监、苹果工程主管。

我相信“编写程序”的传统想法正在走向灭绝,事实上,除了非常专业的运用程序之外,我们所知道的大多数软件将被经由演习而不是编程的人工智能系统所取代。
在须要“大略”程序的情形下(毕竟,并非所有内容都须要在 GPU 集群上运行数千亿个参数的模型),这些程序本身将由 AI 天生,而不是手动编码。

未来的工程师只需敲击几下键盘,就能启动一个包含四亿亿亿参数的模型实例,这个模型已经对人类知识的全部范围(或是部分)进行了编码,并随时准备实行机器哀求的任何任务。
让机器做自己想做的事,大部分脑力事情将是提出精确的示例、精确的演习数据和精确的方法来评估演习过程。

我认为打算机科学作为一个领域正处于一个相称大的动荡之中,我们中很少有人真正做好了准备。

“我认为现在的辩论紧张环绕这些人工智能模型将在多大程度上彻底改变软件行业,”Welsh 在一个视频采访中说,“这更多是一个程度的问题,而不是它到底会不会发生……”

我们认为,现在 ChatGPT 取代程序员是不太可能的,但是大概下一代开拓职员必须习气人工智能,毕竟让 AI 帮助我们编程就在不远的未来。

参考链接:

https://www.pcmag.com/news/watch-out-software-engineers-chatgpt-is-now-finding-fixing-bugs-in-code

https://www.businessinsider.com/openai-chatgpt-contractors-train-ai-software-engineering-autonomous-vehicles-report-2023-1

https://cacm.acm.org/magazines/2023/1/267976-the-end-of-programming/fulltext