# 将代理式 AI 集成到企业的软件开发生命周期中

了解代理如何提高企业工作效率。

## 关于 GitHub 上的 AI 智能体

企业中的开发人员可能已习惯将 AI 用作结对编程工具。 在此模型中，开发人员与 AI 助手同步合作，并在项目的开发阶段接收代码建议。

AI 代理更像是结对编程的伙伴。 代理可以：

* 执行异步任务，例如运行测试或修复积压工作中的问题，所需的人工干预较少。
* 在开发阶段之外为工作流做贡献，例如发布后的构思或优化工作。

与代理协作可以让员工有更多时间专注于其他优先事项（如高层次规划），并通过赋予自然语言提示更强的能力，将 AI 的优势扩展至非开发人员角色。

```
          GitHub Copilot与采用一系列第三方工具相比，代理 AI 功能已集成到 GitHub“凝聚力平台”中，提供更简化的用户体验和简化的许可和治理控制。
```

## 示例方案

你是精品伞具零售商 Mona's 的工程经理。 你的团队的任务是为公司的在线商店添加一个 AI 驱动的小组件\*\*\*\*。 小组件将基于用户位置和当地天气趋势等因素提供定制化建议，帮助客户选择合适的伞具。

为了赶在紧迫的截止日期前完成，你打算加快团队中开发人员和非开发人员在每个流程阶段的工作进度。 你还希望确保新功能推出后，团队不会被维护任务压得不堪重负。

> \[!NOTE]
> GitHub 不断扩展其 AI 驱动的平台。 本文所述的部分功能处于 公共预览版 阶段，企业可能默认未启用。 可以在 [ 开始使用Agentic AI](#get-started-with-agentic-ai) 部分中找到每个功能的资源。

## 1. 使用 副驾驶聊天 进行规划

1. 开始规划时，产品经理会在 `https://github.com/copilot` 与 **副驾驶聊天** 协作。

   他们提出 Copilot 高级别问题，了解新功能所需的开发工作。 为了让 Copilot 获取与项目相关的重要背景信息，他们上传设计模型文件并链接到代码库存储的仓库。

2. 当 PM 处理 Copilot 完以获取所需任务的概述时，他们要求 Copilot 为工作的每个部分 **创建问题** 。

   ```
          Copilot 起草`https://github.com/copilot`中的问题，在此 PM 可以对其进行优化并发布到存储库。
   ```

   PM 将部分问题标记为“可有可无”或“维护类”。 这些可能是 Copilot云代理 的合适候选对象。

   ![Copilot 对话助手的屏幕截图。 Copilot询问用户是否要继续创建一组优先问题。](/assets/images/help/copilot/sdlc-guide/issue-creation.png)

3. 为了帮助开发人员快速入门，PM 会在Copilot空间创建一个包含\*\*\*\* 的空间。 PM 收集诸如图表和对代码文件的引用等资源，提交一些测试问题，然后将该空间与其组织共享。

   开发人员现在可以在空间中提出问题，而 Copilot 已经具备 PM 添加的所有上下文。

## 2. 使用 GitHub Spark 制作原型

1. 为制作该功能原型，产品经理打开 GitHub Spark (`https://github.com/spark`) 并提示其创建小组件。 他们可以编写提示、粘贴上一阶段的文档，或上传屏幕截图。
   Spark 生成一个已集成 LLM 来提供推荐功能的工作应用程序——无需 IDE 或编码。
2. 若要优化原型，PM 可以再次提示 Spark 、使用可视化编辑器或直接编辑代码。 在“提示”选项卡中，他们可以调整支持建议的文本，而无需编辑代码。 每次更改都会立即更新实时预览，以便 PM 可以查看编辑如何影响应用。
3. 为了进行协作，PM 发布 Spark 并更新可见性，以便其组织可以访问它。 他们还可以创建存储库并邀请协作者。 存储库中所做的代码更改会同步回 Spark，让产品经理和设计师实时查看小组件的更新。

## 3. 使用 GitHub Models 和代理模式创建

1. PM 与开发人员共享 Copilot 空间和 GitHub Spark 原型和存储库，并要求开发人员首先找到最佳 AI 模型，根据模型的成本和有效性提供定制的伞式建议。

2. 开发人员要求 **副驾驶聊天** 为作业推荐多个 AI 模型，以及每个模型的优缺点。 为了提供有用的上下文，他们要求 Copilot 考虑 [AI 模型比较](/zh/copilot/reference/ai-models/model-comparison)GitHub Docs 文章中的信息。

3. 为了从入围名单中确定最终的模型，开发人员使用 **GitHub Models** 测试平台来比较不同模型中相同提示的结果。 然后，他们还可以更新 GitHub Spark 原型，以使用他们自行选择的特定模型，查看其如何影响原型中整个小组件的使用体验（GitHub Models 中支持的所有模型在 Spark 中均受支持）。 他们通过在单个平台上测试模型来节省时间，而无需为每个模型分别设置 API 密钥。

   ![GitHub Models 试验场的屏幕截图，其中多个窗口用于将提示并排发送到两个模型。](/assets/images/help/copilot/sdlc-guide/model-compare.png)

4. 确定模型后，开发人员会在其中 **VS Code** 打开代码。

5. 开发人员开始为新小组件编写代码。 为了加快工作速度，他们在 **副驾驶聊天** 语法问题和高级建议中使用“询问”和“编辑”模式。

   > \[!TIP]
   > 开发人员以最适合自己的方式使用 AI，但贵组织可对该体验进行控制。 例如，可以：
   >
   > * 控制模型，以便开发人员可将其用于开发工作，从而满足合规要求并管理成本。\*\*\*\*
   > * 将某些文件排除在\*\*\*\* 的影响之外。
   > * 保存**有效提示**，这些提示已经过GitHub Models，以便其他用户受益。

6. 当开发人员编写了一些代码时，他们切换到 **代理模式** ，要求 Copilot 将代码重构为多个不同的函数，以提高可读性。

   在代理模式下， Copilot 可以更自主地工作，并且能够更新多个文件，并使用开发人员的授权为安装依赖项或运行测试等操作运行命令。

   ![VS Code 中Copilot 对话助手窗格的屏幕截图。 Copilot 请求用户授权以运行 Lint 分析命令。](/assets/images/help/copilot/sdlc-guide/agent-mode.png)

   > \[!TIP] 可以通过向仓库添加自定义说明文件来创建更一致的体验。\*\*\*\* 例如，该文件可帮助确保代理模式使用既定的命名约定，并根据贵组织的标准运行正确的命令来构建、测试代码以及对代码进行 Lint 分析。

7. 开发人员会评审代理工作的差异，并选择要保留的代码。

## 4.使用 MCP 服务器进行测试

1. 代码完成后，开发人员希望使用自动化浏览器内测试服务 Playwright 在其本地构建的网站上运行测试。

   * 存储库管理员已为 Playwright 添加了 **模型上下文协议 （MCP） 服务器** ，该服务器为代理提供了 Copilot 与 Playwright 集成的预定义接口。
   * 开发人员要求 Copilot 概述文件中的测试方案 `.feature` ，然后告知 Copilot 在浏览器中运行测试。
   * 在代理模式下， Copilot 要求开发人员在打开浏览器时授权其操作，并在 UI 中单击不同的元素。 当开发人员在浏览器中观看测试时， Copilot 标识失败的测试并建议在代码中修复。

2. 对测试结果满意后，开发人员会让智能体模式为 GitHub 上的工作打开拉取请求。

   > \[!TIP]
   > \*
   > \*\*
   > GitHub启用 MCP 服务器\*\*后，Copilot可以运行命令，直接从VS Code中打开拉取请求，并填写标题和说明。
   >
   > * 与 GitHub MCP 服务器的交互通过 **推送保护进行保护**，这会阻止机密包含在 AI 生成的响应中，并阻止你通过使用服务器（仅限公共存储库）执行的任何操作来公开机密。 请参阅“[关于推送保护](/zh/code-security/secret-scanning/introduction/about-push-protection)”。

## 5. 使用 Copilot 代码评审 和 Copilot自定义代理

1. 存储库所有者已在存储库上配置由 Copilot 执行的自动**代码评审**。               Copilot 对拉取请求提供初步评审，识别出漏洞和潜在性能问题，开发人员可在人工评审者处理拉取请求前修复。
2. 作为额外的合规性检查，企业所有者已创建包含行业法规和内部政策关键上下文的 **Copilot自定义代理**。 开发人员在 `https://github.com/copilot/agents` 选择 自定义智能体，提示 Copilot 仔细评审拉取请求的合规性，并在请求人工评审前应用所有必要更改。
3. 开发人员的同事评审并批准合并请求。 工作已准备好合并。

## 6. 使用 Copilot云代理 进行优化

1. 发布后，产品经理收集客户反馈，并发现了可以通过采用更可靠的天气数据 API 来改进小组件建议的机会。 他们创建问题以实施此更改，并直接在 GitHub 上**将其分配给 Copilot**。

2. ```
             Copilot云代理 在后台工作并打开拉取请求，产品经理将其标记为准备评审。
   ```

   ![由 Copilot云代理 创建的拉取请求的屏幕截图。](/assets/images/help/copilot/sdlc-guide/agent-pr.png)

3. 开发人员评审 Copilot 的拉取请求并留下反馈，然后 Copilot 进行采纳。 最后，开发人员合并拉取请求。

   > \[!TIP]
   > Copilot云代理 附带默认护栏。 例如， Copilot 无法单独合并拉取请求。 可以使用仓库规则集为目标分支定义其他保护。

4. 之后，在开发另一个独立功能时，开发人员注意到 AI 组件的代码中存在一个小错误。 为了避免上下文切换，开发人员指示 Copilot 直接从 VS Code 打开拉取请求。

   `@github Create a PR for the widget function to correctly validate that the user's age is a positive integer.`

5. ```
          Copilot 在后台运行并在 GitHub 上打开一个拉取请求，准备让其他开发人员进行审核。
   ```

## 7. 使用 Copilot自动修复 保障安全

1. 管理员已在存储库上启用 code scanning ，警报 code scanning 显示代码中可能存在漏洞。
2. 安全管理器请求 **Copilot自动修复** 自动建议修复漏洞，开发人员会审查和批准漏洞。

   ![GitHub.com 上的代码扫描警报的屏幕截图。 标记为“生成修补程序”的按钮以橙色显示。](/assets/images/help/copilot/sdlc-guide/autofix.png)

## 开始使用代理人工智能

```
          <a href="https://github.com/enterprise/contact?ref_product=copilot&ref_type=engagement&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline">
          <span>联系销售人员</span><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-link-external" aria-label="link external icon" role="img"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a>
```

若要开始使用本文中提到的功能，请使用下表中的链接。

要将代理式 AI 功能有效集成到工作流，你需要在有效的培训、治理和文化变革方面进行投入。 我们建议与跨职能团队一起试用代理功能，以在大规模推出前收集反馈。

> \[!NOTE] 其中一些功能使用高级请求。\*\*\*\* 请参阅“[GitHub Copilot 中的请求](/zh/copilot/managing-copilot/monitoring-usage-and-entitlements/about-premium-requests)”。

<div class="ghd-tool rowheaders">

| 功能              | 详细信息 |
| --------------- | ---- |
| 副驾驶聊天 中的 GitHub |      |

```
          [AUTOTITLE](/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-github#submitting-a-question-to-copilot-chat) |
```

\| Copilot空间（公共预览版） |
[关于GitHub Copilot Spaces](/zh/copilot/using-github-copilot/copilot-spaces/about-organizing-and-sharing-context-with-copilot-spaces) |
\| GitHub Spark（公共预览版） |
[在企业中管理 GitHub Spark](/zh/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-spark) |
\| 副驾驶聊天 代理模式 |
[在 VS Code 中使用代理模式](https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode) |
\| 内容排除 |
[从GitHub Copilot中排除内容](/zh/copilot/managing-copilot/configuring-and-auditing-content-exclusion/excluding-content-from-github-copilot) |
\| MCP 服务器 （公共预览版） |
[使用 MCP（模型上下文协议）服务器扩展 GitHub Copilot 对话助手](/zh/copilot/customizing-copilot/extending-copilot-chat-with-mcp#configuring-mcp-servers-in-visual-studio-code) |
\| GitHub Models 操场 （公共预览版） |
[使用 AI 模型进行原型制作](/zh/github-models/prototyping-with-ai-models#experimenting-with-ai-models-in-the-playground) |
\| 自定义说明 |
[为GitHub Copilot添加存储库自定义说明](/zh/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot?tool=vscode) |
\| Copilot 代码评审 |
[通过GitHub Copilot配置自动代码评审](/zh/copilot/how-tos/agents/copilot-code-review/automatic-code-review) |
\| Copilot自定义代理 |
[关于自定义代理](/zh/copilot/concepts/agents/cloud-agent/about-custom-agents) |
\| Copilot云代理 |
[在组织中试点GitHub Copilot云代理](/zh/copilot/tutorials/cloud-agent/pilot-cloud-agent) |
\| Copilot自动修复 |
[配置代码扫描的默认设置](/zh/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning) |

</div>