Skip to content

动态工作流(Dynamic Workflows)

用 Claude 写的可复用脚本编排大批量 subagent,后台运行处理大型审计、迁移与交叉核验研究。

是什么

动态工作流(Dynamic workflows)是一段由 Claude 为你描述的任务编写的 JavaScript 脚本,用来大规模编排 subagents;runtime 在后台执行脚本,你的会话保持可响应。它把"计划"从 Claude 的逐轮决策移进代码:脚本自己持有循环、分支和中间结果,因此 Claude 的 context 只保留最终答案。

当一个任务需要的 agent 数量超过单次对话能协调的范围,或你希望把编排固化成可读、可重跑的脚本时使用。脚本还能施加可复用的质量模式,比如让多个独立 agent 互相对抗式审查彼此的结论,或从多个角度起草方案再相互权衡,从而比单次执行得到更可信的结果。目前处于 research preview 阶段。

怎么工作

  • 运行内置工作流:用 /deep-research <question> 发起,它从多个角度并行 web 搜索、抓取并交叉核验来源、对每条 claim 投票,最终返回带引用、已过滤掉未通过交叉核验内容的报告(需要 WebSearch 工具可用)。
  • 让 Claude 为你的任务写工作流:在 prompt 中任意位置包含单词 workflow,Claude 会高亮该词并写出脚本,而非逐轮处理。
  • 用 ultracode 让 Claude 自行决定:/effort ultracodexhigh reasoning effort 与自动工作流编排结合,会话内每个实质性任务都由 Claude 判断是否编排工作流。
  • 审批后运行:CLI 会展示计划的 phases,可选 Yes / 不再询问 / View raw script / No;Ctrl+G 在编辑器打开脚本,Tab 可在运行前调整 prompt。
  • 后台执行并观察:运行 /workflows 列出运行中/已完成的工作流,进入进度视图查看各 phase 的 agent 数、token 总量、耗时,可下钻到单个 agent 看其 prompt、工具调用与结果。
  • 管理运行:进度视图中 p 暂停/恢复、x 停止选中 agent 或整个工作流、r 重启运行中的 agent、s 把该次脚本保存为命令。
  • 保存复用:运行 /workflows 选中后按 s,可存到项目 .claude/workflows/ 或个人 ~/.claude/workflows/,之后以 /<name> 调用。

怎么配置 / 用法

开启/关闭与触发设置:

text
# 把单个任务作为工作流运行(prompt 含 workflow 关键词)
Run a workflow to audit every API endpoint under src/routes/ for missing auth checks

# 让 Claude 自动决定是否编排工作流
/effort ultracode

# 查看与管理运行
/workflows

关闭工作流(任一即可,均跨会话持久,环境变量在启动时读取):

json
// ~/.claude/settings.json(或 managed settings 面向全组织)
{ "disableWorkflows": true }
text
CLAUDE_CODE_DISABLE_WORKFLOWS=1

也可在 /config 中切换 Dynamic workflows / Workflow keyword trigger;Pro 用户需先在 /config 的 Dynamic workflows 行开启。临时忽略关键词触发:alt+w

什么时候用

  • 任务需要的 agent 数量超过单次对话能协调(如全代码库 bug 排查、500 文件迁移)。
  • 希望把编排固化成可读、可重跑的脚本,而不是每次逐轮重来。
  • 研究问题需要多来源交叉核验,或硬方案值得从多个独立角度起草后再定。
  • 需要对抗式互审或多角度权衡这类可复用的质量模式来提升结果可信度。

限制 / 坑

  • 处于 research preview,需要 Claude Code v2.1.154 或更高版本。
  • 运行期间不接受用户中途输入,只有 agent 权限提示能暂停;阶段间签核需把每个阶段拆成独立工作流。
  • 工作流脚本本身不能直接访问文件系统或 shell,读写与执行命令由 agent 完成,脚本只负责协调。
  • 并发上限 16 个 agent(CPU 核心少的机器更少),单次运行总计上限 1,000 个 agent。
  • Resume 仅在同一 Claude Code 会话内有效;退出后下次会话会从头重跑工作流。

硬事实速查(12 条)

  • 需要 Claude Code v2.1.154 或更高版本;在所有付费计划(Pro/Max/Team/Enterprise)、Anthropic API、Amazon Bedrock、Google Cloud Vertex AI、Microsoft Foundry 可用。
  • /deep-research 是内置(bundled)工作流,需要 WebSearch 工具可用。
  • subagent 始终以 acceptEdits 模式运行并继承你的工具 allowlist,无论会话权限模式如何;文件编辑自动批准。
  • 不在 allowlist 的 shell 命令、web fetch、MCP 工具仍可能在运行中触发提示;长任务建议提前把所需命令加入 allowlist。
  • 权限模式决定启动提示:Default/accept edits 每次询问(除非已选不再询问);Auto 仅首次启动询问且 ultracode 开启时完全跳过;Bypass permissions / claude -p / Agent SDK 从不询问,直接运行。
  • ultracode = xhigh effort + 自动工作流编排,仅当前会话有效、新会话重置,可用 /effort high 退回;仅在支持 xhigh 的模型上提供。
  • 并发上限 16 个 agent,单次运行总计上限 1,000 个 agent。
  • 工作流的中间结果存于脚本变量而非 Claude 的 context,只有最终答案进入 context。
  • 保存位置:项目 .claude/workflows/ 或个人 ~/.claude/workflows/;同名时项目工作流优先。
  • 每个 agent 默认使用会话当前模型,除非脚本把某阶段路由到其他模型;大型运行前建议检查 /model
  • 工作流在 CLI、Desktop app、IDE 扩展、claude -p 非交互模式与 Agent SDK 上均可用。
  • 关闭后:内置工作流命令不可用,workflow 关键词不再触发,ultracode/effort 菜单移除。

官方出处:https://code.claude.com/docs/en/workflows