关于 AI 代理在 GitHub 上的使用
您企业的开发者可能已经习惯将 AI 作为对编程工具来使用。在这种模式下,开发者与 AI 助手同步工作,并在项目的开发阶段收到代码建议。
AI 代理更像是同级程序员。代理可以
- 执行异步任务,例如运行测试或修复待办事项中的问题,且对人工干预的需求更少。
- 参与开发阶段之外的工作流,如创意构思或发布后的优化。
与代理协作可以让员工有更多时间专注于其他优先事项,例如高层规划,并通过自然语言提示为非开发者角色也带来 AI 的好处,赋予他们更大的操作能力。
GitHub Copilot 的 agentic AI 功能已集成到 GitHub 的统一平台中,提供更流畅的用户体验,并相较于采用多种第三方工具,简化了许可和治理控制。
示例情景
你是 Mona's(一家精品雨伞零售商)的工程经理。你的团队被指派在公司在线商店中添加一个AI 驱动的小部件。该小部件将根据用户位置和本地天气趋势等因素,提供个性化的雨伞推荐,帮助客户选择合适的雨伞。
为了赶上紧迫的截止日期,你希望加快每个阶段的进度,既包括开发者,也包括团队中的非开发者。同时,你还想确保新功能上线后,团队不会被维护任务压垮。
注意
GitHub 正在持续扩展其 AI 平台。本篇文章中描述的部分功能仍处于公开预览阶段,企业默认可能并未启用。每个功能的资源都可在 开始使用代理 AI 部分找到。
1. 使用 Copilot Chat 进行规划
-
要开始规划,产品经理在 Copilot Chat(
https://github.com/copilot)上进行协作。他们向 Copilot 提出宏观问题,以了解实现新功能所需的工作量。为让 Copilot 获取项目的关键上下文,产品经理上传了原型文件并链接到存放代码库的仓库。
-
在与 Copilot 讨论完任务概览后,产品经理让 Copilot 为每项工作 创建 issue。
Copilot 在
https://github.com/copilot上草拟这些 issue,产品经理随后进行细化并将其发布到仓库。产品经理将部分 issue 标记为可选或维护类,这些往往是 Copilot 云代理的合适候选。

-
为帮助开发者快速上手,产品经理在 Copilot Spaces(
https://github.com/copilot/spaces)创建了一个空间,收集了图表、代码文件引用等资源,提交了若干测试问题,然后将该空间分享给全组织。现在,开发者可以在该空间内提问,而 Copilot 已拥有产品经理添加的全部上下文。
2. 使用 GitHub Spark 进行原型设计
- 为了原型化该功能,产品经理打开 GitHub Spark(
https://github.com/spark)并提示它创建该小部件。他们可以编写提示、粘贴上一阶段的文档,或上传截图。Spark 生成了一个可运行的应用,已内置 LLM 用于提供推荐——无需 IDE 或手写代码。 - 要细化原型,产品经理可以再次提示 Spark、使用可视化编辑器,或直接编辑代码。在 “Prompts” 选项卡中,他们可以修改驱动推荐的文本,而无需改动代码。每一次修改都会即时更新实时预览,产品经理即可看到改动对应用的影响。
- 若要协作,产品经理将 Spark 公开并设置可见性,使组织成员能够访问。他们也可以创建仓库并邀请协作者。对仓库所做的代码变更会同步回 Spark,让产品经理和设计师实时看到小部件的更新。
3. 使用 GitHub Models 和代理模式进行创建
-
产品经理将 Copilot Space、GitHub Spark 原型和仓库共享给开发者,并请其先根据模型成本与效能,找到最适合提供个性化雨伞推荐的 AI 模型。
-
开发者让 Copilot Chat 推荐几款适合该任务的 AI 模型,并列出每款模型的优缺点。为提供有价值的上下文,开发者让 Copilot 参考 AI 模型对比 文档。
-
为了在候选模型中做出决定,开发者使用 GitHub Models Playground 对同一提示在不同模型上的结果进行比较。随后,他们还能在 GitHub Spark 原型中切换为已选模型,以观察其对小部件整体体验的影响(GitHub Models 支持的所有模型均可在 Spark 中使用)。这样省去了为每个模型单独设置 API Key 的步骤,仅在单一平台上完成模型测试。

-
确认模型后,开发者在 VS Code 中打开代码。
-
开发者开始编写小部件代码。为加快进度,他们在 “Ask” 与 “Edit” 模式下使用 Copilot Chat 来提问语法或获取高层建议。
提示
开发者可以根据自己的使用习惯与 AI 协作,而组织则可以对体验进行管控。例如,您可以
- 控制模型——限制开发者可使用的模型,以满足合规要求并管理成本。
- 排除特定文件——让 Copilot Chat 不接触这些文件。
- 保存有效提示——将已在 GitHub Models 中验证过的提示保存下来,供其他用户复用。
-
当开发者写完部分代码后,他们切换到 代理模式,请 Copilot 将代码重构为多个函数,以提升可读性。
在代理模式下,Copilot 能更自主地更新多个文件,并在得到开发者授权后运行诸如安装依赖、执行测试等命令。

提示
您可以通过在仓库中添加 custom instructions 文件来打造更统一的体验。例如,该文件可以确保代理模式遵循既定的命名约定,并按照组织标准执行构建、测试和代码检查命令。
-
开发者审阅代理生成的 diff,决定保留哪些代码更改。
4. 使用 MCP 服务器进行测试
-
代码完成后,开发者想使用 Playwright(一个自动化浏览器测试服务)在本地站点构建上运行测试。
- 仓库管理员已为 Playwright 添加了 Model Context Protocol (MCP) 服务器,为 Copilot 代理提供了与 Playwright 集成的预定义接口。
- 开发者让 Copilot 在
.feature文件中列出测试场景,然后指示 Copilot 在浏览器中运行这些测试。 - 在代理模式下,Copilot 会在打开浏览器并点击 UI 元素时请求开发者授权。开发者观看浏览器中的测试时,Copilot 发现了失败的测试并给出代码修复建议。
-
当测试满意后,开发者让代理模式在 GitHub 上为这项工作打开 Pull Request。
提示
- 启用了 GitHub MCP 服务器 后,Copilot 能直接从 VS Code 运行打开 Pull Request 的命令,标题和描述已自动填充。
- 与 GitHub MCP 服务器的交互受到 push protection 保护,阻止在 AI 生成的响应中泄露机密,并防止在使用服务器执行操作时(仅限公共仓库)泄露机密。参见 关于 push protection。
5. 使用 Copilot 代码审查和 Copilot 自定义代理进行审查
- 仓库所有者已在仓库上配置了 Copilot 自动 代码审查。Copilot 在 Pull Request 上提供初步审查,识别出错误和潜在性能问题,帮助开发者在人工审查介入前先行修复。
- 作为额外的合规检查,企业所有者创建了一个包含行业法规和内部政策关键上下文的 Copilot 自定义代理。开发者在
https://github.com/copilot/agents选择该自定义代理后,Copilot 将严格审查 Pull Request 的合规性,并在请求人工审查前完成必要的修改。 - 开发者的同事审阅并批准了 Pull Request,代码即可合并。
6. 使用 Copilot 云代理进行优化
-
发布后,产品经理收集客户反馈,发现通过切换到更可靠的天气数据 API 可以提升小部件的推荐质量。于是他们创建了一个 issue 来实现此更改,并在 GitHub 上直接 指派给 Copilot。
-
Copilot 云代理在后台工作,打开了一个 Pull Request,产品经理将其标记为可供审查。

-
开发者审阅了 Copilot 提交的 Pull Request 并留下反馈,Copilot 随后将反馈融入代码。最后,开发者合并了该 Pull Request。
提示
Copilot 云代理自带默认的安全防线。例如,Copilot 无法自行合并 Pull Request。您可以通过仓库规则集为目标分支定义额外的保护措施。
-
稍后,在开发另一个功能时,开发者注意到 AI 小部件代码中有一个小错误。为避免来回切换上下文,开发者指示 Copilot 直接从 VS Code 打开 Pull Request。
@github 为小部件函数创建 PR,以确保用户年龄为正整数。 -
Copilot 在后台工作,在 GitHub 上打开了 Pull Request,等待另一位开发者审阅。
7. 使用 Copilot 自动修复进行安全防护
-
管理员已在仓库上启用了代码扫描,且一次代码扫描警报提示代码中可能存在漏洞。
-
安全经理请求 Copilot 自动修复 自动给出漏洞的修复建议,开发者审阅并批准了该修复。

开始使用代理 AI
要使用本文提到的功能,请使用下表中的链接。
若想将 agentic AI 功能有效地融入工作流,需要在培训、治理以及文化变革方面投入。我们建议先在跨职能小组中试验这些代理功能,收集反馈后再进行更大范围的推广。
注意
其中一些功能使用了 高级请求。请参阅 GitHub Copilot 中的请求。
| 功能 | 更多信息 |
|---|---|
| GitHub 中的 Copilot 聊天 | 在 GitHub 中向 GitHub Copilot 提问 |
| Copilot Spaces(公开预览) | 关于 GitHub Copilot Spaces |
| GitHub Spark(公开预览) | 在企业中管理 GitHub Spark |
| Copilot Chat 代理模式 | 在 VS Code 中使用代理模式 |
| 内容排除 | 从 GitHub Copilot 排除内容 |
| MCP 服务器(公开预览) | 使用模型上下文协议(MCP)服务器扩展 GitHub Copilot Chat |
| GitHub Models Playground(公开预览) | 使用 AI 模型进行原型设计 |
| 自定义指令 | 为 GitHub Copilot 添加仓库自定义指令 |
| Copilot 代码审查 | 配置 GitHub Copilot 自动代码审查 |
| Copilot 自定义代理 | 关于自定义代理 |
| Copilot 云代理 | 在组织中试点 GitHub Copilot 云代理 |
| Copilot Autofix | 配置代码扫描的默认设置 |