乐于分享
好东西不私藏

OpenClaw深度拆解:不画流程图,自动化如何轻松实现?

OpenClaw深度拆解:不画流程图,自动化如何轻松实现?

最近一直在折腾 OpenClaw 的时候,实操完之后就在想这到底是怎么实现的?

未必我们用coze、Dify低代码平台或LangGraph等开发框架开发的智能体就可以淘汰了?

我第一反应其实挺质疑的:

这东西连个可视化编排界面都没有,拿什么做流程?

研究了一段时间才发现——问题根本问错了方向。

OpenClaw 从一开始就不是靠“画流程”来实现自动化的,它走的是另一套思路:你只说目标,系统自己想办法把路走出来。

这篇文章就把它的底层逻辑拆一拆:为什么它跟扣子、LangGraph 看起来都在做“自动化”,但其实不是一条路。

一、先说扣子和 LangGraph:它们为什么离不开“流程”

1)扣子(Coze)这类工具:画布连线式

扣子本质是让你在画布上连节点、拉线:

HTTP 请求节点 → 代码节点 → LLM 节点 → 输出节点

每一步做什么、输入输出怎么传、失败怎么兜底……都需要你提前定义好。

它的优点也很明确:确定性强、可审计。你画出来的东西基本就是最终执行路径。

但前提是:你得先在脑子里把流程想清楚,然后把它“翻译”成节点图。

很多时候,真正费劲的不是工具,而是这个“翻译”。

2)LangGraph:把流程图写进代码里

LangGraph 更进一步,它让你用 Python 声明节点和边,本质还是一个有向图(DAG 或带环图),适合需要精确控制状态迁移的场景。

团队里只要有人能写代码,这套非常顺——因为它把“流程”变成了可版本管理、可测试的东西。

二、核心差别:三者的默认假设根本不一样

扣子 / LangGraph 有个共同前提:

你知道该怎么做,只是需要工具帮你落地执行。

OpenClaw 的前提是另一句:

你只知道想要什么结果,让 Agent 自己想怎么做。

这就是为什么你会觉得它“怎么没有流程图”:

因为在 OpenClaw 里,“流程”不是你画出来的,而是 运行时被 Agent 动态规划出来的

三、OpenClaw 的实际架构:五层把“对话”变成“自动化”

OpenClaw 的运行时大致可以拆成五层(理解这个结构,就理解它为什么不需要画图):

  1. 控制接口(消息入口)

    WhatsApp、Telegram、Slack、API、Webhook……你从哪发消息都行。

  2. Gateway 控制平面

    负责路由、鉴权、调度,把入站请求派发给对应的 Agent 实例。

  3. Agent Runtime(推理核心)

    LLM 在这里接收任务、拆解步骤、决定调用哪些 Skills。

  4. Skills / Tools 执行层

    每个 Skill 是一个能力单元:可以从 ClawHub 安装,也可以自己用 TypeScript 写。

  5. 外部系统集成

    GitHub、Notion、Gmail、Slack、Linear……通过 Skills 去调用。

注意这条链路里,压根没有“你画的流程图”这个概念。

你给它一句自然语言,Agent Runtime 自己决定:要分几步、用哪些技能、怎么串起来。

四、一条消息是怎么变成一套自动化流程的?

举个很具体的例子。你在 Slack 里发一句话:

每周一早上,扫描 GitHub 里标了 urgent 的 Issue,

在 Notion 里建一个摘要页,

然后把链接发到 #dev-team 频道

OpenClaw 内部大概会经历这么几步:

第一步:任务理解

Agent 会把这句话拆成几个子目标:

  • 定时触发:每周一早上

  • 数据采集:GitHub Issues 过滤 urgent

  • 多系统写入:Notion 创建页面 + Slack 发消息

第二步:Skills 匹配

Agent 会去检索本地和 ClawHub 的 Skills 注册表:

  • 有没有 GitHub Skill?

  • 有没有 Notion Skill?

  • 有没有 Slack Skill?

缺的话,会提示你安装/授权。

第三步:Pipeline 组装

OpenClaw 会用一个内部叫 “Lobster” 的 Workflow Shell,把多个 Skill 串成执行链,并把“每周一早上”绑定成 Cron 触发器。

第四步:持久化运行

配置保存下来,之后每周一按时跑,跨会话保持状态。

这里最关键的一点是:

你只做了“说出目标”这一步。剩下的触发器、集成选择、步骤编排,都是 Agent 自动补齐的。

五、Skills 机制:OpenClaw 真正的“可扩展性”来源

如果说扣子靠节点市场,LangGraph 靠代码能力,那 OpenClaw 的扩展核心是 Skills

你可以把 Skill 理解为“带元信息的函数”:

  • 有名字、描述

  • 有参数 schema

  • Agent 可以通过语义匹配决定要不要调用它

比如你可以用 TypeScript 写一个读取 GitHub Issues 的 Skill:

// 一个读取 GitHub Issues 的 Skillexport const getUrgentIssues defineSkill({name'get_urgent_issues',description'Fetch GitHub issues labeled urgent',params: { repo: z.string() },run: async ({ repo }) => {// 调 GitHub API,过滤 labelreturn octokit.issues.list({ repo, labels: 'urgent' })}})

写完发布到 ClawHub,别人(或者 Agent 本身)就能按需调用。

这点跟 LangChain 的 Tool 很像,但 OpenClaw 这套更强调 “社区注册表 + 自动发现”:Agent 不只是“能用工具”,而是“会找工具”。

六、跟扣子、LangGraph 的差异到底在哪里?

一句话可能说不透,简单拉个对比维度:

维度

扣子 / LangGraph

OpenClaw

编排方式

可视化节点 / 代码 DAG

自然语言 + Agent 动态规划

流程控制

确定性,你写死的

LLM 运行时决策

扩展方式

插件市场 / 代码节点

Skills + TypeScript + ClawHub

触发器

需手动配置

Agent 根据描述自动绑定

记忆/状态

需手动配置存储节点

内置跨会话持久记忆

运行环境

云端托管为主

本地优先,支持自托管

可审计性

强,流程可视化

弱,需查 Agent 执行日志

  • 编排方式

    • 扣子 / LangGraph:可视化节点 / 代码 DAG

    • OpenClaw:自然语言 + Agent 动态规划

  • 流程控制

    • 扣子 / LangGraph:确定性强,你写死的路径

    • OpenClaw:LLM 运行时决策,路径可能变化

  • 扩展方式

    • 扣子 / LangGraph:插件市场 / 代码节点

    • OpenClaw:Skills + TypeScript + ClawHub

  • 触发器

    • 扣子 / LangGraph:你手动配

    • OpenClaw:Agent 根据描述自动绑定

  • 记忆/状态

    • 扣子 / LangGraph:常常要你自己加存储节点、状态管理

    • OpenClaw:内置跨会话持久记忆(体验上更像“助理”)

  • 运行环境

    • 扣子:云端托管为主

    • OpenClaw:本地优先,支持自托管

  • 可审计性

    • 扣子 / LangGraph:强,流程可视化/可追溯

    • OpenClaw:相对弱,更多依赖 Agent 执行日志

泼盆冷水:它的软肋在哪?

OpenClaw 并非万能。因为流程是 Agent 动态规划的,这意味着“不确定性”,而且非常消耗token

如果你的场景是金融对账、法务合规,每一步都不能差分毫,那请死心塌地用 LangGraph。但如果你的需求还在早期、经常变动,或者你只是想搞个个人助理来处理零散的同步任务,OpenClaw 的开发效率简直是降维打击。

七、什么场景下 OpenClaw 会更顺手?

根据实际使用,有几个场景 OpenClaw 明显更顺手:

需求还在变的早期阶段。 你还不确定整个自动化流程长什么样,但想先跑起来验证。用自然语言迭代比改节点图快得多。

多系统联动,集成点多但逻辑不复杂。 比如"把 Notion 数据库里打了 done 标签的条目同步到 Linear,然后关掉对应的 GitHub Issue",这种事 Skills 拼一下就行,不值得建一套编排流程。

个人效率工具,对可靠性要求不是极致的。 用来替代手动操作,偶尔出个意外重跑一次,可以接受。

八、总结

扣子是"你画流程,AI 执行";

LangGraph 是"你写图,AI 沿着走";

OpenClaw 是"你说目标,AI 自己想路"。

没有高下之分,看你的场景更需要哪种控制粒度。

如果你的团队已经在用扣子或 LangGraph 跑稳了生产流程,OpenClaw 很可能不是替代品,而是可以并存的补充——专门处理那些不值得认真"建流程"、但又确实需要自动化的零散任务。