自学教程

Claude Code 并行任务

简介

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
  }
}

单位毫秒,超过时间自动终止子任务。

并行任务执行规则

  1. 所有并行子代理共享项目文件只读权限;写文件操作禁止并行,防止文件冲突。
  2. 并行任务各自拥有独立上下文,子代理之间默认不互通信息,全部结束后由主代理合并结果。
  3. 当前会话模式(Manual / Plan / Accept Edits)对所有并行子任务同样生效。
  4. 任意子任务报错,不会中断其他并行任务,最后汇总时统一输出每个任务成功/失败状态。

并行任务安全最佳实践

  1. 并行任务只做只读操作:代码评审、文档生成、读取分析;写文件操作改为串行。
  2. 限制并发数量,不要一次性开启大量子代理,避免资源耗尽。
  3. 并行任务依旧受 .claude/rules 权限管控,子代理不能绕过项目黑名单。
  4. 并行任务结果一定要人工复核,多份报告合并容易遗漏细节。

并行任务常用斜杠命令

/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
完成后合并两份评审报告。

常见问题

  1. 并行任务同时修改同一个文件,出现文件冲突

禁止并行写文件。写文件操作改成串行执行。

  1. 设置 maxParallel=5,但只能同时跑3个任务
    模型侧存在并发上限,会自动排队,不会一次性全部启动。
  2. 并行子代理之间无法共享中间结果
    并行子代理上下文隔离。如果任务之间需要传递数据,改用串行。

安全提示

并行执行多个子代理会增加文件读取、工具调用频次。在生产代码项目,保持 Manual 模式。任何文件修改操作不要使用并行。

0 条笔记