Claude Code 多 Agent 编排模式

Claude Code 中三种多 Agent 协作方式的对比:Agent 工具(手动串联)、Workflow(确定性脚本编排)、直接对话中的隐式委派,帮助选择合适的方案。

#tech / ai #type / synthesis #status / growing #resource / claude-code

[!info] related notes

Claude Code 多 Agent 编排模式

范围

这篇笔记讨论 Claude Code 内部可用的多 Agent 协作方式,对比三种机制的适用场景、控制方式和结果质量。

三种机制对比

机制控制方式适用场景结果质量复杂度
直接对话自然语言,主 Agent 自行决定简单任务,单步完成依赖单次能力最低
Agent 工具手动串联,主 Agent 逐个调用需要委派子任务单一视角中等
Workflow确定性脚本编排多维度审查、修复循环、大规模扫描多视角交叉验证最高

1. 直接对话(默认方式)

最基础的方式:主 Agent 自己完成所有工作。

用户 → 主 Agent → 直接操作文件/命令
  • 不涉及 sub-agent
  • 适合简单明确的任务
  • 上下文窗口是唯一限制

2. Agent 工具(手动委派)

主 Agent 通过 Agent 工具启动一个 sub-agent,等待结果后决定下一步。

主 Agent
  ├─ Agent("分析 src/ 目录结构")  → 返回分析结果
  ├─ Agent("根据分析实现功能")    → 返回实现代码
  └─ Agent("审查实现")           → 返回审查意见

特点

  • 每个 Agent 有独立的上下文窗口
  • 主 Agent 决定调用顺序和参数
  • 结果是自然语言文本(除非手动解析)
  • 可以串行也可以并行

局限

  • 编排逻辑依赖主 Agent 的「记忆」和「判断」——可能忘记下一步、遗漏并行机会
  • 没有 schema 校验,结果格式不稳定
  • 没有进度追踪和缓存恢复

适用场景

  • 一次性委派某个子任务(如「帮我搜索所有 TODO」)
  • 不需要循环或复杂控制流的场景

3. Workflow(确定性脚本编排)

用 JavaScript 脚本定义控制流,由 Workflow 引擎执行。详见 Claude Code Workflow

脚本定义:
  Phase 1: Implement  → 1 个 agent 写代码
  Phase 2: Review     → 3 个 agent 并行审查
  Phase 3: Fix        → 循环修复直到通过
  Phase 4: Verify     → 最终确认

核心优势

确定性控制流:循环、条件、计数器、屏障用代码写,不依赖 AI 的「记住要循环三次」。

Schema 校验:强制 agent 输出结构化 JSON,保证 agent 间通信可靠。

并发管理:自动处理队列、并发上限、结果收集。

进度追踪:phase + log 让用户实时看到进展。

缓存恢复:编辑脚本后可以从断点恢复,已完成的 agent 调用不重复执行。

适用场景

  • 实现→审查→修复的循环
  • 多维度并行审查(正确性、安全性、边界情况)
  • 大规模文件扫描/迁移
  • 需要保证质量的任务

选择决策树

任务来了

 ├─ 单步就能完成?
 │   └─ 直接对话,不需要委派

 ├─ 需要委派一个子任务?
 │   └─ Agent 工具,手动串联

 ├─ 需要多维度审查或修复循环?
 │   └─ Workflow,脚本编排

 └─ 大规模并行扫描?
     └─ Workflow + pipeline

Workflow 中的编排模式

Adversarial Verify(对抗性验证)

并行启动多个审查 agent,各自从不同角度审查,默认尝试反驳而非通过。

const reviews = await parallel([
  () => agent('从正确性角度尝试反驳这段代码', { schema: VERDICT }),
  () => agent('从安全性角度尝试反驳这段代码', { schema: VERDICT }),
  () => agent('从边界情况角度尝试反驳这段代码', { schema: VERDICT }),
])
const survives = reviews.filter(v => !v.refuted).length >= 2

Loop-Until-Dry(循环直到无新发现)

let dry = 0
while (dry < 2) {
  const found = await agent('查找 bug', { schema: BUGS })
  if (found.bugs.length === 0) { dry++; continue }
  dry = 0
  // 处理发现的 bug...
}

Pipeline-Verify(流水线验证)

每个文件独立走完 分析→修复→验证 全流程,不互相等待。

const results = await pipeline(
  files,
  f => agent(`分析 ${f}`, { schema: ANALYSIS }),
  (analysis, f) => agent(`修复 ${f}: ${analysis}`, { schema: FIX }),
  (fix, f) => agent(`验证 ${f} 的修复`, { schema: VERDICT }),
)

与其他多 Agent 模式的关系

Claude Code 的 Workflow 属于 Orchestrator-Workers 模式的一种具体实现,但加入了 Evaluator-Optimizer 的评审循环。

和外部框架的对比:

维度Claude Code WorkflowLangGraphCrewAI
控制方式JavaScript 脚本Python 图定义YAML 角色定义
集成方式内置于 Claude Code独立框架独立框架
最适合Claude Code 内的编码任务通用 agent 工作流角色扮演式多 agent
学习成本低(只需写 JS)中(图概念)中(角色抽象)

边界与易混淆点

  • Agent 工具和 Workflow 不是替代关系,而是不同粒度的工具。小任务用 Agent,大任务用 Workflow。
  • Workflow 不是「更高级的 Agent」——它的价值在于确定性控制流,不在于单个 agent 的能力。
  • Workflow 里的每个 agent 都是全新的独立会话,它们之间不能直接通信,只能通过脚本传递结果。
  • 并行不等于快——如果任务之间有依赖,强行并行会导致错误。
创建于 2026/6/27 更新于 2026/6/27