作者 | 核子可乐、Tina
畅想十多年后,失去了“AI 助手”的年轻人无法编码了,那企业只能再高薪聘请真正会编程的白发老年人回来了.....
在 GPT-4 模型的支持下,微软打造的 AI“结对编程助手”已经能够标记 pull 请求、生成模仿文档和讨论代码内容。GitHub 还添加了 OpenAI 的聊天功能,这也就是说 Copilot X 将允许程序员以 ChatGPT 的风格,通过语音聊天来编写和调试代码。
1 GPT-4 驱动的新 Copilot 编码助手
经过新一轮训练,微软 GitHub 的 Copilot 编程模型再度升级,也让这位广受好评的 AI 助手在开发领域的地位又稳牢了一层。
为了纪念这一重大时刻,微软还给这位编程助手改了名:Copilot X。请注意,X 代表可能性、可不是“限制级”。
GitHub CEO Thomas Dohmke 在博文中写道,“我们的 GitHub Next 研发团队一直在努力超越传统编辑器,希望将 GitHub Copilot 开发成贯穿整个开发生命周期、而且易于使用的 AI 助手。最终成果就是 GitHub Copilot X,代表着我们对于未来 AI 软件开发愿景的希冀。”“它将从根本上影响开发人员的体验。”
但在随后的介绍中,Dohmke 自己仍然称这款软件为 Copilot,不禁让人怀疑是不是 X 这部分还要等待些时日才能真正名副其实。
展望未来,Copilot 将对接一系列不断发展的大语言模型,包括 OpenAI 的 GPT-3.5-turbo 和 GPT-4,而不再沿用 OpenAI Codex 的定制化版本。OpenAI 将于 2023 年 3 月 23 日关闭 Codex 的公共 API,但强调 Codex 的停用不会对客户造成影响。有声音怀疑此次 API 终止跟 Codex 和 Copilot 身陷版权和许可诉讼有关,但 OpenAI 并未立即做出置评。
在经过一年的技术试验之后,Copilot 于去年夏季正式推出,能够为使用 GitHub 及受支持文本编辑器 /IDE(例如 Visual Studio Code)的开发人员提供编码建议。尽管质量不够稳定,但仍开创了生成式 AI 服务编程领域的先河。
根据 GitHub 的数据,截至上个月,Copilot 已参与到微软全体云代码仓库中的 46%,帮助开发人员将编程速度提高了 55%。
2 Copilot 升级版可以用来做什么
Copilot 升级之后,现在它能在 Visual Studio Code 和 Visual Studio 中以 ChatGPT 的风格与用户交流。提示和响应对话显示在 IDE 侧边栏的聊天窗口内,不再像之前那样在源文件中依靠评论查询提供自动补全建议。
Dohmke 表示,“Copilot Chat 不只是提供一个聊天窗口,它可以识别开发人员输入的代码、显示的错误消息,并深深嵌入至 IDE 当中。”
它集成了“嘿,GitHub”语音扩展功能(也就是现在的 GitHub Copilot Voice),使用自然语音提示,这位编程助手可以生成(或复制)代码并按需运行。
Dohmke 表示,“Copilot Chat 的技术基础,跟 OpenAI 和微软的 ChatGPT 与 New Bing 是完全相同的”。并且 Dohmke 还展示了通过聊天来编写 Python 版本的贪吃蛇游戏,并表示非常沉迷其中。
这种功能也震撼到了一些开发者:“ChatGPT 将永远改变编程。对我来说,作为一名开发人员最令人愉快的方面是处理逻辑和解决技术问题,而不是专注于生产力或满足需求。虽然这种改变让我沮丧,但我知道我需要习惯它。”“我也是。迄今为止,我手写代码已经 30 年了,我仍然热爱编程。但如果从此没有手写编码,我不确定世界会是什么样子。”......
另外,开发人员可以高亮显示源文件中的正则表达式,并邀请 Copilot 解释表达式中的迟钝模式。Copilot 还可根据要求生成测试、分析和调试,提出修复建议或尝试自定义任务。该模型甚至能够为源代码添加解释性注释,并像 linter 那样清理文件。
对于这部分功能,有网友表示他从测试版开始就一直在使用 Copilot,它在生成测试方面可以说是“大放异彩”,“感觉像是重复各种繁琐的事情,测试各种各样的输入,测试各种各样的错误案例,与手工相比,它花费的时间要少得多。”
另一位名为“roygbivasaur”的网友则表示,他现在的工作是编写 kubernetes 控制器并使用 envtest 和 ginkgo 为控制器编写测试。令人沮丧是他必须执行通常由默认 kubernetes 控制器完成的所有任务(例如为 sts 创建 pod)。但使用了 Copilot,编写了几个测试之后,“现在当我编写新测试时,它可以从上下文(测试用例、测试描述、CRD 类型、我显然正在测试的协调器等)中推断出什么我需要创建的对象,我需要监视的状态,甚至可能的特定故障状态。它完成了我大部分的测试,我只需要校对它。”
简而言之,使用 Copilot 来做一些测试用例还是非常能提高效率的。
Copilot 处理 pull 请求的截屏
无论如何,GitHub 已经在开放预览版中引入了 GPT-4 支持,现在 AI 已经能为所有 pull 请求(代码变更提交)生成描述。
在 AI 的监控下,开发人员在发出 pull 请求时将看到 GitHub 模型帮你填写标签,尝试描述接下来可能发生的情况。开发人员则可根据标签进行操作或修改。
更重要的是,Copilot 的应用范围还扩展到了文档层面。从 React、Azure Docs 和 MDN 文档开始,开发人员可以通过聊天界面提出问题并获取 AI 生成的答案。Dohmke 介绍称,通过聊天界面与文档交互的能力将很快被扩展至组织用户的内部代码仓库和文档当中。
Copilot CLI 截屏
因此,开发人员将可以提出不那么结构化的问题,并直接从 Copilot 那边获得合理建议甚至是非常准确的答案(但不提供来源属性)。这就取代了以往基于关键字的文档内容查询,也让我们更能理解为什么谷歌被这位突如其来的 AI 红人打得措手不及。
GitHub 甚至提供 Copilot CLI 以渗透命令行界面。如果大家突然忘记了某条晦涩的命令行咒语或者命令标志,Copilot 可以立刻提供帮助。
3 写在最后
至于这位强大编程助手的存在到底是不是好事,就看各位如何理解了。Dohmke 强调说 Copilot 可以在开发过程的每个阶段发挥重要作用,从项目规划到代码的最终部署,然而鉴于 Bing 在 GPT-4 支持下的表现“也就那样”,New Bing 似乎也不如 Dohmke 设想中的那么“New”,所以还需要时间来证明 Copilot 的能力。但在相对更简单的代码生成场景下,GPT-4 也许能够更轻松地提供有用输出。
Copilot 将马上提供给 waiting list 中的开发人员注册使用,Dohmke 说,在第一波产品准入之后,更多的开发人员将获得访问权限,具体取决于需求水平。
Copilot 的个人费用为每月 10 美元,企业费用为每位开发人员每月 19 美元。
鉴于有整整一代开发人员需要支付 1000-2000 美元或更多来订阅 MSDN 以开展业务,Copilot 这个定价也许不算太高。考虑以后很大可能“AI 编程助手”是开发人员不可或缺的编程工具,那集成了 GPT-4 的“Copilot X”对微软来说其战略重大,这场 AI 战争也许是继 Windows 操作系统、Azure 云服务之后的一大终局之战。
附申请网址:
Copilot X: https://github.com/github-copilot/chat_waitlist_signup/ Copilot Voice: https://githubnext.com/projects/copilot-voice/ Copilot Docs: https://githubnext.com/projects/copilot-for-docs/ Copilot for PRs: https://githubnext.com/projects/copilot-for-pull-requests/ Copilot CLI: https://githubnext.com/projects/copilot-cli/
参考链接:
https://github.blog/2023-03-22-github-copilot-x-the-ai-powered-developer-experience/ https://www.theregister.com/2023/03/22/github_copilot_learns_new_tricks/ https://www.reddit.com/r/programming/comments/11ylui4/github_copilot_x_the_aipowered_developer/
今日好文推荐
八年“老网红”Flink:揭秘实时流计算引擎全球化落地的演进历程
我在GitHub 黑市买“水军”:一万颗star只要4000多元,人人都能“一夜爆火”
微服务先行者 James Lewis:别纠结单体还是微服务,面向服务 SOA 架构才是正解
微软Office正式融入GPT-4;文心一言正式发布,百度股价次日涨超16%;TikTok回应美国要求字节跳动出售持股|Q资讯
活动预告
3 月 25 日,OceanBase 开发者大会来啦!
这是一场为数据库开发者准备的线下技术交流会,我们准备了很多惊喜:
点击阅读原文或识别二维码,赶快报名吧!