一、前言

最近,Anthropic 发布了 Claude Opus 4.8,同时带来了一个很多人还没有意识到其意义的新能力——Claude Code Dynamic Workflows(动态工作流)。

如果说过去两年 AI 编程领域最重要的两个关键词是 MCP 和 Skills,那么在我看来,Dynamic Workflows 很可能会成为下一个被行业反复讨论、最终演变成标准范式的能力。

因为它改变的已经不是模型本身,而是软件开发任务的组织方式。

过去,我们习惯于把 AI 当作一个聪明的助手:

你提问,它回答;

你规划,它执行;

你发现问题,它继续修复。

无论模型变得多强,本质上仍然是在一个有限上下文窗口里的单线程协作。

但 Dynamic Workflows 不一样。

它第一次让 Claude 不再只是一个对话对象,而开始像一个真正的工程团队。

Claude 会先理解目标,然后自己编写一段用于调度的 JavaScript 编排脚本,在后台启动数十、数百甚至上千个 Subagent 并行工作。它们从不同角度分析问题、互相审查彼此的结论、不断迭代修正,最终只把经过验证的结果呈现给用户。

更重要的是,这一切都发生在主对话上下文之外。

计划被写进代码,而不是塞进上下文窗口;

思考过程被存入运行时,而不是堆积在聊天记录里。

这意味着 AI 编程长期存在的几个核心瓶颈——上下文污染、逻辑漂移、复杂任务失控——第一次看到了系统性的解决方案。

官方展示的案例甚至有些令人震撼。

Bun 作者 Jarred Sumner 使用 Dynamic Workflows 完成了 Bun 从 Zig 到 Rust 的迁移:

  • 生成约 75 万行 Rust 代码;
  • 既有测试套件通过率达到 99.8%;
  • 从首次提交到代码合并仅用了 11 天。

这并不是简单地“写代码更快了”。

而是第一次让人看到:原本需要一个团队持续数周甚至数月推进的大型工程任务,开始能够由一个由 AI 驱动的并行智能体集群自主完成。

如果说 MCP 解决的是「让 AI 接入世界」的问题;

Skills 解决的是「让 AI 复用经验」的问题;

那么 Dynamic Workflows 解决的,则是「让 AI 学会组织大规模工作」的问题。

我认为,这可能是 AI 软件工程发展过程中一个极其重要的转折点。

它标志着开发模式正在从“单一对话式 Agent”,迈向“大规模并行智能体协作网络”。

未来很多今天仍然依赖人工协调、人工拆解、人工跟踪的大型工程任务,都有可能因此被重新定义。

Dynamic Workflows(动态工作流)是解决“上下文污染”和“复杂任务规划”的杀手锏。

Dynamic Workflows 的本质,是让计划留在代码里,而不是留在上下文里;让组织能力成为 AI 的基础设施,而不是开发者的负担。

本文将结合官方资料、技术细节以及个人理解,分享下 Claude Dynamic Workflows 的只是、设计以及它可能给整个 AI 编程生态带来的深远影响。

二、快速体验

接下来,我们先快速的使用一下,首先更新下我们的ClaudeCode版本为最新的版本。这里我用的是MiniMax模型,使用switchcc进行配置,目前看问题也不大:

npm install -g @anthropic-ai/claude-code

然后我们进入到ClaudeCode的命令行界面:

claude

然后输入我们的一个问题,根据官方的说法,使用时prompt 里包含 "workflow" 这个词。

两种方式如下:

接下来,我们发起个实验试试,这是一个基于 Claude Code Workflow 的自动化小说生成工作流。可以一键生成:

  1. 3章小说的 Markdown 文档
  2. 对应的精美 HTML 网页(支持在线阅读)
  3. 小说目录首页

例如:

然后我们通过执行/workflows命令查看到执行的进度,可以看到分成了多个步骤,然后一共使用了4个agent的方式开始实现我们的需求:

执行到第3步的时候,又给我们生成了3个Agent,开始写MD文档,此时已经出现了7个Agent。

然后执行到第4步的时候,又给我们生成了3个Agent,开始给我们生成HTML网页,此时已出现10个Agent:

执行到第5步的时候,继续生成了3个Agent,开始进行写文件,此时用了13个Agent:

然后继续执行,最终通过使用了15个Agent的方式,实现了这个3章的小说的生成.

执行结束,提示日志:

接下来看下效果,还不错:

接下来,我们实现快捷键来执行保存,方便日后使用,使用字母s:

弹出的保存工作流交互,我们输入自己的名称后,会在当前目录下保存工作流:

保存成功后,会提示我们输入斜杠命令的方式实现工作流的复用,我这里的提示如下:

Invoke as /xiaoming-workflow or Workflow({name: "xiaoming-workflow"}) in future sessions.

这是工作流最实用的特性之一。当 Claude 生成的脚本跑通之后,你可以把它保存为一条命令,以后在同样的项目里直接复用。

通过 /workflows 进入运行列表,选中你要保存的工作流,按 s 键。有两个保存位置可选:

• .claude/workflows/ — 保存在项目目录,团队成员都能用(建议提交到 Git)

• \~/.claude/workflows/ — 保存在家目录,个人全局可用

保存后,在 Claude Code 中输入 / 就能看到它出现在自动补全列表中

在这个进度视图中,相关的操作命令如下:

保存完成后,会在当前目录下生成脚本文件,目录结构如下:

.claude
    workflows
      xxxxxx-workflow.js

代码内容截图如下:

关于这个脚本的内容和逻辑,工作流程

Phase 1: 思考构思

调用 AI Agent 生成故事大纲

输出:每章概要、人物性格、故事主线

使用 schema 约束确保返回结构化 JSON

Phase 2: 生成小说章节

使用 pipeline() 并行生成3章内容

每章基于上一阶段的概要创作

输出:2000-3000字的 Markdown 格式小说

Phase 3: 写入MD文档

使用 pipeline() 并行写入3个 .md 文件

每个文件调用一个 Agent 完成任务

Phase 4: 生成HTML网页

使用 pipeline() 并行生成3个章节网页

AI Agent 负责设计精美的阅读界面

Phase 5: 写入HTML文件

写入章节 HTML 文件

生成并写入 index.html 目录页

这个脚本中主要的几个关键内容如下:

  1. 导出 meta 对象
export const meta = {
  name: 'workflow名称',
  description: '描述',
  phases: ['阶段1', '阶段2', ...]  // 进度显示的阶段
}
  1. phase() 分阶段
phase('阶段名称')  // 在进度树中创建一个新的阶段分组
  1. agent() 调用 AI

结构化输出:给 agent() 传一个 JSON Schema,subagent 会被强制调用结构化输出工具,agent() 直接返回校验过的对象——无需自己解析,模型不匹配会自动重试。

const result = await agent('提示词', {
  phase: '所属阶段',
  label: '显示标签',
  schema: { /* JSON Schema约束输出格式 */ }
})
  1. pipeline() 并行处理
const results = await pipeline(items, async (item, index) => {
  // 对每个item执行操作
  return result
})
  1. log() 输出日志
log('消息')  // 显示在进度树中
  1. args 全局变量
args  // 获取 Workflow 调用时传入的参数

在这个脚本中,代表了Agent设计模式中的流水线设计模式的使用。

常见的使用的几个原生操作如下:

完整代码如下,可以保存后,自己放到.claude/workflows下,存储为xiaoming-workflow.js文件,文件内容:

export const meta = {
  name: 'novel-workflow',
  description: 'Generate a 3-chapter novel about Xiao Ming and Sun Wukong going to school, output md files and HTML pages',
  phases: ['思考构思', '生成小说章节', '写入MD文档', '生成HTML网页', '写入HTML文件'],
}

const chapters = [
  {title: '第一章:意外的相遇', filename: 'chapter1.md', htmlFile: 'chapter1.html'},
  {title: '第二章:校园新生活', filename: 'chapter2.md', htmlFile: 'chapter2.html'},
  {title: '第三章:友谊的力量', filename: 'chapter3.md', htmlFile: 'chapter3.html'}
]

phase('思考构思')
const plan = await agent(`你是作家。请构思一部3章小说的整体故事线:

故事背景:小明是个普通的小学生,一天捡到了一本奇书,意外召唤出了孙悟空。孙悟空因为大闹天宫被如来佛祖惩罚,要在一个凡间学校完成学业才能重返天庭。两人从陌生到成为挚友,经历了一系列有趣的故事。

请给出:
1. 三章各自的剧情概要(每章200字)
2. 主要人物性格设定
3. 故事主线和大结局走向

以JSON格式输出,包含 keys: chapterSummaries (数组), characterProfiles, storyArc`, {
  phase: '思考构思',
  schema: {
    type: 'object',
    properties: {
      chapterSummaries: {type: 'array', items: {type: 'string'}},
      characterProfiles: {type: 'string'},
      storyArc: {type: 'string'}
    },
    required: ['chapterSummaries', 'characterProfiles', 'storyArc']
  }
})

log('故事构思完成,开始生成各章节...')

phase('生成小说章节')
const mdResults = await pipeline(chapters, async (chapter, index) => {
  const summary = plan.chapterSummaries[index]
  const content = await agent(`请根据以下概要,创作小说《${chapter.title}》的完整内容。

章节概要:${summary}

要求:
1. 字数2000-3000字
2. 语言生动有趣,适合青少年阅读
3. 包含具体对话、动作、心理描写
4. 以 Markdown 格式输出
5. 使用中文写作
6. 标题使用 # 格式

直接输出小说内容,不要有额外说明。`, {
    phase: '生成小说章节',
    label: `生成${chapter.title}`,
    schema: {type: 'object', properties: {content: {type: 'string'}}, required: ['content']}
  })
  return {chapter, content: content.content, index}
})

phase('写入MD文档')
await pipeline(mdResults.filter(Boolean), async (result) => {
  await agent(`请将以下小说内容写入文件 ${result.chapter.filename}。

文件路径:${args[1]}/${result.chapter.filename}

小说内容:
# ${result.chapter.title}

---

${result.content}`, {
    phase: '写入MD文档',
    label: `写入${result.chapter.filename}`,
    schema: {type: 'object', properties: {success: {type: 'boolean'}}, required: ['success']}
  })
  log(`✓ 已生成: ${result.chapter.filename}`)
})

phase('生成HTML网页')
const htmlResults = await pipeline(mdResults.filter(Boolean), async (result) => {
  const htmlContent = await agent(`请将以下小说内容转换为精美的HTML网页。

小说标题:${result.chapter.title}
小说内容:
${result.content}

要求:
1. HTML5标准结构,包含 <!DOCTYPE html>
2. 使用 <style> 标签内嵌CSS,设计要精美:
   - 适合阅读的字体大小(16-18px)和行高(1.8)
   - 舒适的阅读宽度(max-width: 800px, margin: auto)
   - 标题使用大号字体,居中显示
   - 章节标题有装饰效果(如底部边框或渐变背景)
   - 段落之间有合适间距
   - 添加淡蓝色或米色背景色
   - 添加返回目录链接
3. 添加中文导航栏:包含"上一章"、"目录"、"下一章"链接(注意:第一章没有上一章,最后一章没有下一章)
4. 响应式设计,在手机端也能良好阅读
5. 添加阅读进度条效果
6. 添加简单的页脚:版权信息和"由AI生成"

直接输出完整HTML代码,不要有其他说明。`, {
    phase: '生成HTML网页',
    label: `生成HTML-${result.chapter.title}`,
    schema: {type: 'object', properties: {html: {type: 'string'}}, required: ['html']}
  })
  return {chapter: result.chapter, html: htmlContent.html}
})

phase('写入HTML文件')
await pipeline(htmlResults.filter(Boolean), async (result) => {
  await agent(`请将以下HTML内容写入文件 ${result.chapter.htmlFile}。

文件路径:${args[1]}/${result.chapter.htmlFile}

HTML内容:
${result.html}`, {
    phase: '写入HTML文件',
    label: `写入${result.chapter.htmlFile}`,
    schema: {type: 'object', properties: {success: {type: 'boolean'}}, required: ['success']}
  })
  log(`✓ 已生成: ${result.chapter.htmlFile}`)
})

// 生成目录页
const indexHtml = await agent(`请为小说《小明和孙悟空一起上学》创建一个精美的目录首页HTML。

小说信息:
- 书名:小明和孙悟空一起上学
- 类型:校园奇幻小说
- 共3章

三章内容:
1. 第一章:意外的相遇 - 小明偶遇被贬下凡的孙悟空
2. 第二章:校园新生活 - 两人的校园冒险开始
3. 第三章:友谊的力量 - 共同面对困难,友谊升华

要求:
1. HTML5标准结构
2. 精美的CSS样式:
   - 大气的标题设计
   - 章节列表使用卡片式布局
   - 添加可爱的图标或emoji
   - 渐变背景色
   - 悬停效果
3. 每个章节链接到对应的HTML文件
4. 添加小说简介区域
5. 响应式设计
6. 添加页脚

直接输出完整HTML代码。`, {
  phase: '写入HTML文件',
  label: '生成目录页',
  schema: {type: 'object', properties: {html: {type: 'string'}}, required: ['html']}
})

await agent(`请将以下HTML内容写入文件 index.html。

文件路径:${args[1]}/index.html

HTML内容:
${indexHtml.html}`, {
  phase: '写入HTML文件',
  label: '写入index.html',
  schema: {type: 'object', properties: {success: {type: 'boolean'}}, required: ['success']}
})
log('✓ 已生成: index.html (目录页)')

log('\\n🎉 全部完成!生成了以下文件:')
log('  📚 MD文档: chapter1.md, chapter2.md, chapter3.md')
log('  🌐 HTML网页: chapter1.html, chapter2.html, chapter3.html')
log('  📖 目录页: index.html')
log('\\n用浏览器打开 index.html 即可开始阅读!')

那么,这个东西既然可以落地为脚本,那么意味着我们可以做更多有意思的事情:

1、做个AI程序来自动生成这个适配ClaudeCode的Workflows脚本程序

2、也可以写个Skills来生成这种稳定的Workflows脚步的逻辑

3、可以建设Workflows的市场、周边各种生态。

广告媒流(小程序)-AI生图

.......

Claude Code 也自带了一个开箱即用的 workflow 叫 /deep-research——专门做需要"上网+读代码+交叉验证"的深度调研:

/deep-research xxxxxxx

它会自己拆成几十个 subagent:一批查文档、一批读你仓库实际代码、一批跑对照验证,最后汇总成一份带引用的报告。/deep-research 是看懂 Dynamic Workflows 的最快入口——你不需要懂 JS,直接体验完整流程。

这个workflow的源码截图如下:

无论是刚才的写文章的Workflow,还是这个内置的深度搜索的Workflow,多数的这个Workflow这个体验上来看启动工作流时都会做类似如下的内容:

  1. Claude 根据提示动态规划任务
  2. 将任务拆解为子任务
  3. 并行分发给子代理
  4. 子代理从独立角度处理问题
  5. 对抗代理尝试挑战结果
  6. 不断迭代直到答案收敛

最终用户得到的是单一、协调一致的结果。特点:

  1. 支持长时间并行工作(可持续数小时至数天)
  2. 复杂工程任务以前需要数周才能完成
  3. 进度在运行中保存,中断后可从上次位置恢复
  4. 协调在对话外进行,任务规模再大也能保持计划一致

工作流生成许多代理,所以单次运行可以使用比在对话中处理相同任务更多的令牌。

从我们刚才敲下 prompt 的时候,到结果回灌,中间发生了什么呢,可以看下这个图:

隔离执行:runtime 在与对话隔离的环境里跑脚本,中间结果留在脚本变量里,不进 Claude 上下文。

异步后台:启动后立即返回一个任务 id,workflow 在后台跑,主会话仍可交互;完成时通知你。

并发受控:同时最多 16 个 subagent,多出的排队等空位;整个生命周期总量上限 1000。

上下文干净:中间推理默认不回到主会话(除非脚本用 log() 输出),因此长任务不会撑爆上下文。

可交叉验证:脚本可以让独立 subagent 互相审查彼此结论后再上报,或从多个角度起草方案再择优。

体验完成了,接下来我们在看看这个Dynamic Workflows。

三、继续学习下Dynamic Workflows是什么

首先,我们还是通过DeepResearch类的软件,来深度研究下这个功能,这个东西在AI时代非常重要,也是能够快速学习的一种方式,我这里使用的依然是谷歌的NoteBookLM,截图如下:

等待一会儿后,我们可以看到我们想要的内容,给我们整理20篇的文章,接下来开始学习:

首先我们来看下这个东西的基本研究结果。

首先,从设计上来看,这个东西体现了【上下文卸载机制Context Offloading Mechanism)】,当用户发起复杂任务时:

主模型首先规划整体目标;

然后将该计划转换成一个临时 JavaScript 脚本;

Claude Code 内部后台运行时(Runtime)负责执行该脚本。

而在我们传统方式下:每一步操作、目录扫描结果、临时文件修改,都会被不断追加到对话历史中,最终导致:

Context Pollution(上下文污染)

Context Drift(上下文漂移)

而 Dynamic Workflows 中:中间变量、循环逻辑、条件分支等全部保存在 JavaScript 运行时内部。

因此:

主上下文窗口只保留最终结果;

子代理(Subagents)独立执行各自任务。

其次,再看它也做到了并行扇出(Fan-Out)的模式,动态生成的 JavaScript 脚本能够同时协调数十到数百个并行运行的子代理。执行流程如下:

(1)、首先动态任务拆解:主脚本将高层目标分解为多个可并行执行的子任务。

(2)、然后并行子代理分发:启动多个隔离运行的子代理:实现代码修改,或从不同角度分析代码路径。

如果我们的任务需要做检查,通过这种玩法也会出现对抗式验证(Adversarial Verification),AI代理可能会生成一些作为“反方审查员(Devil's Advocate)”的Agent,来

反驳发现结果;

寻找安全漏洞;

尝试破坏代码修改方案。

各代理不断迭代,直到逻辑分析结果收敛为统一结论。后台运行时:

汇总验证后的结果;

输出单一统一结论给用户。

例如,在我的微信群中,有的网友网友来扫描代码,发现的结果也是出现了对抗性的特使,使用了127个Agent来达到目标,通过对抗性验证淘汰了17条的误报,这个东西价值比较大了:

正如Alessio Vallero所说:“动态工作流对于大规模代码库的探索和复查任务特别有价值。它帮助我们发现死代码和清理机会,这是传统静态分析无法覆盖的,让工程师在维护和重构工作上速度更快。”

同样的Ken Takao所说:

“动态工作流填补了单个子代理与完整代理团队之间的空白。从计划到执行流程顺畅,我们可以信任长期运行的任务而不会失去可见性。”

对于这个未知的东西,我们依然从5W2H的思维来看待这件事:

  1. What(是什么?)

动态工作流是一个能够自动编排数十到数百个并行子智能体(Subagents)的执行框架。 它本质上是由 Claude 在后台动态生成并执行的一段 JavaScript 脚本。与传统的单线对话不同,它的中间步骤和临时结果会直接存储在脚本变量中,而不是堆积在主对话的上下文窗口中。最终只有经过验证的结论才会返回给用户。

  1. Why(为什么做?/ 解决了什么问题?)

突破“上下文污染”的物理极限: 传统大模型在执行长时间、复杂任务时,容易因为上下文窗口塞满而出现遗忘或“幻觉”。动态工作流将执行计划卸载到后台代码中,确保主对话的上下文保持整洁。

将季度级任务缩短至几天: 通过大规模并发操作,它可以极大缩短工程时间。

内置对抗性审查机制提升可靠性: 它不是简单地分发任务,而是让子智能体从独立角度切入,互相验证甚至进行对抗性反驳(Devil's advocate),直到结果收敛,从而排除了单个智能体容易产生的漏洞。

  1. Who(谁可以使用?)

适用人群: 需要处理超大代码库的开发者、架构师或 AI 工程团队。

开放范围: 在 Claude Code(支持 CLI、桌面版、VS Code 扩展等)中向 Max、Team 和 Enterprise 计划的用户开放。对于 Enterprise 用户,默认关闭,需要管理员手动开启。同时也可通过 Claude API 以及 Amazon Bedrock、Vertex AI 等云平台使用。

  1. When(什么时候用?什么时候不用?)

极度适用的场景(大型重活): 涉及数百上千个文件的大型迁移(例如 Bun 作者将 75 万行代码从 Zig 移植到 Rust 的史诗级案例)、代码库级别的全局 Bug 排查、深度的全量安全审计。

千万别用的场景(杀鸡用牛刀): 对于单个文件的微小修改、修个小 Bug 或简单的格式化。由于启动工作流代价极高,这些小任务使用常规的交互模式(或 Fast Mode)即可,否则是极大的浪费。

  1. Where(在哪里运行?)

在 后台隔离环境 中运行。用户的手头会话保持高度响应,你可以用指令打开特定的视图(如 Agent View 或执行 /workflows)来监控它在后台的执行进度。

  1. How(如何触发与运作?)

如何触发: 有三种主要方式。第一,在提示词中直接包含“workflow”一词;第二,在 Effort(投入度)选项中开启 ultracode 模式(该模式结合了极高的推理投入和自动工作流编排);第三,调用内置的 /deep-research 宏命令。

如何执行: 接收任务 -> 动态分解子任务 -> 并行启动子智能体 -> 对抗性验证与纠错 -> 归总报告。

容错与恢复: 拥有自动保存检查点(Checkpointing)的能力。如果遇到网络中断或人为暂停,任务可以从断点恢复,无需从头重新消耗计算量。完成的工作流脚本还可以通过按 s 键保存下来,供未来团队复用。

  1. How much(消耗多大?有何限制?)

“烧钱”级别的 Token 消耗: 这是一个极其昂贵的模式。运行一次大型动态工作流可能会消耗数百万甚至几千万的 Token,导致你的账号迅速触及使用限额。官方甚至会在首次运行时弹出消耗警告提示。

硬性并发限制: 为防止失控,系统在后台施加了严格的上限:最多允许 16 个智能体并发执行,且单次运行的智能体总数封顶为 1,000 个

四、架构对比

首先来看下SubAgent、AgentTeams、Dynamic Workflows的对比:

之前很多人应该使用Subagents来解决问题(一个会话内派几个专家并行)和 Agent Teams(多会话直接通信)。它们能解决很多问题,但有一个共同的天花板——调度逻辑活在主 Claude 的 context 里。

实际后果:

你想扫完一个百万行仓库找 bug?派 50 个 subagent,每个查一个目录?主 context 装不下这么多 task 描述 + 结果摘要。

你想做一个跨 200 个文件的大迁移?Agent Teams 的协调消息会把主 context 顶爆。

你想让多个 agent 对同一个发现互相挑刺、迭代到共识?目前没有"对抗式校验"这层基础设施。

简单说:Subagents 是"一个老板带几个工人",Agent Teams 是"几个团队互相打配合",但你想要一个工厂——上百个工位同时干、生产管理跟干活的事分开。

再来看下它和子代理、skills的对比,都可以运行多步骤任务。区别在于谁掌握计划:

工作流将计划移入代码。使用子代理和 skills,Claude 是编排者:它逐轮决定接下来生成什么,每个结果都进入 Claude 的上下文。工作流脚本持有循环、分支和中间结果本身,所以 Claude 的上下文只持有最终答案。将计划移入代码也让工作流应用可重复的质量模式,而不仅仅是运行更多代理:它可以让独立代理在报告之前对彼此的发现进行对抗性审查,或从多个角度起草计划并相互权衡,所以您获得比单次通过更可信的结果。

Dynamic Workflows 解决的是编排规模。它不让主 Claude 每一轮都亲自协调,而是把调度逻辑交给脚本。脚本可以 parallel,可以 pipeline,可以循环,也可以在每个发现后安排对抗性 review。

从这个角度看,它在 Claude Code 里补了一层“编排运行时”。

我们在通俗的对比下,了解下这几个概念,拆解这四个概念:

  1. Subagent(子代理):专注局部的“外派调研员”

怎么工作: 当主 AI(比如你的项目经理)遇到一个需要查阅大量资料的具体问题时,它不会自己去死磕,而是临时派出一个 Subagent 去专门干这件小事。

解决什么痛点: 主要是为了“隔离噪音”。如果主 AI 自己去读几万行的日志找个小 bug,它的“脑子”(上下文窗口)很快就会被这些琐碎信息塞满,忘了原本要干嘛。有了 Subagent,主 AI 就能保持头脑清醒,只接收 Subagent 汇报的最终结果。

适用场景: 快速读取某个代码模块、顺藤摸瓜查一下函数调用链、或者对某一段代码做个局部审查。

  1. Skill(技能):固化经验的“标准操作手册(SOP)”

怎么工作: 它不仅仅是让 AI 即兴发挥,而是把过去成功的经验写成了一个“剧本”(Skill 文件)。下次再遇到同样的事情,AI 直接照着剧本走。

解决什么痛点: 核心是“沉淀资产”。把“碰巧做对了一次”变成“每次都能做对”。它消除了 AI 每次处理重复任务时的随机性,确保输出稳定。

适用场景: 生成特定格式的周报、遵循固定的代码提交流程、或者按照你们团队的特定规范来审查代码。

  1. Agent Teams(代理团队):跨职能的“敏捷项目组”

怎么工作: 这就像一个真实的项目组,有一个 Lead(组长)和多个 Teammates(比如前端 AI、后端 AI、测试 AI)。他们之间会共享协作状态,知道彼此在干什么。

解决什么痛点: 解决“各自为战”导致的风险。如果前端改了接口,后端不知道,项目就会报错。Agent Teams 通过分工协作,确保不同角色在同一个工作面上步调一致。

适用场景: 需要多角色配合的复杂任务,比如同时开发前端和后端、边写代码边写测试用例、或者多角度的代码交叉审查。

  1. Workflow(动态工作流):代码驱动的“自动化流水线”

怎么工作: 这是最高阶的编排。这里的计划不再只是一段给 AI 的提示词(Prompt),而是变成了真正的可执行代码(比如 JavaScript 脚本)。这个脚本在后台静默运行,精准地调度无数个 AI 去执行循环或并发任务。

解决什么痛点: 解决“规模化与可控性”的问题。正如图片底部强调的,Workflow 的价值不是简单地“增加人手”,而是让整个复杂的计划变得“可执行、可复查”。因为是用纯代码调度的,哪里出错了,工程师可以直接看脚本排查。

适用场景: 扫遍整个公司代码仓库找漏洞、超大规模的旧系统迁移、几万个文件的长尾清理工作。

总结来说:

Subagent 是帮你“跑腿”的,Skill 是帮你“背书”的,Agent Teams 是帮你“打团战”的,而 Workflow 则是帮你建起一座“自动化工厂”。

五、生态发展

首先我觉得这个东西的发布,将会对那种图形化编排的软件FastGPT、Dify造成一定的冲击,同时让ClaudeCode中的一些场景执行的更稳定,同时也会让非技术人员,能够编写更强大,更厉害的应用场景。原来开发人员使用SDK开发的自定义Agent的场景也有一定的冲击。

在发布后的不久,Github上相继出现了一些新的生态项目,值得阅读的我推荐几个:

第1个:Claude Code 多 Agent 编排实战手册

仓库地址:https://github.com/AGI-is-going-to-arrive/workflow-cookbook

在线预览:https://agi-is-going-to-arrive.github.io/workflow-cookbook/

本书从零到一带你走完整条路。你先理解工作流在几种扩展机制里的位置,再掌握 agent()/parallel()/pipeline()/schema 全部 API,然后实战 7 个真实运行的配方。接着你解锁对抗验证、循环到干、预算、续传这些进阶模式,横评四大社区系统并提取精华,构建属于你自己的 Workflow 库,最后掌握从意图到上线的创作、校验与调试全流程。

这是一本实战 Cookbook,不是 API 文档。它讲得深入浅出,配方都以真实运行为骨:已实跑的附 Run ID 与用量,仅作示意的脚本明确标注。

第2个:可视化 Claude Code 动态工作流 (Dynamic Workflows) 的轻量级辅助工具

项目地址:https://github.com/democra-ai/claude-workflow-viz

项目介绍:当 Claude 用脚本在后台同时调度几十上百个 subagent 时,所有的执行细节(哪些代理在并行、卡在哪个环节、分别消耗了多少 Token)通常只会静默保存在本地的 JSON 日志里。这个工具的作用就是把这些隐藏的底层数据“提出来”,变成直观的可视化图表。

第3个:一套便携、抗造、能换引擎的轻量级施工脚手架

项目地址:https://github.com/akakabrian/agent-workflows

项目介绍:它是一个无依赖、跨平台、纯 Python 的动态 Agent 工作流运行时环境。它的核心理念是:“用一个简单的 Python 脚本,搞定复杂的多模型协作、并发和容错,而且不绑定任何具体的模型厂商”。

第4个:交互式单页报告:Claude Code 动态工作流(Dynamic Workflows)使用调研

项目地址:https://github.com/cclank/cc-dynamic-workflows

在线预览地址:https://cc-dynamic-workflows.pages.dev/

项目介绍:一份交互式单页 HTML 报告,讲清 Claude Code Dynamic Workflows(2026-05-28 随 Claude Opus 4.8 发布的研究预览功能)怎么用:定义、执行模型、触发与上手、监控成本、限制、脚本 API、编排模式、真实案例。

我觉得接下来还会出现DynamicWorkflow市场、企业DynamicWorkflow的应用、DynamicWorkflows的相关Skills,非常期待了。

六、避坑指南

一次 workflow 会 spawn 大量 agent,单次运行可能比在对话里做同一任务消耗明显更多 token;运行像普通会话一样计入你方案的用量与速率限制。在这个过程中,可以随时从 /workflows 停止,不会丢失已完成的工作。

控成本:盯住模型

workflow 里每个 agent 默认用你会话的模型,除非脚本把某阶段路由到别的模型。

大运行前先 /model 确认(尤其你平时会切到小模型做日常活时)。

描述任务时,可让 Claude 把不需要最强模型的阶段换成小模型。

关掉 workflow的几种方式如下:

不想用时三选一:/config 里关掉 Dynamic workflows;或 \~/.claude/settings.json 设 "disableWorkflows": true;或环境变量 CLAUDE_CODE_DISABLE_WORKFLOWS=1。组织级可用 managed settings。关闭后:bundled 命令不可用、workflow 词不再触发、ultracode 从 /effort 菜单移除。

几个注意的地方:

场景:

成本:

系统:

这个东西在使用的时候,我们还是需要根据自己的情况进行选择:

七、总结

如果说过去两年的 AI 编程革命,主要是在不断提升模型的能力边界,那么 Dynamic Workflows 的出现,则是在重新定义 AI 完成工作的方式。

它本质上并不是一个“更强的代码助手”,而是一种全新的软件工程执行范式:

从「单 Agent 对话式编程」演进到「可持久化、可恢复、可验证的大规模并行 Agent 集群编排系统」。

它背后的几个关键创新包括:

  • 上下文卸载(Context Offloading)
  • JavaScript 动态执行计划
  • 数百至上千个 Agent 的并行协作
  • 自动化对抗验证机制(Adversarial Verification)
  • 检查点恢复与长任务持续运行能力

而这一切创新的背后,其实都指向同一个核心思想:

把“计划”从对话搬进代码。

在传统模式下,Claude 需要在自己的上下文窗口里完成全部工作:

规划、推理、循环、分支判断、中间状态管理……

所有信息都会不断堆积在有限的上下文中。随着任务规模扩大,Token 持续增长,上下文逐渐被污染,模型也更容易出现逻辑漂移、遗忘甚至幻觉。

Dynamic Workflows 则选择了一条完全不同的道路。

它把循环、条件判断、任务拆解、并行调度以及中间状态管理全部迁移到动态生成的 JavaScript 编排脚本中,由独立 Runtime 持续执行;而主对话上下文只负责接收经过验证的最终结果。

从某种意义上说,这已经不是在扩展 Context Window,而是在绕开 Context Window。

这也是为什么 Claude 能够从过去一次只能驱动一个 Agent,演进到同时协调数百甚至上千个 Subagent,并持续运行数小时甚至数天而不失控。

如果说:

  • MCP 解决的是「AI 如何连接世界」;
  • Skills 解决的是「AI 如何沉淀经验」;

那么 Dynamic Workflows 解决的,则是:

「AI 如何组织大规模工作」。

这或许才是它真正重要的地方。

因为软件工程从来都不是写出一段代码那么简单,真正困难的是规划、拆解、协作、验证、追踪以及持续迭代。

而 Dynamic Workflows 第一次让我们看到,AI 开始具备承担这些工程组织工作的能力。

对于大型代码迁移、安全审计、仓库级重构以及长周期研发任务来说,它展现出的已经不再是一个编程助手的能力,而更接近于一个能够自主协作的“软件工程团队”。

当然,这项技术仍然面临 Token 成本、资源管理、模型调度效率以及质量控制等现实挑战。

但即便如此,它依然释放出了一个非常明确的信号:

未来的软件开发竞争,或许不再只是模型能力的竞争,而是 Agent 编排能力的竞争;未来最重要的资产,也许不再是 Prompt,而是 Workflow。

当 AI 开始学会组织工作,而不仅仅是完成工作时,一个全新的 AI 软件工程时代,或许已经拉开序幕。