跳至主要内容

负责任地使用 GitHub Copilot 的拉取请求摘要

了解其用途、功能和局限性,学习如何负责任地使用 Copilot 拉取请求摘要。

关于 Copilot 拉取请求摘要

Copilot 拉取请求摘要是一个 AI 驱动的功能,允许您创建对拉取请求中所做更改的摘要,包括它们影响的文件以及审阅者在进行审阅时应关注的内容。

当用户请求摘要时,Copilot 会扫描拉取请求并提供对所做更改的概述(以散文形式),以及包含其影响文件的更改的项目符号列表。

Copilot 拉取请求摘要目前仅支持英语。

Copilot 拉取请求摘要使用简单的提示流程,利用 Copilot API,无需额外的训练模型。它利用通用的大型语言模型。

响应生成

当前流程使用大型语言模型来启动自动完成过程并生成拉取请求摘要。

流水线方法

当用户请求摘要时,会触发一个工作流程。该工作流程使用代码差异来构建提示调用,该调用请求 Copilot 生成拉取请求的摘要。摘要请求启动一个流水线处理过程,该过程包括来自可摘要文件的原始差异提示,并请求 Copilot 为拉取请求生成总体摘要。

输出格式

您可以在创建拉取请求时启动此功能,或者在创建后编辑拉取请求描述,或者在拉取请求线程中的注释中启动。启动后,Copilot 将生成一个两部分的摘要:

  • 一段以散文形式撰写的段落,概述拉取请求中的更改。
  • 一个项目符号列表,列出关键更改,并链接到发生这些更改的相应代码行。

对于较大的拉取请求,Copilot 可能需要几分钟才能生成。根据您的企业设置,您可以在生成摘要后直接从 UI 分享您的反馈,以帮助我们继续改进此功能。

拉取请求摘要的使用案例

Copilot 拉取请求摘要的目标是帮助优化作者在请求人工审查时快速提供上下文的能力,该审查需要共享所做更改的上下文。它可能有助于提高开发人员的效率,减少打开拉取请求所需的时间。

对于许多用户而言,它可以提供比通常可用的更有用的拉取请求中所做更改的上下文。

改进拉取请求摘要的性能

将 Copilot 拉取请求摘要用作工具,而非替代品

此功能旨在补充而非替代人工工作以添加上下文,我们鼓励您继续添加有用的上下文,并让 Copilot 完成解析代码并链接到特定文件的繁琐工作。您仍然有责任审查和评估您创建的拉取请求中信息的准确性。

提供反馈

注意

向 GitHub 提供关于 Copilot 拉取请求摘要的反馈的能力取决于企业设置。更多信息,请参阅“在您的企业中管理 Copilot 的策略和功能”。

如果您遇到 Copilot 拉取请求摘要的任何问题或限制,您可以通过点击“摘要不佳”按钮(一个竖起大拇指的图标)提供反馈,该按钮在生成摘要后以及您点击**创建拉取请求**或**更新评论**之前显示。

Screenshot of the bottom of a pull request comment. The feedback icons, thumbs up and thumbs down, are highlighted with a dark orange outline.

在您将摘要评为好或坏之后,您可以通过点击显示的链接提供书面反馈。

拉取请求摘要的局限性

目前,我们的团队意识到此功能存在一些局限性。许多局限性是在利用我们的 Copilot API 时预期的;但是,也有一些局限性是 Copilot 拉取请求摘要特有的,这些局限性与范围有限、处理时间较长以及响应不准确有关。我们还注意到,用户应该预期其 PR 中使用的术语会出现在 AI 生成的摘要中。此功能已接受 RAI 红队测试,我们将继续随着时间的推移监控该功能的有效性和安全性。更多信息,请参阅 Microsoft 安全博客上的Microsoft AI 红队构建更安全的 AI 的未来

范围有限

由于容量限制,我们知道引用 30 个或更多文件的较大的拉取请求需要更多时间才能彻底处理。我们目前没有确切的阈值,但观察到前 30 个文件会被考虑在内,而任何其他文件都会从摘要中省略。我们正在努力解决当前的范围限制。

处理时间

一般来说,我们预计在用户启动操作后 40 秒或更短时间内返回摘要。但是,我们听说这可能需要长达一分钟,在某些情况下甚至需要几分钟。我们正在努力缩短处理时间,我们知道用户可能不想等待它完成,然后再继续处理拉取请求的其他部分。

响应不准确

Copilot 可以学习的输入和上下文越多,输出就越好。但是,由于此功能比较新,因此需要时间才能达到生成的摘要的精确度。在此期间,生成的摘要可能不够准确,需要用户在保存和发布包含此描述的拉取请求之前进行修改。此外,还存在“幻觉”的风险,即 Copilot 生成不准确的语句。由于这些原因,审查是必需的,并且我们的团队强烈建议仔细审查输出。

重新生成摘要

只有在用户手动请求时才会创建拉取请求摘要。当用户提交拉取请求的更新或更改时,摘要不会自动更新。如果需要,用户可以要求 Copilot 生成新的摘要。强烈建议手动审查更新的 Copilot 摘要。更新的摘要与原始摘要具有相同的误差风险。

拉取请求内容的复制

由于摘要是对拉取请求中所做更改的概述,如果拉取请求的内容中包含有害或冒犯性术语,则摘要也可能包含这些术语。

进一步阅读