2026 年 5 月 28 日,Anthropic 随 Claude Opus 4.8 一起上线了 Dynamic Workflows(动态工作流)。这项功能解决的是 Claude Code 一个根本性约束:当任务大到任何单次对话都装不下时,该怎么办。
子代理、技能、工作流:三者的差异
在理解 Dynamic Workflows 之前,先把概念区分清楚——因为三者之间的差异,决定了你什么时候该用哪个。
| 子代理(Subagent) | 技能(Skill) | 工作流(Workflow) | |
|---|---|---|---|
| 是什么 | Claude 临时派出去的工人 | Claude 遵循的指令集 | 运行时执行的脚本 |
| 谁决定下一步 | Claude,逐轮决策 | Claude,按 prompt 走 | 脚本自己决定 |
| 中间结果存在哪 | Claude 的上下文窗口 | Claude 的上下文窗口 | 脚本变量 |
| 能不能重跑 | 不行 | 不行 | 能,脚本可以复用 |
| 可以跑多少代理 | 每轮几个 | 同子代理 | 几十到上百,上限 1000 |
| 被打断后 | 整轮重来 | 整轮重来 | 可在同一会话内恢复 |
关键差异:编排逻辑在哪里。
用子代理和技能时,Claude 是编排者——它在对话里逐轮决定接下来派谁、做什么,所有中间结果都往上下文里塞。当代理数量多、任务时间长,上下文很快就撑满了。
Workflow 把这件事翻了个面:Claude 先写一个 JavaScript 脚本,把循环、分支、中间结果都放进脚本变量,然后由运行时在后台执行这个脚本。Claude 的上下文只负责接收最终答案,不再被成百上千的中间步骤淹没。
什么时候该用工作流
官方给出了几类典型场景:
- 全代码库扫描:比如"扫所有 API 路由,找缺少鉴权检查的端点"
- 大规模迁移:上百个文件的格式、框架或 API 替换
- 多角度交叉验证的研究:让多个子代理分别找证据,再互相 review
- 需要对抗性检验的方案:先草拟几个方向,再用独立代理来"打"每个方向,择优
Anthropic 官方案例是把 Bun 代码库的 750,000 行代码迁移,用 Dynamic Workflows 完成用了 11 天。
三种触发方式
1. 在 prompt 里加"workflow"关键词
最简单的方式:在任意 prompt 里写进"workflow"这个词,Claude Code 会高亮这个词,然后为当前任务自动写一个编排脚本。
Run a workflow to audit every API endpoint under src/routes/ for missing auth checks
不想触发时,光标移到这个词后面按 Backspace,或者 alt+w 忽略一次。如果嫌每次都提示烦,去 /config 关掉"Workflow keyword trigger"。
2. ultracode 模式(自动判断)
/effort ultracode
开了 ultracode 之后,Claude 会自己判断每个任务是否值得启动 Workflow。一个请求可能触发三条 Workflow 串联:一条理解代码、一条执行修改、一条验证结果。
这个模式下每个任务的 token 消耗和耗时都比普通模式高很多。做完重活后记得用 /effort high 切回来。
3. 运行预存的 Workflow 命令
Claude Code 内置了 /deep-research 命令:把问题拆成多角度的 web 搜索,抓取并交叉验证来源,最后输出一份带引用的研究报告。
你自己写过或跑过的 Workflow 也可以存下来,成为以 / 开头的命令:
- 存到
.claude/workflows/→ 随代码仓库分发,团队共用 - 存到
~/.claude/workflows/→ 只对自己可见,但在所有项目里都能用
在 /workflows 视图里选中一次跑完的 run,按 s 就能保存。
Workflow 是怎么跑的
运行时把脚本放在独立的隔离环境里执行,和你的对话完全分开。几个约束要记住:
| 约束 | 原因 |
|---|---|
| 不接受运行中途的用户输入 | 只有代理权限弹窗可以暂停。需要分阶段审核的,把各阶段拆成独立的 Workflow |
| 脚本本身不能直接操作文件系统或运行 shell | 这些事由子代理做,脚本只负责协调 |
| 同时最多 16 个代理并发(资源受限机器更少) | 防止本地资源耗尽 |
| 单次 run 最多 1,000 个代理 | 防止无限循环 |
被打断后(比如暂停或网络问题),可以在同一会话内从 /workflows 里恢复:已完成的代理缓存结果直接复用,其余重新跑。退出 Claude Code 再重进则从头开始。
成本要想清楚
官方措辞是"可能比普通会话多消耗相当多的 token",实际上可能差一个数量级。500 个代理跑 Opus 4.8 的审计,账单可以很触目。
几条控制成本的建议:
- 在跑大任务前用
/model确认当前模型,平时可以切到更小的模型做日常工作 - 描述任务时告诉 Claude,哪几个阶段可以用更轻量的模型来跑
- 先在一个小范围的任务上试跑,体感一下 token 用量,再扩规模
关掉 Workflow
如果不想用,有三种方式关闭:
# 方式 1:在 /config 里关掉"Dynamic workflows"
# 方式 2:写入配置
echo '{"disableWorkflows": true}' >> ~/.claude/settings.json
# 方式 3:环境变量(在 CI/启动脚本里用)
export CLAUDE_CODE_DISABLE_WORKFLOWS=1
关掉后,内置的 /deep-research 命令不可用,workflow 关键词不再触发,/effort 菜单里也不会出现 ultracode 选项。
Dynamic Workflows 不是"更大的 subagent",它的本质是把编排逻辑从 Claude 的上下文里彻底迁移出去,交给一个可以重复执行的脚本。对于那些"以前只能拆成几周的人工任务",这是目前 Claude Code 生态里最直接的规模化手段。
关于
原文:Orchestrate subagents at scale with dynamic workflows — Claude Code Docs
原文:Introducing dynamic workflows in Claude Code — Anthropic
关注我获取更多资讯