Agent 总上限(单次 run)
1000
最大并发 Agent 数
16
内置 Sub-agent 类型
5
后台嵌套最大深度
5

一个任务、四种并行 Agent 方案:Sub-agents 在单 Session 内委托专用子 Agent;Agent Teams 让多个 Claude 实例互相协作讨论;Dynamic Workflows 用脚本调度数十乃至数百个 Agent;Agent View 提供后台 Session 的统一监控视图。本篇完整拆解四种方案的架构差异、适用场景和关键配置(Sub-agent Frontmatter 全字段 / Fork 上下文继承 / 嵌套派发限制 / Agent Teams Hooks 质量门禁 / ultracode 关键词触发 / Workflow 保存复用),并给出明确的选型决策框架和五条可落地的实践建议。
研究速览
| 方案 | 协调者 | 工作者间通信 | 典型规模 | Token 成本 |
|---|---|---|---|---|
| Sub-agents | Claude(在单个 session 内) | 只向主 Agent 汇报 | 少量专用任务 | 较低,结果压缩返回 |
| Agent Teams | 主 Claude 分配 + 队员自协调 | 队员互相发消息 | 数个并行 session | 较高,每个队员独立实例 |
| Dynamic Workflows | 脚本(Claude 生成的 JS) | 不通信,结果存变量 | 数十至数百个 Agent | 视规模而定,有 1000 个 Agent 上限 |
| Agent View | 你(手动派发并监控) | 不通信 | 按需,随时查看 | 视 session 数量而定 |
| 内置 Agent | 模型 | 工具 | 触发场景 |
|---|---|---|---|
| Explore | Haiku(快速低延迟) | 只读工具 | 需要搜索或理解代码库,不做修改 |
| Plan | 继承主 session | 只读工具 | Plan 模式下收集上下文 |
| General-purpose | 继承主 session | 全部工具 | 需要又探索又修改的复杂多步任务 |
name 和 description 是必填,其余都有默认行为:---
name: code-reviewer # 小写字母和连字符,全局唯一
Expert code reviewer. Use proactively after code changes.
tools: Read, Grep, Glob, Bash # 省略 = 继承主 session 全部工具
disallowedTools: Write, Edit # 黑名单(与 tools 同时设置时,先减后选)
model: sonnet # sonnet / opus / haiku / fable / inherit
permissionMode: acceptEdits # default / acceptEdits / auto / dontAsk / bypassPermissions / plan
maxTurns: 20 # 最多跑几个 agentic turn
skills: # 预加载 Skill,全文注入上下文
- api-conventions
mcpServers: # 给子 Agent 单独配 MCP 服务器
- playwright:
type: stdio
command: npx
args: ["-y", "@playwright/mcp@latest"]
hooks: # 生命周期 Hook,仅在该 Agent 活跃时生效
PreToolUse:
- matcher: "Bash"
hooks:
- type: command
command: "./scripts/validate-command.sh"
memory: project # user / project / local,持久化学习目录
background: false # true = 始终后台运行
effort: high # 覆盖 session 的 effort 级别
isolation: worktree # worktree = 在独立 git worktree 运行
color: cyan # 在任务列表里的显示颜色
initialPrompt: "..." # --agent 启动时自动提交的首个用户消息
---CLAUDE_CODE_SUBAGENT_MODEL 环境变量 → 本次调用传入的 model 参数 → frontmatter 里的 model → 主 session 的 model。disallowedTools 先执行(从继承的工具池里移除),再用 tools 做白名单过滤。一个工具出现在两个字段里,最终被移除。Agent(agent_type) 语法可以精确控制这个 Sub-agent 能派生哪些子 Agent:tools: Agent(worker, researcher), Read, Bashworker 和 researcher 类型。如果省略括号直接写 Agent,则不限类型。如果完全不写 Agent,该子 Agent 就无法再派发下一级。/fork 命令手动触发:/fork draft unit tests for the parser changes so far| 维度 | Fork | 命名 Sub-agent |
|---|---|---|
| 上下文 | 继承完整对话历史 | 只有委托时的任务 prompt |
| System prompt | 与主 session 相同 | 来自定义文件 |
| 权限提示 | 出现在你的终端 | 后台运行时自动拒绝 |
| Prompt cache | 与主 session 共享 | 独立缓存 |
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
| 维度 | Sub-agents | Agent Teams |
|---|---|---|
| 上下文 | 各有独立窗口,结果返回主 Agent | 各有独立窗口,完全独立 |
| 通信 | 只汇报给主 Agent | 队员互相发消息 |
| 协调 | 主 Agent 全权管理 | 共享任务列表,自主认领 |
| 适合场景 | 只需要结果的聚焦任务 | 需要讨论和协作的复杂任务 |
| Token 开销 | 较低 | 较高(每个队员是独立 Claude 实例) |
I'm designing a CLI tool that helps developers track TODO comments
across their codebase. Create an agent team to explore this from
different angles: one teammate on UX, one on technical architecture,
one playing devil's advocate.--teammate-mode in-process 或 tmux 分屏两种显示模式| Hook 事件 | 触发时机 | exit 2 效果 |
|---|---|---|
TeammateIdle | 队员即将进入空闲 | 发反馈,队员继续工作 |
TaskCreated | 任务即将被创建 | 阻止任务创建 |
TaskCompleted | 任务即将被标记完成 | 阻止完成,发反馈要求修改 |
| 维度 | Sub-agents | Skills | Agent Teams | Workflows |
|---|---|---|---|---|
| 计划由谁持有 | Claude,逐轮决定 | Claude,按 prompt 执行 | 主 Agent,逐轮决定 | 脚本 |
| 中间结果存在哪 | Claude 上下文 | Claude 上下文 | 共享任务列表 | 脚本变量 |
| 可复用的单元 | Worker 定义 | 指令 | 团队定义 | 编排脚本本身 |
| 规模 | 每轮几个委托 | 同 Sub-agents | 数个长期运行的 peer | 每次运行数十至数百个 |
| 中断恢复 | 重新开始这一轮 | 重新开始这一轮 | 队员保持运行 | 在同一 session 内可恢复 |
ultracode 关键词(或直接说"use a workflow"):ultracode: audit every API endpoint under src/routes/ for missing auth checks/effort ultracode,让 Claude 对本 session 里的每个实质性任务都自动选用 Workflow。/deep-research,这是 Claude Code 预置的 Workflow,专门用来多角度展开网络搜索、交叉核验来源、最终生成带引用的报告。/workflows 里选中这次运行,按 s 保存:.claude/workflows/:团队共享,随仓库一起入版本控制~/.claude/workflows/:个人全局,仅自己可用/ 命令触发,并通过 args 参数传入不同输入(比如指定不同目标路径)。claude agents
| 状态 | 图标颜色 | 含义 |
|---|---|---|
| Working | 动态动画 | Claude 正在运行工具或生成回复 |
| Needs input | 黄色 | 等待你回答一个问题或做权限决定 |
| Idle | 暗色 | 空闲,等待下一个任务 |
| Completed | 绿色 | 任务成功完成 |
| Failed | 红色 | 任务出错结束 |
| Stopped | 灰色 | 被手动停止 |
✻/✽ 表示进程在运行、可以即时响应;∙ 表示进程已退出,但 attach 后会自动从断点恢复。Space 打开 Peek 面板,查看最新输出或等待的问题,直接回复无需 attach。Enter 或 → 进入完整 session,按 ←(空提示符时)退出回 Agent View。←(空提示符)就能把它发到后台,在 Agent View 里显示为一行。description 字段精确控制委托时机description 来判断什么时候委托。写模糊的"通用工具"不会被精准触发;加上"Use proactively after code changes"这样的触发短语,Claude 就知道在哪个节点该用它。isolation: worktree 隔离可能冲突的文件操作isolation: worktree,每个 Sub-agent 会在独立的 git worktree 里操作,不会互相覆盖。/deep-research 验证 Workflow 的真实效果/deep-research,感受 Workflow 的运行方式、进度视图和结果质量。确认适合你的场景后,再让 Claude 为具体任务生成专用 Workflow,并保存备用。
围绕这条内容继续补充观点或上下文。