智能化时代,人工智能逐渐成为新的生产力引擎,它的每一次创新演进、每一次在不同场景的应用,都可能重新定义开发人员的生产力。GitHub Copilot 的出现,作为 AI 结对程序员,可以直接从中提取上下文,即时对单独行乃至整个函数提出建议,让开发生产力直接拉满。

如何快速接入 GitHub Copilot 的能力,并在企业场景中进行开发实战?本期【比特熊充电栈】特邀 GitHub 原厂工程师和微软资深专家,共同开设 GitHub Copilot 工作坊,介绍如何在现有 Azure 账户中开启 GitHub Copilot,全方位展示 GitHub Copilot 能力与使用技巧,着重分享在企业级应用开发与实战的经验,以及行业应用实例及成果。

黄庆春
GitHub 高级解决方案工程师
人工智能编程,研发效能,生成式人工智能

庄俊乾
微软资深解决方案专家
Copilot Best Practice, DevOps with AI, Azure OpenAI

卢建晖
微软高级云技术布道师
GitHub, GitHub Copilot, AI, GitHub Codespaces
文末有惊喜!
GitHub Copilot 干货文档在等你!

入门
GitHub Copilot 全解析
如今,DevOps 面临着缺少协作导致生产力缺失,应用漏洞带来的安全风险,以及企业没有赋予开发者充分利用 AI 能力的机会,从而错失商机的挑战。据 McKinsey 研究发现,能为开发人员提供更好工作环境的公司,比竞争对手平均实现 4-5 倍的营业额增长。
GitHub 平台的出现能为开发者带来更多 AI 赋能。作为当今软件开发领域著名的开源版本控制平台之一,GitHub 平台已经形成规模化,能为开发者带来安全、生产力、协作共赢、AI 赋能上的提升。

在 AI 赋能方面,GitHub Copilot 能为开发者提供基于项目上下文的编码建议,根据注释生成代码,自动填充重复性/胶水代码,提供代码实现的不同选项,从而提高开发人员生产力,加速研发创新,补齐技能短板,赋能开发者领先的优势。
01 版本介绍
GitHub Copilot 分为个人版和企业版:
面向个人
✦开发环境插件支持
✦根据自然语言生成代码
✦提供多行代码建议
✦提高生成测试代码速度
✦禁止使用公有代码
面向企业
包含所有面向个人功能,以及:
✦简化许可管理
✦组织级策略管理
✦行业领先的隐私控制
✦VPN代理支持
02 优势价值
2022年,GitHub 邀请2000多个开发人员进行实验,GitHub Copilot 表现优异:
✦从效率上来说:96%的开发者能更快完成重复性工作,88%的开发过程会更加高效,74%的开发者能更专注于令人满意的工作。把95名开发人员随机分成两组,用 JavaScript 实现一个网页服务器,使用 GitHub Copilot 的开发者平均完成任务的时间为1小时11分,不使用的则为2小时41分。
✦从代码接受率看,GitHub Copilot 代码建议接受率在35%,新代码生成率在46%,期待未来能有80%的代码由 GitHub Copilot 来写。

03 实现方式
GitHub Copilot 的使用方式很简单,可以在 IDE 中直接安装插件,目前已经支持 VS Code、GitHub Codespaces、Visual Studio (Windows)、JetBrains IDEs、Neovim 等。
GitHub Copilot 后端使用 OpenAI GPT 模型,IDE 会通过上下文把请求发送给后端,大模型会返回建议和结果。对于有安全认证需求的企业用户来说,IDE Plugin 会发送认证 & 许可检查到 GitHub.com,GitHub.com 会返回 Copilot Token,再发给 Copilot 代理服务。在 Copilot 代理服务层,会用到 Microsoft Azure 的很多服务,比如 Azure AI Service、Responsible AI,来进行代码质量及安全过滤,开发相关性分析和公共代码检测。
04 Copilot 工具推荐
GitHub 还推出了很多未来 AI 赋能的软件开发工具,比如 Copilot Chat、GitHub Copilot X。
✦Copilot Chat:基于上下文以类似 ChatGPT 的方式与 Copilot 对话,能够进行生成单元测试、解释代码、建议代码修补、回答编程问题、翻译编程语言、增加代码可读性等操作。
✦GitHub Copilot X:代表了 GitHub 将 AI 助手嵌入软件开发的整个生命周期的长远愿景。它不仅采用了 OpenAI 的新 GPT-4 模型,而且还为 Copilot 引入了聊天和语音功能,让 Copilot 能够处理拉取请求、命令行和文档,以回答有关项目的问题。GitHub Copilot X 有以下核心功能:
Copilot for Pull Requests:能够通过 AI 标记 Pull Requests,自动建议 PR 描述语句和段落,自动在需要的地方提醒并建议测试。
Copilot for Docs:能够回答有关软件文档的问题,使开发人员免于搜索大量文档,初步支持 React、Azure Docs 和 Mozilla Developer Network (MDN) 文档查询。
Copilot for the CLI:将自然语言翻译成终端命令,可以在命令行中通过对话的方式解决问题。

实战
GitHub Copilot 助力开发者提升效率
GitHub Copilot 的价值定位是基于 OpenAI 的、针对开发者的智能助手。作为程序员的 AI 助手,它帮助开发者根据需求描述自动产生代码。在具体应用过程中,GitHub Copilot 可以在哪些场景中与当前的工作融合?在最新的 Copilot Chat 使用中又该如何结合 Copilot 本身?

01 GitHub Copilot 企业级服务
国内用户可以使用个人版,也可以使用企业版,企业版默认代码不会保存在 GitHub,支持用户 SSO (连接 Azure AD 等),能提供更好的企业级别服务支持。
GitHub Copilot for Business(即企业版)需要一个底座, GitHub Organization 或者是 GitHub 企业版。
GitHub Organization
✦每个组织单独设置Copilot的规则
✦每个账号单独配置Azure 订阅
✦每个账号单独邀请人员
✦人员只能使用GitHub 个人账号,不支 持AAD等。
没有企业支持,技术支持依靠论坛,开通简单,不需要单独购买GitHub Enterprise。
GitHub 企业版
GitHub 企业版,下面可以有多个GitHub Organization 集中管理多个组织:
✦Enterprise级别关联Azure;不需要一个个 Organization设置
✦SAML (使用已有的Azure AD等账号,实现单点登录)
✦SCIM( 用户自动同步到 GitHub)
✦行业级别的安全 (网络白名单等):审计日志等,仅AAD用户可以等。
GitHub 企业版能提供更好的安全性和企业技术支持,可以部署在本地,提供企业Git仓库功能。
02 激活 GitHub Copilot
用户基于免费的 GitHub Organization,可以快速激活 GitHub Copilot:
✦创建免费的 GitHub Organization:登录GitHub.com 以后,访问 https://GitHub.com/settings/organizations 。
✦进入 Organization Setting 页面,关联Azure 订阅:进入刚创建的 GitHub Organization,选择 Setting- >Billing and Plan,右边页面滚动至右下方,点击“Add Azure 订阅”按钮进行关联。
✦确保成功管理关联上Azure 订阅:检查 billing 页面,右边按钮是否是 Disable,内容是否显示为 All metered services are being billed through Azure。
✦进入Copilot设置页面,激活Copilot:点击 Setting-Copilot-Acces,选择给组织内所有用户配置Copilot,还是给指定用户配置。
03 企业常见问题 Q&A 精选
Q1:使用 GitHub Copilot,必须把代码迁移到 GitHub 代码仓库吗?
A:大可不必。GitHub Copilot 是代码辅助生成工具,会协助产生代码,产生的代码可以和以前一样,保存在任何代码版本管理平台中。GitHub Copilot 不改变用户当前的 DevOps 流程。
Q2:用户管理,必须使用 GitHub.com 的个人注册用户吗?
A:支持使用 GitHub.com 的个人用户(邀请制)以及和 Azure AD 等标准的 SAML 集成,以使用主流的第三方用户管理系统,实现单点和统一登录。
更多常见问题,可以前往文章结尾的小程序获取。

申请
开启 GitHub Copilot 开发之旅
申请 GitHub Copilot 试用账号,就能即刻开启智能开发之旅。首先要申请 GitHub 账号,才能为您的个人帐户订阅 GitHub Copilot:
✦在 GitHub 页面的右上角,单击个人资料照片- Settings,进入个人账户设置页面。
✦在侧边栏的“代码、计划和自动化”部分,单击 Copilot,出现 GitHub Copilot 窗口。
✦在 GitHub Copilot 设置页面,选择启用 GitHub Copilot。
✦在弹出的付款计划页面中,需要选择"按月付款"或"按年付款",选择后继续操作 Get access to GitHub Copilot。
✦填写支付订阅计划的付款信息,需要填写信用卡资料,然后单击提交。
✦单击“保存”,完成个人帐户注册 GitHub Copilot。

即时、高效、智能的开发体验,离不开 GitHub Copilot,也离不开 GitHub Codespaces。GitHub Codespaces 允许用户在任何地方进行编码,提供由⾼性能虚拟机支持的 Visual Studio Code,这些虚拟机可在几秒钟内启动,并且可以⾃定义相关的开发环境和插件,从而无缝对接代码。GitHub 团队就在使用 Codespaces 来开发和维护 GitHub 的功能。新⼯程师可以在⼤约 10 秒内准备好所有的环境设定投入工作,而且还是在 11GB 的 GitHub 代码库上!
在 Codespace 中使用 GitHub Copilot,了解如何使用 Codespaces 和 GitHub Copilot 来提高开发⼈员的⼯作效率?点击文末“阅读原文”,回看本期 GitHub Copilot工作坊,一起开始动手实践。
点击下方图片
获取 GitHub Copilot 干货文档

添加比特熊个熊微信
加入【比特熊粉丝后援会】
获取更多 GitHub Copilot 干货
与开发者一起嗨聊,期待成为你的好友~

-
微软
+关注
关注
4文章
6640浏览量
104612
原文标题:【比特熊充电栈】开启 GitHub Copilot 开发之旅
文章出处:【微信号:mstech2014,微信公众号:微软科技】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
GitHub Copilot新增Agent模式:自主解决Bug与修改功能

微软重新推出免费企业版Copilot:Microsoft 365 Copilot Chat
GitHub Copilot 可以免费使用了!

GitHub Copilot与Bitbucket、Jira、Confluence集成使用指南

法官驳回大部分 GitHub Copilot 版权索赔要求
Arm推出GitHub平台AI工具,简化开发者AI应用开发部署流程
GitHub Copilot引入多模型支持
开源 KiCad/AD 查看器 + AI Copilot?
GitHub Copilot+ESP开发实战-SPI

GitHub Copilot+ESP开发实战-I2C

GitHub Copilot+ESP开发实战-串口

GitHub Copilot+ESP开发使用问题集锦(一)

评论