GitHub Copilot 应用
学习目标
学完本模块后,你将能够:
- 描述 GitHub Copilot 应用是什么并解释其优势
- 将 GitHub Copilot 应用 与 VS Code 中的 Copilot、Copilot CLI 和 GitHub.com 上的 Copilot 区分开来
- 确定在实际开发工作流中使用 GitHub Copilot 应用的实际方法
什么是 GitHub Copilot 应用?
GitHub Copilot 应用程序是一款适用于 macOS、Windows 和 Linux 的原生桌面应用,为开发人员提供了一个端到端管理工作的统一平台——从选择要构建的内容到交付代码。
它汇集了:
- 基于代理的开发
- 代码变更和差异审查
- 拉取请求工作流(检查、反馈和合并)
全部集成在同一个直接连接 GitHub 的应用中。
GitHub Copilot 应用:端到端工作的主页
开发人员无需在多个工具之间切换,而是可以通过 Copilot 应用:
- 从问题或任务开始
- 生成并迭代代码
- 查看更改
- 管理拉取请求
- 完成合并过程
这一切都是可完成的,无需离开应用。
新式开发工作流通常涉及多个断开连接的工具:
- 用于代理或脚本的终端
- 用于编辑代码的 IDE
- 拉取请求和评审的浏览器
这会通过以下方法产生摩擦:
- 上下文切换
- 手动设置并行工作流
- 增加跟踪拉取请求进度的工作量
GitHub Copilot 应用通过以下方式解决这些难题:
- 将工作流合并到单个体验中
- 自动为并行任务创建独立工作区
- 使代码、上下文和拉取请求生命周期保持紧密连接
优势一览
- 减少上下文切换
- 并行任务执行与隔离
- 内置拉取请求生命周期管理
- 从想法到合并代码的更快路径
GitHub Copilot 应用的工作原理
代理会话(工作区)
体验的核心是 代理会话,也称为工作区:
- 每个会话都关联到某个分支或拉取请求
- 会话是使用 Git 工作树隔离的
- 多个会话可以并行运行,而不会干扰
这样,开发人员就可以同时协调多个工作流。
基于 Copilot CLI 构建
应用由 Copilot CLI 运行时提供支持,这意味着:
- 现有 CLI 配置将继续沿用
- 开发人员可以重复使用其工具、技能和配置
- 高级工作流保持兼容
GitHub Copilot 应用与其他 Copilot 体验对比
GitHub Copilot 可在多个平台上使用。 每个都针对不同类型的工作进行了优化。
比较概述
| Surface | 最适用于 | 关键角色 |
|---|---|---|
| GitHub Copilot 应用 | 管理端到端代理工作流 | 协调问题→代码→ PR → 合并中的工作 |
| VS Code 中的Copilot (IDE) | 编辑和调试代码 | 贴近代码的动手开发 |
| Copilot CLI | 终端驱动的工作流 | 自动化、脚本和环境级控制 |
| GitHub.com 上的Copilot | 协作和规划 | 议题、创建 PR 和异步协调 |
会话模式
GitHub Copilot 应用允许开发人员根据任务的复杂性和所需的监督级别,选择他们想要为 AI 代理提供多少自主性。
| 模式 | Description | 最适用于 |
|---|---|---|
| 交互式 | 代理建议更改并与开发人员分步协作,等待输入和审批,然后再继续。 | 协作开发和探索任务 |
| Plan | 代理先创建并演示详细的实施计划,然后再进行更改。 开发人员可以在开始执行之前查看和调整计划。 | 需要评审、对齐或其他监督的复杂任务 |
| Autopilot | 该智能体能够自主进行更改、运行测试、迭代修复,并在仅需极少干预的情况下完成任务。 | 定义明确的实施工作和常规开发任务 |
通过选择适当的模式,开发人员可以定制 GitHub Copilot 应用,以匹配任务的复杂性及其首选工作风格。
结合 /chronicle 使用会话历史记录
由于 GitHub Copilot 应用基于 GitHub Copilot CLI 构建,因此它支持 CLI 会话历史记录功能,例如/chronicle。
这样,开发人员就可以从之前在 GitHub Copilot 应用 和 Copilot CLI 会话中完成的工作中获得见解。
常见用例
-
/chronicle standup:生成跨会话完成的最新工作的摘要。 -
/chronicle查看以前的活动和会话历史记录。
Benefits
- 跨多个会话跟踪工作进度
- 快速创建站立更新
- 跨项目保持连续性
- 提升对代理活动的可见性
同时管理多个代理驱动的工作流时,此功能特别有用。
语音输入
GitHub Copilot 应用支持语音听写,允许你朗读提示,而不是键入提示。
语音听写会将语音转换为文本,并将听录直接插入到提示框中,可在其中查看、编辑和提交到Copilot。 在快速记录想法、描述实现需求或进行免提操作时,这会很有用。
配置语音听写
在使用语音听写之前:
- 在 GitHub Copilot 应用中打开设置。
- 选择“语音听写”选项卡。
- 选择键盘快捷方式。
- 在操作系统中授予麦克风权限。
- 下载本地转录模型。
使用语音听写功能
配置后:
- 按配置的快捷方式开始录制。
- 说出你的提示词。
- 再次按快捷方式停止录制。
- 查看或编辑生成的文本。
- 将提示提交到 Copilot。
主要优势
- 创建提示速度更快,无需键入即可捕获创意和说明。
- 语音是使用设备上安装的本地模型听录的。
实际用例
下面是开发人员在实际工作流中使用 GitHub Copilot 应用的一些常见方法。
运行并行开发任务
开发人员可以:
- 针对不同功能启动多个代理会话
- 将每个任务隔离在各自的工作区中
- 在会话之间切换而不丢失上下文
非常适合同时处理多个问题的团队
管理拉取请求生命周期
该应用为以下项提供内置支持:
- 查看代码变更(差异)
- 监控检查和 CI 状态
- 响应反馈
借助 Agent Merge,应用甚至还能帮上忙:
- 解决审查评论
- 修复失败检查
- 将拉取请求移动到完成状态
减少交付代码所需的“最后一英里”工作量
减少工具切换
而不是在两者之间移动:
- 终端
- IDE
- Browser
开发人员无需离开同一个应用,即可执行以下操作:
- 生成代码
- 跟踪进度
- 管理 PR
提高焦点和工作效率
创建可重复工作流
开发人员可以:
- 将提示转换为可重用工作流
- 计划定期任务
- 使用工具和技能自定义会话
帮助在团队间规模化开展基于代理的开发
总结
GitHub Copilot 应用通过专注于业务流程(而不仅仅是代码生成)引入了一种在软件开发中使用 AI 的新方法。
- 它提供用于管理代理驱动开发的中心工作区
- 它是对 IDE、CLI 工具和 GitHub.com 的补充,而非替代品。
- 它使开发人员能够 更高效地运行并行工作流并交付代码
随着开发工作流的发展,Copilot 应用可帮助团队从独立的 AI 使用情况迁移到结构化、可缩放的代理开发方法。