教程

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 实战指南: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教程Claude Code Hooks 完全指南:五大自动化场景、三类 Hook 类型与 JSON 输入输出规范Claude Code Hooks 完整指南:30 秒创建第一个 Hook(/hooks 交互菜单)、五大常用场景(通知/自动格式化/保护文件/压缩后注入上下文/审计配置变更)、六个生命周期事件(PreToolUse/PostToolUse/Notification/PostCompact/SessionStart/Stop)、四类 Hook 类型(Command/Prompt/Agent/HTTP)、JSON 输入输出规范(decision/reason/output/updatedInput)、Matcher 过滤语法,以及五大故障排查方法。2026/3/6教程Claude Code Hooks 实战指南:自动格式化、桌面通知与文件保护Claude Code Hooks 实战指南:5 大场景(桌面通知、自动格式化、文件保护、压缩后注入上下文、配置审计)的完整配置,Hook 输入/输出 JSON 格式,事件类型(PreToolUse/PostToolUse/Notification/PostCompact),以及提示型和 Agent 型 Hook。2026/3/2教程Claude Code Hooks 完全指南:自动化工作流的利器Claude Code Hooks 是在工具执行生命周期特定节点触发自定义脚本的机制。本文涵盖全部 17 种 Hook 事件,配置格式、实战案例(阻止危险命令、自动 lint、任务通知),以及异步 Hook 用法和最佳实践,助你构建强大的自动化工作流。2026/2/27教程Claude Code MCP 完整使用指南:安装配置主流 MCP 服务器扩展 AI 能力Claude Code MCP(Model Context Protocol)完整使用指南:MCP 是什么(AI 工具扩展标准)、claude mcp 命令管理服务器(add/remove/list)、主流 MCP 服务器安装配置(文件系统/GitHub/PostgreSQL/Brave Search/Slack)、本地 stdio 与远程 SSE 两种连接方式、MCP 服务器安全配置、在 CLAUDE.md 中声明 MCP 工具使用规范,以及自定义 MCP 服务器的快速开发入门。2026/3/18教程Claude Code 输出格式控制完全指南:JSON、流式、结构化输出使用方法Claude Code 和 Claude API 输出格式完整控制指南:--output-format 参数(text/json/stream-json)、非交互模式(-p)的输出控制、结构化 JSON 输出(--json-schema 字段约束)、流式输出(Server-Sent Events)的处理方式、include-partial-messages 流式渐进显示、以及 CI/CD 管道中解析 JSON 输出的实用技巧。2026/3/18