Skip to main content

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

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

谁可以使用此功能?

如果你拥有 GitHub Copilot Individual 订阅,则可以访问 Windows Terminal 中的 GitHub Copilot。

具有 GitHub Copilot Business 或 GitHub Copilot Enterprise 订阅的组织或企业所有者可以根据 GitHub Copilot in the CLI 策略决定是否在 Windows Terminal 中为其组织或企业中的用户授予对 GitHub Copilot 的访问权限。

关于 Windows Terminal 中的 GitHub Copilot

使用“终端聊天”聊天界面中的 GitHub Copilot,可以询问有关命令行的问题。 可以要求 GitHub Copilot 提供命令建议或给定命令的说明。

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

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

输入处理

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

语言模型分析

然后,输入提示通过语言模型传递,该模型是一个神经网络,已基于大量文本数据进行了训练。 语言模型分析输入提示,以查找与查询最相关的命令或命令说明。

响应生成

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

输出格式设置

GitHub Copilot 生成的响应将格式化并呈现给用户。 终端聊天和 GitHub Copilot 使用语法突出显示、缩进和其他格式设置功能来增加生成的响应的清晰度。

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

Windows Terminal 中 GitHub Copilot 的用例

终端聊天中的 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 存储库中提出问题来提供反馈。 这可以帮助开发人员改进该工具并解决任何问题或限制。

Windows Terminal 中的 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 Terminal 中的 GitHub Copilot 并非旨在回答超出命令行相关任务范围的问题。 因此,当遇到与编码或常规命令行使用无关的问题时,其响应可能无法一致地提供准确度或帮助。 询问非编码主题时,GitHub Copilot 可能表示无法提供有意义的响应。

基于自然语言的不同性能

GitHub Copilot 已针对主要以英语编写的自然语言内容进行了训练。 因此,在为 GitHub Copilot 提供英语以外的自然语言输入提示时,你可能会发现性能有所不同。

其他阅读材料