mcpField
D
dynamic-workflows

dynamic-workflows

github.com/thebeardedbearsasAgent 工作流10793 次安装今天更新
代码仓库

关于 dynamic-workflows

Dynamic Workflows 是用于 Claude Code 的技能,可用 JavaScript 脚本确定性地编排子 Agent。它适用于超出单个 Agent 上下文、需要超过四个工作者或需要循环与流水线的任务,并可通过 `/workflows` 查看进度。

主要功能

  1. 01用 JavaScript 编排子 Agent
  2. 02组合循环、条件和扇出
  3. 03运行流水线与并行阶段
  4. 04用 schema 验证结构化输出
  5. 05监控阶段、Agent 和 token 用量
  6. 06将成熟流程保存为可复用命令

适用场景

  1. 01分配多个 Agent 审查大型代码库
  2. 02让对抗式审查者验证发现
  3. 03生成候选项并通过评判筛选
  4. 04持续研究直到不再发现新内容

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/thebeardedbearsas/claude-craft --skill dynamic-workflows

安装后在 Claude Code 中输入/dynamic-workflows确认已加载。

详细介绍

Dynamic Workflows — 多 Agent 脚本化编排

Dynamic Workflows(Claude Code 2.1.154+,触发关键词 ultracode)可让 Claude 编写 JavaScript 脚本,以确定性方式编排子 Agent(循环、条件、扇出)。脚本在后台运行;可通过 /workflows 跟踪执行情况。

⚠️ 需主动选择且成本较高:一个工作流可能会启动数十到数百个子 Agent。仅在明确要求时(关键词「ultracode」「use a workflow」「fan out agents」),或达到下文的复杂度门槛时使用。

何时使用 — 编排的 3 个层级

层级工具并发适用场景
1简单子 Agent(Task/Agent)1单项独立调查,保持主上下文简洁
2Agent Teams(/team:audit、/team:sprint、/team:security)1 个 leader + 约 3 个 worker范围有限、同步进行且一轮即可完成的并行工作
3Dynamic Workflows(ultracode)最多约 1000 个子 Agent(并发上限约 16 个)任务超出单个 Agent 的上下文容量,或需要超过 4 个 worker,或需要确定性循环/流水线

**盈亏平衡经验法则:**只要你会写出「启动 N 个 Agent,然后对每个 Agent 执行 X,最后汇总」,这就是一个工作流。如果 N ≤ 4 且一轮就够,用 Agent Teams。

可组合模式(最简提示词)

  • 扇出并综合 — 多个阅读者并行处理互不重叠的子系统 → 一个 Agent 综合结果。(审计、代码映射)
  • 对抗式验证 — 将每项发现交给至少 1 个怀疑者负责反驳;只保留 CONFIRMED。这是自主生成中最重要的质量模式。
  • 生成并筛选 — 大量生成(想法、候选项),然后由评判者筛选。
  • 分类并处理 — 分类器将每个项目路由到相应的处理流程。
  • 流水线 — 每个项目依次经过所有阶段,中间不设屏障(延迟 = 最慢的链路,而非各阶段之和)。这是多阶段任务的默认模式。
  • 循环直到完成/无新结果 — 重新启动研究者,直到连续 K 轮没有新发现(适用于规模未知的探索:漏洞、边缘情况)。

典型骨架(审查 → 验证)

const results = await pipeline(
  DIMENSIONS,
  d => agent(d.prompt, { phase: 'Review', schema: FINDINGS }),
  review => parallel(review.findings.map(f => () =>
    agent(`Adversarially verify: ${f.title}. Default refuted=true if unsure.`,
          { phase: 'Verify', schema: VERDICT }).then(v => ({ ...f, verdict: v }))))
)
const confirmed = results.flat().filter(Boolean).filter(f => f.verdict?.isReal)

默认使用 pipeline()(不设屏障);只有当第 N 阶段需要第 N-1 阶段的全部结果时才使用 parallel()(去重、提前退出、交叉比较)。schema 会强制输出经过验证的结构化结果。并发编辑文件时,使用 isolation: 'worktree'。

监控

  • /workflows:实时进度(阶段、Agent、token)。
  • 脚本会返回汇总结果;阅读该结果并决定后续步骤(通常会按顺序运行多个工作流:理解 → 设计 → 实现 → 审查)。

不要混淆

  • ralph-run(/common:ralph-run):在单一上下文中持续顺序循环,直到达到 DoD——不支持并行。任务超出此模式时,切换到 Dynamic Workflow。
  • /effort ultracode:CLI 的工作强度层级(在 Opus 5.5 上最大化代码吞吐量)——与工作流的 ultracode 触发词无关,不过常会一起使用。

复用与安全措施(v2.1.166+)

  • 先尝试内置工作流 /deep-research(经过验证的多源研究),再编写自己的工作流:它已经涵盖了许多“多路并发搜索网页 + 综合整理”的需求。
  • 保存经过验证的运行方案:在 /workflows 中,按 s 可将脚本保存为可复用命令,存放在项目目录(.claude/workflows/)或个人目录(~/.claude/workflows/)中。args 参数可让你使用不同的输入(研究问题、目标路径等)重新运行。
  • ⚠️ 安全 — 隐式启用 acceptEdits:工作流启动的子 Agent 始终以 acceptEdits 模式运行,并继承你的允许列表,不受会话模式影响(包括 plan 或 default)。文件编辑会自动获批。 仅在可控区域(隔离的 worktree,参见权限卫生规则 11)中启动会写入内容的 Agent。
  • 熔断开关与成本:disableWorkflows(settings.json)或 CLAUDE_CODE_DISABLE_WORKFLOWS=1 可禁用此功能;/workflows 会实时显示令牌消耗(工作流的成本远高于单一上下文——请设置明确的预算并据此管理)。

参考:Claude Code Workflows · 另请参阅 @.claude/commands/common/sub-agents-patterns.md(编排方式对比表)。

评论

支持 Markdown