# 负责任地使用 GitHub Copilot 进行代码审查

通过了解其目的、功能和限制，了解如何安全、负责任地使用 GitHub Copilot代码评审。

## 关于 GitHub Copilot代码评审

GitHub Copilot代码评审是一项由 AI 提供支持的功能，用于评审代码并提供反馈。

当用户向 Copilot 请求代码评审时，Copilot 会扫描代码更改以及其他相关上下文，并提供代码反馈。 在相应反馈中，还可能提供具体的建议代码更改。

Copilot 的评审可以通过自定义指令进行自定义，这些指令是编码风格和最佳做法的自然语言描述。 有关详细信息，请参阅“[为GitHub Copilot添加存储库自定义说明](/zh/copilot/how-tos/configure-custom-instructions/add-repository-instructions)”。

GitHub Copilot代码评审 检查代码，并使用自然语言处理和machine learning的组合提供反馈。 此过程可以细分为多个步骤。

### 输入处理

代码更改与其他相关的上下文信息（例如GitHub上的拉取请求标题和正文）和已定义的任何自定义说明相结合，以形成提示，并将该提示发送到大型语言模型。

### 语言模型分析

然后，该提示通过 Copilot 语言模型传递，该模型是一个神经网络，已基于大量文本数据进行了训练。 语言模型分析输入提示。

### 响应生成

语言模型根据其对输入提示的分析生成响应。 此响应可以采用自然语言建议和代码建议的形式。

### 输出格式设置

Copilot 生成的响应会直接在受支持的编辑器中呈现给用户，或者作为在 GitHub 上的 Pull Request 评审，提供链接到特定文件行的代码反馈。

如果 Copilot 提供了代码建议，该建议将呈现为建议的更改，只需单击几下即可应用。

### 模型的用法

Copilot 代码评审 是一款专门构建的产品，它使用模型、提示和系统行为的精心优化组合，在各种代码库中提供一致的高质量反馈。 模型切换不受支持，因为更改模型可能会损害可靠性、用户体验和评审评论的质量。 每次使用此功能都会消耗一个高级请求。 请参阅“[GitHub Copilot 中的请求](/zh/copilot/managing-copilot/monitoring-usage-and-entitlements/about-premium-requests)”。

> \[!NOTE]
> Copilot 代码评审 可能使用组织的“Models”设置页上未启用的模型。 “模型”设置页仅可控制 副驾驶聊天。
>
> 由于 Copilot 代码评审 已正式发布，因此所有模型使用情况都将受到正式版条款的约束。 请参阅“[管理组织中GitHub Copilot的策略和功能](/zh/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies)”。

## GitHub Copilot代码评审的用例

GitHub Copilot代码评审的目标是快速提供关于开发人员代码的反馈。 这可以使开发人员以更快的速度准备合并代码，并提升整体代码质量。

## 提升 GitHub Copilot代码评审的性能

### 使用 Copilot 代码评审来补充人工评审，而不是将其取代

虽然 GitHub Copilot代码评审是一种可提升代码质量的强大工具，但请务必将其用作工具，而不是用于取代人工评审。

应始终评审并验证 Copilot 代码评审生成的反馈，并通过仔细的人工评审来补充 Copilot 的反馈，以确保代码符合要求。

### 提供反馈

如果遇到 Copilot 代码评审 的任何问题或限制，建议使用 Copilot 评论中的点赞和点踩按钮来提供反馈。 这有助于GitHub改进工具并解决任何问题或限制。

### 自定义说明

可以配置自定义指令来帮助 Copilot 了解你的编码风格和最佳做法。 有关详细信息，请参阅“[为GitHub Copilot添加存储库自定义说明](/zh/copilot/how-tos/configure-custom-instructions/add-repository-instructions)”。

## GitHub Copilot代码评审的限制

根据代码库和编程语言等因素，在使用 GitHub Copilot代码评审时，可能会体验到不同级别的性能。 以下信息旨在帮助你了解系统限制以及有关性能的关键概念，因为它们适用于 GitHub Copilot代码评审。

### 遗漏的代码质量问题

Copilot 可能无法识别代码中存在的所有问题，尤其是在更改较大或复杂的情况下。 为了确保识别并更正所有相关问题，应仔细评审人工代码来补充 Copilot 代码评审。

### 误报

Copilot 代码评审 存在“幻觉”风险，也就是说，它可能会重点关注审查代码中不存在的问题，或者是基于对代码的误解。 在采取操作和进行更改之前，应仔细评审和考虑 Copilot 代码评审生成的注释。

### 不准确或不安全的代码

在其注释内容中，Copilot 代码评审 可能会提供具体的代码建议。 生成的代码可能看起来有效，但实际上可能语义或语法不正确，或者可能无法正确解决注释中识别的问题。 此外，Copilot 生成的代码可能包含安全漏洞或其他问题。 应始终仔细评审和测试 Copilot 生成的代码。

### 潜在偏见

Copilot 的训练数据取自现有代码存储库，其中可能包含工具可能会延续的偏见和错误。 此外，Copilot 代码评审可能偏向于某些编程语言或编码风格，这可能导致反馈欠佳或不完整。

## 后续步骤

有关 Copilot 代码评审 的使用方式的详细信息，请参阅：

* [使用 GitHub Copilot 代码审查](/zh/copilot/using-github-copilot/code-review/using-copilot-code-review)