Claude Code 支持通过子代理(Sub-Agents)机制同时运行多个任务, 大幅缩短复杂工程任务的完成时间。本文覆盖完整的并行执行实战方案。
为什么要并行执行?
典型场景:你需要对一个新功能同时做:
- 单元测试
- 代码审查(安全/性能/可读性)
- 更新 README 文档
串行执行需要 15 分钟,并行执行只需 5 分钟。
子代理的两种使用方式
方式一:命令行动态定义(临时用)
bash
claude --agents '{
"tester": {
"description": "负责编写和运行单元测试",
"prompt": "你是专业的测试工程师,专注于编写全面的单元测试"
},
"reviewer": {
"description": "负责代码审查",
"prompt": "你是资深代码审查员,关注安全性、性能和可维护性"
},
"doc-writer": {
"description": "负责更新文档",
"prompt": "你负责维护项目文档,保持 README 和注释的准确性"
}
}'然后在会话中让 Claude 并行调度:
你:我刚写完 auth.ts 这个认证模块,请同时:
1. 让 tester 代理写完整的单元测试
2. 让 reviewer 代理做代码审查
3. 让 doc-writer 代理更新 README 的认证部分
方式二:CLAUDE.md 持久化配置(推荐)
在项目根目录的 CLAUDE.md 中定义常用子代理:
markdown
# 项目子代理配置
## 子代理
### tester
描述:专业测试工程师,负责单元测试和集成测试
工具:Read, Write, Bash
职责:
- 分析代码逻辑,找出所有边界条件
- 用 pytest(Python)或 Jest(JS)编写测试
- 确保覆盖率 > 80%
### security-reviewer
描述:安全专家,专注代码安全审查
工具:Read, Bash
职责:
- 检查 SQL 注入、XSS、CSRF 等常见漏洞
- 审查密钥和敏感信息处理
- 验证输入验证和输出编码方式三:独立的 .md 文件(项目级共享)
my-project/
├── .claude/
│ └── agents/
│ ├── tester.md ← 测试代理定义
│ ├── reviewer.md ← 审查代理定义
│ └── doc-writer.md ← 文档代理定义
每个文件的格式:
markdown
---
description: 专业测试工程师
tools: Read, Write, Bash(pytest *), Bash(jest *)
model: claude-haiku-3-5 # 用便宜的模型降低成本
---
你是专业测试工程师。编写测试时:
1. 先阅读源代码理解逻辑
2. 列出所有测试场景(包括边界条件)
3. 编写可直接运行的测试代码
4. 验证测试通过查看已配置的子代理
bash
claude agents
# 输出:
# Configured agents:
# tester (from .claude/agents/tester.md)
# reviewer (from .claude/agents/reviewer.md)
# doc-writer (from CLAUDE.md)实战案例:新功能完整并行流水线
你:我在 src/payment/processor.ts 新增了支付处理模块,
请并行完成以下任务:
任务 A(tester):
- 读取 processor.ts
- 编写完整单元测试到 src/payment/processor.test.ts
- 覆盖正常支付、失败重试、超时三个场景
任务 B(security-reviewer):
- 审查 processor.ts 中的安全风险
- 重点检查:金额计算、并发处理、错误处理
- 输出安全报告到 docs/security/payment-review.md
任务 C(doc-writer):
- 更新 README.md 中的支付模块说明
- 更新 API.md 中新增的接口文档
Claude:好的,我将同时启动三个子代理并行处理...
[tester] 正在分析 processor.ts...
[security-reviewer] 开始安全审查...
[doc-writer] 读取现有文档...
# 3 个任务同时进行,最终耗时约等于最慢任务的时间
并行执行性能对比
| 场景 | 串行执行 | 并行执行 | 节省时间 |
|---|---|---|---|
| 写测试 + 审查 + 文档 | ~15 分钟 | ~5 分钟 | 67% |
| 多文件重构 | ~30 分钟 | ~10 分钟 | 67% |
| 全项目安全审计 | ~60 分钟 | ~20 分钟 | 67% |
防止任务相互干扰
并行任务写入同一文件时可能冲突,建议:
markdown
# CLAUDE.md 中定义任务边界
## 并行任务规则
- 每个子代理只写入自己负责的文件路径
- tester: 只写 *.test.ts 和 *.spec.ts
- reviewer: 只写 docs/reviews/ 目录
- doc-writer: 只写 README.md 和 docs/
- 任何任务不得修改 src/ 中的源码(除非明确被要求)来源:Claude Code 官方文档 - docs.anthropic.com/en/docs/claude-code