Anthropic Blog · 2026-05-28 · 工程级解读

Claude Code Dynamic Workflows
工程级深度解读

不只是"AI 编排工具"——这是一个把 LLM 调用从思考空间搬到脚本运行时的架构转换。 本文从运行时模型、代码级 API、手搓版对比、选型决策框架到社区真实数据,完整拆解。

16 并发 每 workflow 最大并行 agent 数,受 CPU 核心限制
1,000 agent 单次 workflow 最大 agent 总量
750K 行 Bun Zig→Rust 移植代码量(旗舰案例)
~15% ↓ Anthropic 内部用 workflow 优化自身 token 消耗的降幅

第一层:它到底是什么,在哪跑

不是"AI 自己编排自己",而是一个 JS 运行时执行编排脚本,LLM 只在 agent() 调用时被唤醒。

2026 年 5 月 28 日,Anthropic 为 Claude Code 引入 Dynamic Workflows。核心变化:Claude 不再在上下文窗口里逐轮决定是否委派 subagent——它改为动态编写一段 JavaScript 编排脚本,交给内置运行时执行。

这段脚本是普通的 JS 代码,有变量、循环、条件分支。编排逻辑从此脱离 LLM 的上下文窗口,存储在脚本变量中,理论上可无限扩展。LLM 只在脚本调用 agent() 时被唤起。

有些问题对单个 agent 的一次执行来说太大了——跨越整个服务的 bug 搜索、涉及数百个文件的迁移、一个你想从每个角度压力测试的计划。

Some problems are too big for one pass by a single agent, especially in complex, legacy codebases. Dynamic workflows can handle all of these end-to-end.

维度Subagent(旧)SkillsDynamic Workflow(新)
谁在协调Claude 逐轮对话决定Claude 遵循指令JS 编排脚本,运行时执行
中间状态存在 Claude 上下文窗口同 subagent存在脚本变量/文件
规模每轮几个同 subagent每次运行数十到数百个 agent
上限受上下文窗口限制同 subagent16 并发,1,000 agent/工作流
中断恢复重置当前轮次重新开始同一会话内可恢复
可复用保存为 skill 文件保存为 .claude/workflows/ 命令
对话影响占用主对话上下文同 subagent隔离运行,对话保持可用
权限继承会话模式同会话子 agent 始终 acceptEdits,自动批准文件编辑

第二层:运行时模型

JS 运行时是指挥官,LLM 是士兵。脚本定义"谁做什么、什么时候做",LLM 只在 agent() 调用时被唤起执行具体任务。

指挥层

JS 运行时(编排器)

脚本拥有完整的 JS 执行环境:变量、循环、条件、错误处理。编排逻辑是确定性的代码——不是 LLM 的模糊决策。这意味着你可以用 try/catch 处理失败、用 Promise.all 控制并发、用变量追踪进度。

关键约束:脚本自身没有文件系统或 shell 访问权限。所有 I/O 操作都由 agent 执行。脚本的职责纯粹是协调。

执行层

LLM Agent(工作者)

每个 agent() 调用创建一个独立的 Claude 实例。它继承项目的工具白名单(acceptEdits 模式),拥有自己的上下文窗口,执行脚本分配的具体任务。

关键特性:agent 之间互不感知。它们只看到脚本传入的 prompt 和返回的结果。这避免了共享上下文污染,但也意味着 agent 之间无法直接通信。

阶段屏障语义——最容易被误解的区分

Workflow 的编排有两个关键语义,搞混会导致对"脚本到底怎么执行"的根本误解:

阶段间 = 顺序屏障(Sequential Barrier):阶段 1 的所有 agent 完成后,阶段 2 才开始。这意味着阶段是一个同步点——前一个阶段的结果可以作为下一个阶段的输入。

阶段内 = 并发执行(Concurrent Execution):同一阶段内的 agent 同时运行,互不等待。最多 16 个 agent 并发,超出排队。结果是"一批一起做完,再做下一批"。

陷阱:如果两个任务之间没有数据依赖,应该放在同一阶段并行执行。如果有依赖关系(任务 B 需要任务 A 的结果),必须放在不同阶段,让 A 先完成再启动 B。把无依赖的任务分到不同阶段 = 浪费时间;把有依赖的任务放在同一阶段 = 拿不到中间结果。

图灵完备 vs DAG:脚本是图灵完备的(可以有 while 循环、条件分支),但单次执行轨迹隐含 DAG 结构——节点是 agent 调用,边是数据依赖。循环多次的轨迹是 DAG 的多次展开。这不是设计限制,而是"阶段屏障 + 无共享状态"的必然结果。

数据流模型

┌─────────────────────────────────────────────────────────┐
│                    用户 Prompt                           │
│  "扫描整个代码库找安全漏洞"                                │
└─────────────────┬───────────────────────────────────────┘
                  │
                  ▼
┌─────────────────────────────────────────────────────────┐
│              Claude(规划器)                              │
│  分析任务 → 编写 JS 编排脚本                               │
│  输出:script.js(含任务分解 + agent prompt 模板)          │
└─────────────────┬───────────────────────────────────────┘
                  │
                  ▼
┌─────────────────────────────────────────────────────────┐
│           JS 运行时(后台执行)                             │
│                                                         │
│  const files = glob("**/*.ts");                         │
│  const chunks = split(files, 16);  // 16 并发           │
│                                                         │
│  const results = await Promise.all(                     │
│    chunks.map(chunk =>                                  │
│      agent(`审查这些文件的安全漏洞: ${chunk}`)              │
│    )                                                    │
│  );                                                     │
│                                                         │
│  // 对抗性审查                                           │
│  const verified = await Promise.all(                    │
│    results.map(r =>                                     │
│      agent(`挑战这个安全发现,试图推翻它: ${r}`)            │
│    )                                                    │
│  );                                                     │
│                                                         │
│  // 合并收敛                                             │
│  const final = await agent(                             │
│    `合并并去重这些安全发现: ${verified}`                    │
│  );                                                     │
└─────────────────┬───────────────────────────────────────┘
                  │
                  ▼
┌─────────────────────────────────────────────────────────┐
│              最终报告 → 返回用户对话                        │
└─────────────────────────────────────────────────────────┘

注意:上面的数据流图基于 Anthropic 官方文档描述推断。文档确认了核心模型:"The script holds the loop, the branching, and the intermediate results itself"——脚本掌握循环、分支和中间结果,是图灵完备的。但具体 API(agent() 的参数签名、返回值格式)未公开,真实脚本可能包含未文档化的内部原语。

第三层:核心架构拆解

六大阶段 + 两个内置模式 + TUI 进度面板。完整组件表、职责、数据流。

执行生命周期:六个阶段

1. Plan(动态规划)

Claude 根据 prompt 分析任务结构,决定如何分解、需要多少 agent、依赖关系。输出是一段 JS 脚本。

2. Fan-out(并行展开)

脚本执行,任务拆分为子任务分发给并行 agent。最多 16 个同时运行,超出排队。

3. Check(独立验证)

结果在合并前被独立检查。对抗性 agent 试图推翻发现。这是"自检收敛"的关键。

4. Fold-in(合并收敛)

验证后的结果合并为单一回答。去重、排序、格式化。

5. Checkpoint(断点续跑)

进度实时保存。中断后已完成的 agent 返回缓存结果,只重新运行未完成部分。

6. Save(可复用)

成功的 workflow 可保存到 .claude/workflows/(项目级)或 ~/.claude/workflows/(个人级),变为 / 自动补全命令。

组件职责表

组件职责数据流
Planner LLM解析用户 prompt,生成编排脚本Prompt → JS Script
JS Runtime执行编排脚本,管理 agent 生命周期调度 agent() 调用
Agent Pool维护最多 16 个并行 Claude 实例接收 prompt → 返回结果
Checkpoint Store持久化每个 agent 的完成状态和结果写入缓存 → 恢复时读取
TUI Progress终端 UI 展示阶段/agent 进度读取 runtime 状态
Workflow Store.claude/workflows/ 文件系统保存/加载脚本文件

TUI 进度面板快捷键

导航

浏览进度

↑/↓ 箭头键:在阶段之间导航
Enter:展开选中阶段的 agent 列表
Ctrl+C:退出进度视图(workflow 继续运行)

控制

运行时操作

p:暂停/恢复整个 workflow
x:停止 workflow
r:重启单个失败的 agent
s:保存当前脚本为可复用命令

Ultracode 模式

Ultracode 不是模型,不是 effort level——是 Claude Code 的一个设置开关。它做了两件事:

  • 向模型发送 xhigh 推理强度(等同于手动 /think 的最高级别)
  • 让 Claude 自动判断每个任务是否值得启动 workflow(而不是用户手动触发)

触发方式/effort ultracode(仅限 Opus 4.7 和 4.8)

限制:仅当次会话有效,新会话自动重置。Token 消耗极高。

第四层:代码级细节

脚本长什么样?有哪些 API?跟"Building Effective Agents"的理论框架如何映射?

关键事实:官方文档未公开脚本级 APIagent()pipeline()parallel()phase()log()workflow()args()内部运行时原语——Claude 在生成 workflow 脚本时使用它们,但它们不是开发者可调用的公共 API。文档原话:"A dynamic workflow is a JavaScript script that orchestrates subagents at scale." Claude 写脚本,用户不手写。

市面上有些文章将这些内部函数当作公共 API 详细解读参数和返回值——这是不准确的。下文的脚本示例基于官方文档描述的行为推断,并非精确的 API 参考。

Workflow 脚本结构(推断模型)

// 基于 Anthropic 文档描述推断的脚本结构
// 真实语法可能包含未公开的元数据声明

// 阶段 1:扫描(推断行为)
// 脚本将任务拆分为子任务
// 每个子任务通过 agent() 分配给独立 Claude 实例
// 阶段内最多 16 个 agent 并发执行
// 阶段 = 自然屏障:所有 agent 完成后才进入下一阶段

// 阶段 2:对抗性验证(文档确认的模式)
// 独立 agent 审查阶段 1 的每个发现
// 试图推翻或确认结论
// "It can have independent agents
//  adversarially review each other's findings"

// 阶段 3:合并收敛
// 验证后的结果合并为单一回答
// 中间结果存储在脚本变量中
// "Intermediate results stay in script variables
//  instead of landing in Claude's context"
// 文档确认的关键行为:

// 1. 脚本拥有循环、分支和中间结果
// "The script holds the loop, the branching,
//  and the intermediate results itself"
// → 脚本是图灵完备的(可写循环)
// → 但执行轨迹隐含 DAG 结构
//    (阶段=顺序屏障,阶段内=并发)

// 2. Agent 隔离性
// - 每个 agent = 独立 Claude Code 会话
// - 拥有自己的上下文窗口
// - agent 之间互不感知

// 3. 权限模型(文档确认)
// - 子 agent 始终 acceptEdits 模式
// - 继承会话工具白名单
// - Shell/web/MCP 不在白名单的工具
//   仍会触发权限提示

// 4. Checkpoint 机制(文档确认)
// - 每个 agent 完成后结果被缓存
// - 恢复时:已完成的返回缓存结果
// - 缓存是会话范围的(内存中)
// - 退出 Claude Code = 缓存丢失,从头来

// 5. 编排脚本无 I/O(文档确认)
// "No direct filesystem or shell access
//  from the workflow itself"
// Agent 负责读写和运行命令

触发与禁用

触发方式

四种启动路径

1. 在 prompt 中包含 "workflow" 关键词(按 alt+w 可忽略)
2. /effort ultracode(Opus 4.7/4.8,Claude 自动判断是否启动 workflow)
3. 运行保存的命令:内置 /deep-research 或自定义 /<name>
4. 在 CLI、桌面应用、IDE 扩展、claude -p、Agent SDK 中均可用

禁用方式

三种关闭路径

1. /config 界面切换
2. ~/.claude/settings.json 中设置 "disableWorkflows": true
3. 环境变量 CLAUDE_CODE_DISABLE_WORKFLOWS=1

保存与复用

/workflows 进度视图中按 s 保存脚本。保存位置:

  • 项目级.claude/workflows/——与仓库共享,所有人可用
  • 个人级~/.claude/workflows/——跨项目可用,仅自己

命名冲突:如果项目级和个人级同名,项目级优先运行。

每次运行确认:显示 workflow 名称、计划阶段、token 消耗警告。可选"运行""不再询问""查看脚本""拒绝"。

与 Anthropic "Building Effective Agents" 框架的映射

Anthropic 在 Building Effective Agents 中定义了五类 workflow 模式和一类 agent 模式:

理论模式定义Dynamic Workflow 对应
Prompt Chaining顺序步骤,每步处理前一步输出✅ 脚本中顺序 agent() 调用
Routing分类输入,分派到专门处理✅ 脚本中 switch/if 分支
Parallelization任务分区并发,或多选方案Promise.all(agent(...))
Orchestrator-Worker中心 LLM 动态分解+委派✅ Planner LLM + agent pool
Evaluator-Optimizer一个生成、一个评估的循环✅ 对抗性审查模式
Autonomous AgentLLM 在循环中自主决策⚠️ 每个 subagent 内部是自主 agent,但编排层是确定性代码

关键洞察:Dynamic Workflow 把 Anthropic 理论框架中的五种 workflow 模式全部在代码中实现了。编排层是确定性的 JS 代码(不是 LLM 决策),执行层每个 agent 内部才是自主循环。这是"workflow 的可预测性"和"agent 的灵活性"的精确结合。

第五层:DIY 对比——没有 Workflow 之前怎么做的

把 claude -p 和 shell 脚本组合起来,手动实现类似效果。差距在哪?

手动方案:Shell + claude -p

#!/bin/bash
# 手动编排 claude -p 实现并行安全审计

# 1. 获取文件列表
files=$(find src -name "*.ts" | sort)
total=$(echo "$files" | wc -l)
chunk_size=$((total / 4))

# 2. 拆分文件到 4 个 chunk
split -l $chunk_size <(echo "$files") /tmp/chunk_

# 3. 并行运行 4 个 claude -p(每个处理一个 chunk)
for chunk in /tmp/chunk_*; do
  (
    cat "$chunk" | xargs cat | \
    claude -p \
      --output-format json \
      --allowedTools "Read,Glob,Grep" \
      "审查以下代码的安全漏洞。输出 JSON 格式:[{file, line, severity, description}]"
  ) &
done

# 4. 等待所有并行任务完成
wait

# 5. 手动合并结果
echo "[合并所有 chunk 的结果...]"

# 6. 对抗性审查?需要另写脚本...
# 7. 断点续跑?没有,中断了从头来
# 8. 保存复用?把脚本放进 .bashrc

逐项对比

维度Shell + claude -pDynamic Workflow
并行管理手动 & + wait,需要自己控制并发数内置线程池,自动管理 16 并发上限
任务分解手动拆文件、写 prompt 模板Claude 自动分析任务结构并生成脚本
对抗性验证需要另写脚本,多跑一轮 claude -p内置,脚本中一行 agent() 调用
断点续跑无。中断 = 从头来同一会话内可恢复,已完成 agent 缓存结果
进度可视化无,或者自己写 logTUI 面板,实时显示每个 agent 状态
结果合并手动处理 JSON/文本拼接脚本变量传递,合并 agent 负责
可复用性脚本文件手动管理保存为 /command,自动补全
上下文隔离每个 claude -p 是独立进程(✅)每个 agent 有独立上下文(✅)
权限管理--allowedTools 手动指定继承会话配置 + acceptEdits 自动
Token 消耗可见性claude -p 输出 token 计数汇总显示,但内部不可控
规模上限取决于机器内存和 API 限速硬限制 16 并发 / 1,000 agent
适用场景简单并行,一次性任务复杂编排,多阶段验证,可复用

结论:对于"把文件拆 4 份并行跑一遍 claude -p"这种简单场景,shell 脚本够用。但当你需要多阶段编排 + 对抗性验证 + 断点续跑 + 可复用时,手搓的成本远超直接用 Dynamic Workflow。差距不在单个维度,而在整合度

第六层:选型决策框架

什么时候用 Workflow,什么时候不用,什么时候考虑替代方案。

适合用 Dynamic Workflow 的场景

  • 全代码库扫描——安全审计、dead code 检测、性能热点搜索,需要覆盖数百个文件
  • 大规模迁移——框架升级、API 废弃替换、语言移植,涉及数百个文件批量修改
  • 高置信度任务——关键代码审查、安全评估,需要"双重检查"甚至"对抗性验证"
  • 可复用的团队流程——标准化 CI/CD 检查、代码规范审查、依赖升级策略
  • 多信源调研——/deep-research 内置 workflow 的应用场景

不适合用的场景

  • 单文件编辑——一个文件的修改用普通 Claude Code 就够了,启动 workflow 是浪费 token
  • 需要频繁人工确认的任务——workflow 运行期间无用户输入,不能中途停下来问你"这样行吗"
  • 对 token 成本敏感——10-100 个 agent × 每个独立上下文 = "substantially more tokens"
  • 需要跨会话持久化——断点续跑只在同一会话内有效,退出 Claude Code 就从头来
  • 简单并行就能搞定的——shell + claude -p 4 个并行就够的任务,不需要 workflow 的复杂度

替代方案对比

方案适用规模编排方式适合谁
Dynamic Workflow10-1000 agentJS 脚本自动生成Claude Code Max 用户,大型任务
claude -p + Shell2-10 并行手动 Shell 脚本简单并行,一次性任务
Codex Goals1 agent 循环自主迭代循环单一大型任务的持续迭代
n8n/Dify/Coze可视化节点拖拽式工作流非开发者,确定性编排
Claude Agent SDK自定义Python/TS 代码需要完全控制编排逻辑的开发者

诚实限制与已知问题

不是所有闪闪发光的都是金子。社区真实反馈 + 已知 bug。

硬限制

产品级限制

  • 16 并发上限——受 CPU 核心限制,多核机器才能跑满
  • 1,000 agent/工作流——超大规模任务需要手动分批
  • 同会话恢复——退出 Claude Code = 从头来,不能跨会话
  • Token 消耗——Anthropic 自己说"substantially more tokens",Max 用户都触发过上限
  • Opus only——Ultracode 仅限 Opus 4.7/4.8
  • 脚本无 I/O——编排脚本不能直接读写文件或执行 shell
社区报告的 Bug

真实世界问题

  • Issue #9553——复杂多步 workflow 灾难性故障:JSON 解析错误、状态管理崩溃、跨 agent 通信失败,21 次迭代尝试后被禁用
  • "Prompt 过长"错误——子 agent 在接收长 prompt 时频繁失败
  • Thinking block 修改错误——阻止 workflow 启动
  • "Slop debt"问题——LLM 添加代码债,让 LLM 清理 LLM 的后果——社区报告质量不佳
  • 合并冲突率 3.1%——极端场景 109 波次的文件修改冲突

我的限制因素不是 Claude 能多快地自我推送代码。而是 Claude 是否能正确完成任务。

My limiting factor is not how fast Claude can self-push code. It's whether Claude can get it right.

— HN 社区评论,item?id=48311705

Token 消耗真实数据:有用户报告"第一次因为 workflow 达到了 Claude Max 限制。大约 90 个 agent 运行来审查一个相当小的包"。在 DeepSeek Flash 上进行大规模移植估算的 token 消耗约 20 亿(成本约 $20)。Claude API 定价更高——大规模 workflow 一次可能消耗 $50-$100 的 token。

旗舰案例:Bun Zig→Rust 移植

人类历史上最大规模的 AI 辅助代码库移植。但创造者自己说"很可能被丢掉"。

~750K 行 Rust 代码(最终合并约 966K 行)
11 天 从首次 commit 到合并
99.8% 现有测试套件通过率
3-8 MB ↓ 二进制体积缩减,性能持平或更快

四阶段工作流

Phase A-1: 生命周期映射

Workflow 为 Zig 代码库中每个结构体字段映射 Rust 生命周期。这是一个极其精确的任务——每个字段的借用关系都需要正确标注。

Phase A-2: 逐文件移植

数百个 agent 并行工作。每个 .zig 文件移植为行为相同的 .rs 文件。每个文件两个审查者——一个做移植,一个做验证。

修复循环

Workflow 反复驱动构建和测试套件直到干净。失败 → 修复 → 重新测试的循环完全自动化。

优化扫描

合并后的夜间 workflow 扫描不必要的数据拷贝,进一步优化性能。

这段代码被完全丢弃的可能性非常高。我很好奇一个可工作的版本会是什么样子。

The probability that this code is thrown away entirely is very high. I was curious what a working version would look like.

— Jarred Sumner,Bun 创始人

社区争议

这个案例的双面性

正面:证明了 Dynamic Workflow 在极端规模下的可行性。750K 行 × 11 天 × 99.8% 测试通过 = AI 辅助编程的里程碑。

反面:GitHub 上被标记为"AI slop"。Rust 开发者批评其包含"20 年来最糟糕的编码恐怖","毫无意义的'源文本一致性测试'是职业生涯中见过的最糟糕例子"。Jarred 自己说"很可能被丢掉"——能力 ≠ 判断力

技术细节:未使用 async Rust;保持相同架构、相同数据结构;编译器辅助捕获和防止内存错误。

衍生项目:有用户基于 Bun repo 中的 workflow 文件创建了开源仿制品 AgentLoom,指向 DeepSeek Flash。

竞品格局与 Codex Goals 对比

不只是"谁有 multi-agent"。关键是编排方式、自主程度、适用场景的差异。

产品编排方式规模最大差异适合场景
Claude Code Dynamic Workflows JS 脚本自动生成+执行 10-1000 agent 编排外置 + 对抗性验证 + 断点续跑 + 可复用命令 大规模代码库操作,多阶段验证
OpenAI Codex Goals 持久自主循环(plan→act→test→review→iterate) 1 agent 长时间循环 跨会话持久化;"软停止"边界;自我评估和总结 单一大型任务的持续迭代,"设了就走"
GitHub Copilot Agent Mode 单 agent + 工具调用 + MCP 单 agent 最深 IDE 集成;可从任务创建 PR;异步编码 IDE 内日常编码,PR 创建
Cursor 多文件编辑,本质单 agent 单 agent 编辑器集成体验最好;human-in-the-loop 工作流 代码补全和编辑器内交互
Google Jules 云端异步 agent(Gemini 2.5 Pro) 任务池架构 克隆 repo 到云 VM;完全异步;生成 PR 提交 GitHub issue 后台处理
Windsurf Cascade 持久单 agent,多步推理链 单 agent 上下文感知的结对编程 编辑器内交互式开发
n8n / Dify / Coze 可视化拖拽工作流 节点图 确定性编排 + 代码节点;无自主 agent 非开发者,固定流程自动化

Codex Goals vs Dynamic Workflows:架构哲学对比

Codex Goals

持久自主循环

模型:1 个 agent 在 loop 里持续工作——plan → act → test → review → iterate——直到目标可验证完成。

持久性:跨会话存活。设了之后可以走开,18 小时后回来发现 14/18 功能已发货。

"软停止":不是硬性停止边界,而是在合适的时机自我暂停和总结。

适用:单一大型任务("把这个 Java 游戏移植到 C#")的长时间自主执行。

Dynamic Workflows

结构化多 agent 编排

模型:JS 脚本协调 10-1000 个 agent,每个 agent 做一小块工作,结果在脚本中汇聚。

持久性:仅同一会话内。退出 Claude Code = 从头来。

"硬结构":编排脚本是确定性代码,不是自主循环。每个 agent 做什么由脚本预先定义。

适用:需要并行处理 + 对抗性验证 + 多阶段协调的复杂任务。

一句话总结:Codex Goals 是"一个很能干的人不间断地做一个大项目",Dynamic Workflows 是"一个项目经理指挥 100 个专家并行工作"。前者适合深度迭代,后者适合广度扫描。它们解决的是不同维度的问题。

Anthropic 内部实战数据

Claude Code 团队成员 Boris 在 HN 上分享的真实使用数据。

优化成果

Workflow 用来优化自身

Anthropic 内部用 Dynamic Workflow 自主实施了 20+ 项优化,将 Claude Code 的 token 使用量减少约 15%。具体项目:

  • 将 tree-sitter、color-diff、yoga-layout 等 WASM/Rust 模块移植到 TypeScript,CPU 和内存使用提升 2-10 倍
  • 将基于正则表达式的 bash 静态分析迁移到 tree-sitter,误报权限提示减少 45%
  • Claude Agent SDK 启动时间减少 61%
  • 发货 69 个代码简化 PR,删除超过 10,000 行代码
规模背景

Claude Code 里程碑

Dynamic Workflows 发布同期,Anthropic 宣布:

  • Claude Code 达到 $10 亿运行收入率(公开 6 个月后)
  • 收购 Bun(Bun 保持开源和 MIT 许可)
  • Bun 每月下载量超过 700 万,GitHub 82,000 星
  • Opus 4.8 发布:"允许已编写的代码缺陷不被注意的可能性降低了约 四倍"

这些数字说明 Dynamic Workflow 不是实验品——它是 Claude Code 从"编码助手"升级为"工程编排平台"的核心能力。

苏格拉底对话

从具体场景出发,追问到问题的本质。

老师:Dynamic Workflows 的核心创新是什么?

学生:并行 agent 数量从几个变成几百个。

老师:数量只是表象。真正的创新是编排逻辑从 Claude 的上下文窗口移到了脚本里。这意味着什么?

学生:上下文窗口不再是瓶颈了?

老师:对。但更深层的是——AI 的协调能力不再受限于它自己的"思考空间"。以前 Claude 就像一个将军,所有战略都在脑子里,脑子满了就打不了更大的仗。现在它把战略写成了作战计划书,交给执行引擎去跑。将军的脑子被解放了。

学生:那对抗性审查呢?这是 Anthropic 文档里反复强调的。

老师:这是最被低估的部分。传统 CI/CD 是"跑测试,过了就合"。对抗性审查是"让一个 agent 专门找另一个 agent 的茬"。这跟学术界的 peer review 是同一个模式——AI 编码第一次有了内建的科学验证机制。但要注意:对抗的有效性取决于对抗者的能力。如果对抗者自己也是 Claude,可能存在系统性盲点。

学生:Codex Goals 的"持久自主循环"跟 Workflow 的"结构化编排"哪个更好?

老师:这就像问"锤子和螺丝刀哪个更好"——它们解决不同维度的问题。Codex Goals 是深度:一个 agent 不间断迭代,适合"把一个大项目做到完成"。Workflow 是广度:100 个 agent 并行扫描,适合"把 1000 个文件都检查一遍"。真正的杀手是能把两者结合——但今天的工具还不能。

学生:Bun 那个案例,750K 行 Rust,Jarred 自己说"很可能被丢掉"……

老师:这说明能力 ≠ 判断力。Dynamic Workflows 给了你 750K 行 Rust,但它没有告诉你"该不该做这个移植"。最大的浪费不是 token,是用 AI 做了一个本来就不该做的事。这跟"AI Psychosis"是一个硬币的两面——工具能力在指数增长,判断力没有。

学生:最后一个问题——社区有人说"我的限制因素不是速度,是质量"。这说明什么?

老师:说明 DSP(Deterministic Scripting Paradigm)的价值。编排脚本是确定性代码——你读脚本就知道会做什么。但 agent 内部的执行仍然是不确定的。对抗性审查试图缓解这个问题,但它不能替代人类的判断。工具的极限不在于它能做多少,在于你能信任多少。

个性化洞察

基于你的身份和工作场景,这些是最切合的发现。

Claude Code 重度用户

从 dead code 扫描开始体验 Workflow

Max 计划默认开启 Dynamic Workflows。建议从小任务开始:对你的项目做一次全代码库 dead code 扫描。感受 token 消耗曲线后再扩大到安全审计或大规模迁移。保存成功的 workflow 复用——这是核心价值。

QA 背景

对抗性审查 = 自动化测试的新维度

对抗性审查模式对 QA 来说是革命性的。用它做全代码库安全扫描、输入验证审计、死代码检测,比手动 code review 覆盖率高一个数量级。但记住:对抗者的能力边界就是审查的边界。它不能替代安全专家,但能做"第一遍粗筛"。

AI 产品开发

Anthropic 的 multi-agent 编排答案

Dynamic Workflow 是 Anthropic 对"如何编排多 agent"的回答。不是 CrewAI 那种框架定义角色,而是 AI 自己动态生成编排脚本。如果你在做 AI 产品,这提供了一个范式参考:确定性编排 + 模糊执行 的混合模式。

内容选题

Codex Goals vs Dynamic Workflow 实战对比

你的 translate-analyze skill 已经在用 3 个并行 subagent。可以写一篇"Codex Goals vs Dynamic Workflows:两种 AI 编排哲学的对比",从你的实际使用经验出发——这是原创内容,目前市面上没有深度对比。

美股关注

$1B ARR + 收购 Bun = Anthropic 加速

Claude Code 公开 6 个月达到 $10 亿运行收入率。Anthropic 一周两弹(Dynamic Workflows + Zero Trust),从"编码助手"升级为"工程编排平台"。对 Cursor、Copilot 形成直接压力。Bun 收购意味着 Anthropic 正在吃掉 AI 开发工具链的上游。

全栈开发

选一个项目做全项目 workflow 扫描

建议流程:安全审计 → 依赖升级 → 死代码清理。每个保存为可复用 workflow。积累 3-5 个后,你就有了自己的"AI 工程工具箱"——可以分享到 GitHub 作为开源项目。