十倍工程师或许是一个神话,但是百倍 AI 驱动的工程师却正在成为现实。
GitHub Copilot X
随着 GitHub Copilot[1] 的发展,微软宣布推出 GitHub Copilot X[2],主要有聊天、语音界面,拉取请求、在文档中回答问题等功能,采用 OpenAI GPT-4 来获得更个性化的开发体验。它的出现和 GPT-4 一样令人兴奋,有了人工智能的帮助,可以从根本上重新定义开发者的生产力。
Copilot Chat
任何文本数据库都可以进行“对话”,代码库也不例外。不需要阅读代码,直接和它交谈。
使用 GitHub Copilot Chat 可以在代码编辑器中获得类似于 ChatGPT 的体验。它是嵌入代码编辑器(IDE)中的一个聊天窗口,可以识别开发人员键入的代码、显示的错误消息。还可以深入分析和解释代码块的用途,生成单元测试,甚至获得针对错误的建议修复。它建立在 OpenAI 和微软在 ChatGPT 和新 Bing 上所做的工作之上。还将加入语音到代码 AI 技术扩展,将其称为 GitHub Copilot Voice,开发人员可以直接口头给出自然语言提示。
加入补名单[3]

Copilot for Pull Requests
提高“人类协作”的效率,现在 GPT 加速的不仅仅是单个开发者,而是整个开源社区。
拉取请求是 GitHub 用户体验的核心部分。Copilot for PRs 将 Copilot 的强大功能带入 PR 体验,帮助你编写更好的 PR 描述,并帮助您的团队更快地审查和合并 PR。
现在可以注册 GitHub 上第一个 AI 生成的拉取请求描述[4]的技术预览。这项新功能由 OpenAI 的新 GPT-4 模型提供支持,并通过组织管理员和个人存储库所有者可以安装的 GitHub 应用程序在拉取请求描述中添加对 AI 驱动标签的支持。这些标签由 GitHub Copilot 根据更改后的代码自动填写。然后开发人员可以查看或修改建议的描述。
这只是重新思考拉取请求如何在 GitHub 上工作的第一步。正在内部测试的新功能,GitHub Copilot 将在开发人员通过动态提取有关代码更改的信息创建拉取请求时自动建议句子和段落(GitHub Copilot will automatically suggest sentences and paragraphs as developers create pull requests[5])。另一个还在准备新功能,如果开发人员缺少对拉取请求的足够测试,GitHub Copilot 会自动警告他们,然后建议可以根据项目需要编辑、接受或拒绝的潜在测试(GitHub Copilot will automatically warn developers if they’re missing sufficient testing for a pull request and then suggest potential tests[6])。
这一举措与 GitHub Copilot Chat 功能相辅相成,开发者可以向 GitHub Copilot 发出请求,在编辑器中生成测试用例。如果开发者未能提供充分的测试用例,GitHub Copilot 会在提交 pull request 后提醒他们。这也有助于项目所有者制定测试策略,同时支持开发者遵守这些策略。
在你的存储库中安装预览[7]


Copilot for Docs
GPT-4 支持更长上下文(32K 标记),所以你可以一次性输入整个文档。不再需要记忆任何文档,只需从提示中检索即可。
这是一个实验性工具,使用聊天界面为用户提供有关文档的 AI 生成答案,包括开发人员对使用的语言、框架和技术的问题。首先从 React[8]、Azure Docs[9] 和 MDN[10] 的文档开始,以便与这些项目的开发人员和用户快速学习和迭代。
无论你是在学习一个新的库或 API,还是已经使用它多年,文档可能会让你感觉比帮助更多。也许教程过于基础,或者参考手册过于简略,或者相关信息分散在多个页面中,充满无关的细节。所以 GitHub 团队正在探索一种更快获取所需信息的方法。通过提供最相关的问题答案,带有帮助连接信息的定制摘要,Copilot for docs 可以使开发者免于搜索大量文档。
未来,GitHub 将探索超越文档的资源索引的最佳方法,例如问题、拉取请求、讨论和维基,以便为开发人员提供他们需要回答技术问题所需的一切。
加入后补名单[11]

Copilot for CLI
有时 bash 命令非常不直观和笨拙。现在不再需要,你可以直接和告诉它你想要的操作。
除了编辑器和拉取请求(Pull Requests)外,终端也是开发人员花费最多时间的地方。但即使是最熟练的开发人员也需要滚动许多页面来记住许多命令的精确语法。所以推出 GitHub Copilot CLI,它可以组合命令和循环,并使用模糊的查找标志来满足你的查询。
加入后补名单[12]

FAQ: GitHub Copilot X
“X” 代表什么?
“X” 代表 GitHub Copilot 适用的领域,以及期望它能够完成的任务(例如 “Copilot<用于拉取请求>”,“Copilot<用于安全>”)。它将产品从一个体验——代码补全,扩展到开发者工作流程中的多种体验。GitHub Copilot 明天必须比今天所具备的功能更加强大。此外,“X” 还表示 GitHub 打算对开发者的成就产生多大的影响。因此,这是一种意向声明,也是一种对开发者的承诺,我们共同进入人工智能时代。GitHub 希望整个行业都对 GitHub Copilot 充满信心,并将其视为未来增长的枢纽。
何时推出,价格是多少?
GitHub Copilot X 目前仅代表 GitHub 未来的愿景,而不是 GitHub Copilot 可用的产品。随着 GitHub 不断设计、测试和构建符合 GitHub Copilot X 愿景的功能,GitHub 也正在确定向客户提供这些功能的最佳方式。
如何获得上述介绍即将推出的功能?
虽然无法保证每个功能都能获得访问权限,但你可以加入等待列表,预览你感兴趣的功能。加入一个等待列表并不表示你对多个功能都感兴趣,因此你必须分别加入每个列表,目前没有确定的访问时间表。这里可以查看到所有功能列表及加入后补名单的链接 The latest GitHub previews ✨[13]。一旦你有权预览某项功能,请记住你正在访问的内容被视为测试版或技术预览,这意味着该功能可能仍有一些问题需要解决。
即将推出的功能是否包含在 GitHub Copilot for Business 或 GitHub Copilot for Individuals 中?
GitHub Copilot for Business 和 GitHub Copilot for Individuals 将继续提供与你今天所知道的相同功能集。随着 GitHub 不断设计、测试和构建符合 GitHub Copilot X 愿景的功能,也正在确定向客户提供这些功能的最佳方式,这可能包括对 Copilot for Business 和 Copilot for Individuals 的更改。
GitHub 对于 AI 的负责任使用有什么看法?
从一开始,GitHub 就致力于通过 GitHub Copilot 进行负责任的创新,并将继续投资于未来的基于 AI 的开发者体验。作为微软公司,GitHub 致力于确保 AI 系统的负责任开发,并以让人们信任的方式进行开发。以下是 GitHub 在 GitHub Copilot 方面致力于的一些原则:
保持专业性:对建议应用情感分析,以确保 GitHub Copilot 的响应中不包含俚语、脏话和仇恨言论。
提高代码质量:不仅仅是将模型生成的任何建议传递给开发者。还对每个建议进行过滤,评估代码质量。虽然无法保证每个建议都是完美的,但过滤器一直在不断改进,鼓励开发者编写更高质量的代码。
保护用户数据:知道用户的编辑操作、源代码片段以及仓库和文件路径的 URL 都是敏感数据。因此,GitHub 采取了多种保护措施,包括数据加密(在传输和静止状态下)以及对 GitHub 人员访问数据的严格要求。
获取 GitHub Copilot 聊天技术预览版是否有前提条件?
目前,技术预览版只针对 VS 或 VSCode 用户开放。要访问 GitHub Copilot 聊天,需要订阅 GitHub Copilot for Business 或 GitHub Copilot for Individuals。
获取 GitHub Copilot 用于拉取请求的技术预览版是否有前提条件?
你必须是组织管理员或个人存储库所有者,才能加入等待列表以预览 GitHub Copilot 用于拉取请求。
获取 GitHub Copilot 用于文档的技术预览版是否有前提条件?
预览 GitHub Copilot 文档无需任何前提条件。但是,GitHub Copilot for docs 目前仅支持 GitHub、React、MDN 和 Azure 的文档。
获取 GitHub Copilot 用于 CLI 的技术预览版是否有前提条件?
要访问 GitHub Copilot 用于 CLI,需要订阅 GitHub Copilot for Business 或 GitHub Copilot for Individuals。
AI 时代来临
有推友认为这是微软第三次重大战略转变,也是微软的终局之战,你认为呢?
80-00 年代:Windows 和 Office
2010 年代:Azure 和 Bing
2020-30 年代:Copilot

References
GitHub Copilot: https://github.com/features/copilot
[2]GitHub Copilot X: https://github.com/features/preview/copilot-x
[3]加入补名单: https://github.com/github-copilot/chat_waitlist_signup/join
[4]GitHub 上第一个 AI 生成的拉取请求描述: https://githubnext.com/projects/copilot-for-pull-requests
[5]GitHub Copilot will automatically suggest sentences and paragraphs as developers create pull requests: https://githubnext.com/projects/copilot-for-pull-requests/#ghost-text
[6]GitHub Copilot will automatically warn developers if they’re missing sufficient testing for a pull request and then suggest potential tests: https://githubnext.com/projects/copilot-for-pull-requests/#gentest
[7]在你的存储库中安装预览: https://copilot4prs.githubnext.com/login
[8]React: https://reactjs.org/docs/getting-started.html
[9]Azure Docs: https://learn.microsoft.com/en-us/azure/?product=popular
[10]MDN: https://developer.mozilla.org/
[11]加入后补名单: https://githubnext.com/projects/copilot-for-docs
[12]加入后补名单: https://githubnext.com/projects/copilot-cli/
[13]The latest GitHub previews ✨: https://github.com/features/preview




