跳至主要内容

在 Windows 终端中负责任地使用 GitHub Copilot

了解 GitHub Copilot 的用途、功能和局限性,学习如何负责任地使用它。

谁可以使用此功能?

如果你拥有 GitHub Copilot 个人订阅,则可以访问 Windows 终端中的 GitHub Copilot。

拥有 GitHub Copilot Business 或 GitHub Copilot Enterprise 订阅的组织或企业所有者可以决定是否根据命令行中的 GitHub Copilot 策略,向其组织或企业中的用户授予对 Windows 终端中 GitHub Copilot 的访问权限。

关于 Windows 终端中的 GitHub Copilot

终端聊天中的 GitHub Copilot 聊天界面允许你询问有关命令行的问题。你可以要求 GitHub Copilot 提供命令建议或对给定命令的解释。

GitHub Copilot 主要支持的语言为英语。

GitHub Copilot 通过结合自然语言处理和机器学习来理解你的问题并提供答案。此过程可以细分为多个步骤。

输入处理

来自用户的输入提示由终端聊天进行预处理,并结合上下文信息(活动 shell 的名称和聊天历史记录),发送到连接到大型语言模型的 GitHub 服务,然后该模型根据上下文和提示生成响应。用户输入可以采用自然语言提示或问题。系统仅用于响应与命令行相关的问题。更多信息,请参阅“终端聊天”。

语言模型分析

然后,输入提示将通过语言模型,这是一个经过大量文本数据训练的神经网络。语言模型分析输入提示以查找与你的查询最相关的命令或命令解释。

响应生成

语言模型根据其对输入提示的分析生成响应。此响应将采用建议的命令或你询问的命令的解释的形式。如果你想运行建议的命令,你需要点击该命令将其插入到你的命令行中。命令不会自动运行。你需要手动运行命令。

输出格式化

GitHub Copilot 生成的响应将被格式化并呈现给你。终端聊天和 GitHub Copilot 使用语法高亮、缩进和其他格式化功能来提高生成的响应的清晰度。

GitHub Copilot 旨在为你提供与你的问题最相关的答案。但是,它可能并不总是提供你想要的答案。GitHub Copilot 的用户有责任审查和验证系统生成的响应,以确保其准确性和适用性。

Windows 终端中 GitHub Copilot 的用例

终端聊天中的 GitHub Copilot 可以通过提供命令建议或对给定命令的解释来帮助你。

查找执行任务的正确命令

GitHub Copilot 旨在建议有助于你完成正在尝试完成的任务的命令。如果结果与你期望的不符,你可以不断修改你的问题,直到返回的命令符合你的期望。一旦你为你的任务生成了完美的命令,你就可以将其插入到你的命令行中,以便在任何需要的地方运行它。

解释不熟悉的命令

GitHub Copilot 可以通过生成对命令的功能和目的的自然语言描述来帮助解释你询问的命令。如果你想了解命令针对特定示例的行为,而无需阅读或搜索命令的文档,这将非常有用。解释可以包括诸如命令的输入和输出参数以及如何使用它的示例等信息。

通过生成解释,GitHub Copilot 可以帮助你更好地理解命令,从而提高学习效率、生产力和减少上下文切换。但是,需要注意的是,生成的解释可能并不总是准确或完整的,因此你需要审查并偶尔更正其输出。你仍然有责任确保你在命令行中运行的命令的准确性和适用性。

改进 Windows 终端中的 GitHub Copilot

为了增强体验并解决 GitHub Copilot 的一些局限性,你可以采取各种措施。有关局限性的更多信息,请参阅“GitHub Copilot 的局限性”。

将 GitHub Copilot 作为工具,而不是替代品

虽然 GitHub Copilot 可以成为增强对命令和命令行理解的有力工具,但重要的是将其用作工具,而不是人工编程的替代品。你应该始终审查和验证 GitHub Copilot 生成的命令,以确保它符合你的要求并且没有错误或安全问题。

提供反馈

如果你在 Windows 终端中遇到任何 GitHub Copilot 的问题或局限性,我们建议你通过在 Windows 终端存储库 中打开问题来提供反馈。这可以帮助开发人员改进工具并解决任何问题或局限性。

Windows 终端中 GitHub Copilot 的局限性

根据你的操作系统和输入数据等因素,在终端中使用 GitHub Copilot 时,你可能会遇到不同程度的准确性。以下信息旨在帮助你了解系统局限性和与性能相关的关键概念,因为它们适用于 GitHub Copilot。

范围有限

GitHub Copilot 在定义的边界内运行,可能难以处理复杂的命令、不太常见的命令或最近开发的工具。它为每种语言提供的建议的质量可能会受到培训数据的可用性和多样性的影响。例如,关于 Git 等有良好文档记录的命令和工具的查询可能会产生比关于更模糊的命令行工具的问题更准确的响应。

潜在的偏差和错误

GitHub Copilot 的训练数据来自现有的在线资源。需要注意的是,这些资源可能包含为训练数据做出贡献的个人的偏差和错误。GitHub Copilot 可能会无意中延续这些偏差和错误。此外,GitHub Copilot 的性能可能会因脚本语言或脚本风格而异,这可能会导致次优或不完整的命令建议或解释。

不准确的响应

GitHub Copilot 可能会生成看似有效但语法或语义上不正确的命令。为避免问题,请始终仔细审查和验证建议,特别是对于删除内容等关键或破坏性任务。确保生成的命令符合最佳实践并适合你的工作流程。

命令执行中的风险管理和用户责任

添加请求 GitHub Copilot 执行命令的功能需要格外小心,尤其是在某些建议命令的潜在破坏性方面。你可能会遇到用于文件删除或硬盘格式化的命令,如果使用不当可能会导致问题。虽然在某些情况下此类命令可能是必要的,但在接受和运行这些命令时,你需要小心。

此外,你最终要对 GitHub Copilot 执行的命令负责。是否使用 GitHub Copilot 生成的命令完全取决于你。尽管存在故障保护和安全机制,但你必须了解执行命令存在固有的风险。GitHub Copilot 提供了一个强大的工具集,但你应该谨慎对待其建议,并确保命令与你的意图和要求相符。

对非编码主题的回答不准确

Windows 终端中的 GitHub Copilot 并非设计用于回答超出命令行相关任务范围的问题。因此,当遇到与编码或一般命令行使用无关的问题时,其响应可能无法始终提供准确性或帮助。当您询问非编码主题时,GitHub Copilot 可能会表示其无法提供有意义的回复。

基于自然语言的性能差异

GitHub Copilot 接受过主要以英语编写的自然语言内容的训练。因此,当您使用除英语以外的其他语言的自然语言输入提示提供给 GitHub Copilot 时,您可能会注意到性能差异。

进一步阅读