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

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

## 关于 GitHub 上的 AI 智能体

企业中的开发人员可能已将 AI 用作配对编程工具，并在开发过程中同步接收代码建议。

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

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

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

GitHub Copilot 的智能体功能已集成到 GitHub 的平台中，与第三方工具相比，可提供更流畅的体验以及更简化的许可和治理。

## 示例方案

你是精品伞具零售商 Mona's 的工程经理。 你的团队正在向在线商店添加 **一个 AI 驱动的小组件** ，该小组件基于用户的位置和本地天气推荐雨伞。

为了赶上紧迫的截止日期，你希望让开发人员和非开发人员在每个阶段都能更快推进，同时确保上线后的维护工作仍然易于管理。

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

## 1. 使用 Copilot Chat 进行规划

1. 产品经理借助 **Copilot Chat**（在 [github.com/copilot](https://github.com/copilot)）开始规划。

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

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

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

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

3. 为了帮助开发人员快速上手，PM 在 Copilot Spaces 上创建一个包含 [\*\*\*\*](https://github.com/copilot/spaces) 的空间。 PM 收集诸如图表和对代码文件的引用等资源，提交一些测试问题，然后将该空间与其组织共享。

   开发人员现在可以在该空间中提问，且所有 PM 的上下文均已准备就绪。

## 2. 使用 Copilot CLI 创建

1. 在空间中 Copilot 提出一些初始问题后，开发人员会在终端中启动会话 Copilot CLI ，开始查看代码。

2. 在“计划”模式下，开发人员要求 Copilot 为作业推荐多个 AI 模型，并列出每个模型的优缺点。

3. 编写完一些代码后，开发人员会要求 Copilot 将代码重构为几个不同的函数，并按照组织的标准对代码进行 lint 检查。 它们会调用该组织的一个自定义代理，该代理包含面向该组织的自定义指令。

Copilot 可以一次更新多个文件，使用开发人员的授权，针对安装依赖项或运行测试等操作运行命令。

1. 在打开拉取请求之前，开发人员将运行 `/security-review` 以识别活动本地更改中可能漏洞并应用修正。

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

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

1. 代码完成后，开发人员使用 Playwright 在本地生成上运行测试。

   1. 开发人员为 Playwright 配置 **了模型上下文协议 （MCP） 服务器** ，这是企业专用 MCP 注册表中批准的服务器。
   2. 开发人员要求 Copilot 概述文件中的测试方案 `.feature` ，然后在浏览器中运行测试。
   3. Copilot 要求开发人员在打开浏览器并与 UI 交互时授权其操作。 它标识失败的测试并建议修复。

2. 对测试结果满意后，开发人员会让 Copilot 为 GitHub 上的工作开启拉取请求。 使用 **GitHub MCP 服务器**，Copilot 会开启一个拉取请求，并且标题和描述已预先填好。

   > \[!TIP]
   > 与 GitHub MCP 服务器的交互通过 **推送保护进行保护**，这会阻止机密包含在 AI 生成的响应中，并阻止你通过使用服务器（仅限公共存储库）执行的任何操作来公开机密。

## 4. 使用 Copilot code review 进行评审

1. 存储库所有者已在存储库上配置由 \*\*\*\* 执行的自动Copilot。
   Copilot 对拉取请求提供初步评审，识别出漏洞和潜在性能问题，开发人员可在人工评审者处理拉取请求前修复。
2. 开发人员的同事评审并批准合并请求。 工作已准备好合并。

## 5. 使用 Copilot cloud agent 优化

1. 发布后，产品经理发现可以通过切换到更可靠的天气 API 来改进该小组件。 他们直接在 Copilot 上创建议题GitHub。

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

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

3. 开发人员审查拉取请求并提出反馈，Copilot 会采纳这些反馈。 然后，开发人员合并拉取请求。

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

4. 之后，在开发另一个独立功能时，开发人员注意到 AI 组件的代码中存在一个小错误。 为了避免上下文切换，开发人员会直接在其 Copilot cloud agent 会话中将工作委托给 Copilot CLI。

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

## 6. 使用 Copilot Autofix 进行保护

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

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