Skip to main content

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

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

关于 GitHub 上的 AI 智能体

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

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

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

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

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

示例方案

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

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

注意

GitHub 不断扩展其 AI 驱动的平台。 本文所述的部分功能处于 公开预览 阶段,企业可能默认未启用。 可以在 开始使用Agentic AI 部分中找到每个功能的资源。

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

  1. 产品经理借助 副驾驶聊天github.com/copilot 开始规划。

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

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

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

    Copilot 对话助手的屏幕截图。 Copilot询问用户是否要继续创建一组优先问题。

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

    开发人员现在可以在该空间中提问,并且其中已包含 PM 的全部相关背景信息。

2. 使用 Copilot 命令行界面(CLI) 创建

  1. 在空间中 Copilot 提出一些初始问题后,开发人员会在终端中启动会话 Copilot 命令行界面(CLI) ,开始查看代码。

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

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

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

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

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

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

    1. 开发人员为 Playwright 配置 了模型上下文协议 (MCP) 服务器 ,这是企业专用 MCP 注册表中批准的服务器。
    2. 开发人员要求 Copilot 概述文件中的测试方案 .feature ,然后在浏览器中运行测试。
    3. Copilot 要求开发人员在打开浏览器并与 UI 交互时授权其操作。 它标识失败的测试并建议修复。
  2. 在对测试结果满意后,开发人员会让 Copilot 为 GitHub 上的工作创建拉取请求。 使用 GitHub MCP 服务器,Copilot 会打开一个拉取请求,并且标题和描述已预先填好。

    提示

    与 GitHub MCP 服务器的交互通过 推送保护进行保护,这会阻止机密包含在 AI 生成的响应中,并阻止你通过使用服务器(仅限公共存储库)执行的任何操作来公开机密。

4. 使用 <a0/a0> 审阅

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

5. 使用 Copilot云代理 优化

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

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

    由 Copilot云代理 创建的拉取请求的屏幕截图。

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

    提示

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

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

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

6. 使用 Copilot自动修复 进行保护

  1. 管理员已在存储库上启用 code scanning ,警报 code scanning 显示代码中可能存在漏洞。

  2. 安全管理器请求 Copilot自动修复 自动建议修复漏洞,开发人员会审查和批准漏洞。

    GitHub.com 上的代码扫描警报的屏幕截图。 标记为“生成修补程序”的按钮以橙色显示。