GitHub近日新发布了一款基于AI的结对编程工具,它可以与码农合作完成软件开发项目。码农在敲键盘时,它会建议相应的代码行或整个函数。
有必要解释一下,结对编程是一种常见的敏捷软件开发技术,两个(通常是人类)程序员在同一个屏幕前协同工作,轮流编写代码,并轮流查看合作伙伴的输出结果。
GitHub Copilot
这个 新的GitHub工具 名为Copilot , 它 使用上下文提示来建议新代码,如果用户不喜欢 Copilot 给出 的初始建议,可以浏览替代方案,或者手动编辑。 Copilot还会 不断 学习,因此开发人员编写的代码、文档字符串、注释或函数名越多,Copilot应该 会 变得越 智能化 。
实际使用中的GitHub Copilot
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还用源代码和自然语言加以训练,这意味着它在组装代码时能够解释注释和逻辑。
实际使用中的GitHub Copilot(查找文件)
GitHub新的AI结对编程工具可以帮助富有经验的开发人员节省一些时间,但对于新接触某种特定语言或框架的码农来说,它可能特别卓有成效,因为GitHub Copilot使他们不必搜索网上其他地方以解决编程难题。
可用性
GitHub Copilot今天推出了技术预览版,作为微软的跨平台代码编辑器Visual Studio Code的一个扩展件来提供,可在本地或云端使用。虽然Copilot旨在与一系列广泛的语言和框架协同使用,但发布时它特别擅长兼容JavaScript、Python、Ruby、TypeScript和Go这几种语言。
值得注意的是,GitHub Copilot并非旨在代表开发人员编写代码,而是主要通过了解开发人员的意图来帮助他们编程。GitHub还不保证它生成的代码甚至可以运行,因为它并不测试代码。这意味着它可能无法正确编译。所以存在着一定的风险,不过眼下对于Copilot而言仍处于早期阶段。
几十年来,微软及其他机构的研究人员一直在努力教计算机编写代码。这个概念尚未进入主流,有时是由于编写代码的程序其用途还不够广泛。而GitHub Copilot工具是这个领域一个令人瞩目的举措,它依赖采用许多编程语言的大量代码和庞大的Azure云计算功能。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.