关于自定义代理
自定义代理是 Copilot 代理的专用版本,您可以根据独特的工作流程、编码约定和使用场景进行定制。它们就像定制的团队成员,遵循您的标准,使用合适的工具,并实施团队特定的实践。您只需定义一次这些代理,而无需反复提供相同的指令和上下文。
您使用称为代理配置文件的 Markdown 文件来定义自定义代理。这些文件指定提示、工具和 MCP 服务器。这样可以将您的约定、框架和期望的结果直接编码到 Copilot 中。
代理配置文件定义了自定义代理的行为。当您将代理分配给任务或议题时,会实例化该自定义代理。
除了您自行定义的自定义代理之外,Copilot 还内置了一组预设的自定义代理。请参阅内置代理。
代理配置文件格式
代理配置文件是带有 YAML 前置区块的 Markdown 文件。最简形式下,它们包括以下内容:
- Name(可选):自定义代理的显示名称。如省略,则使用代理文件名作为其标识符和默认显示名称。
- Description:说明代理的用途和功能。
- Prompt:定义代理行为和专长的自定义指令。
- Tools(可选):代理可访问的特定工具。默认情况下,代理可以访问所有可用工具,包括内置工具和 MCP 服务器工具。
代理配置文件还可以使用 mcp-servers 属性包含 MCP 服务器配置。
示例代理配置文件
此示例是一个仅配置了名称、描述和提示的基础代理配置文件。
---
name: readme-creator
description: Agent specializing in creating and improving README files
---
You are a documentation specialist focused on README files. Your scope is limited to README files or other related documentation files only - do not modify or analyze code files.
Focus on the following instructions:
- Create and update README.md files with clear project descriptions
- Structure README sections logically: overview, installation, usage, contributing
- Write scannable content with proper headings and formatting
- Add appropriate badges, links, and navigation elements
- Use relative links (e.g., `docs/CONTRIBUTING.md`) instead of absolute URLs for files within the repository
- Make links descriptive and add alt text to images
可以配置自定义代理的地点
您可以在不同层级定义代理配置文件:
- Repository level:在您的仓库中创建
.github/agents/CUSTOM-AGENT-NAME.md,用于项目特定的代理。 - Organization or enterprise level:在
.github-private仓库中创建/agents/CUSTOM-AGENT-NAME.md,以实现更广泛的可用性。
有关更多信息,请参阅在组织中使用自定义代理的准备工作和在企业中使用自定义代理的准备工作。
内置代理
除了在您提交提示时处理请求的主 Copilot 代理外,Copilot CLI 还包含以下内置代理,主代理可以将其作为子代理运行,以协助常见的开发任务。这些代理针对效率和准确性进行了优化,利用底层语言模型和工具的能力,在各自领域提供高质量的帮助。
Copilot 会根据您的提示和当前上下文自动使用适当的内置代理。例如,提示 How does authentication work in this codebase? 通常会触发 Explore 代理,而使用 /research 斜杠命令则会触发 Research 代理。
-
explore — 一个快速、轻量的代码库探索代理。它使用代码智能、grep、glob、view 和 shell 工具搜索文件并理解代码结构。不会修改任何文件,因此可以与主 Copilot 代理运行的其他子代理并行调用。它对 GitHub MCP 服务器工具拥有只读访问权限。
-
task — 一个命令执行代理,用于运行开发命令(测试、构建、代码检查、格式化、依赖安装)并高效报告结果。成功时返回简要摘要,失败时返回完整输出,以保持主上下文的整洁。它可以访问父代理能够使用的所有工具(除去在子代理上下文中不适用的部分),并拥有相同的权限授予或拒绝。
-
general-purpose — 该代理本质上具备与主 Copilot 代理相同的全部能力。主代理可以将通用代理作为子代理运行,以协助需要独立上下文窗口的任何任务,或在适当时并行运行。
-
code-review — 以极高的信噪比审查代码更改。该代理分析已暂存/未暂存的更改以及分支差异,仅呈现真正重要的问题:错误、漏洞、竞态条件、内存泄漏和逻辑错误。它永不评论代码风格或格式,也不会修改文件。
-
research — 该代理相当于一名资深软件工程师兼研究专家。它提供关于代码库、API、库和软件架构的详尽、细致的答案。它使用 GitHub 搜索/探索工具、网络抓取/搜索以及本地工具。与其他代理不同,research 代理只能通过使用
/research斜杠命令来调用,不能被主代理自动触发。
将代理作为子代理运行
使用您自行定义的自定义代理或内置代理的其中一个好处是,主 Copilot 代理可以将它们作为子代理在独立的上下文窗口中运行。这意味着您的自定义代理或内置代理可以专注于特定的子任务,而不会弄乱主代理的上下文窗口。
在适当的情况下,子代理执行的任务可以并行运行,从而更快完成整体任务。
有关更多信息,请参阅比较 GitHub Copilot CLI 定制功能。
后续步骤
要创建您自己的自定义代理,请参阅