Skip to content

在 IDE 中通过 Copilot Chat 的 Agents 下拉菜单选择"Configure Custom Agents"即可创建自定义 Agent。配置文件为 .agent.md,用 YAML frontmatter 设置名称、描述、工具列表和模型,正文写 Agent 的行为提示(最多 30,000 字符)。创建后可在 IDE 和 Copilot CLI 中直接使用。

在 IDE 中创建 Copilot 自定义 Agent:测试专家和规划师的配置示例

此功能目前在 JetBrains IDEs、Eclipse、Xcode 和 VS Code 中处于公开预览阶段。

在各 IDE 中创建 Agent

VS Code

  1. 打开 Copilot Chat
  2. 在 Agents 下拉菜单中选择 Configure Custom Agents...
  3. 选择 Create new custom agent
  4. 选择存放位置(当前工作区 或 用户配置文件)
  5. 输入文件名(如 test-specialist
  6. IDE 会生成一个 .agent.md 文件,按需编辑

JetBrains IDEs

  1. 打开 Copilot Chat
  2. 通过下拉菜单访问 Configure Agents...
  3. 选择 Workspace,输入文件名
  4. 编辑生成的 .agent.md 文件

Eclipse

  1. 打开 Copilot Chat
  2. 进入 Configure Agents...Add...
  3. 配置并保存 .agent.md 文件

Xcode

  1. 打开 Copilot Chat
  2. 点击加号按钮创建 Agent
  3. 输入文件名,编辑 Agent 设置

Agent 配置文件格式

markdown
---
name: agent-name          # 可选,Agent 的唯一标识
description: 解释 Agent 做什么以及适用场景
tools: ["read", "search"] # 省略则使用所有可用工具
mcp-servers: []           # 此 Agent 专用的 MCP 服务器
model: claude-sonnet-4-5  # 可选,覆盖默认模型
target: vscode            # 可选,限制在特定 IDE 使用
---

这里写 Agent 的行为提示,最多 30,000 字符。
告诉 Agent 它的专业领域、应该遵守的规范、不应该做什么。

完整示例

测试专家(不修改生产代码)

markdown
---
name: test-specialist
description: 专注于测试覆盖率、质量和测试最佳实践,不修改生产代码
---
你是一个测试专家,专注于通过全面的测试来提高代码质量。

你的职责:
- 分析现有代码,识别测试覆盖不足的区域
- 为新功能编写单元测试和集成测试
- 建议更好的测试策略和测试组织方式

你的约束:
- 不修改生产代码(src 目录外的文件可以修改)
- 优先使用项目已有的测试框架(Vitest/Jest/pytest 等)
- 每个测试应该只测试一件事,有清晰的 AAA 结构(Arrange-Act-Assert)

实现规划师(只输出规划文档)

markdown
---
name: implementation-planner
description: 创建详细的实现计划和技术规格文档
tools: ["read", "search", "edit"]
---
你是一个技术规划专家,专注于创建详细的实现计划。

任务收到后,你会:
1. 先读取相关代码,理解现有架构
2. 用搜索找到相关模式和约定
3. 输出一份 Markdown 格式的实现计划,包含:
   - 技术方案选型和理由
   - 受影响的文件和改动范围
   - 实现步骤(按顺序)
   - 潜在风险和缓解措施

你不会直接写实现代码,只输出规划文档。

Agent 存放位置

位置适用范围
仓库 .github/agents/该仓库的所有协作者
用户配置文件只有你自己,跨项目可用

使用自定义 Agent

创建后,在 Copilot Chat 的 Agents 下拉菜单中选择你的 Agent,或在 Copilot CLI 中使用:

bash
copilot chat --agent test-specialist "为 UserService 添加测试"

常见问题

Q: .agent.md.github/copilot-instructions.md 有什么区别?

A: copilot-instructions.md 是全局系统提示,对所有 Copilot 对话生效;.agent.md 是可选调用的专用 Agent,只有明确选择时才激活。两者可以同时使用,copilot-instructions.md 设置项目全局规范,Agent 文件实现专项能力。

Q: 自定义 Agent 的 tools 字段可以写哪些工具名?

A: 可以写 Copilot 内置工具(如 readwritesearcheditrun_terminal)以及你配置的 MCP 服务器工具名。省略 tools 字段表示允许使用所有可用工具。

Q: 一个 Agent 能引用另一个 Agent 吗?

A: 目前不支持 Agent 链式调用,每个 Agent 独立运行。如果需要多 Agent 协作,可以考虑使用 Copilot SDK 的自定义 Agent 功能实现更复杂的编排。