Skip to main content

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

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

关于 Copilot pull request summaries

Copilot pull request summaries 是一项由 AI 提供支持的功能,可用于创建拉取请求时所做更改、受影响的文件以及审阅者在进行评审时应关注内容的摘要。

当用户请求摘要时,Copilot 将扫描拉取请求,并以白话形式概述所做的更改,以及更改所影响文件的项目符号列表。

Copilot pull request summaries 仅支持英语。

Copilot pull request summaries 使用利用 Copilot API 的简单提示流,无需额外的训练模型。 此功能利用通用大型语言模型。

响应生成

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

管道方法

用户请求摘要时,将触发工作流。 工作流使用代码差异生成提示调用,后者请求 Copilot 生成拉取请求摘要。 摘要请求启动一个管道进程,其包括提示中可提取摘要的文件的原始差异,并请求 Copilot 生成拉取请求的整体摘要。

输出格式设置

可以在创建拉取请求时启动此功能,方法是在创建后编辑拉取请求说明,或者在拉取请求线程中加注释。 启动时,Copilot 将生成其中包含两部分的摘要:

  • 一部分是用散文编写的一段话,概述了拉取请求的变化。
  • 另一部分是关键更改的项目符号列表,链接到发生这些更改的相应代码行。

Copilot 生成较大的拉取请求可能需要几分钟时间。 根据你的企业设置,生成摘要后,可以直接从 UI 共享有关摘要的反馈,以帮助我们继续改进该功能。

拉取请求摘要的用例

Copilot pull request summaries 的目标是帮助优化作者在请求需要共享所做更改上下文的人工审核时快速提供上下文的能力。 该功能可以通过减少打开拉取请求所需的时间来帮助提高开发人员的工作效率。

对于许多用户来说,该功能可以为拉取请求中的更改提供比通常更有用的上下文。

提高拉取请求摘要的性能

将 Copilot pull request summaries 作为工具而不是替代品使用

该功能旨在补充而不是取代人工添加上下文。我们鼓励您继续添加有用的上下文,并让 Copilot 来处理繁琐的代码解析和链接到特定文件的工作。 审查和评估所创建拉取请求中信息的准确度仍然是你的责任。

提供反馈

Note

向 GitHub 提供有关 Copilot pull request summaries 的反馈的功能取决于企业设置。 有关详细信息,请参阅“管理企业中 Copilot 的策略和功能”。

如果遇到 Copilot pull request summaries 的任何问题或限制,可以通过单击“错误摘要”按钮(拇指向下图标)提供反馈,该按钮在生成摘要后以及单击“创建拉取请求”或“更新评论”之前显示在文本框下方。

拉取请求评论底部的屏幕截图。 反馈图标、大拇指向上和大拇指向下,以深橙色边框突出显示。

将摘要评为好或差后,可以通过单击显示的链接来提供书面反馈。

拉取请求摘要的限制

目前,我们的团队了解此功能存在限制。 其中许多内容是在利用 Copilot API 时可以预料到的;但是,有一些 Copilot pull request summaries 的特定内容,其涉及有限的范围、较长的处理时间和不准确的响应。 我们还注意到,用户预期在 AI 生成的摘要中出现其在 PR 中所使用的术语。 该功能受 RAI Red Teaming 约束,我们将继续监视该功能的长期有效性和安全性。 有关详细信息,请参阅 Microsoft 安全博客上的 Microsoft AI Red Team 打造更安全 AI 的未来

作用域受限

由于容量原因,我们知道引用 30 个或更多文件的大型拉取请求需要更多时间才能得到彻底处理。 我们目前没有确切的阈值,但已观察到前 30 个文件会被计入汇总,而任何其他文件都被忽略了。 我们正在努力解决目前的范围限制问题。

处理时间

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

响应不准确

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

重新生成摘要

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

复制拉取请求内容

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

其他阅读材料