管理个人 GitHub Copilot 策略、功能和扩展

已完成

GitHub 提供了多个用于自定义和扩展 GitHub Copilot 的选项。 对于单个用户,可以管理 GitHub Copilot 计划、配置 GitHub Copilot 的设置,以及安装 GitHub Copilot 扩展。

注释

如果你是组织的成员,并且你已通过组织分配了 GitHub Copilot 订阅,请与你的客户经理合作,以确保你拥有正确的计划和设置。 如果组织具有 Copilot Business 或 Copilot 企业计划,则可能无法更改单个计划或设置。

以单个订阅者身份管理 GitHub Copilot 策略和功能

除了受支持的 IDE 中 GitHub Copilot 插件的配置外,还可以在 GitHub 上配置 GitHub Copilot 的设置。 无论在何处使用 GitHub Copilot,设置都适用。

启用或禁用功能

GitHub Copilot 有几个功能,你可以使用帐户设置启用或禁用这些功能。 这些功能默认处于启用状态,但你可以根据需要选择禁用这些功能。

GitHub 中的 Copilot

可以选择是否在 GitHub 中使用 Copilot Chat,但是预览功能不可用。 默认情况下,此设置处于启用状态。

GitHub 桌面版中的 Copilot

可以选择是否使用 Copilot Chat 在 GitHub Desktop 中提供帮助。 默认情况下,此设置处于启用状态。

Copilot 可以搜索网络

可以选择是否在 GitHub Copilot Chat 中使用 Web 搜索功能。 如果启用此设置,Copilot Chat 将使用必应搜索 Internet 以获取与问题相关的信息。 在讨论新技术或高度特定的主题时,必应搜索特别有用。

替代 AI 模型

可以选择是否允许以下 AI 模型用作 Copilot 默认模型的替代方法。

  • Anthropic Claude Sonnet
  • 谷歌双子座

启用或禁用隐私策略

GitHub Copilot 有几个隐私策略,你可以使用帐户设置启用或禁用

启用或禁用与公共代码匹配的建议

注释

如果你是 GitHub Enterprise Cloud 上已通过组织分配了 GitHub Copilot 订阅的组织的成员,则无法在个人帐户设置中配置与公共代码匹配的建议。 您的用于匹配公共代码的建议设置继承自您的组织或企业。

GitHub Copilot 的个人设置包括允许或阻止与公开可用的代码匹配的代码建议的选项。 如果选择阻止与公共代码匹配的建议,GitHub Copilot 会将代码建议及其两侧约 150 个字符的代码与 GitHub 上的公开代码进行比对。 如果存在匹配或近似匹配,则不会向你显示该建议。

如果选择允许与公共代码匹配的建议,当 Copilot 提出匹配代码的建议时,您可以查看匹配项的详细信息,并单击以访问 GitHub 上的相关存储库。

启用或禁用为产品改进而收集的提示和建议

您可以选择是否允许 GitHub 收集和保留您的提示以及 Copilot 的建议,并进一步处理和与 Microsoft 共享。

  • 在 GitHub 上任何页面的右上角,单击个人资料照片,然后单击“你的 Copilot”。
  • 若要允许或阻止 GitHub 使用数据,请选择或取消选择 “允许 GitHub 使用代码编辑器中的代码片段进行产品改进”。

模型训练和改进

默认情况下,GitHub、其关联方和第三方不会使用你的数据,包括 AI 模型训练的提示、建议和代码片段。 这反映在 GitHub Copilot 的个人设置中,无法启用。

管理个人帐户的 GitHub Copilot 插件

可以通过从 GitHub 市场安装 GitHub 应用,将其他功能添加到个人帐户中的 GitHub Copilot。

关于个人帐户的 GitHub Copilot 插件

Copilot 扩展是可在 GitHub 帐户上安装的 GitHub 应用类型,用于向 Copilot 添加其他功能。

任何人都可以为其个人帐户安装 Copilot 扩展,但你必须设置 Copilot Free,或者拥有有效的 Copilot Pro 或 Copilot Pro+ 计划,才能使用你安装的 Copilot 扩展。

注释

如果可以通过 Copilot Business 或 Copilot 企业计划访问 Copilot,则 Copilot 扩展由组织级别的组织所有者安装,并且无需在个人帐户上安装扩展。

还可以为个人帐户创建自己的自定义 Copilot 扩展。

GitHub Copilot Chat 的限制

根据代码库、输入的提示和其他因素,在使用 GitHub Copilot Chat 时,可能会体验到不同级别的性能。 以下信息旨在帮助你了解适用于 GitHub Copilot Chat 的系统限制和有关性能的关键概念。

作用域受限

GitHub Copilot Chat 是使用大量代码训练的,但它的范围仍然有限。 它可能无法处理一些复杂的代码结构或模糊的编程语言。 对于每种编程语言,你收到的建议的质量可能取决于该语言的训练数据的数量和多样性。 例如,JavaScript 在公共存储库中良好呈现,是 GitHub Copilot 最受支持的语言之一。 对于 Copilot Chat 来说,公共存储库中表示形式较少的语言可能更具挑战性。 此外,Copilot Chat 只能根据所编写代码的上下文来建议代码,因此它可能无法识别更大的设计或体系结构问题。

潜在偏见

GitHub Copilot 的训练数据来自可能包含偏见和错误的现有代码存储库。 如果训练数据中存在偏见,GitHub Copilot 可能会永远存在这些偏见。 GitHub Copilot Chat 可能偏向于某些编程语言或编码样式,这可能会导致代码建议欠佳或不完整。

安全风险

Copilot Chat 基于所编写代码的上下文生成代码,如果不谨慎使用,可能会公开敏感信息或漏洞。 使用 Copilot Chat 为安全敏感型应用程序生成代码时,应小心谨慎,并始终全面查看和测试所生成的代码。

与公共代码匹配

Copilot Chat 能够生成新代码,这存在一定概率。 Copilot Chat 生成与训练集中代码匹配的代码的概率较低,但并非为零。 Copilot Chat 建议可能包含一些与训练集中的代码匹配的代码片段。 Copilot Chat 使用筛选器来阻止与 GitHub 存储库上的公共代码匹配,但你仍应采取预防措施。 你应该像对待使用不是你自己生成的材料的任何代码一样对待 GitHub Copilot 建议。 这包括确保其适用性的预防措施。 这些预防措施包括严格的测试、IP 扫描和安全漏洞检查。 应确保 IDE 或编辑器不会在你评审所生成的代码之前自动编译或运行此代码。

代码不准确

GitHub Copilot Chat 可能会生成看起来有效但实际无效的代码。 代码实际上在语义上或语法上可能不正确,或者可能无法准确反映开发人员的意图。 为了降低代码不准确的风险,应仔细查看和测试生成的代码。 处理关键或敏感应用程序时,这一点尤其重要。 还应确保生成的代码遵循最佳做法和设计模式,并符合代码库的整体体系结构和样式。

对非编码主题的不准确回复

Copilot Chat 不是为了回答非编码问题而设计的,因此在这些上下文中,它的回复可能并不总是准确或有用的。 如果用户询问 Copilot Chat 一个非编码问题,它可能会生成不相关或无理的答案,或者可能表示无法提供有用的响应。

概要

GitHub 提供了多个用于自定义和扩展 GitHub Copilot 的选项。 对于单个用户,可以管理 GitHub Copilot 计划、配置 GitHub Copilot 的设置,以及安装 GitHub Copilot 扩展。 还可以启用或禁用功能和隐私策略,以使用 GitHub Copilot 自定义体验。