教程

Claude Code Subagents 完整创建指南:内置 Agent、Frontmatter 字段、持久记忆与 Hooks 配置

Claude Code Subagents 完整创建指南:内置 4 类 Subagent(Explore Haiku 只读/Plan 只读/General-purpose 全工具/Bash-statusline-Guide helper)、/agents 交互界面 7 步创建流程、四种存储位置(CLI --agents 当前会话/项目级/用户级/插件级)及优先级、Subagent 文件 Markdown+Frontmatter 格式、9 个 Frontmatter 字段(name/description 最重要/model/tools/disallowedTools/permissionMode/skills/hooks/maxTurns/memory/allowedAgents/color)、工具白黑名单配置、allowedAgents 限制可 spawn、持久记忆(memory: true/自定义路径/前 200 行加载)、两种 Hooks 配置方式(Frontmatter 内联/settings.json SubagentStart/SubagentStop)、前台后台运行(Ctrl+B/tasks),以及 4 个直接可用示例(code-reviewer/debugger/data-scientist/db-validator)。

2026/3/96分钟 阅读ClaudeEagle

Subagents 是在独立上下文窗口中运行的专用 AI 助手——拥有自定义系统提示词、特定工具访问权限和独立权限。Claude 根据任务匹配 Subagent 的描述自动委派。

内置 Subagent

Claude Code 包含 4 类内置 Subagent,自动按需使用:

Explore(代码库探索)

  • 模型:Haiku(快速低延迟)
  • 工具:只读(禁止 Write/Edit)
  • 触发时机:Claude 需要搜索或理解代码库时自动委派,保持探索结果独立于主对话
  • 调用时指定详细度quick(针对性查找)/ medium(平衡)/ very thorough(全面分析)

Plan(规划)

  • 模型:继承主对话
  • 工具:只读(禁止 Write/Edit)
  • 触发时机:Plan 模式下 Claude 研究代码库准备计划时使用

General-purpose(通用)

  • 模型:继承主对话
  • 工具:全部工具
  • 触发时机:需要探索+修改的复杂任务;多步骤依赖操作

其他内置 Helper Agent

Agent模型用途
Bash继承在独立上下文运行终端命令
statusline-setupSonnet运行 /statusline 时配置状态栏
Claude Code GuideHaiku回答 Claude Code 功能问题

快速创建 Subagent(/agents 命令)

/agents

交互界面功能:

  • 查���所有 Subagent(内置/用户/项目/插件)
  • 向导式或让 Claude 生成创建新 Subagent
  • 编辑配置和工具访问
  • 删除自定义 Subagent
  • 查看哪些 Subagent 被高优先级版本覆盖

7 步创建流程/agents → 创建新 Agent → 选择 User-level → Generate with Claude → 描述 Agent → 选工具 → 选模型 → 选颜色 → 保存(无需重启即时可用)

四种存储位置

位置作用范围优先级创建方式
--agents CLI 标志当前会话1(最高)启动时传入 JSON
.claude/agents/当前项目2交互式或手动
~/.claude/agents/所有项目3交互式或手动
插件 agents/ 目录插件启用的项目4(最低)随插件安装

同名 Subagent 高优先级覆盖低优先级。

Subagent 文件格式

markdown
---
name: code-reviewer
description: 代码审查专家。代码修改后主动使用,关注质量、安全和性能。
model: sonnet
tools:
  - Read
  - Grep
  - Glob
  - Bash
permissionMode: default
---

你是高级代码审查员,专注:

## 审查重点
1. **代码质量**:命名、可读性、单一职责原则
2. **安全性**:SQL 注入、XSS、不安全的反序列化
3. **性能**:N+1 查询、不必要的计算、内存泄漏
4. **测试覆盖**:边界情况、错误处理

## 输出格式

每个问题:
- **位置**:文件和行号
- **问题**:具体描述
- **当前代码**:有问题的片段
- **改进建议**:更好的实现
- **严重性**:Critical / High / Medium / Low

Frontmatter 完整字段参考

字段类型说明
namestringSubagent 标识符(覆盖文件名)
descriptionstring最重要:Claude 根据此判断何时委派
modelstringhaiku/sonnet/opus/inherit(默认 inherit)
toolslist可用工具(省略则继承全部)
disallowedToolslist明确禁止的工具
permissionModestringdefault/acceptEdits/plan/bypassPermissions
skillslist预加载到 Subagent 上下文的 Skill 名称
mcpServersobjectSubagent 专用 MCP 服务器配置
hooksobject此 Subagent 的 Hooks(见下文)
maxTurnsnumber最大 Agent 轮次
memorybool/object持久记忆配置(见下文)
allowedAgentslist可 spawn 的子 Subagent 名称列表
colorstringUI 颜色标识(如 purple

description 是关键

Claude 根据 description 决定是否委派任务给该 Subagent。写好 description 是让自定义 Subagent 被正确使用的最重要步骤:

yaml
# 好的 description
description: |
  Expert code reviewer specializing in security and performance.
  Use proactively after any code changes, when reviewing PRs,
  or when asked about code quality issues.

# 不好的 description
description: Reviews code

可用工具列表

工具组包含工具
Read-only toolsRead、Glob、Grep、LS、WebFetch(只读)
常用工具Bash、Edit、Write、Read、Glob、Grep、LS、WebFetch、TodoRead、TodoWrite
MCP 工具mcp__<server>__<tool> 格式
Agent 工具Agent(<agent-name>) 格式

tools 指定白名单,用 disallowedTools 明确黑名单。两者可同时使用(黑名单优先)。

限制可 spawn 的 Subagent

yaml
---
allowedAgents:
  - code-reviewer
  - debugger
---

不指定 allowedAgents 时,Subagent 可 spawn 任何 Subagent(但 Subagent 不能 spawn 另一个 Subagent 的 Subagent,最多一层嵌套)。

持久记忆(Persistent Memory)

启用后,Subagent 在会话间保留学习内容:

yaml
---
memory: true
---

高级配置:

yaml
---
memory:
  enabled: true
  path: ~/.claude/memory/code-reviewer.md   # 自定义存储路径
---

记忆文件的前 200 行在每次会话开始时加载到 Subagent 上下文。

Hooks 配置

方式一:在 Frontmatter 中定义(Subagent 专属)

yaml
---
hooks:
  PreToolUse:
    - matcher: "Bash"
      hooks:
        - type: command
          command: "echo 'Subagent running bash: ' $(jq -r .tool_input.command)"
---

方式二:在 settings.json 中使用 SubagentStart/SubagentStop 事件

json
{
  "hooks": {
    "SubagentStart": [
      {
        "matcher": "code-reviewer",
        "hooks": [{ "type": "command", "command": "echo 'Code reviewer started' >> /tmp/agents.log" }]
      }
    ],
    "SubagentStop": [
      {
        "matcher": "code-reviewer",
        "hooks": [{ "type": "command", "command": "echo 'Code reviewer done' >> /tmp/agents.log" }]
      }
    ]
  }
}

后台与前台运行

  • 前台:Subagent 运行时,主会话显示进度(可中断)
  • 后台Ctrl+B):将当前 Subagent 移到后台,主会话立即可用;用 /tasksCtrl+T 查看后台 Subagent

4 个示例 Subagent(直接可用)

Code Reviewer

yaml
---
name: code-reviewer
description: Expert code reviewer. Use proactively after code changes.
model: sonnet
tools: [Read, Grep, Glob, Bash]
---
你是高级代码审查员,专注代码质量、安全性和最佳实践...

Debugger

yaml
---
name: debugger
description: Debugging specialist for errors and test failures. Use when debugging issues.
model: sonnet
tools: [Read, Bash, Grep, Glob, Edit]
---
你是调试专家,分析错误日志、追踪根因并提供修复建议...

Data Scientist

yaml
---
name: data-scientist
description: Data analysis and visualization expert.
model: opus
tools: [Read, Bash, Write]
---
你是数据科学家,擅长数据分析、统计和可视化...

Database Validator

yaml
---
name: db-validator
description: Validates SQL queries for performance and security issues.
model: haiku
tools: [Read, Bash]
---
你是数据库专家,专注 SQL 查询性能优化和安全审计...

原文:Create custom subagents - Claude Code Docs | 来源:Anthropic 官方文档

相关文章推荐

教程Claude Code Hooks 完全实战指南:自动化你的编码工作流Claude Code Hooks 完整实战指南:6 种 Hook 事件类型(PreToolUse/PostToolUse/PreCompact/PermissionDenied/Stop/SubagentStop);8 个完整配置示例(文件修改后自动 lint+格式化/TypeScript 类型检查/git commit 前强制测试/危险命令阻断/Auto Mode 拒绝通知/MCP 工具调用/PreCompact 快照/条件 hooks);Hook 脚本环境变量说明;以及 5 个最佳实践(|| true 防误报/输出简洁/脚本快速/exit 1 明确阻断/逻辑放独立脚本)。2026/5/6教程Claude Code Hooks 深度实战:5 个真实案例教你用自动化消灭重复工作Claude Code Hooks 完整实战指南:配置文件结构(.claude/hooks/)、四种触发时机(post_write/pre_commit/session_start/session_end),以及 5 个完整案例:自动 Lint+格式化、修改后运行相关测试、TypeScript 类型检查、提交前安全扫描、Session 开始加载工作状态。含 on_error 策略选择。2026/4/22教程Claude Code Subagents 完全指南:用 Task 工具实现并行 AI 开发的核心技法Claude Code Subagents 完整教程:独立上下文窗口、Task 工具机制、并行研究模式、7 任务并行新功能实现、多版本对比开发、自定义 Subagent 配置(.claude/agents/),以及与 CLAUDE.md/Skills/Slash Commands 的使用边界对比。2026/4/19教程Claude Code Hooks 完全指南:用确定性脚本守护每次代码变更的自动化护栏Claude Code Hooks 完整教程:与 CLAUDE.md 规则的本质区别(每次都执行 vs 建议性)、四种 Hook 类型(PreToolUse/PostToolUse/Stop/Notification)、自动 lint、测试自动运行、阻止危险操作、任务完成通知,以及前端项目完整 Hooks 配置示例。2026/4/18教程Claude Code 插件系统完全指南:创建、分发和管理自定义插件Claude Code 插件系统完全指南:创建自定义 Skills、Agents、Hooks,支持团队共享和 Marketplace 分发。含完整目录结构、组件详解和开发技巧。2026/4/7教程Claude Code Hooks 实战指南:5 大自动化场景、三种 Hook 类型与故障排查Claude Code Hooks 实战指南:/hooks 交互菜单四步创建桌面通知 Hook、5 大常用自动化场景(等待通知/编辑后 Prettier 格式化/退出码 2 阻止受保护文件/PostCompact 重注入上下文/ConfigChange 审计日志)、四种 Hook 类型(command/prompt-based/agent-based/HTTP Webhook)、输入/输出机制(stdin JSON/stdout 注入上下文/退出码 0 继续/2 阻止/非零警告)、结构化 JSON 输出、Matcher 过滤器语法(Edit|Write/Bash(git *)/*/空字符串)、四级存储位置,以及五大故障排查方法和调试技巧。2026/3/8