与 AI 结对编程:GitHub 发布 Copilot

与 AI 结对编程:GitHub 发布 Copilot
2021年06月30日 22:20 云头条

GitHub近日新发布了一款基于AI的结对编程工具,它可以与码农合作完成软件开发项目。码农在敲键盘时,它会建议相应的代码行或整个函数。

有必要解释一下,结对编程是一种常见的敏捷软件开发技术,两个(通常是人类)程序员在同一个屏幕前协同工作,轮流编写代码,并轮流查看合作伙伴的输出结果。

GitHub Copilot

这个新的GitHub工具名为Copilot使用上下文提示来建议新代码,如果用户不喜欢 Copilot给出的初始建议,可以浏览替代方案,或者手动编辑。Copilot还会不断学习,因此开发人员编写的代码、文档字符串、注释或函数名越多,Copilot应该变得越智能化

实际使用中的GitHubCopilot

Copilot可能有点像Gmail的智能撰写功能,它会建议电子邮件回复中的下一段文本。

AI助力

这实际上是基于AI自动完成代码,这不是什么全的概念Codota和Tabnine提供类似的工具已有一段时日,这两家公司实际上早在2019年(Codota融资1200万美元之前)合并了上个月,两家公司最终敲定Tabnine作为主品牌名称。

更广泛地说,机器编程工具正在各个领域崭露头角。微软最近宣布了Power Apps(用于创建低代码商业应用程序的软件)的一项新功能,该功能充分利用OpenAI的GPT-3语言模型,帮助用户选择正确的公式。

与之相仿,新的GitHub Copilot功能也在很大程度上依赖与OpenAI的合作,而OpenAI是GitHub母公司微软去年投资10亿美元的AI研究公司。不过,据今天的GitHub博文介绍,Copilot使用一种名为OpenAI Codex的新AI系统,该系统被誉为“在代码生成方面的功能比GPT-3强大得多”。鉴于OpenAI Codex是用一个含有更多公共源代码的数据集加以训练的,它应该更了解开发人员如何编写代码并能够提出更准确的建议。

OpenAI Codex还用源代码和自然语言加以训练,这意味着它在组装代码时能够解释注释和逻辑。

实际使用中的GitHubCopilot(查找文件)

GitHub新的AI结对编程工具可以帮助富有经验的开发人员节省一些时间,但对于新接触某种特定语言或框架的码农来说,它可能特别卓有成效,因为GitHub Copilot使他们不必搜索网上其他地方以解决编程难题。

可用性

GitHub Copilot今天推出了技术预览版,作为微软的跨平台代码编辑器Visual Studio Code的一个扩展件来提供,可在本地或云端使用。虽然Copilot旨在与一系列广泛的语言和框架协同使用,但发布时它特别擅长兼容JavaScript、Python、Ruby、TypeScript和Go这几种语言。

值得注意的是,GitHub Copilot并非旨在代表开发人员编写代码,而是主要通过了解开发人员的意图来帮助他们编程。GitHub还不保证它生成的代码甚至可以运行,因为它并不测试代码。这意味着它可能无法正确编译。所以存在着一定的风险,不过眼下对于Copilot而言仍处于早期阶段。

几十年来,微软及其他机构的研究人员一直在努力教计算机编写代码。这个概念尚未进入主流,有时是由于编写代码的程序其用途还不够广泛。而GitHub Copilot工具是这个领域一个令人瞩目的举措,它依赖采用许多编程语言的大量代码和庞大的Azure云计算功能。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部