Appearance
在 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
- 打开 Copilot Chat
- 在 Agents 下拉菜单中选择 Configure Custom Agents...
- 选择 Create new custom agent
- 选择存放位置(当前工作区 或 用户配置文件)
- 输入文件名(如
test-specialist) - IDE 会生成一个
.agent.md文件,按需编辑
JetBrains IDEs
- 打开 Copilot Chat
- 通过下拉菜单访问 Configure Agents...
- 选择 Workspace,输入文件名
- 编辑生成的
.agent.md文件
Eclipse
- 打开 Copilot Chat
- 进入 Configure Agents... → Add...
- 配置并保存
.agent.md文件
Xcode
- 打开 Copilot Chat
- 点击加号按钮创建 Agent
- 输入文件名,编辑 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 内置工具(如 read、write、search、edit、run_terminal)以及你配置的 MCP 服务器工具名。省略 tools 字段表示允许使用所有可用工具。
Q: 一个 Agent 能引用另一个 Agent 吗?
A: 目前不支持 Agent 链式调用,每个 Agent 独立运行。如果需要多 Agent 协作,可以考虑使用 Copilot SDK 的自定义 Agent 功能实现更复杂的编排。