你有没有遇到过这样的场景:在 Claude Code 里处理一个稍微复杂的任务,没多久主对话的上下文就被大量的文件搜索结果、测试日志、依赖分析给淹没了,真正有用的内容反而越来越难被 Claude "看见"?

这正是Subagents(子代理)要解决的核心问题。
一、什么是 Subagents?
官方的定义很直接:Subagent 是处理特定类型任务的专职 AI 助手。每个 subagent 在自己独立的 context window 中运行,拥有自定义的 system prompt、特定的工具权限和独立的执行环境。当 Claude 遇到与某个 subagent 描述匹配的任务时,它会将工作委托给该 subagent,后者独立完成后只返回结果摘要。
用一句话概括:Subagents 是 Claude Code 里可以被派出去"跑腿"的专职员工,干完活只汇报结论,不把一路上的"废话"带回主会话。
二、三个内置 Subagents
Claude Code 内置了三个 subagent,清楚地展示了这套设计思想:
Explore:只读、默认跑在 Haiku 上,专门负责搜索和理解代码库,不做任何修改。优化目标是速度和成本。
Plan:在计划模式下收集上下文信息,帮助 Claude 在给出策略前充分理解代码结构,同样是只读工具。
General-purpose:处理需要同时探索和修改的复杂多步骤任务,具备全量工具。
这三个内置 agent 会被 Claude 按需自动调用,不需要你主动指名道姓地呼唤它们。除此之外,Claude Code 还有 claude-code-guide(回答 Claude Code 相关问题时调用)和 statusline-setup 等辅助 agent。
三、如何创建自定义 Subagent
文件格式
每个 subagent 是一个 Markdown 文件,顶部用 YAML 做配置声明,下方的正文即为该 agent 的 system prompt。格式如下:
存储位置与优先级
通过 /agents 命令管理
四、关键配置字段解析
name | |
description | |
tools | |
disallowedTools | |
model | sonnetopus / haiku / 完整 model ID / inherit |
permissionMode | default / auto / bypassPermissions 等 |
maxTurns | |
memory | user/ |
background | true,则始终在后台运行 |
isolation | worktree,则在独立 git worktree 中运行,文件互不干扰 |
五、三种核心使用模式
1. 隔离高噪音操作
2. 并行研究
3. 链式调用
六、何时用 Subagent,何时留在主会话
七、实战示例:代码审查专员
You are a senior code reviewer.
When invoked:
1.Run git diff to see recent changes
2.Focus on modified files
3.Begin review immediately
Review checklist:
-No exposed secrets or API keys
-Input validation implemented
-Proper error handling
-No duplicated code
-Performance considerations
Provide feedback organized by priority:
-Critical issues (must fix)
-Warnings (should fix)
-Suggestions (consider improving)
小结
官方文档:code.claude.com/docs/en/sub-agents
相关话题:Agent View(后台多 session 监控)、Agent Teams(实验性多 session 协作)
夜雨聆风