Claude Code 动态工作流:10-100 个并行子 Agent 的工程革命
Anthropic 推出 Claude Code 动态工作流,单个会话运行数十到数百个并行子 Agent,自动验证后再交付。Bun 从 Zig 移植到 Rust 仅用 11 天,75 万行代码,99.8% 测试通过率。
开篇:从季度规划到几天完成的范式转移
2026 年 5 月,Anthropic 推出了 Claude Code 的一个重大更新:动态工作流(Dynamic Workflows)。
这不是一个简单的功能更新,而是 Agent 架构的范式转移:
原本你按季度规划的工作,现在可以在几天内完成。
核心能力一句话概括:
Claude 会动态编写编排脚本,在单个会话中运行数十到数百个并行子 Agent,在结果到达你之前对工作进行验证。
第一层:理解动态工作流的核心机制
1.1 单 Agent 的极限
有些问题对于单个 Agent 的单次处理来说太庞大了,尤其是在复杂的遗留代码库中:
- 在整个服务范围内进行 bug 搜索:需要扫描数千个文件,追踪依赖链
- 触及数百个文件的迁移工作:API 底弃、框架替换、语言移植
- 需要从各个角度压力测试的方案:安全审计、性能优化、兼容性检查
单个 Agent 面对这些任务时,要么超时、要么出错、要么陷入无限循环。核心问题是:
Agent 的上下文窗口有限,处理复杂度有限,无法同时处理”全局视角”和”局部细节”。
1.2 动态工作流的突破
动态工作流的突破在于:把任务分解成子任务,扇出到并行子 Agent,结果验证后再合并。
用户请求
↓
Claude 动态规划(生成编排脚本)
↓
任务分解 → 子任务列表
↓
扇出到并行子 Agent(10-100 个)
├─ Agent 1: 处理子任务 A
├─ Agent 2: 处理子任务 B
├─ Agent 3: 处理子任务 C
├─ ...
├─ Agent N: 处理子任务 N
↓
结果验证(独立验证 + 对抗性验证)
↓
答案收敛 → 单一协调一致的答案
↓
交付给用户
1.3 核心特性
| 特性 | 说明 |
|---|---|
| 动态规划 | Claude 根据你的提示自动生成编排脚本,不是预定义模板 |
| 并行扇出 | 子任务并行运行,不阻塞主会话 |
| 自动验证 | 结果在合并前经过独立验证,确保真实问题 |
| 对抗性验证 | 其他 Agent 尝试打破结论,迭代直到答案收敛 |
| 断点续传 | 进度保存,中断后从断点恢复 |
| 长时间运行 | 可以持续数小时乃至数天 |
第二层:三大实战场景
2.1 代码库范围的审计
场景:bug 搜索、性能优化审计、安全审计
传统做法:
- 运行静态分析工具
- 人工审查报告
- 标记问题
- 逐一验证
动态工作流做法:
- Claude 并行搜索服务或仓库(数百个 Agent 同时工作)
- 每个 Agent 发现问题后独立验证
- 对抗性 Agent 尝试反驳每个发现
- 只有经过双重验证的问题才进入最终报告
效果:
- 覆盖率提升:从局部扫描变成全代码库扫描
- 准确率提升:独立验证 + 对抗验证减少假阳性
- 速度提升:并行处理,从周级变成小时级
加固检查模式:
- 认证检查:扫描所有认证相关代码
- 输入验证:扫描所有用户输入处理
- 不安全模式排查:扫描所有危险操作
2.2 大规模迁移和现代化工程
场景:框架替换、API 底弃、语言移植
案例:Bun 从 Zig 移植到 Rust
这个案例是动态工作流能力的极致展示:
| 指标 | 数据 |
|---|---|
| 源语言 | Zig |
| 目标语言 | Rust |
| 代码量 | ~75 万行 Rust 代码 |
| 测试通过率 | 99.8% |
| 时间 | 11 天(从第一次提交到合并) |
| 工作流数量 | 3 个主工作流 + 1 个优化工作流 |
工作流分解:
-
第一个工作流:生命周期映射
- 为 Zig 代码库中每个结构体字段映射正确的 Rust 生命周期
- 这是 Zig → Rust 最难的部分(生命周期系统差异巨大)
-
第二个工作流:文件级移植
- 每个 .rs 文件编写为对应 .zig 文件的行为等价移植
- 数百个 Agent 并行工作
- 每个文件配有两个审查者(验证 Agent)
-
第三个工作流:修复循环
- 驱动构建和测试套件直到两者都通过
- 自动修复编译错误和测试失败
-
第四个工作流:优化审计
- 通宵运行
- 处理不必要的数据拷贝
- 为每个修改开 PR 供最终审查
关键洞察:
虽然尚未投入生产,但所有这些都由动态工作流完成。
这意味着:工作流不只是辅助工具,而是可以承担完整的、复杂的、生产级别的工程任务。
2.3 需要双重检查的关键工作
场景:错误答案代价很高的任务
模式:
- Agent 从独立角度解决问题
- 其他 Agent 尝试反驳发现
- 运行不断迭代直到答案收敛
应用场景:
- 安全相关的代码变更(加密算法、认证逻辑)
- 高风险的架构决策(数据库迁移、缓存策略)
- 生产级别的重构(核心模块重写)
第三层:技术原理深度解析
3.1 扇出-验证-收敛架构
动态工作流的核心架构可以抽象为三个阶段:
┌─────────────────────────────────────────────────────────────┐
│ FAN-OUT(扇出) │
│ Claude 根据提示动态规划,将任务分解为子任务, │
│ 并将工作扇出到并行运行的子 Agent 中 │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ VALIDATE(验证) │
│ 结果在被纳入之前经过检查: │
│ - 独立验证:另一个 Agent 验证结果 │
│ - 对抗验证:Agent 尝试打破结论 │
└─────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────┐
│ CONVERGE(收敛) │
│ 迭代直到答案收敛,最终得到单一、协调一致的答案 │
└─────────────────────────────────────────────────────────────┘
3.2 动态编排脚本
关键创新:Claude 动态编写编排脚本,而不是使用预定义模板。
这意味着:
- 编排脚本是根据任务特性生成的
- 可以处理未预见的情况
- 可以动态调整策略
与传统工作流的区别:
| 传统工作流 | 动态工作流 |
|---|---|
| 预定义步骤 | 动态生成步骤 |
| 固定 Agent 数量 | 根据任务规模调整 |
| 线性执行 | 并行 + 验证 + 收敛 |
| 错误处理硬编码 | 动态错误处理 |
| 无断点续传 | 进度保存 + 恢复 |
3.3 对抗性验证
对抗性验证是动态工作流的独特设计:
Agent 从独立角度解决问题,其他 Agent 尝试反驳它们的发现。
这类似于学术界的研究方法:
- 研究者提出结论
- 同行评审尝试反驳
- 最终共识形成
在工程场景中:
- Agent A:提出”这里存在安全漏洞”
- Agent B(对抗者):尝试证明”这不是真正的漏洞”
- 如果 Agent B 成功,Agent A 的结论被驳回
- 如果 Agent B 失败,Agent A 的结论被验证
效果:假阳性率大幅下降,报告可信度大幅提升。
第四层:与传统 Agent 架构的对比
4.1 单 Agent 架构的局限
传统 Agent 架构:
用户 → Agent → 执行 → 结果
局限:
- 上下文窗口限制:无法处理大规模代码库
- 串行处理:效率低下
- 无验证机制:结果可信度依赖 Agent 自身
- 无断点续传:中断后从头开始
4.2 简单多 Agent 架构的局限
简单多 Agent 架构:
用户 → Agent A → Agent B → Agent C → 结果
局限:
- 串行依赖:Agent B 必须等 Agent A 完成
- 固定流程:无法动态调整
- 无对抗验证:没有独立验证机制
4.3 动态工作流的优势
动态工作流架构:
用户 → Claude(动态规划)
↓
并行 Agent 网格
├─ 任务 Agent
├─ 验证 Agent
├─ 对抗 Agent
↓
验证 → 收敛 → 结果
优势:
- 动态规划:根据任务特性生成编排脚本
- 并行执行:效率提升 10-100 倍
- 双重验证:独立验证 + 对抗验证
- 断点续传:长时间运行 + 中断恢复
第五层:最佳实践与注意事项
5.1 如何启动动态工作流
两种方式:
-
直接请求:
"Create a workflow to search for security vulnerabilities in this codebase" -
开启 ultracode 设置:
- 通过 effort 菜单访问
- 设置 effort 级别为
xhigh - Claude 自动决定何时使用工作流
5.2 最佳实践
| 实践 | 说明 |
|---|---|
| 从限定范围开始 | 动态工作流消耗大量 Token,先用小任务测试 |
| 开启 auto 模式 | 获得最佳体验 |
| 明确任务边界 | 清晰定义任务范围,避免无限扩展 |
| 监控 Token 消耗 | 动态工作流消耗可能远超典型会话 |
| 审查验证结果 | 最终结果仍需人工审查 |
5.3 注意事项
Token 消耗警告:
动态工作流消耗的 Token 可能远超典型的 Claude Code 会话。
原因:
- 多个并行 Agent 消耗
- 验证 Agent 消耗
- 对抗 Agent 消耗
- 长时间运行消耗
建议:
- 先从限定范围的任务开始
- 了解在你工作中的使用量
- 监控账单
组织管理:
- 工作流首次触发时,Claude Code 会请求确认
- 管理员可以通过托管设置禁用工作流
第六层:可用性与定价
6.1 可用性
| 计划 | 默认状态 |
|---|---|
| Max | 默认开启 |
| Team | 默认开启 |
| Enterprise | 默认关闭(需管理员启用) |
| API | 默认开启 |
| Amazon Bedrock | 支持 |
| Vertex AI | 支持 |
| Microsoft Foundry | 支持 |
6.2 平台支持
- Claude Code CLI
- Claude Code 桌面版
- VS Code 扩展
第七层:未来展望
7.1 Agent 架构的演进方向
动态工作流标志着 Agent 架构从”单 Agent”向”Agent 网络”的演进:
单 Agent → 多 Agent → Agent 网络 → Agent 生态系统
未来可能的方向:
- Agent 特化:不同 Agent 专注于不同任务类型
- Agent 协作协议:标准化的 Agent 间通信协议
- Agent 市场:可租用的专业 Agent
- Agent 持久化:长期运行的 Agent 状态保存
7.2 工程范式的变化
动态工作流带来的工程范式变化:
| 传统范式 | 动态工作流范式 |
|---|---|
| 周级规划 | 天级执行 |
| 人工验证 | 自动验证 |
| 串行处理 | 并行处理 |
| 局部视角 | 全局视角 |
| 单次交付 | 持续迭代 |
7.3 对开发者的影响
正面影响:
- 复杂任务的自动化程度大幅提升
- 代码库级别的审计成为可能
- 大规模迁移和重构不再需要数月
挑战:
- 需要学习新的工作流设计思维
- Token 消耗管理成为新技能
- 结果审查仍然重要(不能完全依赖自动验证)
总结:从工具到伙伴的跨越
Claude Code 动态工作流的推出,标志着 AI Agent 从”工具”向”伙伴”的跨越:
不只是辅助你完成任务,而是端到端承担整个任务。
Bun 重写案例是最有力的证明:
75 万行代码,11 天,99.8% 测试通过率,全部由动态工作流完成。
这不是科幻,这是现在。
附录:原文链接
- Anthropic 官方博客:Introducing dynamic workflows in Claude Code
- Twitter/X 转译:@freeman1266