动嘴就能写代码,GitHub 将 ChatGPT 引入 IDE,重磅发布 Copilot X!
从以前拖拽控件实现低代码开发,到用自然语言也能自动生成代码,AI 工具势要颠覆程序员疯狂敲键盘的日常,微软也终要将 OpenAI 最前沿的技术贯穿到自家业务线的方方面面。
继微软用 GPT-4 升级 Bing 搜索引擎、Edge 浏览器、Office 全家桶之后,就在昨夜,其旗下代码托管平台 GitHub 再次发布重磅“炸弹”:推出 Copilot X 计划,将 ChatGPT 引入 IDE。在 GitHub Copilot X 中,你只需“动动嘴”,它就能把你的代码写了,也能给你解释不懂的代码片段,还能直接让它帮你 DeBug。
人人都能成为开发者的日子,想想都很美好的日子,就快要来到了,不是吗?
时隔两年,GitHub 将 Copilot 升级为 Copilot X
事实上, 仅从名称上来看,我们便已知晓 Copilot X 并不是 GitHub 从头研发的产品,而是 2021 年 GitHub 和 OpenAI 合作研发的 GitHub Copilot 的升级版。
GitHub Copilot 是一个人工智能代码建议方案,它也是全球第一个使用 OpenAI Codex 模型(GPT-3 后代)制造的大规模生成 AI 开发工具,可以在程序员编码的时候自动推荐/生成代码供其使用,解放程序员的双手,再也不用因为敲代码而加班了。
据 GitHub CEO Thomas Dohmke 透露,GitHub Copilot 发布的近两年来,通过自动完成注释和代码,已经编写了 46% 的代码,也帮助开发者将编码速度提高了 55%。
在外界 OpenAI ChatGPT 驱动下,Copilot 仅提供代码提示已经不能满足程序员用 AI 进行软件开发的需求。为此,GitHub 带来了 Copilot X,其中“X”代表的是 GitHub 希望 Copilot 在哪里都可用,希望将产品从过去只有一种体验(代码完成)拓展到整个开发者工作流程中并带来 X 种体验。
最新的 GitHub Copilot X 采用了 OpenAI 最新的 GPT-4 模型,也引入了聊天、语音功能,支持拉取请求,回答文档上的问题等等。
接下来,我们与大家一起速览这款强大工具的各种功能。
在编程中,获得类似 ChatGPT 的聊天体验
GitHub 如今对外发布 Copilot Chat 预览版,也将集成到 Visual Studio、VS Code 编辑器中。GitHub 称,会在晚些时候支持其他 IDE。
自动写代码
使用 GitHub Copilot Chat 可以在编辑器中获得类似 ChatGPT 的体验。
GitHub Copilot Chat 不仅仅是一个聊天窗口,你可以让它帮你写代码。
语音生成代码
GitHub Copilot Chat 也建立在 OpenAI、微软为 ChatGPT 和新 Bing 所做的工作之上。它还将加入 GitHub 之前演示的语音到代码的人工智能技术——GitHub Copilot Voice,开发者可以口头上给出自然语言提示,工具就能生成相关的代码,真正的做到了动嘴技能写代码的理想状态。
捉 Bug
与此同时,GitHub Copilot Chat 对于运行异常的代码,还能直接找到 Bug 所在。
解释代码
相比旧版的 Copilot,新版的 Copilot Chat 也能识别开发者输入的代码,比如示例中,选中一行代码,让 Copilot Chat 解释代码的作用:
"我是一名开发人员,但我也是 CEO。因此,我用于实际开发代码的时间是相当有限的。我在过去的几个晚上玩了这个软件,它真的很有趣。它把乐趣带回了编程,因为你不必找到一个教程,也不必弄清楚哪一个是正确的教程,你只需继续下去",Dohmke 说道,"我确信,当你让学生和孩子们使用时,他们会大吃一惊。它变成了这种令人上瘾的东西,因为你有了可以不断提问的东西。"
Dohmke 称,这款新的 Copilot 将使开发者的生产力提高 10 倍。
GitHub Copilot 将成为程序员专属的开发神器
如果说 ChatGPT 面向的是各行各业的所有用户,那么 Copilot X 只会聚焦在程序员的编码领域上,自动屏蔽一些不相关的内容。
用于拉取请求的 Copilot
在发布 Copilot X 新体验时,GitHub 上线了第一个由 AI 生成的 pull request 描述的技术预览版(https://githubnext.com/projects/copilot-for-pull-requests)。
这项新功能也是由 OpenAI 的新 GPT-4 模型驱动,通过具有仓库的管理员访问权限或组织所有者安装 GitHub 应用程序之后,允许开发者在他们的 pull request 描述中插入标记标签。这些标签是由 GitHub Copilot 根据更改的代码自动填写的。然后,开发人员可以审查或修改建议的描述。如使用“copilot:all”、“copilot:summary”、“copilot:walkthrough”、“copilot:poem”等标签。
GitHub 表示,这只是其为重新思考 pull request 在 GitHub 上的工作方式而采取的第一步。目前这一点已经实现,除此之外,他们未来还有一些计划。
譬如,GitHub Copilot 会在开发者创建拉取请求时,通过动态拉取代码变化的信息,自动提示句子和段落。这项功能被称为“ghost text”(当你在编辑器中输入时出现的内联建议),这样方便开发者能够在输入时获得关于他们拉动请求描述的建议。
另外,GitHub 还计划让 GitHub Copilot 自动警告开发者是否缺少对 pull request 足够的测试,然后根据项目需求建议可以编辑、接受或者拒绝潜在测试。
由此,让 GitHub Copilot 成为最佳 AI 编程工具。当然,后面几种功能都还处于研发阶段,GitHub 暂未正式对外发布。
Copilot 引入命令行
作为整个 Copilot X 计划的一部分,GitHub 还在 Copilot 中引入了命令行界面(CLI)。
在 GitHub 看来, 除了编辑器和 pull request 之外,终端是开发者花费时间最多的地方。但即使是最熟练的开发者也需要翻阅许多页面来记住许多命令的精确语法。
最新的 GitHub Copilot CLI 可以编写命令和循环,并找到那些晦涩难懂的功能标志来满足你的查询,往往这些标志往往深埋在手册中(或者至少要在 Stack Overflow 上搜索一两次)。
GitHub Copilot for Docs
最后,值得一提的是, GitHub 官方也正在推出一个处于实验阶段的工具指南——GitHub Copilot for Docs,帮助提供 AI 生成的有关代码文档的答案,包括开发者关于他们正在使用的语言、框架和技术的问题。
GitHub 称,其将从 React、Azure Docs 和 MDN 的文档开始,以便能够与这些项目的开发者和用户一起快速学习和迭代。GitHub 正在使用 AI 扫描这些开源存储库,以帮助开发人员获得答案,因此它的聊天生成的代码内容会比 GPT-4 所基于的训练数据集更新一些。
加入 GitHub Copilot Chat 候补名单
以上功能看得不少开发者心痒,想要立即上手测试一把。
不过,有些遗憾的是,GitHub Copilot chat 当前并没有公开测试,想要早日用上,还需要先付费订阅 GitHub Copilot。
再申请加入候选名单(https://github.com/github-copilot/chat_waitlist_signup/join)。
如今 GitHub 发布新的 Copilot X 功能让很多人联想到了不久之前微软用 Microsoft 365 Copilot 演示的工作。Office 应用程序中的 Copilot 彻底改变了使用 Word、Excel 的传统方式,现在 Copilot X 也将从多个维度颠覆程序员写代码的工作范式。
正如 GitHub CEO Thomas Dohmke 描述的这样,"一旦你在每一个应用程序中都有一个 Copilot——无论是在 Outlook、Word 还是你的代码编辑器中,你都可以利用它在这些环境中写的东西,但你也可以随时借用组织中其他工作人员的信息,无论是其他开发人员还是营销人员,他们现在更容易写出公告博客文章,因为他们在 Copilot 中看到了开发人员放在 git repo 中的发布说明......它消除了公司中的数据孤岛,我认为这就是我们将释放潜在的 10 倍以上的生产力的地方。"
最后,对于 GitHub Copilot X 的到来,网友们呈现出两种态度,一是认为 10x 工程师如今看来只是个笑话,由 AI 驱动的工程师们应该实现了 100x,GitHub Copilot 无疑利好程序员的。
另一种则是认为 AI 几乎完成程序员很多的日常工作,最终“GitHub Copilot+GPT-4=GitHub Copilot X”最终将终结只会编码的程序员。
参考:
https://github.blog/2023-03-22-github-copilot-x-the-ai-powered-developer-experience/
https://github.com/features/preview/copilot-x
https://githubnext.com/projects/copilot-voice/
https://techcrunch.com/2023/03/22/githubs-copilot-goes-beyond-code-completion-adds-a-chat-mode-and-more/