当前位置:首页 > > AI科技大本营
[导读]编译|禾木木出品| AI科技大本营(ID:rgznai100)即使是帮助开发人员编写软件的工具也会产生类似的bug。目前,大部分的软件开发人员会让AI帮助开发者们编写代码,但是开发人员发现AI会像程序员的代码一样还是存有bug。去年6月,提供托管和代码协作工具的微软子公司GitH...

AI 生成的代码可信吗?编写的代码有 Bug 吗?


编译 | 禾木木


出品 | AI科技大本营(ID:rgznai100)



即使是帮助开发人员编写软件的工具也会产生类似的bug。



目前,大部分的软件开发人员会让 AI 帮助开发者们编写代码,但是开发人员发现 AI 会像程序员的代码一样还是存有 bug。去年 6 月,提供托管和代码协作工具的微软子公司 GitHub 发布了一个测试版的程序,该程序使用人工智能来帮助程序员。开始输入命令、数据库查询或对 API 的请求,Copilot 的程序将猜测您的意图并编写其余部分。注册测试 Copilot 的生物技术公司的数据科学家Alex Naka 表示,该程序非常有用,并且改变了他的工作方式。“它让我花更少的时间跳转到浏览器来查找 API 文档或 Stack Overflow 上的示例,”他说。“感觉有点像我的工作已经从代码生成器转变为代码鉴别器。”但是 Naka 发现错误会以不同的方式渗透到他的代码中。“有时我在接受其中一项建议时会遗漏某种微妙的错误,”他说。“而且很难追踪到这一点,也许是因为它所犯的错误似乎与我所犯的错误不同。”
AI 生成的代码可信吗?编写的代码有 Bug 吗?

AI 生成的代码错误可能更高


AI 生成错误代码的风险可能高得惊人。纽约大学的研究人员最近分析了 Copilot 生成的代码,发现对于某些安全性至关重要的任务,该代码大约有 40% 的时间包含安全漏洞。参与分析的纽约大学教授 Brendan Dolan-Gavitt 说,这个数字“比我预期的要高一点”。“但 Copilot 的训练方式实际上并不是为了编写正确的代码——它只是根据给定的提示生成那种文本。”尽管存在这些缺陷,Copilot 和类似的人工智能工具可能预示着软件开发人员编写代码的方式将发生翻天覆地的变化。人们越来越有兴趣使用人工智能来帮助自动化更平凡的工作。但 Copilot 也强调了当今人工智能技术的一些缺陷。
AI 生成的代码可信吗?编写的代码有 Bug 吗?


AI 编码工具



在分析 Copilot 插件可用的代码时,Dolan-Gavitt 发现它包含一个受限短语列表。这些显然是为了防止系统脱口而出冒犯性信息或复制其他人编写的知名代码。GitHub 研究副总裁兼 Copilot 开发人员之一 Oege de Moor 表示,安全性从一开始就是一个问题。他表示,纽约大学研究人员引用的有缺陷代码的百分比仅与更可能存在安全缺陷的代码子集相关。De Moor 发明了 CodeQL,这是纽约大学研究人员使用的一种工具,可以自动识别代码中的错误。他说 GitHub 建议开发人员将 Copilot 与 CodeQL 一起使用,以确保他们的工作安全。GitHub 程序建立在 OpenAI 开发的人工智能模型之上,OpenAI 是一家在机器学习领域从事前沿工作的著名人工智能公司。该模型称为 Codex,由一个大型人工神经网络组成,经过训练可以预测文本和计算机代码中的下一个字符。该算法提取了存储在 GitHub 上的数十亿行代码用来学习如何编写代码,但并非全部都是完美的。OpenAI 在 Codex 之上构建了自己的 AI 编码工具,可以执行一些令人惊叹的编码技巧。它可以将类型化指令(例如“创建 1 到 100 之间的随机变量数组,然后返回其中最大的一个”)转换为多种编程语言的工作代码。同一个 OpenAI 程序的另一个版本,称为 GPT-3,可以在给定的主题上生成连贯的文本,但它也可以从网络上学到有攻击性或有偏见的语言。Copilot 和 Codex 已经让一些开发人员怀疑 AI 是否可以将它们自动化。事实上,正如 Naka 的经验所示,开发人员需要相当的技能才能使用该程序,因为他们经常必须审查或调整其建议。 AI 生成的代码可信吗?编写的代码有 Bug 吗?


结 语

纽约大学参与 Copilot 代码分析的博士后研究员 Hammond Pearce 表示,该程序有时会产生有问题的代码,因为它不能完全理解一段代码想要做什么。“漏洞通常是由于缺乏开发人员需要了解的上下文造成的,”他说。一些开发人员担心人工智能已经养成了坏习惯。曾尝试使用 AI 生成代码但尚未尝试使用 Copilot 的软件开发人员 Maxim Khailo 表示“作为一个行业,我们一直在努力摆脱复制粘贴解决方案,现在 Copilot 已经创建了一个增压版本。”Khailo 说黑客可能会干扰像 Copilot 这样的程序。“如果我是个坏人,我会做的就是在 GitHub 上创建易受攻击的代码项目,通过在黑市上购买 GitHub 明星来人为地提高它们的知名度,并希望它成为下一轮训练的语料库的一部分。”GitHub 和 OpenAI 都表示,相反,他们的 AI 编码工具只会变得不那么容易出错。OpenAI 表示它会手动和使用自动化工具来审查项目和编码。GitHub 的 De Moor 表示,最近对 Copilot 的更新应该降低了安全漏洞的频率。但他补充说,他的团队正在探索其他提高 Copilot 输出的方法。一种是删除底层 AI 模型从中学习的不良示例。另一种可能是使用强化学习,在游戏和其他领域产生了一些令人印象深刻的结果的人工智能技术,来自动发现不良输出,包括以前看不见的例子。“正在发生巨大的改进,”他说。“几乎无法想象一年后它会是什么样子。”AI 生成的代码可信吗?编写的代码有 Bug 吗?



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭