简介
Claude Code 并行任务,指在同一个会话内,同时启动多个独立子任务,并发执行代码分析、文档生成、测试编写等工作,节省等待时间。
并行能力依托子代理(Subagent)实现,多个子代理可以并行运行,互不阻塞。
前置知识:《Agent Skills(智能体技能)》、《Claude Code 子代理》
注意区分
- 并行任务:多个子代理同时执行,各自独立上下文
- 串行任务:按顺序依次执行,上一个任务完成后,才启动下一个
- 技能调用:单任务流程,默认串行执行
并行任务适用场景
✅ 适合并行
- 多文件同时代码评审
- 批量生成多个文件的单元测试
- 同时生成接口文档、变更摘要
- 多维度扫描项目漏洞(前端/后端/SQL)
❌ 不适合并行
- 任务之间存在依赖关系(B任务依赖A任务输出结果)
- 多个子代理同时修改同一个文件(会产生文件冲突)
- 大量并发读写磁盘,容易造成文件锁、覆盖问题
并行任务基础语法
使用 并行执行: 关键字,在同一个请求内定义多个子任务。
并行执行:
任务1:调用技能 code-review,评审 @src/api/user.ts
任务2:调用技能 code-review,评审 @src/api/order.ts
任务3:调用技能 api-docs,apiFile=@src/api/types.ts
完成后合并三份结果输出一份汇总报告。
实例1:并行代码评审 + 文档生成
并行执行:
任务A:调用技能 code-review,评审 @src/utils/validator.ts
任务B:调用技能 vitest-generator,sourceFile=@src/utils/validator.ts
任务C:调用技能 api-docs,apiFile=@src/api/types.ts
全部任务完成后,合并输出一份Markdown汇总报告。
实例2:多子代理并行扫描
提前定义好两个子代理:vuln-scan-agent、git-summary-agent
并行执行:
任务1:调用子代理 vuln-scan-agent,扫描路径=src/,做代码漏洞扫描
任务2:调用子代理 git-summary-agent,读取最近5次提交,生成变更摘要
两个任务独立运行,互不干扰,全部结束后合并两份报告。
并行任务的配置控制
1. 并发数量限制
在项目 settings.json 设置最大并发子代理数量,防止并发过多消耗资源
{
"subagents": {
"maxParallel": 3
}
}
maxParallel:同一时刻最多并行任务数量,默认3,建议不要超过5。
修改配置后执行
/clear生效。
2. 并行任务超时设置
{
"subagents": {
"timeout": 30000
}
}
单位毫秒,超过时间自动终止子任务。
并行任务执行规则
- 所有并行子代理共享项目文件只读权限;写文件操作禁止并行,防止文件冲突。
- 并行任务各自拥有独立上下文,子代理之间默认不互通信息,全部结束后由主代理合并结果。
- 当前会话模式(Manual / Plan / Accept Edits)对所有并行子任务同样生效。
- 任意子任务报错,不会中断其他并行任务,最后汇总时统一输出每个任务成功/失败状态。
并行任务安全最佳实践
- 并行任务只做只读操作:代码评审、文档生成、读取分析;写文件操作改为串行。
- 限制并发数量,不要一次性开启大量子代理,避免资源耗尽。
- 并行任务依旧受
.claude/rules权限管控,子代理不能绕过项目黑名单。 - 并行任务结果一定要人工复核,多份报告合并容易遗漏细节。
并行任务常用斜杠命令
/subagent list # 查看所有子代理,包含正在运行的并行子任务
/abort # 终止全部正在运行的并行子任务
/status # 查看当前会话,并行任务运行状态
串行 vs 并行示例对比
串行(依次执行,耗时叠加)
调用技能 code-review,评审 @src/api/user.ts
调用技能 code-review,评审 @src/api/order.ts
并行(同时执行,耗时取决于最慢任务)
并行执行:
任务1:调用技能 code-review,评审 @src/api/user.ts
任务2:调用技能 code-review,评审 @src/api/order.ts
完成后合并两份评审报告。
常见问题
- 并行任务同时修改同一个文件,出现文件冲突
禁止并行写文件。写文件操作改成串行执行。
- 设置 maxParallel=5,但只能同时跑3个任务
模型侧存在并发上限,会自动排队,不会一次性全部启动。 - 并行子代理之间无法共享中间结果
并行子代理上下文隔离。如果任务之间需要传递数据,改用串行。
安全提示
并行执行多个子代理会增加文件读取、工具调用频次。在生产代码项目,保持 Manual 模式。任何文件修改操作不要使用并行。
0 条笔记