动态工作流的运作方式是:
Claude根据提示词动态生成一个JavaScript编排脚本,将任务拆解成子任务,分发给数十甚至数百个并行运行的子智能体。
这些子智能体从不同角度处理问题,另一批子智能体负责反驳前者的发现,整个流程反复迭代直到结果收敛,最终合并为一个统一的输出交给用户。
所有中间结果存储在脚本变量中而非对话上下文里,因此主会话始终保持响应状态,任务规模再大也不会偏离计划。进度会持续保存,即使中途中断也能从断点继续。
这与此前Claude Code中的子智能体机制有本质区别。
此前的方式是Claude本身逐轮决定下一步做什么,每个中间结果都要回到对话上下文中,占用token。
动态工作流则将编排逻辑移入代码脚本,Claude的上下文中只保留最终结果。
Anthropic展示的标杆案例是JavaScript运行时Bun从Zig到Rust的移植。
Bun的创始人Jarred Sumner使用动态工作流完成了这项工作:
一个工作流为Zig代码库中的每个struct字段映射正确的Rust lifetime,下一个工作流为每个.zig文件编写行为一致的.rs移植版本,数百个智能体并行工作。
随后通过修复循环驱动构建和测试套件直到全部通过。移植完成后,一个隔夜工作流处理了不必要的数据拷贝,并为每处修改开出PR供最终审查。
整个过程从首次commit到merge耗时11天,产出约75万行Rust代码,99.8%的现有测试套件通过。
该移植目前尚未投入生产环境。不过围绕这次移植也存在争议,有开发者指出部分测试被修改以使Rust版本通过,GitHub上也出现了Zig原版中不存在的新错误。
Anthropic还提醒,动态工作流的token消耗会明显高于普通Claude Code会话。
首次触发工作流时,Claude Code会展示即将运行的内容并要求用户确认。
用户可以通过在prompt中使用「workflow」一词直接启动,也可以开启Claude Code的ultracode设置,让Claude自动判断何时使用工作流。

评论列表