所属教程:Claude Code 从入门到大师级完整教程 预计阅读:24 分钟
当任务由大量同构、可独立验证、彼此不强耦合的小单元组成时,串行逐个处理效率低且上下文易污染;批量 fan-out 通过清单驱动与并行隔离提升吞吐。本节讲清两种并行形态、标准组织步骤与适用边界。
| 形态 | 机制 | 隔离特点 |
|---|---|---|
| 会话内子代理 fan-out | 使用 /batch <instruction> 让主会话把变更拆分给多个子代理,通常为 5–30 个,各自在独立工作副本中工作 | 上下文独立、改动互不覆盖、由主会话汇总 |
| 脚本驱动多会话循环 | 先生成任务清单文件,再由脚本对每个单元调用一次非交互 claude -p | 每个调用独立无状态,易控制授权、失败项与重试 |
并行会话还可配合独立工作副本(worktree)使不同改动互不干扰;需要跨会话传递发现时,用文件或指定任务作为交换媒介,而非依赖同一会话历史。
--allowedTools 限定本类任务所需工具、用 --permission-mode dontAsk 收敛越界动作,统一提示模板与验收要求。| 适合批量并行 | 不适合批量并行 |
|---|---|
| 大批量文件的规则化迁移、格式统一、补齐说明文档 | 强耦合、需要全局协调与统一设计的改动 |
| 跨多文件的相似搜索与分析并汇总结论 | 依赖视觉确认、需人工操作界面的功能 |
| 按固定模板生成审查建议、测试草稿 | 架构选型、兼容性风险高的不可逆变更 |
脚本驱动多会话适合单元同构、结果可判定的场景,组织上遵循"清单驱动、模板统一、结果结构化、失败可重试"四原则,不依赖特定脚本框架:
--allowedTools 限定本类任务所需工具,用 --permission-mode dontAsk 拒绝一切待批准动作;只读分析类任务不授予写权限。| 问题 | 处理建议 |
|---|---|
| 哪些任务不该 fan-out | 强耦合、需统一架构决策、依赖界面人工确认或不可逆高风险变更不适合并行批量;这类任务串行推进并由人把关。 |
| 并行单元改到同一文件互相覆盖 | 让各单元在独立工作副本中工作,或按文件归属拆分批次;主汇总阶段统一合并,禁止多个写者直接并发改同一文件。 |
| 批量跑完测试发现格式不统一 | 说明模板缺少统一约束;补充输出格式与命名规则后重跑失败单元,不要手工逐个修补掩盖模板缺陷。 |
| 如何控制批量运行的上下文与时间成本 | 单元尽量短而明确、自带停止条件;按机器并发能力分批;优先只读分析类批量,写操作类批量缩小批次并加强复核。 |
会话内 /batch 与脚本循环如何选择 | 需要多个子代理在独立工作副本并行变更、由主会话汇总时用会话内批量拆分;需要无状态、可重试、结果易聚合的流水线时用脚本循环调用非交互命令。 |
第 10 章完成了非交互调用、流水线自动化与批量 fan-out 的方法、组织思路与 FAQ。第 11 章转向多目录工作、多会话协作与权限治理:如何安全访问工作区之外的目录、协调多个并行实例并把授权边界管清楚。
← 上一节:接入 CI、脚本与定时自动化任务 下一节:多工作目录与 /add-dir 的使用边界 →