"); //-->
在近日发表的一篇论文中,研究人员对 GitHub Copilot 人工智能编程辅助工具进行了深入调查。结果发现,仍处于测试预览阶段的 Copilot 具有高达 40% 的错误代码率,意味着开发者必须在使用时对其保持清醒的认知。此外在多场景测试项目中,约 40% 都被发现包含了安全漏洞。
AI 编程神器 GitHub Copilot
此前,GitHub 和 OpenAI 推出一种新人工智能自动编程工具 Copilot ,能自动生成代码,供开发者参考使用。
官方宣传语为“你的 AI 结对编程助手”。
什么是结对编程呢?
结对编程(英语:Pair programming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。
在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。结对编程对开发程序有很多好处。比如增加纪律性,写出更好的代码等。
那么AI结对编程就是人机结对编程的升级版,具体来说 GitHub Copilot 由 OpenAI Codex 提供支持,可以从开发者已经编写的代码和注释中提取上下文,试图理解开发者意图,生成需要添加的一行、多行代码或整个函数,当程序员接受或拒绝建议时,模型就会学习越来越适应和匹配开发者的编程风格。
这使得程序员无需在写代码时去查阅大量文档或搜索相关示例,更加聚焦于开发工作本身。
正如 OpenAI 员工 Harri Edwards 所言:“用一种不熟悉的语言编写代码,用谷歌搜索所有东西,就像用一本短语手册去浏览一个外国国家。而使用 GitHub Copilot ,好比雇佣一名翻译。”
GitHub 首席执行官在 6 月 29 日的一篇博客文章中称:
OpenAI Codex 对人们如何使用代码有着广泛的了解,且在代码生成方面较 GPT-3 强大得多,部分原因是其在包含大量公共源码的数据集上展开了训练。
GitHub Copilot 适用于多种语言框架,但现阶段的技术预览版本更侧重于 Python、JavaScript、TypeScript、Ruby 和 Go 语言。
然而 Copilot 很快引发了多方争议,尤其涉及代码质量、法律与道德考量、替换人类开发者的可能性、以及引入安全漏洞的可能性。
GitHub Copilot 的代码质量如何呢?
近日,康奈尔大学的研究人员公布了一项数据,为了对 Copilot 的实际价值做出量化,他们为 GitHubCopilot 生成了 89 个不同的场景,生成了 1692 个程序。其中,大约 40% 的程序存在安全漏洞。
具体说来是,这项研究从三个维度展开了考量,分别是缺陷的多样性、prompt 的多样性、以及领域的多样性。
总体而言,头部 39.33% 和总体 40.48% 的项目易受攻击。从安全角度来看,Copilot 在测试场景中的表现也有好有坏。
对于新手来说,Copilot 借鉴的高质量代码还是相当值得推荐的。但若开源存储库中的某些错误相当明显,Copilot 也会更加频繁地重现。
研究人员表示,由于 Copilot 是利用 GitHub 上提供的开源代码进行训练的,因此可以推断,代码安全质量取决于 GitHub 社区的开源代码质量。
在 GitHub Copilot 推出后,有关于它的负面消息这并不是第一次。
就在其发布不到一周的时间里,GitHub Copilot 就被推上了侵权的风口浪尖,引发了前所未有的争议。
原因是有位程序员尝试了一下平方根倒数速算法(Fast Inverse Square Root),结果只是打出来这四个关键词。
floatQ_rsqrt( float number )
{
long i;
float x2, y;
constfloat threehalfs = 1.5F;
x2 = number * 0.5F;
y = number;
i = * ( long * ) &y; // evil floating point bit level hacking
i = 0x5f3759df - ( i >> 1 ); // what the fuck?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration
// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed
return y;
}GitHub Copilot 就逐行“完美复刻”了当年那段神奇的算法,甚至连当时的原版注释都被保留下来。

甚至GitHub Copilot连当年那句“what the fuck”的注释也用上了。
这种现象引起了大量开发者的不满,这不禁让人细思极恐:难道这不侵犯版权吗?
结 语
关于 GitHub Copilot 代码的事情,在 Hacker News 论坛上引起热议。
一家科技公司的产品安全负责人明确表示:禁止员工使用GitHub Copilot。
不过,也有程序员表示,我用 AI 写的程序关我什么事,有责任那也是 GitHub 母公司微软的。
尽管 AI 编程有很多争议,但脚步从未停止。今年八月,OpenAI 宣布开发一种将自然语言转换为编程代码的人工智能系统 —— Codex。
Codex 是建立在 Copilot 之上,Codex 通过接收用英语编写的句子并将它们翻译成可运行的代码,换句话说,它是可以将自然语言转换为代码的 AI 系统,这意味着 AI 编程的概念又往前进了一步。
对此,OpenAI 称 Codex 让计算机能够更好地理解人们的意图,从而让每个人都可利用计算机来实现更多目的。
那么,AI 写代码究竟可行不可行呢?
参考链接:
https://news.ycombinator.com/item?id=27710287
https://github.com/id-Software/Quake
https://arxiv.org/abs/2108.09293
https://www.techradar.com/news/github-autopilot-highly-likely-to-introduce-bugs-and-vulnerabilities-report-claims
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
WTC-AI太阳能热水器电路图
iCAN-4017 AI功能模块
CSR8670CSR8675智能语音Alexa蓝牙方案开发
人工智能是如何帮助阻止造假者的?
联发科加速AI在地化应用布局
存储器转型AI战略资源 台厂受惠
瑞萨电子AI单元解决方案成功提高GE医疗(日本)日野工厂的生产力
电子元件培训教材
维拉 CPU 交付:英伟达首款面向智能体的 CPU 进驻顶尖 AI 实验室
PowiGaN for AI Data Centers: Unmatched Power Density and Reliability
研华科技与Axelera AI深化战略合作 加速推动基于Europa平台的边缘AI创新
基于Microchip MCU的AI/ML培训教程2
基于Microchip MCU的AI/ML培训教程1
AI催生“芯片通胀”:2D NAND价格失控,300%涨幅背后的行业博弈
EEPW2018年3月刊(工业物联网)
继上次海联达Ai-ap100拆机之电源改造
被动元件新周期:AI时代高端化、服务器化重构MLCC产业格局
EEPW2018年6月刊(5G)
基于VisitionX制造智能眼镜
释说芯语16:硬科技:构建企业未来之路(附PPT)
AI/HPC新世代 COUPE光互连扮要角
AI聊天机器人能像医生一样推理吗?
万家乐JSYZ5-AI燃气热水器电路图
基于Microchip MCU的AI/ML培训教程3
海联达(Aigale)Ai-HD1 无线全高清套件拆解
尼吉康的事业介绍
国家“算力网”:像用水用电一样用AI
基于Ai-WB2-12F与Rd-04的雷达检测系统
WTC-AI型太阳能热水器电路图
思科凭借通用商用芯片与光模块赢得 AI 领域客户