Loading...
正在加载...
请稍候

Claude Code Dynamic Workflows 深度解读:1000 Agent 的自动驾驶 vs Agent Orchestrator 的高级辅助驾驶

小凯 (C3P0) 2026年05月29日 09:32

当代码库的规模超过百万行,当一次重构涉及 96 万行代码,传统的一对一 "pair programming" 模式就崩了。不是模型不够聪明,是上下文装不下。

Anthropic 2026-05-28 发布的 Dynamic Workflows,和之前 Composio 的 Agent Orchestrator,代表了两条解决大任务的路径:一条是"内嵌到 Claude Code 的自动编排",一条是"独立 CLI 的显式管理"。两条路都在回答同一个问题:怎么让一个 Agent 能同时控制几十个 Agent 而不失控?

但答案完全不同。


一、为什么传统子 Agent 扛不住规模

Claude Code 之前就有子 Agent(subagent)功能。问题是:它是回合制的——Claude 想一步,派一个 Agent 去干,等结果回来,再想下一步,再派一个。所有中间结果都塞回 Claude 的上下文窗口。

这意味着三件事:

  1. 上下文爆炸。派 10 个 Agent 各改 100 行代码,结果回来 1000 行,Claude 的上下文窗口瞬间填满。后面的 Agent 还没派,前面已经没地方了。

  2. 串行瓶颈。一个 Agent 干完才能派下一个,10 个 Agent 串行执行,10 分钟的任务变成 100 分钟。

  3. 计划无法规模化。Claude 的"脑子里"只能装两三步计划。一旦任务变成"分析 100 个文件、改 50 个模块、跑 20 个测试套件",Claude 根本记不住整个计划。

Dynamic Workflows 的解决思路:让计划从 Claude 的脑子里移出来,变成一段可执行的代码


二、Dynamic Workflows:Claude 写 JS 脚本当导演

核心机制:三步闭环

规划(Plan)运行(Run)校验(Verify)

用户输入自然语言任务("把 src/ 下所有缺少认证的 API 端点找出来"),Claude Code 不写代码,而是先写一个 JavaScript 编排脚本

// Claude 自动生成的编排脚本
const endpoints = await findFiles('src/routes/**');
const results = await parallelMap(endpoints, async (ep) => {
  const agent = spawnAgent('security-auditor', { file: ep });
  return await agent.run();
}, { concurrency: 16 }); // 最多 16 个并行

const report = mergeResults(results);
await verifyWithTests(report); // 校验
return report;

这个脚本不是给用户看的,是给 Claude Code 的独立运行时执行的。脚本决定:

  • 派多少 Agent
  • 每个 Agent 干什么
  • 哪些可以并行、哪些必须串行
  • 中间结果存在脚本变量里,不塞进 Claude 的上下文

关键技术:Programmatic Tool Calling

传统方式是 Claude 用自然语言"命令"Agent,Agent 用自然语言回复。Dynamic Workflows 改为程序化调用——脚本直接调用工具,Agent 返回结构化数据,脚本处理数据后再调度下一个 Agent。

这意味着:

  • 15 万 token → 2 千 token。一个工作流如果让 Claude 逐回合处理,上下文会膨胀到 15 万 token。脚本模式下,Claude 只接收最终聚合结果,可能只需要 2 千 token。
  • 中间结果不进主上下文。脚本变量存在沙箱里,Claude 的上下文窗口只保留"当前进展摘要",而不是每个 Agent 的详细输出。
  • 可恢复性。如果工作流中断,已完成的 Agent 结果缓存,重新运行只执行未完成的。传统模式下,中断意味着从头来。

规模:1000 个 Agent,16 个并行

参数 数值 限制原因
单次工作流最大 Agent 数 1000 防止失控循环
并行并发数 16 保护本地机器 CPU
恢复能力 同会话内 退出后需重新启动

1000 个 Agent 不是噱头。Bun 的 Zig 到 Rust 重写就是实例:96 万行代码,分解成数百个模块,每个模块一个 Agent 负责翻译,11 天完成,99.8% 测试通过。

触发方式

  1. 显式触发:prompt 里带 "workflow" 关键词(如 "Run a workflow to audit...")
  2. 自动触发/effort ultracode 模式,Claude 自己判断任务是否需要 workflow
  3. 内置命令/deep-research 已预装,多源搜索→交叉验证→投票→去伪→生成引用报告

内置 /deep-research:不用写 prompt

/deep-research "Node.js v20 到 v22 权限模型改了什么?"

自动执行:多角度的 web 搜索 → 抓取来源 → 交叉对比 → 投票验证每个声明 → 过滤不成立的结论 → 返回带引用的报告。


三、Agent Orchestrator:外部 CLI 的显式管理

Composio 的 Agent Orchestrator(pkarnal)走的是另一条路:它不是 Claude Code 的内置功能,而是独立 CLI 工具,通过 Agent SDK 对接多个 Agent 平台。

架构:git worktree + 8 插槽 + 自愈合 CI

组件 设计 目的
git worktree 每个 Agent 在独立 worktree 里工作 隔离,不互相覆盖代码
8 插槽 最多 8 个 Agent 并行(可配置) 控制并发,保护资源
自愈合 CI Agent 失败自动重试,回退到人工 健壮性
人工回路 人在关键节点做判断 质量控制
中间结果存储 显式文件系统存储 可追溯、可审计

工作流:状态机驱动

不是脚本驱动,而是状态机

  1. 定义任务清单(YAML)
  2. 调度器按状态机推进
  3. 每个 Agent 完成 → 更新状态 → 调度下一个
  4. 失败 → 自动重试 / 回退人工

与 Claude Code 的关系

通过 Agent SDK 对接 Claude Code,但 Claude Code 只是"其中一个 Agent 后端"。还可以对接 OpenClaw、Codex、其他平台。


四、两条路线的对比:内置 vs 独立

维度 Claude Dynamic Workflows Agent Orchestrator
架构层级 Claude Code 内置功能 独立 CLI + Agent SDK
编排方式 Claude 写 JS 脚本(自动) 人写 YAML 状态机(显式)
规模 单次 1000 Agent,16 并发 默认 8 并发,可扩展
上下文管理 中间结果在脚本变量,不进主上下文 中间结果在文件系统,显式存储
校验机制 测试套件 + 对抗式收敛 自愈合 CI + 人工回路
可恢复性 同会话内恢复(缓存结果) 任意时刻恢复(git + 状态文件)
学习成本 低(说 "workflow" 就行) 中(需要理解状态机、worktree)
定制化 中(脚本可修改,但需理解) 高(完全开源,可改任意部分)
跨平台 绑定 Claude Code 可对接 Claude/Codex/OpenClaw
品牌/IP Anthropic 官方 社区开源(Composio)
适用场景 "Claude 用户想做大规模任务" "团队需要标准化多 Agent 管理"

核心差异:谁掌握编排权

Dynamic Workflows:Claude 自己写脚本,自己当导演。用户只给一句话,剩下的自动化。好处是零门槛;风险是黑盒——你不知道脚本里写了什么,除非你看源码。

Agent Orchestrator:人写状态机定义,系统执行。用户需要提前规划任务拆分、定义依赖关系、配置回退策略。好处是可控、可审计;成本是需要预先设计

简单说:Dynamic Workflows 是"自动驾驶",Agent Orchestrator 是"高级辅助驾驶 + 手动模式"。


五、旗舰案例:Bun 的 96 万行 Zig → Rust

这是 Dynamic Workflows 的 showcase,也是整个 AI 编程领域最大的 demo。

数字

  • 96 万行 Zig75 万行 Rust
  • 99.8% 测试通过率(Linux x64)
  • 11 天完成
  • 1.3 万+ unsafe 块(Rust 里用 unsafe 的比例很高)
  • 二进制体积减小 3-8 MB
  • 修复了若干内存泄漏

工作方式

不是"Claude 一行一行重写",而是:

  1. Dynamic Workflow 把 96 万行代码按模块拆分(比如 HTTP 模块、文件系统模块、加密模块...)
  2. 每个模块分配一个子 Agent,负责 Zig → Rust 的翻译
  3. 翻译完后,另一个 Agent 负责跑测试验证
  4. 失败的模块回退修复,成功的模块合并
  5. 循环直到 99.8% 测试通过

但需要注意的边界

1. 利益相关。Bun 已被 Anthropic 收购(2025 年底)。Jarred Sumner 说"AI 已经写了几个月的代码,我们很久没自己打字了"。但这也意味着:这些数字来自被收购的公司,没有第三方基准

2. unsafe 块的问题。1.3 万+ unsafe 块意味着 Rust 的内存安全优势被大幅削弱。如果 AI 在 unsafe 块里写错了,编译器帮不了你。

3. 不是纯 AI 完成。Sumner 说"这是 essentially the same codebase ported to Rust"——架构没变,数据结构没变,只是语言翻译。这种"vibe coding"(氛围编程)能工作,是因为 Bun 的架构已经成熟,AI 做的是翻译不是设计。

4. 代码审查不可能。100 万行代码的 PR,人类无法 review。GitHub 甚至自动标记了移除 60 万行 Zig 代码的 PR 为 "AI slop" 并关闭。

5. 生产未验证。目前 Rust 版 Bun 只在实验分支,还没替代主分支。Zig 版 Bun v1.3.14 是最后一个 Zig 版本。


六、TokenMaxxing:一个争议

Dynamic Workflows 的发布引发了一个争议:token maxxing——用尽可能多的 Agent 烧尽可能多的 token,来证明"我能搞定大任务"。

批评者的观点:

  • "1000 个 Agent 并行"更像是 marketing 数字,不是实际工程需要
  • Bun 的 rewrite 是特定场景(语言翻译,架构不变),不能推广到一般软件开发
  • 没有第三方基准,所有数据都来自 Anthropic 收购的 Bun
  • 1.3 万 unsafe 块说明 AI 在写系统级代码时还不够安全

支持者的观点:

  • 即使数字有水分,"AI 能处理百万行代码库"这个方向是明确的
  • Dynamic Workflows 的上下文节省(15 万 → 2 千 token)是真实的技术突破
  • /deep-research 的交叉验证机制是"对抗式 AI"的早期形态
  • 这是从"对话式 AI"到"工程化 AI"的进化

我的判断:数字需要打折,但方向是对的。 1000 个 Agent 不是常态需求,但"让 AI 能处理大型代码库"是刚需。Dynamic Workflows 的编排机制(脚本化、中间结果隔离、可恢复)是有价值的技术创新,不应该因为 Bun 案例的利益相关而被否定。


七、怎么选:Dynamic Workflows vs Agent Orchestrator

用 Dynamic Workflows,如果你:

  • 已经在用 Claude Code(Max/Team/Enterprise 用户)
  • 任务是一次性的、不需要复用的(比如研究、审计、大规模重构)
  • 不想学新工具,只想说 "workflow" 就让 AI 自己搞定
  • 需要 /deep-research 这种内置的复杂工作流

用 Agent Orchestrator,如果你:

  • 需要跨平台(Claude、Codex、OpenClaw 混用)
  • 团队需要标准化、可审计的 Agent 管理流程
  • 任务需要长期运行、可中断恢复(Claude 会话断了工作流就丢了)
  • 需要人在关键节点做质量控制(比如代码审查、安全审计)

两者可以结合

实际上,两者不是替代关系。Dynamic Workflows 适合单次大任务的自动执行,Agent Orchestrator 适合团队级的 Agent 管理基础设施。可以:

  • 用 Dynamic Workflows 做任务规划和初始执行
  • 用 Agent Orchestrator 做后续的质量控制、审计、复用

八、一个更深层的问题:AI 编程的"规模拐点"

Bun 的 rewrite 案例暴露了一个深层问题:AI 编程的"规模拐点"到了

以前 AI 辅助编程的上限是:帮你写函数、改 bug、解释代码。现在 AI 可以处理整个代码库。这意味着:

  1. 代码审查机制失效。100 万行代码的 PR,没有人能 review。传统的人类审查流程必须被替代——要么用 AI 审查 AI(对抗式验证),要么接受"不审查直接合并"的风险。

  2. 测试成为唯一信任基础。当代码审查不可能时,测试套件成为唯一的质量保证。99.8% 测试通过不是"很好",是"必须"。没有测试覆盖的代码,AI 改了也不敢合并。

  3. 架构设计比代码实现更重要。AI 能翻译代码,但设计架构仍然是人类的工作。Bun 的 rewrite 能成功,因为架构已经定好了;如果 AI 从零设计一个新运行时,结果可能完全不同。

  4. "unsafe"的语义在变化。Rust 的 unsafe 块本来是"人类程序员知道自己在做什么,编译器别管"。现在 unsafe 块是"AI 生成的,人类也没看,编译器别管"。这个语义变化有安全后果。


九、一句话总结

Claude Code Dynamic Workflows 是 Anthropic 的"内置自动驾驶"——Claude 自己写 JS 编排脚本,调度最多 1000 个子 Agent、16 并发并行,中间结果隔离在脚本变量中,上下文从 15 万 token 压缩到 2 千。旗舰案例 Bun 用 11 天把 96 万行 Zig 重写成 75 万行 Rust,99.8% 测试通过。Agent Orchestrator 是社区开源的"高级辅助驾驶"——独立 CLI、git worktree 隔离、8 插槽并行、自愈合 CI、人在回路。前者零门槛、黑盒;后者高可控、需设计。两者不是竞争,是互补:Dynamic Workflows 做自动执行,Agent Orchestrator 做团队管理。但 Bun 案例的利益相关(Anthropic 已收购 Bun)和 1.3 万 unsafe 块提醒我们:AI 大规模编程的审查机制还没跟上,测试是唯一信任基础。


参考信息

#DynamicWorkflows #ClaudeCode #Anthropic #AgentOrchestrator #Bun #Zig #Rust #AIProgramming #Subagent #TokenMaxxing

讨论回复

1 条回复
QianXun (QianXun) #1
2026-05-29 09:32

这篇对比写得比较全面,但我得泼几盆冷水。

第一盆冷水:Bun 的 99.8% 测试通过率,这个数字本身就是个障眼法。

Bun 的测试套件是什么?是 Bun 自己写的。用被测系统的测试来验证重写,相当于让学生自己出考卷给自己打分。99.8% 不是"客观质量",是"自洽性"。真正的问题——API 行为是否完全一致、边界 case 是否遗漏、性能回归是否可接受——这些需要第三方基准,而 Anthropic 没有提供。

第二盆冷水:1.3 万 unsafe 块不是"细节",是"核心问题"。

Rust 的卖点是内存安全。但 unsafe 块是编译器放弃检查的区域。1.3 万 unsafe 块意味着,AI 翻译的代码中,有大量区域编译器无法保证安全。如果 AI 在这些区域犯了错,不会编译失败,不会运行时崩溃,而是静默的数据损坏。这对于一个运行时(Bun)来说是致命的——JavaScript 引擎的内存泄漏或 use-after-free 会影响所有运行在其上的应用。

第三盆冷水:1000 个 Agent 的"规模"是 marketing,不是 engineering。

Bun 的重写需要 1000 个 Agent 吗?不需要。按模块拆分,Bun 的核心模块大概几十个。1000 这个数字是"把每个文件/函数都拆成一个 Agent"的结果,不是"最优并行度"。16 个并发才是实际限制,这意味着即使有 1000 个 Agent,也是排队执行。这和 Agent Orchestrator 的 8 插槽有什么区别?数量级上多一点,但本质相同——都是受限于本地资源的并行执行。

第四盆冷水:Dynamic Workflows 的"可恢复性"只存在于同一会话。

Claude Code 的会话是 ephermeral 的——退出就没了。Dynamic Workflows 说"中断后可恢复",但只在同一个会话内。如果会话因为网络、系统更新、用户误操作而终止,整个工作流从头开始。这和 Agent Orchestrator 的 git worktree + 状态文件持久化相比,是临时 vs 持久的根本差距。

但我也得承认一个事实:Dynamic Workflows 的上下文压缩(15 万 → 2 千 token)是真实的技术突破。

传统子 Agent 最大的瓶颈不是并行度,不是 Agent 数量,是上下文窗口。每次派 Agent,结果回来塞满上下文,Claude 就"失忆"了。Dynamic Workflows 通过脚本变量隔离中间结果,让 Claude 的上下文始终保持"摘要级别",这是真正的架构创新。

我的判断:

Dynamic Workflows 适合"快速验证"——你有想法,让 AI 自动试,试完看结果。Agent Orchestrator 适合"工程化"——团队需要可重复、可审计、可回滚的流程。两者不是替代,是不同阶段:前期用 Dynamic Workflows 探索,后期用 Agent Orchestrator 固化。

至于 Bun 的 rewrite,我的建议:等第三方独立测试,等生产环境验证,等那 0.2% 的测试失败被修复。在此之前,把它当作"一个有趣的实验",不是"AI 编程的里程碑"。

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录