Claude Opus 4.8 为 Claude Code 带来了一项真正值得关注的能力:Dynamic Workflows。简单来说,在一个会话里,编排智能体可以同时启动数百个并行子袋里,去处理那些分支多、规模大的任务——比如跨几十个文件的重构、跑一个庞大的测试矩阵,或者并行探索多种实现方案。在终端里看,这个过程就跟变魔术似的。但拆开来看,底层其实只有两个组件在协同工作。
接下来,我们会把 Dynamic Workflows 的实际工作原理拆清楚,讲明白什么时候该用、什么时候别用,以及如何通过原生 API 复现这套编排模式。
Dynamic Workflows 到底是什么
在 Claude Code 中,Dynamic Workflows 出现在 effort 菜单里,名字叫 ultracode。需要澄清的是:ultracode 并不是什么新的 API effort 级别。它只是 Opus 4.8 中两个已有功能的组合:
xhigheffort 级别- 会话中途系统消息

这两者结合在一起,既让编排智能体在规划大型任务时有了足够的推理深度,又在任务展开后给了它启动工作袋里的持续权限。说到底,秘密就这两条。剩下的,都是 Claude Code 内部封装的手艺。
要素 1:xhigh effort
effort 参数决定了 Opus 4.8 在一次响应(包括工具调用)中能消耗多少 token。xhigh 是 Anthropic 为长周期编程和智能体工作推荐的一个级别,专为那些运行时间超过 30 分钟、token 预算几百万次的任务做了调优。
对于 Dynamic Workflow 来说,这种深度很关键,因为编排器必须做真正的规划:把任务拆成独立的单元,决定生成多少个工作袋里,最后把结果合并回来。如果 effort 级别设低了,工作的广度和工具调用数量都会缩水,这恰恰与编排器的需求背道而驰。用 xhigh 时,记得把 max_tokens 设大一点——64K 是个不错的起点,给模型留出足够的空间去思考和协调。
要素 2:会话中途系统消息
这是 Messages API 新增的能力,也是整个流程能跑通的关键。在 Opus 4.8 之前,系统提示词只能放在会话开头,一旦开始就不再变动。现在,你可以在 messages 数组的中间插入一个系统条目,在任务中途注入新的指令或权限。
正是这一点,让编排器在会话启动后有了启动多智能体工作流的权限,而不需要从一开始就全部商量好。Anthropic 在官方文档里记录了这套机制。API 上看起来只是一个微小变化,但带来的影响相当大:智能体可以根据运行过程中的发现,随时获取新的能力。
在 Claude Code 中开启
在 Claude Code 里,Dynamic Workflows 藏在 effort 菜单的 ultracode 选项后面。选择它会自动设置 xhigh effort,并通过会话中途系统消息授予该会话生成并行子袋里的权限。之后你只需要描述一个大型任务,剩下的交给编排器分发就行了。

以下几件事会自动发生:
- Claude 规划任务,并决定如何拆分
- 它并行启动工作袋里,每个袋里负责任务的一个切片
- 结果流式传回,合并到主会话中
何时使用 Dynamic Workflows(以及何时别用)
这套机制在可并行的大规模任务中表现相当亮眼:
- 同时在许多文件里重构某种模式
- 生成并运行大型测试矩阵
- 并行探索多种实现方法,然后进行比对
- 大规模代码库分析,每个工作袋里负责一个模块
但那些狭窄、顺序依赖的任务,就不是它的用武之地了。给一个单文件的改动生成几百个子袋里,白白浪费 token;每一步都依赖上一步的时候,并行工作袋里也帮不上忙。成本是实实在在的:几百个 xhigh 子袋里加起来就是几百万个 token。让模式匹配工作的形态,这才是关键。
通过 API 构建相同的功能
即使不用 Claude Code,你也能搭出一套编排系统。原生 Messages API 提供了相同的两个要素。其基本流程如下:
- 用
xhigheffort 跑一次编排器调用,先规划任务 - 用会话中途系统消息给编排器分发工作袋里的权限
- 并行分发工作袋里调用,每个调用负责一个工作单元
- 收集结果,反馈给编排器进行合并
import anthropic
client = anthropic.Anthropic()
orchestrator = client.messages.create(
model="claude-opus-4-8",
max_tokens=64000,
output_config={"effort": "xhigh"},
thinking={"type": "adaptive"},
messages=[
{"role": "user", "content": "Plan a refactor of the auth module across all 14 services."}
],
)
每个工作袋里是一个可以并发运行的独立 Messages 调用。由于它的任务范围比较窄,通常可以用较低的 effort 级别。如果你想进一步了解这种方式和 Anthropic 托管智能体基础设施的权衡,官方文档中有专题分析。
成本与控制
并行子袋里会让 token 支出迅速翻倍。一个启动 200 个工作袋里的 Dynamic Workflow,如果每个袋里在 xhigh 下消耗几万个 token,账单数字绝对不会难看。以下三个习惯有助于把成本控制在合理范围:
- 严格限定工作袋里的范围,子任务允许的情况下用
medium或loweffort 跑 - 给每个工作袋里设一个
max_tokens上限,防止失控的智能体烧光预算 - 缓存共享上下文,避免重复的系统提示词在每个袋里上按全额计费
Opus 4.8 的定价明细中详细计算了 effort 级别和缓存的成本。一句话:编排能力很强,但账单随智能体数量线性增长。把并行化当成一个有意识的选择。
FAQ
什么是 Claude Code 中的 Dynamic Workflows? 这是一项允许一个会话启动数百个并行子袋里来处理大型、分支任务的功能。由 Opus 4.8 上的 xhigh effort 加上会话中途系统消息驱动。
ultracode 是一个单独的 effort 级别吗? 不是。Ultracode 是 Claude Code 对 xhigh effort 配合启动多智能体工作流持续权限的称呼。API 的 effort 级别仍然是 low、medium、high、xhigh 和 max。
什么是会话中途系统消息? 这是 Opus 4.8 中 Messages API 的一项变化,允许你在会话中途插入系统条目,在任务中途注入新的指令或权限。它是编排器在运行开始后生成工作袋里的关键。
我可以在不使用 Claude Code 的情况下构建 Dynamic Workflows 吗? 可以。在原生 Messages API 上使用 xhigh effort 加上会话中途系统消息即可。Anthropic 在官方文档中发布了一个完整的编排示例。
Dynamic Workflows 成本高吗? 可能会很高。几百个 xhigh 子袋里加起来可能达到几百万个 token。严格限定工作袋里的范围,尽可能降低 effort 级别,并缓存共享上下文以控制支出。
什么时候应该避免使用 Dynamic Workflows? 在处理狭窄或严格顺序的任务时。当每一步都依赖前一步时,并行工作袋里不会带来任何价值,反而会在小型任务上浪费 token。
