🐾LuoLuo Wiki
Claude Code

多 Agent 并行

用 Subagent 并行处理任务,像 AI 开发团队一样工作

Claude Code 支持多 Agent 并行架构:主 Agent 派生多个子 Agent(subagent),并行处理独立子任务。

工作原理

主 Agent
├── 子 Agent A — 搜索所有 API 路由
├── 子 Agent B — 分析数据库模型
└── 子 Agent C — 检查测试覆盖率

    汇总结果,生成报告

每个子 Agent:

  • 拥有独立的上下文窗口
  • 拥有独立的工具调用能力
  • 可以独立读取文件、搜索代码、甚至编辑文件
  • 结果返回给主 Agent 汇总

内置 Subagent 类型

Agent模型能力适用场景
ExploreHaiku(快)只读:Glob、Grep、Read快速搜索、代码定位
Plan继承主模型只读 + 深度分析架构研究、方案规划
General-purpose继承主模型完整工具复杂多步任务

自动并行

你不需要手动告诉 Claude 使用 subagent。当 Claude 判断有多个独立的子任务时,它会自动并行启动子 Agent。

例如,你说:

帮我分析这个项目的前端架构、后端 API 设计和数据库 schema

Claude 可能会同时启动 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
---

每当有文件变更时,运行相关的测试用例并报告结果。

最佳实践

  1. 独立性 — 确保子任务之间真正独立,否则串行更好
  2. 粒度适中 — 太细增加开销,太粗无法并行
  3. 结果验证 — 子 Agent 完成后,主 Agent 应验证结果的一致性
  4. 合理选型 — 简单搜索用 Explore(Haiku,快且便宜),复杂任务用 General-purpose

On this page