Anthropic 发布 Claude Opus 4.8之际, 同步在 Claude Code 推出 Dynamic Workflows(动态工作流) 研究预览功能,用于处理最复杂的工程任务:

  1. 自主规划与编排:接到高难度任务后,Claude 自主制定计划,编写编排脚本,并行启动数十到数百个子 agent
  2. 自动验证:各子 agent 独立运行并验证结果后汇总,在向用户报告前完成检查
  3. 长时间运行:支持小时到天级别的任务,进度自动保存,中断后可从断点继续
  4. 研究预览阶段:已向所有 Claude Code 付费用户(Max/Team/Enterprise)开放

Dynamic Workflows ultracode 启用

Dynamic Workflows 示意图

与现有 Subagent 和 Agent Teams 的区别#

dynamic-workflows-compar

加入Dynamic Workflows之后,Claude Code 提供三种并行工作模式,各有适用场景:

维度SubagentsAgent TeamsDynamic Workflows
定义用户手动调用的工作者多个独立 Claude Code 实例协作Claude 编写的编排脚本
上下文独立上下文窗口,结果返回调用者独立上下文窗口,完全独立中间结果存储在脚本变量中
通信方式只能向主 agent 报告队友之间直接发消息通过脚本协调,无直接通信
协调机制主 agent 逐轮决定下一步共享任务列表,自我协调脚本持有循环、分支和编排逻辑
规模单个或少量 subagent3-5 个队友(推荐)数十到数百个并行 agent
可重复性工作者定义可复用队友角色可复用编排脚本本身可复用
中断恢复重启当前轮次重启当前轮次同一会话内可断点续传
Token 成本较低:结果摘要返回主上下文中等:每个队友是独立实例最高:数十到数百个并行 agent
启用方式默认可用需设置 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1默认可用(研究预览)
最佳场景专注任务,只关心结果需要讨论、挑战、协作的复杂工作大规模并行执行 + 自动验证

Dynamic Workflows 典型使用场景#

  1. 代码库范围的审计

    • Bug 搜索、性能优化审计、安全审计
    • 并行搜索整个服务或仓库,独立验证每个发现
  2. 大型迁移与现代化

    • 框架替换、API 废弃、语言移植(跨越数千文件)
    • 案例:Bun 从 Zig 重写为 Rust(750,000 行代码,11 天完成,99.8% 测试通过)
  3. 关键工作双重检查

    • 对于错误成本高的任务,workflow 提供独立尝试和对抗性验证

技术实现细节#

工作流程

  1. Claude 根据 prompt 动态规划
  2. 分解为子任务并开启并行 subagent
  3. 结果在合并前被检查
  4. 从独立角度解决问题,其他 agent 尝试反驳发现
  5. 持续迭代直到答案收敛

技术限制

限制项说明
并发 agent 数最多 16 个(CPU 核心有限的机器上更少)
单次运行总 agent 数最多 1000 个(防止失控循环)
运行中用户输入不支持(仅 agent 权限提示可暂停运行)
文件系统/Shell 访问Workflow 脚本本身不能直接访问,需通过 agent 执行

权限模式

  • Workflow 中的 subagent 始终以 acceptEdits 模式运行
  • 继承用户的工具白名单设置
  • 文件编辑自动批准
  • Shell 命令、Web 抓取、MCP 工具若不在白名单中会触发提示

核心机制详解

  • 对抗性验证(Adversarial Verification):独立 agent 被明确任务去反驳彼此的发现,只有经过交叉审查存活下来的声明才会浮出水面
  • 收敛驱动迭代(Convergence-driven Iteration):workflow 持续生成 agent 并迭代直到答案稳定,迭代次数由工作本身决定而非用户预设
  • 范式转变
    • 标准模式:Claude 是编排者,逐轮决策,中间结果堆积在上下文窗口中
    • Dynamic Workflows:JavaScript 脚本是编排者,Claude 的上下文只保留最终验证答案,不包含中间步骤的排气

关键特性

  • 协调发生在对话外,避免上下文窗口污染
  • 进度保存,中断后从断点继续而非重新开始
  • 消耗 token 显著高于普通 Claude Code 会话

使用教程#

  1. 直接要求:“Create a workflow”
  2. 开启 ultracode 设置(effort 菜单),让 Claude 自动决定何时使用 workflow

三种启动方式#

1. 运行内置 workflow

/deep-research <>
  • 内置的深度研究 workflow,跨多个角度进行网页搜索
  • 获取并交叉验证来源,对每个声明投票
  • 返回带引用的报告,过滤掉未通过验证的声明
  • 需要 WebSearch 工具可用

/deep-research 的特殊性

  • 明确设计为反驳自己的发现,而不是接受第一个看似合理的答案
  • 跨多个角度扇出搜索,交叉检查来源
  • 对每个声明进行内部投票
  • 只包含经过对抗性审查存活下来的声明
  • 可靠性标准高于单次 AI 搜索

2. 在 prompt 中包含 “workflow” 关键词

Run a workflow to audit every API endpoint under src/routes/ for missing auth checks
  • Claude Code 会高亮 “workflow” 关键词
  • Claude 自动为任务编写 workflow 脚本
  • 如果误触发,按 Alt+W 忽略

3. 开启 ultracode 模式(自动决策)

/effort ultracode
  • 结合 xhigh 推理努力 + 自动 workflow 编排
  • Claude 自动判断任务是否需要 workflow
  • 单个请求可能触发多个连续 workflow(理解代码 → 修改 → 验证)
  • 消耗更多 token,完成后用 /effort high 切回常规模式
  • 仅在支持 xhigh effort 的模型上可用

ultracode 的自动工作流程

  • 理解-修改-验证循环(Understand-Change-Verify Loop)
    1. 第一个 subagent 集群:映射架构,理解代码结构
    2. 第二个集群:执行变更
    3. 第三个集群:验证结果
  • 这个循环自动运行,无需用户干预
  • Token 成本和时间高于标准 prompt,但多阶段工程任务的成功率显著更高

管理运行中的 Workflow#

查看所有 workflow

/workflows

列出运行中和已完成的 workflow,选择一个打开进度视图。

进度视图快捷键

快捷键功能
/ 选择阶段或 agent
Enter / 深入查看阶段 → agent 详情(prompt、工具调用、结果)
Esc返回上一级
j / k在 agent 详情中滚动(内容溢出时)
p暂停/恢复运行
x停止选中的 agent,或停止整个 workflow(焦点在运行级别时)
r重启选中的运行中 agent
s保存当前 workflow 脚本为命令

断点续传

  • 停止的 workflow 可以在同一会话中恢复
  • 已完成的 agent 返回缓存结果,未完成的继续运行
  • 退出 Claude Code 后重启会话,workflow 需要重新运行

保存和复用 Workflow#

保存为自定义命令

  1. 运行 /workflows 选择要保存的运行
  2. s 键打开保存对话框
  3. Tab 切换保存位置:
    • 项目级别.claude/workflows/ — 团队共享,随仓库分发
    • 用户级别~/.claude/workflows/ — 个人使用,所有项目可用
  4. Enter 保存

使用已保存的 workflow

/<workflow-name> [参数]
  • 保存后的 workflow 出现在 / 自动补全中
  • 项目级别 workflow 优先于用户级别同名 workflow

何时使用 Dynamic Workflows#

三个条件同时满足时使用:

  1. 任务太大:单个上下文窗口无法容纳
  2. 拆分策略未知:事先不知道如何分区工作
  3. 质量优先于成本:结果质量比 token 经济性更重要

何时不使用 Dynamic Workflows#

避免在以下场景使用:

  • 可重复、定义明确的任务:已知确切 workflow 且需要一致、成本可预测的执行
  • 小型、有界任务:单个 agent 通过就足够
  • Token 预算严格:Dynamic Workflows 的 token 消耗远高于 Subagents

替代方案:对于可重复任务,自定义 Subagent 更高效。

最后#

这是 Anthropic 在 agent 架构上的重要实验——从线性链式调用转向 规划 + 并行执行的动态编排:AI 辅助编程开始变成一个能够自主规划、并行执行、对抗性验证的编排系统。

  1. 效率跃升:季度级工作压缩到天级完成
  2. 新架构范式:不同于 ReAct 或 plan-then-execute,提供了动态编排的新思路
  3. 复杂工程任务可行性:使大型重构、批量测试等任务具备显著效率优势
  4. 自主性提升:从”用户规划 + AI 执行”转向”AI 规划 + AI 执行 + AI 验证”

核心价值在于范式转变:从”用户规划 + AI 执行”转向”AI 规划 + AI 执行 + AI 验证”。这种转变在特定场景下(大规模迁移、代码库审计、安全扫描)确实能将季度级工作压缩到天级完成。

不过该功能的token消耗也是实打实的。有位老哥分享说,就一个小型代码审查,Claude 给他启动了 90 个 agent,然后——人生第一次触及 Claude Max 的使用上限。

有人把这个称为”Dynamic Bills”:Dynamic Workflows 带来的不是动态工作流,而是动态增长的账单。还有人把 ultracode 模式戏称为”Ultra-token-consumption mode”(超级 token 消耗模式)。

还有实用主者建议:先用 Deepseek 这种便宜模型跑 workflow 测试,确认没问题再切 Claude 执行关键步骤。

有个评论我很认同:“这个功能的目标用户是企业,用来处理那些有成千上万行遗留代码、需要做大规模重构的场景。对于普通开发者,这就是个奢侈品。”

以我个人使用为例,subagetns + agent teams已经能覆盖绝大部分大型场景的任务了。如果你有明确的测试套件、充足的预算、合适的使用场景(大规模机械性任务),Dynamic Workflows值得一试

参考#