跳至主要内容

在 Windows Terminal 中负责任地使用 GitHub Copilot

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

谁可以使用此功能?

如果您拥有 Copilot Free、Copilot Pro 或 Copilot Pro+ 订阅,即可在 Windows Terminal 中使用 GitHub Copilot。

拥有 Copilot Business 或 Copilot Enterprise 订阅的组织或企业所有者,可根据 GitHub Copilot CLI 政策决定是否为其组织或企业内的用户授予在 Windows Terminal 中使用 GitHub Copilot 的权限。

关于 Windows Terminal 中的 GitHub Copilot

Terminal Chat 聊天界面中的 GitHub Copilot 允许您就命令行提出问题。您可以请求 GitHub Copilot 提供命令建议或对给定命令进行解释。

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

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

输入处理

用户的输入提示首先由 Terminal Chat 进行预处理,结合上下文信息(活动 shell 的名称和聊天历史),然后发送至连接大型语言模型的 GitHub 服务,依据上下文和提示生成响应。用户输入可以是自然语言提示或问题。系统仅用于响应与命令行相关的问题。欲了解更多信息,请参阅 Terminal Chat

语言模型分析

随后,输入提示会传递给语言模型,这是一种在大量文本数据上训练的神经网络。语言模型会分析输入提示,以找出最符合您查询的命令或命令解释。

响应生成

语言模型依据对输入提示的分析生成响应。该响应以建议的命令或您查询的命令解释的形式呈现。如果您想运行建议的命令,需要点击该命令将其插入到命令行中。命令不会自动执行,您需手动运行。

输出格式化

GitHub Copilot 生成的响应会被格式化后展示给您。Terminal Chat 与 GitHub Copilot 使用语法高亮、缩进以及其他格式化功能,以提升生成响应的可读性。

GitHub Copilot 旨在为您的问题提供最相关的答案。但它不一定总能给出您期望的答案。GitHub Copilot 的使用者需对系统生成的响应进行审查和验证,确保其准确且适当。

Windows Terminal 中 GitHub Copilot 的使用场景

Terminal Chat 中的 GitHub Copilot 可通过提供命令建议或对给定命令的解释来帮助您。

查找执行任务的正确命令

GitHub Copilot 旨在建议能帮助您完成所需任务的命令。如果结果未完全符合您的需求,您可以不断修改提问,直至返回的命令满足期待。生成完美的任务命令后,您可以将其插入到命令行中,在任意位置运行。

解释不熟悉的命令

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

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

改进 Windows Terminal 中的 GitHub Copilot

为提升体验并解决 GitHub Copilot 的部分局限性,您可以采取多种措施。欲了解更多关于局限性的细节,请参阅 GitHub Copilot 的局限性

将 GitHub Copilot 视为工具,而非替代品

尽管 GitHub Copilot 可以成为提升对命令和命令行理解的强大工具,但应将其视为辅助工具,而非取代人工编程的手段。您应始终审查并验证 GitHub Copilot 生成的命令,以确保其符合您的需求且不存在错误或安全隐患。

提供反馈

如果您在 Windows Terminal 中使用 GitHub Copilot 时遇到任何问题或局限,建议您通过在 Windows Terminal 仓库中创建 issue 来提供反馈。这有助于开发者改进该工具并解决相关顾虑或限制。

Windows Terminal 中 GitHub Copilot 的局限性

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

范围有限

GitHub Copilot 在预设的边界内工作,对复杂命令、不常见命令或新近开发的工具可能表现不佳。它对每种语言提供的建议质量受训练数据的可用性和多样性影响。例如,针对文档完善的 Git 等命令和工具的查询,往往能得到更准确的响应,而针对较为冷门的命令行工具的提问,则可能准确度较低。

潜在偏见和错误

GitHub Copilot 的训练数据来源于现有的在线资源。需要注意的是,这些来源可能包含贡献者的偏见和错误,GitHub Copilot 可能无意中传播这些偏见和错误。此外,Copilot 在不同脚本语言或脚本风格下的表现可能有所差异,导致提供的命令建议或解释不够完善或不完整。

不准确的响应

GitHub Copilot 可能生成看似有效但在语法或语义上错误的命令。为避免问题,尤其在涉及删除内容等关键或破坏性任务时,请务必仔细审查和验证建议的命令。确保生成的命令符合最佳实践并适合您的工作流。

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

在允许让 GitHub Copilot 执行命令的功能时,需要额外谨慎,特别是考虑到某些建议命令的潜在破坏性。您可能会遇到用于删除文件或格式化硬盘的命令,若使用不当会导致问题。虽然这些命令在特定场景下可能是必需的,但接受并运行这些命令时必须小心。

此外,最终执行的命令由您负责。是否使用 GitHub Copilot 生成的命令完全取决于您。即使系统设有安全防护机制,您仍须了解执行命令本身存在固有风险。GitHub Copilot 提供了强大的工具集,但您应谨慎对待其推荐,并确保命令符合您的意图和需求。

非编程主题的回复不准确

GitHub Copilot 在 Windows Terminal 并非设计用于回答超出命令行任务范围的问题。因此,当面对与编码或一般命令行使用无关的提问时,其回复可能不具备准确性或帮助性。当您询问非编码主题时,GitHub Copilot 可能会表示无法提供有意义的回答。

基于自然语言的不同表现

GitHub Copilot 的训练主要基于以英文撰写的自然语言内容。因此,在使用非英文语言的自然语言输入提示时,您可能会发现其表现存在差异。

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.