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 遇到与子代理专长匹配的任务时,可以自动委托给专门的子代理工作。

手动调用

你也可以在对话中明确请求特定的子代理:

最佳实践

  1. 从 Claude 生成开始:强烈建议先让 Claude 生成初始子代理,然后根据具体需求进行迭代定制。
  1. 设计专注的子代理:创建具有单一、明确职责的子代理,而不是试图让一个子代理处理所有任务。
  1. 工具权限控制
      • 可以省略 tools 字段以继承主线程的所有工具(默认)
      • 或指定特定工具列表进行精细控制
  1. 使用描述性名称和说明
      • 在 description 字段中包含"use PROACTIVELY"或"MUST BE USED"等短语,可以鼓励更主动的子代理使用。

实际应用示例

你可以创建各种专门的子代理:
  • code-reviewer: 代码审查专家
  • test-runner: 测试运行和修复
  • debugger: 调试和错误分析
  • database-expert: 数据库和迁移专家
  • frontend-developer: 前端开发专家
  • security-auditor: 安全审计专家

优势

  1. 独立的上下文窗口:每个子代理在自己的上下文中运行,避免主对话的上下文污染
  1. 领域专业知识:每个子代理都有针对其专业领域的定制指令
  1. 项目间共享:创建后可在不同项目中使用,也可与团队成员共享
  1. 精细的工具权限:可为不同任务类型配置特定的工具访问权限
这种子代理系统使 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 获取更详细的信息。
附:
  1. 代码审查员 code-reviewer
  1. 调试器 debugger
  1. 数据科学家
参考:
  1. 子代理 - Claude Docs