AI News HubLIVE
站内改写2 分钟阅读

从一次性提示到工作流程:如何在GitHub Copilot CLI中使用自定义代理

GitHub Copilot CLI引入了自定义代理功能,允许开发者使用Markdown文件定义代理配置文件,将团队上下文编码为可重复、可审查的工作流程。本文详细介绍了自定义代理的概念、如何创建和使用它们,并提供了三个实用的工作流示例:安全审计、基础设施即代码合规和发布文档生成。

来源GitHub AI & ML作者: Natalie Guevara

GitHub Copilot CLI 现在支持自定义代理,这是一项新功能,允许开发者将团队的标准和上下文编码为可重复、可审查的工作流程,从而将终端从单纯的命令执行工具转变为理解团队技术栈和开发流程的智能助手。

什么是自定义代理?

自定义代理是一个可以通过 Markdown 文件定义的 Copilot 代理。与依赖通用行为不同,您可以描述代理应该如何操作、可以使用哪些工具、应遵循哪些标准以及应产生哪些输出。结果:无论在哪里运行,其行为都是一致的。

您创建的每个编码代理都可以充当针对特定任务量身定制的专业代理。例如,通用编码代理可能会建议如何清理代码,但自定义代理可以在每次运行时应用您的格式化规则、工具、可访问性标准、审查要求和安全要求。

自定义代理使用代理配置文件来定义,这些文件直接存在于您的仓库中。使用 Markdown 编写,这些代理配置文件允许您指定:代理的角色和专业知识领域、它可以访问哪些工具、以及保持输出安全和一致的护栏。

例如,一个“无障碍专家”代理的配置文件开头如下:

--- description: 'Expert assistant for web accessibility (WCAG 2.1/2.2), inclusive UX, and a11y testing' name: 'Accessibility Expert' model: GPT-4.1 tools: ['changes', 'codebase', 'edit/editFiles', 'extensions', 'web/fetch', 'findTestFiles', 'githubRepo', 'new', 'openSimpleBrowser', 'problems', 'runCommands', 'runTasks', 'runTests', 'search', 'searchResults', 'terminalLastCommand', 'terminalSelection', 'testFailure', 'usages', 'vscodeAPI']

因为代理配置文件位于仓库中,您的团队可以审查、版本化并共享它,从而使相同的期望从 CLI 到 IDE 再到 GitHub 上的拉取请求都能得到贯彻。

如何在 GitHub Copilot CLI 中使用自定义代理

GitHub Copilot CLI 非常适合代理驱动的工作,因为它已经可以运行脚本、调用 API 并直接与您的仓库交互。在此处定义代理可以让您进一步定制 Copilot CLI,将执行密集型工作流编码一次,然后从终端调用它。代理将以相同的方式每次执行您的工作流。

要添加新的自定义代理,您需要:

  1. 从 Copilot CLI 调用代理。在终端中运行 Copilot CLI 并使用 /agent 命令。选择您想要使用的自定义代理。
  1. 在目标仓库的 .github/agents 目录中创建代理配置文件。代理配置文件是一个带有 YAML 前端内容的 Markdown 文件,定义了代理的角色、范围、能力和护栏,使其在工作流中行为一致。代理配置文件的扩展名为 .agent.md,例如 accessibility.agent.md

由于代理配置文件是仓库中的一个文件,可以对其进行审查、更新和共享。

可以使用自定义代理自动化的常见工作流

自定义代理的最佳起点是团队已经重复执行的任务,其中许多通常从终端开始,然后在 IDE 和 GitHub 上继续进行。

以下是几个实际场景:

  1. 安全审计代理:跨仓库运行团队的标准安全检查,按严重性总结发现,并输出带有所有者和下一步措施的拉取请求就绪清单。
  1. 基础设施即代码合规代理:对照组织的护栏和策略审查 Terraform 计划和 Kubernetes 清单。突出显示有风险的更改,并生成简洁的审批就绪摘要。
  1. 发布文档代理:收集自上次发布以来的合并拉取请求,进行分类,并以团队风格起草发布说明。更新仓库的 CHANGELOG.md,并包含一个简短的发布清单,包括测试、迁移和回滚说明。

自定义代理使团队能够将重复性任务标准化,减少上下文切换,提高效率。从简单任务开始,逐步构建更复杂的自动化工作流。