Claude Code
多 Agent 并行
用 Subagent 并行处理任务,像 AI 开发团队一样工作
Claude Code 支持多 Agent 并行架构:主 Agent 派生多个子 Agent(subagent),并行处理独立子任务。
工作原理
主 Agent
├── 子 Agent A — 搜索所有 API 路由
├── 子 Agent B — 分析数据库模型
└── 子 Agent C — 检查测试覆盖率
↓
汇总结果,生成报告每个子 Agent:
- 拥有独立的上下文窗口
- 拥有独立的工具调用能力
- 可以独立读取文件、搜索代码、甚至编辑文件
- 结果返回给主 Agent 汇总
内置 Subagent 类型
| Agent | 模型 | 能力 | 适用场景 |
|---|---|---|---|
| Explore | Haiku(快) | 只读:Glob、Grep、Read | 快速搜索、代码定位 |
| Plan | 继承主模型 | 只读 + 深度分析 | 架构研究、方案规划 |
| General-purpose | 继承主模型 | 完整工具 | 复杂多步任务 |
自动并行
你不需要手动告诉 Claude 使用 subagent。当 Claude 判断有多个独立的子任务时,它会自动并行启动子 Agent。
例如,你说:
帮我分析这个项目的前端架构、后端 API 设计和数据库 schemaClaude 可能会同时启动 3 个 Explore subagent,分别去搜索前端组件、API 路由和数据库模型文件。
手动并行
你也可以明确要求并行处理:
并行做以下事情:
1. 给 src/utils/ 下所有函数添加 JSDoc
2. 修复 src/components/ 下的所有 TypeScript 类型错误
3. 更新 README 的 API 文档Claude 会启动多个 agent 同时工作。
Worktree 隔离
当多个 subagent 需要同时写文件时,Claude Code 使用 Git Worktree 隔离:
主 Worktree (main)
├── Worktree A (agent/feature-a) — Agent A 在这里工作
├── Worktree B (agent/fix-b) — Agent B 在这里工作
└── Worktree C (agent/docs-c) — Agent C 在这里工作每个 worktree:
- 独立的分支和工作目录
- 独立的暂存区
- 修改互不干扰
- 共享
.git对象数据库,磁盘开销小
完成后,主 Agent 可以合并各个 worktree 的变更。
自定义 Subagent
在 .claude/agents/ 目录下创建专门的 agent:
---
name: security-checker
description: 检查代码安全漏洞
model: sonnet
tools:
- Read
- Glob
- Grep
permissionMode: plan
maxTurns: 15
---
你是一个安全审计专家。扫描代码时重点检查:
1. SQL 注入
2. XSS 攻击
3. 硬编码密钥
4. 不安全的依赖
5. 权限控制缺陷
输出格式:
- 严重程度(高/中/低)
- 文件路径和行号
- 问题描述
- 修复建议然后在对话中使用:
用 security-checker agent 扫描整个项目后台 Agent
设置 background: true 让 agent 在后台运行:
---
name: test-watcher
description: 后台持续运行测试
background: true
---
每当有文件变更时,运行相关的测试用例并报告结果。最佳实践
- 独立性 — 确保子任务之间真正独立,否则串行更好
- 粒度适中 — 太细增加开销,太粗无法并行
- 结果验证 — 子 Agent 完成后,主 Agent 应验证结果的一致性
- 合理选型 — 简单搜索用 Explore(Haiku,快且便宜),复杂任务用 General-purpose