首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Claude Code Dynamic Workflows vs OpenClaw.NET MetaSKILL

Claude Code Dynamic Workflows vs OpenClaw.NET MetaSKILL

作者头像
张善友
发布2026-06-28 09:09:59
发布2026-06-28 09:09:59
1450
举报
文章被收录于专栏:张善友的专栏张善友的专栏

一句话定位

Claude Code Dynamic Workflows

OpenClaw.NET MetaSKILL

本质

可执行 JavaScript 编排脚本,在会话内动态驱动多 Agent 协作

YAML 声明的 DAG 编排引擎,由 .NET 运行时调度执行

设计范式

代码即编排(Code-as-Orchestration)

声明即编排(Declaration-as-Orchestration)

运行环境

Claude Code CLI 会话内,Node.js 沙箱

OpenClaw.NET Gateway 服务器进程内

触发方式

用户调用 /workflow 或使用 Workflow 工具

自然语言触发器匹配 + meta_invoke 工具

一、编排模型对比

Claude Code Dynamic Workflows:JavaScript 脚本编排

代码语言:javascript
复制
export const meta = {
  name: 'review-changes',
  description: 'Review changed files across dimensions, verify each finding',
  phases: [{ title: 'Review' }, { title: 'Verify' }],
}

// Pipeline: items 流经 Review → Verify 两阶段,无 barrier
const DIMENSIONS = [
  {key: 'bugs', prompt: 'Find security and correctness bugs'},
  {key: 'perf', prompt: 'Find performance issues'},
]
const results = await pipeline(
  DIMENSIONS,
  d => agent(d.prompt, {
    phase: 'Review',
    schema: FINDINGS_SCHEMA,
  }),
  review => parallel(review.findings.map(f => () =>
    agent(`Verify: ${f.title}`, {
      phase: 'Verify',
      schema: VERDICT_SCHEMA,
    }).then(v => ({...f, verdict: v}))
  ))
)
const confirmed = results.flat().filter(Boolean)
  .filter(f => f.verdict?.isReal)

核心特点:

  • 编排逻辑是可执行的 JavaScript 代码
  • agent() — 生成一个子 Agent 执行特定任务
  • pipeline() — 流式多阶段处理,无同步屏障
  • parallel() — 并行执行多个任务,有同步屏障
  • phase() — 进度分组显示
  • log() — 实时日志输出
  • budget — Token 预算感知
  • 支持 isolation: 'worktree' 隔离并行修改

OpenClaw.NET MetaSKILL:YAML 声明式 DAG

代码语言:javascript
复制
name: review-changes
kind: meta
composition:
  steps:
    - id: review_all
      kind: fan_out
      iterable: "['bugs', 'perf', 'security']"
      fan_out_max_concurrency: 3
      fan_out_template:
        kind: llm_chat
        with:
          instruction: "Review {{ item }} issues"
    - id: verify_all
      kind: fan_out
      iterable: "{{ outputs.review_all | from_json }}"
      fan_out_max_concurrency: 3
      depends_on: [review_all]
      fan_out_template:
        kind: llm_chat
        with:
          instruction: "Verify finding: {{ item }}"

核心特点:

  • 编排逻辑是声明式的 YAML
  • 7 种步骤类型覆盖不同执行需求
  • depends_on 声明 DAG 依赖
  • fan_out 动态展开并行子步骤
  • routes 条件路由分支
  • on_failure 失败替换步骤
  • user_input 人机交互暂停点

二、核心差异矩阵

维度

Claude Code Workflows

OpenClaw.NET MetaSKILL

编排语言

JavaScript(图灵完备)

YAML(声明式,非图灵完备)

学习曲线

需要 JS 编程能力

需要理解 YAML 结构和运行时语义

表达力

极高:循环、条件、动态计算、try-catch

中等:DAG + 条件路由 + fan_out 覆盖主流场景

安全性

运行时沙箱约束(无文件系统/网络)

三步门禁:tool_allowlist + capabilities + MetaSkill.Enabled

状态恢复

会话级 checkpoint + resume

SessionMetaRunRecord + CLI replay/reconstruct

审计能力

会话内追踪

持久化审计记录,CLI 可查询

超时保护

Agent 级超时

4 层保护:step / retry / session contract / agent loop

输出校验

JSON Schema(schema option)

output_contract 每步 JSON Schema

并行策略

parallel() barrier, pipeline() streaming

Wave-based 调度,同 wave 内并行

三、编排原语对比

Claude Code Workflows

MetaSKILL

说明

agent(prompt, {schema})

kind: agent / kind: llm_chat

单次 LLM 调用或子 Agent

pipeline(items, stage1, stage2, ...)

depends_on 链

流式多阶段,无 barrier

parallel(thunks)

fan_out + wave 调度

并行执行

while (condition) { agent() }

无原生循环

Workflows 支持图灵完备循环

if (result.foo) { ... }

routes / when

条件分支

phase('Verify')

步骤分组(隐式)

进度组织

budget.remaining()

timeout_seconds / contract

资源边界

user_input

人机交互暂停

on_failure

声明式失败替换

skill_exec (子进程)

确定性脚本执行

四、设计哲学对比

Claude Code Workflows:程序员友好,最大化灵活

"编排就是代码" — 开发者用熟悉的 JavaScript 表达编排逻辑。循环、条件、递归、try-catch 全都可以。适合需要动态决策的复杂场景。

优势:

  • 图灵完备,没有表达能力上限
  • 开发者零学习成本(就是写 JS)
  • Token 预算感知,可动态调整策略
  • pipeline() 流式处理避免不必要的 barrier

代价:

  • 脚本中的 bug 可能导致非预期行为
  • 缺少声明式约束的编译期安全性
  • 没有 user_input 暂停点
  • 不持久化审计记录

OpenClaw.NET MetaSKILL:安全第一,声明即约束

"声明就是约束" — 用 YAML 描述 DAG 结构,运行时保证执行正确性。适合需要长期维护、多人协作的生产工作流。

优势:

  • 解析时 DAG 验证(环路检测、5 条 on_failure 约束)
  • 三步安全门禁保证工具访问范围
  • 7 种步骤类型精细控制执行成本
  • 4 层超时保护
  • 完整审计追踪 + CLI replay/reconstruct
  • 双运行时(AgentRuntime + MafAgentRuntime)

代价:

  • 表达能力限于 DAG(无循环,元技能不能调用元技能)
  • 学习 YAML 结构和 7 种步骤类型
  • 需要 OpenClaw.NET Gateway 运行时

五、适用场景

场景

推荐

快速审查 PR、寻找 bug

Claude Code Workflows(灵活的 ad-hoc 脚本)

多维度研究分析

Claude Code Workflows(循环探索、动态调整)

生产环境 CI/CD 工作流

MetaSKILL(审计、CLI、持久化)

需要人机交互暂停审批

MetaSKILL(user_input 检查点)

多人长期维护的重复任务

MetaSKILL(声明式修改边界清晰)

需要跨运行时一致执行

MetaSKILL(双运行时 parity 保证)

一次性探索性分析

Claude Code Workflows

确定性脚本 + LLM 混合编排

MetaSKILL(skill_exec + llm_chat 混合)

六、互补关系

两者不是竞争,而是覆盖编排光谱的两端:

  • Claude Code Workflows 覆盖会话内动态编排 — 开发者用 JS 快速表达意图,适合探索性工作
  • MetaSKILL 覆盖持久化生产编排 — 声明式定义,运行时保证审计、安全、可恢复

理想的组合:用 Claude Code Workflows 做原型和探索,模式稳定后用 MetaSKILL 模板固化成可审计、可回放的生产级工作流。

总结

Claude Code Workflows

MetaSKILL

编排形式

JavaScript 可执行脚本

YAML 声明式 DAG

图灵完备

否(DAG,无循环)

声明期验证

运行时

解析时 + 运行时

安全门禁

沙箱

三步 tool_allowlist + capabilities + policy

审计持久化

会话内

持久化 + CLI 查询

人机交互

无原生暂停点

user_input 检查点

Token 预算感知

budget 全局变量

4 层超时保护

部署方式

Claude Code CLI 会话

.NET Gateway 服务器

最适合

探索性、一次性、程序员驱动

生产级、可审计、长期维护

两者共同的核心洞察:复杂 AI 工作流不能靠单一长 prompt 驱动,需要显式的编排结构。区别在于 Claude Code 选择"用代码表达编排",MetaSKILL 选择"用声明约束编排"。


参考

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一句话定位
  • 一、编排模型对比
    • Claude Code Dynamic Workflows:JavaScript 脚本编排
    • OpenClaw.NET MetaSKILL:YAML 声明式 DAG
  • 二、核心差异矩阵
  • 三、编排原语对比
  • 四、设计哲学对比
    • Claude Code Workflows:程序员友好,最大化灵活
    • OpenClaw.NET MetaSKILL:安全第一,声明即约束
  • 五、适用场景
  • 六、互补关系
  • 总结
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档