分享好友 最新动态首页 最新动态分类 切换频道
程序员减负神器,GitHub联手OpenAI,用AI自动补写代码
2024-12-29 23:26

作者 | ZeR0

程序员减负神器,GitHub联手OpenAI,用AI自动补写代码

编辑 | 漠影

这是微软向OpenAI投资10亿美元的第一个重大成果。微软正在寻求简化编程流程的方法,试图教计算机写代码,而GitHub Copilot项目是一个相当值得关注的尝试。

GitHub Copilot从开发者已经编写的代码和注释中提取上下文,试图理解开发者意图,生成需要添加的一行、多行代码或整个函数,当程序员接受或拒绝建议时,模型就会学习越来越适应和匹配开发者的编程风格。

这使得程序员无需在写代码时去查阅大量文档或搜索相关示例,更加聚焦于开发工作本身。

GitHub方面强调,Copilot所做的可不仅是像“鹦鹉学舌”那样照搬见过的代码,它推荐的绝大多数代码都是唯一生成的、训练集中并不存在的。

OpenAI联合创始人兼CTO Greg Brockman将这项工比作“编程的最后一英里”。微软首席技术官Kevin Scott认为,GitHub Copilot不仅适用于开发老将,也能让编程本身更加容易上手。

项目链接:https://copilot.github.com

01.

支持各种编程语言,高效生成匹配代码

GitHub首席执行官Nat Friedman在一篇博客文章中写道,GitHub Copilot支持几乎所有编程语言,技术预览版最适合Python、JavaScript、TypeScript、Ruby和Go。

Nat Friedman将GitHub Copilot描述为结对编程(pair programming)的演进,两个程序员将在同一项目上并肩协作,检查彼此的错误,提供代码建议,加快开发过程。Copilot使得其中一个程序员是虚拟的。

无论开发者在用一种新的语言或框架,还是只是刚刚开始学习写代码,都能借助这一新工具更快上手编程。

GitHub最近对一组Python函数进行的基准测试显示,如果删除函数,并让GitHub Copilot来重新填充,首次尝试时,该模型的准确率为43%,尝试10次后,其准确率上升至57%,它一直在变得更聪明。

02.

技术预览版试用名额有限,未来推商业产品

根据项目网站,GitHub的数百名工程师每天都在编码时使用Copilot,这改变了他们的工作方式。

OpenAI联合创始人兼CTO Greg Brockman说,编程包括提出一个如何做某件事的想法,然后实现它,GitHub Copilot擅长第二部分。“你不想去阅读Twilio的API文档。它(Copilot)知道所有这些东西。这实际上相当可靠。”

“这可以让我不必为了用某个工具而查阅一大堆文档,这对提高工作效率非常有益。”微软首席技术官Kevin Scott亦称赞道。

“这是我见过的机器学习(ML)最令人兴奋的应用。”Instagram联合创始人Mike Krieger感慨说:“在第一天,GitHub Copilot已经教会了我Javascript对象比较的细微差别,并且和我一样适应我们的数据库模式。”

GitHub Copilot目前仅出现在微软的免费开源产品Visual Studio Code中,微软计划在未来将其纳入商业Visual Studio产品中。

03.

幕后功臣:OpenAI GPT-3的后代Codex

OpenAI Codex接受过从GitHub提取的数十亿行公开可用代码以及英语语言示例的训练,能将人类自然语言翻译成机器可理解的编程代码,Brockman将Codex描述为超大规模语言模型GPT-3的后代。

GPT-3是OpenAI的旗舰语言生成算法,参数规模达1750亿。它可以生成有时无法与人类书写区分的文本。GPT-3生成语言,Codex则生成代码。

这不是微软第一次借助OpenAI提供智能软件。上个月,微软展示了它将如何更新Power Apps Studio应用程序,非技术人员能借此来编写应用程序,用户可以输入描述他们想要添加元素的单词,并让GPT-3显示必要代码的选项。

OpenAI认识到在GPT-3中生成代码的潜力。它在网站上写道,提供GPT-3的在线服务可以处理“代码补全”(code completion)。

但Brockman说,当OpenAI刚开始训练该模型时,并没有打算教它如何帮助编写代码。它更像是一种通用语言模型,可以生成文章、修复错误的语法以及将一种语言翻译成另一种语言。

在接下来的几个月里,人们用这个模型做实验,看看它能做什么,有的很有用,有的则显得有些蠢。比如,一位工程师制作了一个网站,可以设计一个看起来像西瓜的按钮。Brockman联系了GitHub首席执行官Nat Friedman,当时他在运行一个有数百万程序员在编写代码的“key destination”,新的故事即从那里开始。

OpenAI预告将于今年夏天晚些时候通过其API发布Codex模型,供第三方开发人员将其融入自己的应用程序。

04.

已设立许多安全机制,但还不完美

GitHub员工试图确保GitHub Copilot生成安全、高质量的代码,但并非所有使用的代码都经过了漏洞、不安全实践或个人数据的审查。

“我们已经为Copilot建立了许多安全机制,我们认为这些机制在减少在各个领域出错的机会方面是先进的,但它们绝对不是完美的。”Friedman透露。

使用GitHub Copilot时,所有数据都安全地传输和存储,其遥测技术的使用被严格限制在个人需要知道的基础上。GitHub承诺不会将任何开发者的私有代码引用到为其他用户生成代码。

Copilot的网站写道:“由于底层技术的预发布性质,GitHub Copilot有时可能生成不希望的输出,包括有偏见、歧视、辱骂或攻击性的输出。”

鉴于对GPT-3偏见和滥用语言模式的批评,OpenAI似乎还没有找到阻止算法继承其训练数据最坏元素的方法。

GitHub还警告说,该模型可能会显示电子邮件地址、API密钥或电话号码,但这种情况很罕见,而且发现数据是由该算法合成或伪随机生成的。

不过,Copilot生成的代码在很大程度上是原创的。GitHub进行的一项测试发现,在训练集中只能找到0.1%的Copilot生成代码。

这不是第一个尝试自动生成代码来帮助程序员的项目。去年10月,美国初创公司Kite已经推出了一个类似的功能,借助AI帮开发者自动补全代码片段,该功能支持16个代码编辑器。

05.

结语:或有助于扩大开发者阵容

Copilot的问世凸显了OpenAI与其投资者微软之间日益密切的关系。除了用OpenAI提供的AI软件来理解开发者编程外,微软也在使用OpenAI的GPT-3语言模型,让非开发人员可以使用语音命令而非代码来构建应用程序。

开发者是微软企业战略的一大核心。发展GitHub使用的工具,降低了经验不足的程序员的开发门槛,能帮助微软进一步扩大其开发者队伍。

不过,GitHub Copilot只是一个辅助工具,开发者仍需仔细地测试、审查自己的代码。随着智能系统的优化,这一工具不仅有助于提高现有工程师的开发效率,也有潜力让更多人开始探索软件开发。

原标题:《程序员减负神器!GitHub联手OpenAI,用AI自动补写代码》

最新文章
AI原创文章生成器特点揭秘:高效原创,SEO优化首选!
AI原创文章生成器特点揭秘:高效原创,SEO优化首选!在当今信息爆炸的时代,内容创作的重要性日益凸显。对于许多内容创作者来说,创作高质量、原创的文章往往是一项耗时耗力的任务。为了解决这一问题,AL原创文章生成器应运而生。这款工具
3d点云标注
3D点云标注是指利用激光雷达采集的数据进行框选标注,供计算机视觉与无人驾驶等人工智能模型训练使用。以下是关于3D点云标注的一些关键信息: 应用领域:3D点云标注主要被应用在自动驾驶、移动机器人等领域。在自动驾驶中,点云数据可以帮
AI医疗全球发展现状如何?来看看这32种创新应用
人工智能在医疗保健行业应用广泛,包括用于发现遗传密码之间的联系,为外科手术机器人提供动力,以及提高医院效率等。以下是AI在医疗保健行业逐步落地的32种应用(有删减)。使用AI精确诊断,降低误诊率2015年,由于疾病误诊和医疗失误事故
3分钟搞懂Vue整合Echarts实现可视化界面
🏅【Bug 终结者】博客的领域是【面向后端技术】的学习,未来会持续更新更多的【后端技术】以及【学习心得】。 偶尔会分享些前端基础知识,会更新实战项目,面向企业级开发应用!🏅 如果有对【后端技
AI工具大赏:2024年最值得关注的AI绘画与生文工具
在2024年,人工智能的迅速发展已经渗透到各个行业,尤其是在创作领域,AI绘画和AI写作工具正逐渐成为创作者的好帮手。随着技术的不断进步,这些工具不仅提升了创作效率,也为用户带来了更多的灵感和可能性。本文将深入探讨当前最受欢迎的AI
ai绘图软件哪个好用?值得尝试这6个
中秋佳节将至,当皓月当空,家家户户团圆之时,也是灵感与创意悄然涌动的时刻。 想象一下,一边品尝着甜蜜的月饼,一边用ai绘图工具绘制出心中的月宫仙境,岂不美哉? 今天,就让我们一起
AI智能体,人工智能的“增程模式”?
文 | 极智GeeTech在人工智能的发展长河中,我们正站在一个激动人心的转折点。想象一下,未来的人工智能什么样?只需简单一个指令,它们便能领悟并执行复杂的任务;它们还能通过视觉捕捉用户的表情和动作,判断其情绪状态。这不再是好莱坞科
Dota 2被攻陷!OpenAI 人工智能5V5模式击败人类玩家
  我们团队构建的模型,OpenAI Five,已经击败业余 Dota2 团队了。虽然如今是在有限制的情况下,但我们计划到 8 月份在有限英雄池下击败 TI 赛中的一支顶级专业队伍。我们可能不会成功,因为 Dota2 是当前最流行也最复杂的电子竞技游戏之
360、腾讯管家或火绒等软件真的会影响电脑的性能吗?
在我们平时使用电脑工作的过程当中,电脑上往往会需要安装各种软件。而像、和火绒等这样的电脑,想必很多小伙伴的电脑上都会进行安装。而安装完这样的软件后,我们就会有一个疑问,那就是电脑的性能到底会不会受到影响呢?下面小编就来为大
AI模型本地运行,打造你的专属“语音助手”!
在本地跑一个AI模型(4) - 会说话的模型在之前的几篇教程中,我们一同探索了如何在本地搭建和运行一个大语言模型,使其能够理解和生成文本。这是一个令人兴奋的领域,它为我们打开了与机器交流的新世界。而今天,我们将继续这个旅程,为AI
相关文章
推荐文章
发表评论
0评