分享好友 最新动态首页 最新动态分类 切换频道
程序员减负神器,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自动补写代码》

最新文章
abc分析图怎么制作?一文详解——九数云BI
很多人都知道二八定理,即20%的人掌握着80%的财富。很有名的ABC分类法和abc分析图,可以说是二八法则的衍生,其核心目的也是帮助分析人员把握关键,分清主次。如下是使用九数云制作的abc分析图。本文将为大家介绍什么是abc分析,以及abc分
AI智能技术:一键将多种字体高效转化为路径,满足设计师多样化需求
1. 字体生成技术是利用人工智能算法,按照客户手写的少量文字,自动扩展生成一套完整的字体库。2. 通过深度学模型可以学使用者的书写风格,并将这类风格应用到所有汉字上,生成独一无二的TTF(TrueType Font)格式字体。3. 使用者仅需提供8
AnsiblePlaybooks详解:任务、变量、模板和角色
Ansible 我所有Ansible剧本的家。先决条件Ansible 您需要做的第一件事是在管理站(台式机/笔记本电脑,可能是您从中读取的位置)上安装的ansible。 请参阅我的文档。生成SSH密钥您服务器上的Python3 您将需要在服务器(目标机器/设备)上安
AI人工智能核心算法原理与代码实例讲解:数据预处理
数据预处理,机器学习,特征工程,数据清洗,数据转换,数据归一化,数据标准化,异常值处理,数据降维 在机器学习领域,数据预处理是构建高质量机器学习模型的基础环节。高质量的数据预处理可以有效地提高模型的准确性、鲁棒性和泛化能力
facebook海外户广告开户投放技巧分享
facebook海外户广告开户投放技巧分享全球化的商业环境下,海外市场已经成为越来越多企业的关注焦点。而在海外市场进行广告推广是非常必要的一环。本文将为大家分享关于在Facebook海外户开户投放的技巧和注意事项,帮助您更好地进行广告推广
AI一键生成LOGO,秒杀广告设计公司,革命性的颠覆来了
大家好,我是飞哥,AI矩阵创始人,全网12个矩阵账号右上角关注,我分享两份爆款三段式标题和GPT入门指南用AI+矩阵解决方案变现,赋能万众创业者继AI写作AI绘画之后,AI logo横空出世,巨好用,一秒钟生成1000款Logo和字体商标设计,直接就
ai续写作文软件有哪些
智能续写宝是一款基于人工智能技术的续写作文软件。它能够分析输入的文本,并根据上下文逻辑自动生成续写的内容。通过智能续写宝,用户可以快速生成具有逻辑连贯、语言流畅的文章。该软件还提供了多种模板和主题,用户可以根据自己的需求进
AIGC全面介绍
随着人工智能技术的飞速发展,AIGC(Artificial Intelligence Generated Content)作为人工智能领域的重要分支,正逐渐崭露头角,成为推动人类社会进步的重要力量。本文将对AIGC进行全面介绍,包括其
Google翻译
Google Translate - multilingual neural machine translation service from Google. This website is the 17th most popular in the global Wikipedia ranking of websites and the 49th most popular website in Chinese Wikipedia.Artic
AI赋能智力运动新未来
  新华社合肥10月29日电(记者周畅)从超级计算机“深蓝”与国际象棋特级大师卡斯帕罗夫的对弈,到“阿尔法狗”(AlphaGo)先后挑战李世石、柯洁,体育可以说是最早让人类看到人工智能(AI)巨大潜力的领域之一。  如今,AI已变得不再
相关文章
推荐文章
发表评论
0评