注意
Copilot 编码智能体 is in 公共预览版 and subject to change.
为何要使用 Copilot 编码智能体?
Copilot 编码智能体 是一种自主的 AI 支持的智能体,用于完成 GitHub 上的软件开发任务。 在组织中采用 Copilot 编码智能体 可让你的工程团队腾出更多时间进行战略性思考,而减少在代码库中进行常规修复和维护更新的时间。 Copilot 编码智能体:
- 加入团队:开发人员可以将工作委托给 Copilot,它与基于 IDE 的编码智能体不同(这些智能体需要同步配对会话)。
- 减少上下文切换:使用 JetBrains IDE、VS Code、Visual Studio 或 GitHub.com 的开发人员可以要求 Copilot 编码智能体 创建拉取请求来完成小型任务,而无需停止当前正在执行的任务。
- 在 GitHub 上工作:Copilot 与你的开发人员一起,在 GitHub 上的现有工作流内工作。
- 使用拉取请求审查工作流:Copilot 会打开草稿拉取请求,供团队成员根据反馈进行评审和迭代,正如开发人员那样。
- 并行执行任务:Copilot 能够同时处理多个问题,在后台执行任务,而你的团队专注于其他优先事项。
- 提供决策透明度:开发人员可以在 GitHub 上查看 Copilot 的日志来了解其推理过程,并查看它用于完成任务的工具。
- 确保企业级安全性:Copilot 编码智能体 的安全优先设计确保人机回圈,并通过企业策略和设置实现治理。
Copilot 编码智能体 如何为组织做出贡献
Copilot 可帮助组织解决定义清晰且范围明确的问题,例如提高测试覆盖率、修复 bug 或不可靠的测试,或者更新配置文件或文档。 若要详细了解 Copilot 最擅长处理的问题类型,请参阅 Best practices for using Copilot to work on tasks。
开发人员如果直接通过在 Copilot Chat 中请求 Copilot 创建拉取请求(而不是打开可能积压在待办列表中的议题),可保持工作流畅。
有效使用时,Copilot 编码智能体 提供优于 IDE 中传统 AI 助手的生产力优势:
-
借助 IDE 中的 AI 助手,可在本地进行编码。******** 单个开发人员使用 AI 助手在同步会话中进行协作。**** 在会话期间做出的决策未被跟踪,除非提交,否则会随着时间的推移而丢失。**** 虽然助手可帮助编写代码,但开发人员仍需要执行很多手动步骤:创建分支、编写提交消息、推送更改、打开拉取请求 (PR)、编写 PR 说明、获取评审、在 IDE 中迭代、重复流程。**** 对于简单或常规问题而言,这些步骤耗费的时间和精力可能难以证明其合理性。
-
借助 Copilot 编码智能体,所有编码和迭代都在 GitHub 上作为拉取请求工作流的一部分执行。******** Copilot 自动执行分支创建、提交消息写入和推送、PR 打开和 PR 描述撰写。**** 开发人员让智能体在后台工作,然后使用 PR 评审来引导 Copilot 达成最终解决方案。**** 在 GitHub 上工作可添加透明度,其中每个步骤都以提交的形式发生,并且可在日志中查看。**** 在 GitHub 上工作还为整个团队提供了协作机会。****
随着时间的推移,你的工程团队可以从创建 Copilot 编码智能体 提供的更高程度的自动化、透明度和协作中受益。 有关如何运行成功试点的建议,请参阅试点运行 Copilot 编码智能体。
有关如何在 GitHub 上结合使用 Copilot 编码智能体 和其他 AI 功能的示例场景,请参阅 将代理式 AI 集成到企业的软件开发生命周期中。
使用 MCP 增强 Copilot 编码智能体
模型上下文协议 (MCP) 是一个开放标准,用于定义应用程序与大型语言模型 (LLM) 共享上下文的方式。 MCP 提供一种标准化的方法,用于为 Copilot 编码智能体 提供访问不同数据源和工具的权限。
Copilot 编码智能体 有权使用内置的 GitHub MCP 服务器访问其正在操作的存储库的完整 GitHub 上下文,包括问题和拉取请求。 默认情况下,身份验证屏障和防火墙限制它访问外部数据。 你可以通过让 Copilot 编码智能体 访问你的组织使用的工具的本地 MCP 服务器,扩展其可获取的信息范围。 例如,你可能想要为下面某些上下文提供访问本地 MCP 服务器的权限:
- Web 浏览器:设置 Playwright MCP 服务器,允许 Copilot 直接从问题中的外部链接拉取上下文。
- 项目规划工具:允许 Copilot 在 Notion 或 Figma 等工具中直接访问存储在 GitHub 外部的专用规划文档。
- 扩充训练数据:每个 LLM 均包含特定截止日期的训练数据。 如果你正在使用快速迭代的工具,Copilot 可能无法访问新功能的相关信息。 你可以通过提供工具的 MCP 服务器来填补这一知识空白。 例如,添加 Terraform MCP 服务器将使Copilot 能够访问最近支持的 Terraform 提供程序。
有关详细信息,请参阅“使用模型上下文协议 (MCP) 扩展 Copilot 编码助手”。
安全地使用 Copilot 编码智能体
与任何其他 AI 智能体一样,在启用 Copilot 编码智能体 时,安全性是一个至关重要的考虑因素。 Copilot 拥有强大的内置安全保护机制,你可以通过遵循最佳做法指南来对这些保护进行补充。
内置保护
- 受现有治理约束:组织设置和企业策略控制了可用性。 为组织设置的任何安全策略和做法也适用于 Copilot 编码智能体。
- 受限开发环境:Copilot 在沙盒开发环境中工作,内部访问受到防火墙控制。 对于分配给其工作的存储库,它具有只读访问权限。
- 限制对分支的访问:Copilot 只能创建并推送到以
copilot/
开头的分支。 它受任何分支保护约束,并且需要检查工作存储库。 - 仅响应具有写入权限的用户:Copilot 不会响应访问级别较低的用户的反馈。
- 被视为外部协作者:Copilot 提出的草稿拉取请求需要具有写入权限的用户批准才能运行 Actions 工作流。 Copilot 无法将其拉取请求标记为“可供审查”,并且无法批准或合并拉取请求。
- 跟踪符合性:Copilot 的提交由分配问题或或请求更改拉取请求的开发人员共同创作,使得可确定提议更改的归属。 要求 Copilot 创建拉取请求的开发人员无法批准该拉取请求。 在需要批准评审的存储库中,这可确保至少一位独立的开发人员评审 Copilot 的工作。
有关详细信息,请参阅:
- 负责任地使用 GitHub.com 上的 Copilot 编码代理
- GitHub Copilot 信任中心
安全最佳做法
所有 AI 模型都经过训练来满足请求,即使它们没有提供优质答案所需的全部信息,这可能导致它们犯错。 通过遵循最佳做法,你可以降低在组织中使用 Copilot 的风险。
- 使用
copilot-instructions.md
文件,为 Copilot 提供它在存储库中成功工作所需的信息。 请参阅“为 GitHub Copilot 添加存储库自定义说明”。 - 使用
copilot-setup-steps.yml
文件和本地 MCP 服务器,为有权访问组织批准的工具和包存储库的存储库设置 Copilot 开发环境。 请参阅“Customizing the development environment for Copilot coding agent”和“使用模型上下文协议 (MCP) 扩展 Copilot 编码助手”。 - 遵循最佳做法安全地存储机密。 请参阅“在 GitHub Actions 中使用机密”。
- 启用代码安全功能,进一步降低泄露机密和在代码中引入漏洞的风险。 请参阅“在组织中应用 GitHub 建议的安全配置”。
- 配置分支规则集来确保 Copilot 发出的所有拉取请求均获得具有写入权限的第二位用户批准(“Require a pull request before merging”子选项)。 请参阅 使用规则集在企业中强制实施代码治理、创建组织中存储库的规则集 和 规则集的可用规则。
试点运行 Copilot 编码智能体
提示
在 公共预览版 期间,需要 GitHub Copilot Pro+ 或 GitHub Copilot Enterprise 才能使用 Copilot 编码智能体。
与工作实践的任何其他更改一样,请务必运行试用版,了解如何在组织或企业中有效地部署 Copilot 编码智能体。
- 组建一个跨职能团队来参与试用版,为项目引入不同的角色、背景和视角。 这将使你更容易确保探索多种方式来定义问题、将工作分配给 Copilot,并提供明确的评审反馈。
- 选择独立或低风险的存储库,例如包含文档或内部工具的存储库。 你可以创建一个用作操场的新存储库,但 Copilot 需要上下文才能成功,因此你需要添加大量上下文,包括团队流程、开发环境和常见依赖项。
- 在存储库中启用 Copilot 编码智能体,并选择性地启用第三方 MCP 服务器来增强上下文共享。 请参阅“将 Copilot 编码智能体 添加到组织”。
- 创建存储库说明,并预安装开发环境中所需的任何工具供 Copilot 使用。 请参阅“Customizing the development environment for Copilot coding agent”。
- ���组织确定几个引人注目的用例,例如:测试覆盖率或改进辅助功能。 请在最佳做法指南中参阅选择要提供给 Copilot 的适当任务类型。
- 按照最佳做法为试点存储库中的 Copilot 创建或优化问题。
- 将问题分配给 Copilot,并准备团队成员查看其工作。
- 花点时间查看 VS Code 或 GitHub.com 中的代码库或文档,要求 Copilot 创建拉取请求来修复你识别的任何 bug 或小改进。
在试用过程中,团队应持续优化存储库说明、已安装的工具、对 MCP 服务器的访问权限和问题定义,从而确定你的组织可以如何充分利用 Copilot 编码智能体。 此过程将帮助你确定组织使用 Copilot 的最佳做法,并规划有效的推出策略。
除了让你深入了解如何设置 Copilot 编码智能体 来取得成功,你还将了解 Copilot 如何使用高级请求和操作分钟数。 当你开始为更广泛的试用或全面推出设置和管理预算时,这将很有价值。 请参阅“在 GitHub Copilot 上管理公司的支出”。