Skip to main content

负责任地使用 GitHub Copilot 文本补全

通过了解其目的、功能和限制,了解如何负责任地使用 Copilot text completion。

谁可以使用此功能?

Members of an enterprise with a subscription to GitHub Copilot Enterprise

关于 Copilot text completion

Copilot text completion 是一项 AI 支持的功能,允许用户通过在键入时建议文本来更轻松地编写拉取请求描述。

当在键入摘要时短暂暂停时,Copilot 会扫描拉取请求并提供建议的文字叙述,试图完成你的想法。

Copilot text completion 仅支持英语。

Copilot text completion 使用利用 Copilot API 的简单提示流,利用通用的大型语言模型,无需额外的训练模型。

在键入拉取请求描述期间暂停时,将生成对 Copilot API 的调用来生成建议的文本,以插入到当前游标位置的描述中。 文本补全请求包括来自拉取请求的信息,包括拉取请求标题、描述中已有的任何文本、拉取请求提交标题、部分原始差异,以及最近查看的拉取请求和提示中的问题标题,其请求 Copilot 为你可能键入的下一个字词生成建议。 然后,响应将显示为光标后的灰色文本。 可以通过按 Tab 键接受建议的文本,也可以通过简单地继续键入或将光标焦点移出描述字段来拒绝建议。

拉取请求文本补全用例

Copilot text completion 的目标是帮助拉取请求作者快速为拉取请求的人工审阅者提供上下文。 查看拉取请求时,了解上下文非常有用,例如请求更改的原因以及拉取请求如何进行这些更改。 该功能可以通过减少打开拉取请求所需的时间来帮助提高开发人员的工作效率。

提高拉取请求文本补全的性能

该功能旨在补充,而不是取代人类为拉取请求添加上下文的工作。 文本补全建议的质量将取决于标题、提交消息和已添加到描述中的文本的质量。 我们鼓励你继续添加有用的上下文,并让 Copilot 在你操作时给出建议。 你仍有责任审查和评估你创建的拉取请求中信息的准确性。

拉取请求文本补全的限制

目前,我们的团队了解此功能存在限制。 其中许多内容是在利用 Copilot API 时可以预料到的;但是,也有一些特定于 Copilot text completion 的内容,它们涉及非常大的拉取请求的有限范围和可能不准确的响应。 我们还注意到,用户应该期望他们的拉取请求中使用的术语出现在 AI 生成的建议中。

该功能受 RAI Red Teaming 约束,我们将继续监视该功能的长期有效性和安全性。 有关详细信息,请参阅 Microsoft 安全博客上的“Microsoft AI Red Team 打造更安全 AI 的未来”。

作用域受限

对于非常大的拉取请求,Copilot API 对于自动建议文本所依赖的某些拉取请求内容可能不适合 API 调用,因此对于非常巨大的拉取请求,你可能期望的某些建议可能不会发生。

响应不准确

Copilot 需要处理的输入和上下文越多,文本补全建议就越好。 但是,由于该功能相当新,因此生成的文本补全建议需要一段时间才能达到精确度。 与此同时,可能会出现生成的文本补全不够准确的情况,需要用户在保存和发布拉取请求时对其进行修改。 此外,还存在“幻象”风险,即 Copilot 生成不准确的语句。 由于这些原因,审查成为一项要求,建议仔细审查输出。

复制拉取请求内容

由于文本补全建议是从拉取请求中进行的更改提取的,因此如果拉取请求的内容中包含有害或冒犯性用语,则建议中也有可能包含这些用语。

其他阅读材料

  • GitHub Copilot 信任中心