Skip to main content

为Copilot云代理创建自定义代理

可以为特定开发任务创建具有定制专业知识的专用代理。

谁可以使用此功能?

Copilot云代理可用于GitHub Copilot Pro、GitHub Copilot Pro+、GitHub Copilot业务和GitHub Copilot Enterprise计划。 代理在所有存储于GitHub的存储库中可用,除非这些存储库由托管用户帐户拥有或已被显式禁用。
Sign up for Copilot

          自定义智能体 使你能够为特定任务定制 Copilot 的专业知识。 有关自定义代理的概念性概述,请参阅[AUTOTITLE](/copilot/concepts/agents/cloud-agent/about-custom-agents)。

注意

自定义智能体 位于适用于 JetBrains IDE、Eclipse 和 Xcode 的 公共预览版 中,并且可能会更改。

在自定义智能体存储库中创建个人资料GitHub

  1. 导航到 https://github.com/copilot/agents 的“代理”选项卡。

  2. 使用提示框中的下拉菜单,选择要创建自定义智能体配置文件的存储库。

    注意

    组织和企业所有者可以在他们的组织或企业的存储库中创建组织和企业级的自定义代理.github-private,这些将在其组织或企业内的所有存储库中可用。 有关详细信息,请参阅 准备在企业中使用自定义代理准备在组织中使用自定义代理

  3. (可选)选择要在其中创建的 代理资料 分支。 默认分支是主分支。

  4. 单击 ,然后单击“ 创建代理”。 这将在目标存储库的my-agent.agent.md目录中打开名为.github/agents的模板代理配置文件。

  5. 如果要创建组织或企业级 自定义智能体,请删除 .github/ 文件路径的一部分,将模板移动到根 agents 目录。

  6. 编辑文件名(之前 .agent.md的文本),选择用于标识代理用途的唯一描述性名称。 请注意,文件名只能包含以下字符:.、、-_``a-zA-Z``0-9

  7.        代理资料配置名称、说明、工具和提示。 更多有关 代理资料 可包含内容的信息,请参阅 [配置 代理资料](#configuring-an-agent-profile)。
    
  8. 将文件提交到存储库,并将其合并到默认分支中。 返回到“代理”选项卡,并根据需要刷新页面。 单击提示框中的自定义智能体时,您的将显示在下拉列表中。

在自定义智能体中创建Visual Studio Code配置文件

  1. 在 GitHub Copilot 对话助手 中打开 Visual Studio Code。
  2. 在聊天视图底部的“代理”下拉列表中,单击“ 配置自定义代理...”,然后单击“ 新建 自定义智能体”。
  3. 选择应创建 代理资料 的位置: * 工作区:在自定义智能体.github/agents工作区的文件夹中创建配置文件,使其仅在该工作区中使用。 * 用户配置文件:在 自定义智能体 当前用户配置文件文件夹中创建配置文件,以在所有工作区中使用它。
  4. 输入 . 自定义智能体的文件名。 这是代理下拉列表中显示的默认名称。
  5. 在新创建的 代理资料 文件中进行 .agent.md 配置,包括说明、工具和提示。 更多有关 代理资料 可包含内容的信息,请参阅 配置 代理资料
    • 可以使用编辑器中的“ 配置工具...” 按钮打开“配置工具”对话框,可在其中查看和选择可用工具,包括 MCP 服务器的内置工具和工具。 单击 “确定”将所选工具添加到 。代理资料
    • 若要设置代理使用的 AI 模型,请添加属性 model: 并从“自动完成”下拉列表中选择首选模型。

若要更新 代理资料,请从下拉列表中选择“ 配置自定义代理”,然后单击列表中的代理以对其进行修改。 有关自定义代理的详细信息,请参阅VS Code中的自定义智能体。

          自定义智能体在 JetBrains IDE 中创建配置文件
  1. 在你的 JetBrains IDE 中打开 GitHub Copilot 对话助手 窗口。
  2. 在聊天视图底部的代理下拉列表中,单击“ 配置代理...”,然后在设置窗口中的“聊天代理”下,单击“ 工作区”。
  3. 输入 . 自定义智能体的文件名。 这是代理下拉列表中显示的默认名称。
  4. 在 代理资料 目录中新建的 .agent.md 文件中配置 .github/agents,包括说明、工具和提示。 更多有关 代理资料 可包含内容的信息,请参阅 配置 代理资料
    • 可以使用编辑器中的 “配置工具...” 按钮打开工具对话框,可在其中查看和选择可用工具,包括 MCP 服务器的内置工具和工具。 单击 “应用” 将所选工具添加到 。代理资料
    • 若要设置代理使用的 AI 模型,请添加属性 model: 并从“自动完成”下拉列表中选择首选模型。

在更新 代理资料 时,请从代理下拉列表中选择“配置自定义代理”,然后单击要修改的代理旁的

在 Eclipse 中创建 自定义智能体 配置文件

  1. 请在 Eclipse 中打开GitHub Copilot 对话助手窗口。
  2. 在聊天视图底部的“代理”下拉列表中,单击“ 配置代理...”,然后单击“ 添加...”
  3. 输入 . 自定义智能体的文件名。 这是代理下拉列表中显示的默认名称。
  4. 在 代理资料 目录中新建的 .agent.md 文件中配置 .github/agents,包括说明、工具和提示。 更多有关 代理资料 可包含内容的信息,请参阅 配置 代理资料
    • 可以使用编辑器中的“ 配置工具...” 按钮打开“配置工具”对话框,可在其中查看和选择可用工具,包括 MCP 服务器的内置工具和工具。 单击 “应用” 将所选工具添加到 。代理资料
    • 若要设置代理使用的 AI 模型,请添加属性 model: 并从“自动完成”下拉列表中选择首选模型。

若要更新 代理资料,请从“代理”下拉列表中选择“ 配置代理...” ,然后选择要修改的代理,然后单击“ 编辑”。

在 Xcode 中创建自定义智能体配置文件

  1. 在 Xcode 中打开 GitHub Copilot 对话助手 窗口。
  2. 在聊天视图底部的“代理”下拉列表中,单击“ 创建代理”。
  3. 输入 . 自定义智能体的文件名。 这是代理下拉列表中显示的默认名称。
  4. 在 代理资料 目录中新建的 .agent.md 文件中配置 .github/agents,包括说明、工具和提示。 更多有关 代理资料 可包含内容的信息,请参阅 配置 代理资料
    • 可以使用文件编辑器中的 “自定义代理 ”按钮打开一个对话框,可以在其中选择要使用的代理的 AI 模型、选择可用工具(包括内置和 MCP 服务器工具),以及配置 handoffs 属性以便在两者之间 自定义代理转换。 单击“应用”将所选选项添加到代理资料。

要更新 代理资料,请从代理下拉列表中点击要修改的代理旁边的铅笔图标。

配置 代理资料

          代理资料是一个带有 YAML frontmatter 的 Markdown 文件,自定义智能体用于指定名称、说明、可用工具和 MCP 服务器配置。 配置涉及 代理资料 定义代理的标识、功能、工具访问和行为说明。

有关 YAML 属性、工具、MCP 服务器设置、工具别名以及如何 自定义代理 处理的详细配置信息,请参阅 自定义代理配置

若要配置代理资料:

  1. 可选择为你的 name 编写一个 自定义智能体。 如果未设置,则名称将默认为文件名(不含 .md.agent.md 后缀)。
  2. 编写简短 description 的(必需)描述代理的作用以及其特定功能或领域专业知识。
  3. 在属性中 tools ,定义代理可以使用哪些工具。 这是一个工具名称或别名的列表,包括在存储库设置或代理资料中配置的MCP服务器工具(例如,tools: ["read", "edit", "search", "some-mcp-server/tool-1"])。 如果省略此属性,代理将有权访问所有可用的工具。 请参阅 自定义代理配置 中的“工具”。
  4. (可选)在属性中 mcp-servers ,可以配置仅可用于此代理的 MCP 服务器以扩展其功能。 请参阅 自定义代理配置 中的“MCP 服务器配置详细信息”。
  5. 如果要创建和使用 代理资料 In VS Code、JetBrains IDE、Eclipse 或 Xcode,还可以使用该 model 属性来控制代理应使用的 AI 模型。
  6. (可选)将 target 属性设置为 vscodegithub-copilot,以便仅在特定环境中使用该代理。 如果省略属性,则代理将在两个环境中都可用。
  7. 编写代理的指令。 在 YAML frontmatter 下方的 Markdown 内容中定义代理的行为、专业知识和说明。 提示最多可以包含 30,000 个字符。

示例 代理资料

以下示例演示 代理资料 在进行编写测试或规划项目实施这些常见任务时可能呈现的样子。 有关其他灵感,请参阅自定义库中 的 自定义智能体 示例。 还可以在 awesome-copilot 社区集合中找到更具体的示例。

测试专家

此示例通过省略 tools 属性来启用所有工具。

Text
---
name: test-specialist
description: Focuses on test coverage, quality, and testing best practices without modifying production code
---

You are a testing specialist focused on improving code quality through comprehensive testing. Your responsibilities:

- Analyze existing tests and identify coverage gaps
- Write unit tests, integration tests, and end-to-end tests following best practices
- Review test quality and suggest improvements for maintainability
- Ensure tests are isolated, deterministic, and well-documented
- Focus only on test files and avoid modifying production code unless specifically requested

Always include clear test descriptions and use appropriate testing patterns for the language and framework.

实现规划器

此示例仅启用一部分工具。

Text
---
name: implementation-planner
description: Creates detailed implementation plans and technical specifications in markdown format
tools: ["read", "search", "edit"]
---

You are a technical planning specialist focused on creating comprehensive implementation plans. Your responsibilities:

- Analyze requirements and break them down into actionable tasks
- Create detailed technical specifications and architecture documentation
- Generate implementation plans with clear steps, dependencies, and timelines
- Document API designs, data models, and system interactions
- Create markdown files with structured plans that development teams can follow

Always structure your plans with clear headings, task breakdowns, and acceptance criteria. Include considerations for testing, deployment, and potential risks. Focus on creating thorough documentation rather than implementing code.

使用 自定义代理

创建一个 自定义智能体 后,可以在 Copilot云代理 可用的位置使用它。

  • 在Copilot云代理上为GitHub.com分配任务时,请使用“代理”面板或“代理”选项卡中的下拉菜单选择自定义智能体,而非默认云代理。
  • 在为问题分配 Copilot云代理 时,您可以从下拉菜单中选择您的 自定义智能体 以使用您的专用配置处理该问题。
  • 使用GitHub Copilot CLI时,可以选择使用自定义智能体斜杠命令或使用命令提示符或命令行参数引用代理来使用特定/agent。 有关详细信息,请参阅“使用 GitHub Copilot CLI”。

当Copilot打开拉取请求时,它将在拉取请求描述中注明使用了哪一个自定义智能体来完成该工作。

有关使用 Copilot云代理 的详细信息,请参阅“要求GitHub Copilot创建拉取请求”。

在IDE中使用自定义代理

还可以直接在受支持的 IDE 中使用自定义 代理资料 ,包括 Visual Studio CodeJetBrains IDE、Eclipse 和 Xcode。 可以在“聊天”窗口中使用代理下拉列表进行 自定义代理 切换,以便访问不同任务的专用配置,例如规划、代码编辑或研究。

请注意,某些属性在 GitHub.com 和 IDE 环境中可能会以不同的方式工作或被忽略。 有关支持的属性的详细信息,请参阅 自定义代理配置

有关自定义代理VS Code的更多信息,请参阅自定义智能体文档中VS Code的一部分

后续步骤