关于 GitHub Copilot代码审核
GitHub Copilot代码审核是一项由 AI 提供支持的功能,用于评审代码并提供反馈。
当用户向 Copilot 请求代码评审时,Copilot 会扫描代码更改以及其他相关上下文,并提供代码反馈。 在相应反馈中,还可能提供具体的建议代码更改。
Copilot 的评审可以通过自定义指令进行自定义,这些指令是编码风格和最佳做法的自然语言描述。 有关详细信息,请参阅“为GitHub Copilot添加存储库自定义说明”。
检查代码,并使用自然语言处理和machine learning的组合提供反馈。 此过程可以细分为多个步骤。
输入处理
代码更改与其他相关的上下文信息(例如数据变量.product.github %}上的拉取请求标题和正文)和已定义的任何自定义说明相结合,以形成提示,并将该提示发送到大型语言模型。
语言模型分析
然后,该提示通过 Copilot 语言模型传递,该模型是一个神经网络,已基于大量文本数据进行了训练。 语言模型分析输入提示。
响应生成
语言模型根据其对输入提示的分析生成响应。 此响应可以采用自然语言建议和代码建议的形式。
输出格式设置
Copilot 生成的响应会直接在受支持的编辑器中呈现给用户,或者作为在 数据变量.product.github %} 上的 Pull Request 评审,提供链接到特定文件行的代码反馈。
如果 Copilot 提供了代码建议,该建议将呈现为建议的更改,只需单击几下即可应用。
模型的用法
Copilot代码审查 是一款专门构建的产品,它使用模型、提示和系统行为的精心优化组合,在各种代码库中提供一致的高质量反馈。 模型切换不受支持,因为更改模型可能会损害可靠性、用户体验和评审评论的质量。 每次使用此功能都会消耗一个高级请求。 请参阅“GitHub Copilot 中的请求”。
注意
Copilot代码审查 可能使用组织的“Models”设置页上未启用的模型。 “模型”设置页仅可控制 Copilot对话。
由于 Copilot代码审查 已正式发布,因此所有模型使用情况都将受到正式版条款的约束。 请参阅“管理组织中GitHub Copilot 的策略和功能”。
GitHub Copilot代码审核的用例
GitHub Copilot代码审核的目标是快速提供关于开发人员代码的反馈。 这可以使开发人员以更快的速度准备合并代码,并提升整体代码质量。
提升 GitHub Copilot代码审核的性能
使用 Copilot代码审查来补充人工评审,而不是将其取代
虽然 GitHub Copilot代码审核是一种可提升代码质量的强大工具,但请务必将其用作工具,而不是用于取代人工评审。
应始终评审并验证 Copilot代码审查生成的反馈,并通过仔细的人工评审来补充 Copilot 的反馈,以确保代码符合要求。
提供反馈
如果遇到 Copilot代码审查 的任何问题或限制,建议使用 Copilot 评论中的点赞和点踩按钮来提供反馈。 这有助于GitHub改进工具并解决任何问题或限制。
自定义说明
可以配置自定义指令来帮助 Copilot 了解你的编码风格和最佳做法。 有关详细信息,请参阅“为GitHub Copilot添加存储库自定义说明”。
GitHub Copilot代码审核的限制
根据代码库和编程语言等因素,在使用 GitHub Copilot代码审核时,可能会体验到不同级别的性能。 以下信息旨在帮助你了解系统限制以及有关性能的关键概念,因为它们适用于 GitHub Copilot代码审核。
遗漏的代码质量问题
Copilot 可能无法识别代码中存在的所有问题,尤其是在更改较大或复杂的情况下。 为了确保识别并更正所有相关问题,应仔细评审人工代码来补充 Copilot代码审查。
误报
Copilot代码审查 存在“幻觉”风险,也就是说,它可能会重点关注审查代码中不存在的问题,或者是基于对代码的误解。 在采取操作和进行更改之前,应仔细评审和考虑 Copilot代码审查生成的注释。
不准确或不安全的代码
在其注释内容中,Copilot代码审查 可能会提供具体的代码建议。 生成的代码可能看起来有效,但实际上可能语义或语法不正确,或者可能无法正确解决注释中识别的问题。 此外,Copilot 生成的代码可能包含安全漏洞或其他问题。 应始终仔细评审和测试 Copilot 生成的代码。
潜在偏见
Copilot 的训练数据取自现有代码存储库,其中可能包含工具可能会延续的偏见和错误。 此外,Copilot代码审查可能偏向于某些编程语言或编码风格,这可能导致反馈欠佳或不完整。
后续步骤
有关 Copilot代码审查 的使用方式的详细信息,请参阅:
-
[AUTOTITLE](/copilot/using-github-copilot/code-review/using-copilot-code-review)