type
status
date
slug
summary
tags
category
icon
password
一、总结如何创建和使用子代理:
什么是子代理(Sub-agents)
子代理是 Claude Code 中的专门 AI 助手,可以处理特定类型的任务。它们能够提供特定任务的配置,包括自定义系统提示、工具和独立的上下文窗口,实现更高效的问题解决。
创建子代理的方法
1. 使用 /agents
命令(推荐)
使用
/agents
命令可以通过交互式界面管理子代理,这会列出所有可用的工具,包括任何已连接的 MCP 服务器工具。2. 手动创建子代理文件
子代理是带有 YAML 前置内容的 Markdown 文件,存储在两个位置:
- 项目级子代理:
.claude/agents/
目录(项目特定)
- 用户级子代理:
~/.claude/agents/
目录(全局可用)
当名称冲突时,项目特定的子代理会覆盖全局子代理。
子代理文件格式示例:
在 Claude Code 中使用子代理
自动调用
Claude Code 遇到与子代理专长匹配的任务时,可以自动委托给专门的子代理工作。
手动调用
你也可以在对话中明确请求特定的子代理:
最佳实践
- 从 Claude 生成开始:强烈建议先让 Claude 生成初始子代理,然后根据具体需求进行迭代定制。
- 设计专注的子代理:创建具有单一、明确职责的子代理,而不是试图让一个子代理处理所有任务。
- 工具权限控制:
- 可以省略 tools 字段以继承主线程的所有工具(默认)
- 或指定特定工具列表进行精细控制
- 使用描述性名称和说明:
- 在 description 字段中包含"use PROACTIVELY"或"MUST BE USED"等短语,可以鼓励更主动的子代理使用。
实际应用示例
你可以创建各种专门的子代理:
- code-reviewer: 代码审查专家
- test-runner: 测试运行和修复
- debugger: 调试和错误分析
- database-expert: 数据库和迁移专家
- frontend-developer: 前端开发专家
- security-auditor: 安全审计专家
优势
- 独立的上下文窗口:每个子代理在自己的上下文中运行,避免主对话的上下文污染
- 领域专业知识:每个子代理都有针对其专业领域的定制指令
- 项目间共享:创建后可在不同项目中使用,也可与团队成员共享
- 精细的工具权限:可为不同任务类型配置特定的工具访问权限
这种子代理系统使 Claude Code 能够像管理一个专业团队一样工作,每个成员都有自己的专长领域,大大提高了开发效率和代码质量。
二、怎么使用自定义 agents
根据 Claude Code 的文档,配置 agents 后,你可以通过以下方式使用它们:
1. 通过命令行直接调用
2. 在交互模式中切换
当你运行
claude
进入交互模式后,可以使用:3. Agent 配置示例
你的 agent 配置文件(通常在
~/.claude/agents/
或系统配置目录)应该类似这样:4. 实际使用示例
5. 设置默认 Agent
你也可以在配置文件中设置默认 agent:
如果
/agents
命令已经能显示你的 agents,说明配置路径是正确的。现在你只需要使用上述命令来调用它们即可。需要注意的是,agent 的名称应该与配置文件中定义的名称完全一致(区分大小写)。
如果你遇到具体的使用问题,可以告诉我错误信息,我会帮你进一步排查。你也可以查看官方文档 https://docs.claude.com/en/docs/claude-code 获取更详细的信息。
附:
- 代码审查员 code-reviewer
- 调试器 debugger
- 数据科学家
参考: