乐于分享
好东西不私藏

OpenClaw 的四层架构:调度、思考、执行、记忆——一文看懂它怎么跑起来的

OpenClaw 的四层架构:调度、思考、执行、记忆——一文看懂它怎么跑起来的
如果你对 OpenClaw 的印象还停留在"一个能自己搜网页、自己写代码的 AI 助手",那你大概只摸到了它的表面。真正让它与众不同的,是它背后那套精心设计的四层架构。
  • Gateway 作为神经中枢
  • Agent 作为执行大脑
  • Skills、Plugins 和 Nodes 作为能力手臂与物理触角
  • Memory 作为长期记忆
这四个组件各司其职,又紧密协作,共同构成了一个可以真正自主工作的 AI 系统。很多人用着用着就卡壳了,或者觉得不够稳定,往往是因为没看透这套底层逻辑。
理解这套架构,是从会用到用好的分水岭。
一、Gateway(网关):整个系统的神经中枢
它是什么
Gateway 是 OpenClaw 的核心进程,本质上是一个运行在本地的 Node.js 服务。它的默认监听地址是 `127.0.0.1:18789`。
你可以把它想象成一个永不休眠的调度室。所有进来的消息、出去的指令、模型的调用、工具的执行,全部要经过这里。它不直接思考,但它决定了谁来思考、谁来执行、结果去哪里。
它做什么
Gateway 承担三件核心工作:
① 频道适配与流式输出:OpenClaw 内置了十几种即时通讯平台的适配器,企业微信、飞书、钉钉、Telegram、Discord、Slack 都能接。你从 Telegram 发一条消息,Gateway 接收、解析、路由,再把 Agent 的回复原路送回去。
这里有个很细节的设计。大模型吐字是一截一截的,如果让聊天软件干等,体验极差。Gateway 搞了一套很聪明的流式输出机制,它会根据段落、句子智能切断文本,分块发给聊天软件。在最新版本里,它甚至能在回复块之间加入随机暂停,模拟真人打字的节奏。对用户来说,感觉就像在和一个普通人聊天,但背后跑的是完整的 Agent 执行链。
② 模型路由与故障转移:Gateway 管理所有已配置的 AI 模型连接。真正在生产环境跑过 Agent 的人都知道,API Key 失败或者触发限流是家常便饭。如果 Agent 正在干活,突然 API 挂了,整个任务就废了。
Gateway 解决这个问题的办法是自动轮换。在同一个模型提供商里,如果一个 Key 触发了限流,它会自动切到下一个。如果首选模型(比如 Claude 4.6 Sonnet)彻底连不上了,它会根据配置自动降级到备用模型(比如 Haiku)。整个过程悄无声息,Agent 甚至不知道发生了什么。
③ 队列管理与任务调度:群聊里人多嘴杂,如果大家同时给 Agent 派活,系统很容易乱套。Gateway 为此做了一个通道感知队列。
它有几种模式。默认是合并模式,你连发三条消息,它会攒在一起当成一个任务交给 Agent。还有一种很实用的转向模式,Agent 正在写代码,你突然发一句“先别用 Python,改用 Rust”,Gateway 会中断当前的执行链,把新指令塞进去,让 Agent 顺滑地掉头。此外,它还内置了 Cron 调度器和 Heartbeat 心跳机制,支持定时触发任务,比如每天早上 9 点自动汇总邮件。
健康检查
Gateway 出问题,整个系统就瘫了。所以有两个命令值得形成肌肉记忆:
openclaw doctor
openclaw doctor --repair
二、Agent(智能体):真正负责思考的大脑
单 Agent 的工作原理
一个 Agent 的工作方式,本质上是一个死磕到底的循环:感知输入 → 调用模型推理 → 决定调用哪个工具 → 执行工具 → 观察结果 → 继续推理,直到任务完成。
当你给它派活时,它不是像 ChatGPT 那样直接憋出一个答案。比如你让它“调研一下最近发布的三款 AI 手机”。它会先去搜第一款,看完网页,发现不够,再去搜第二款。
这个循环可以跑几十轮,每一轮都在积累上下文、修正方向。这就是为什么 OpenClaw 能完成多步骤的复杂任务,它真的在一步步执行。
多 Agent 协作与路由
单个 Agent 有天然的瓶颈:脑容量(上下文窗口)有限、干的活太杂容易精神分裂、复杂任务只能排队一件件干。OpenClaw 为此提供了一套很强的多 Agent 路由机制。
在配置文件 `agents.list` 里,你可以平行配置多个 Agent。它们都在同一个 Gateway 里跑,但互相完全隔离,每个都有自己的工作区和记忆。
这套机制最好玩的地方在于“代理委派”。你可以设一个主代理当包工头,下面带着几个专职的小弟。比如“研究员 Agent”只管搜资料,“写手 Agent”只管码字,“审核 Agent”负责挑刺。包工头把活拆开派下去,小弟干完把结果交上来。
这种设计不仅能把事干得更漂亮,还有一个极其现实的好处:省钱。
这就是所谓的混合模型策略。包工头需要极强的逻辑,你可以给它配最贵的 Claude 4.6 Opus;下面干脏活累活的小弟,配个便宜又快的 GPT-4o-mini 就行了。这么一搭配,整体 Token 成本能砍掉将近一半,输出质量还不打折。
Agent 的“灵魂”文件
Agent 的性格和规矩不是随便定定的,它有一套自己的“灵魂”文件,全存在它的工作区里:
  • `AGENTS.md`:告诉它干活的流程和规矩
  • `SOUL.md`:定它的人格和语气,是严谨还是幽默
  • `USER.md`:存你的习惯,让它知道你是谁,你喜欢什么格式
  • `TOOLS.md`:告诉它哪些工具能用,哪些不能用
每次开始干活,Gateway 都会把这些文件喂给它,确保它不会跑偏。
三、Skills、Plugins 与 Nodes:给大脑装上手脚
如果说 Agent 是大脑,那扩展系统就是它的手脚和感官。很多人分不清这三者的区别,其实它们干的完全不是一码事。
Skills(技能):随手拿来的工具箱
Skills 是最常见、也最好写的扩展。它本质上就是一段指令或者脚本,写在一个叫 `SKILL.md` 的文件里。
Agent 在思考的时候,如果发现自己搞不定,就会去工具箱里翻 Skills。你说“帮我看看这周的天气”,它就去拿 `weather` 这个 Skill;你说“把这篇总结发到 Notion”,它就去拿 `notion` 这个 Skill。
目前官方内置了 50 多个核心技能,基本覆盖了读写文件、搜网页、发邮件这些日常活儿。
几个常用的技能管理命令:
openclaw skills list              # 看看都装了啥技能
openclaw skills info             # 查查某个技能怎么用
openclaw skills check          # 检查技能有没有坏掉
Plugins(插件):换心脏的手术刀
如果说 Skills 是给 Agent 递个锤子,那 Plugins 就是直接给系统做换心手术。
Plugins 不是用自然语言写的,它是实打实的代码,直接插进 Gateway 的进程里。OpenClaw 搞了个插槽(Slots)机制,你可以用插件把系统的核心部件给换掉。
比如,你想用 ElevenLabs 的声音来读文字,或者想换个本地的 Ollama 来做推理,甚至想把默认的记忆引擎给整个替换掉,这就得靠 Plugins。这种底层替换让系统有了极强的定制能力。
Nodes(设备节点):连接物理世界的触角
这是 OpenClaw 极其牛逼、但也最容易被忽略的一个大招。
Node 是什么?它就是一个跑在你手机、电脑或者服务器上的伴侣 App。它通过 WebSocket 连上 Gateway。
为什么需要这个?因为 Agent 住在代码里,它没有身体。但只要你的手机或电脑作为 Node 连上去了,Agent 就有了物理世界的触角。
它能干嘛?
  • 它可以悄悄调起你手机的摄像头,拍张照看看你在哪
  • 它可以截取你电脑现在的屏幕,甚至自己去控制鼠标点浏览器
  • 它可以获取你手机的 GPS 定位
  • 在 Mac 上,它甚至能直接跑 Shell 脚本帮你修系统
想象一下这个场景:你把 Gateway 部署在云端的一台超强服务器上,然后把你手头的破笔记本作为 Node 连上去。云端的超级大脑,就能直接指挥你本地的电脑干活,这画面是不是很科幻?
四、Memory(记忆):怎么让它不患健忘症
大模型有个通病:聊完就忘。你昨天刚教它怎么写周报,今天它又忘了格式。OpenClaw 的 Memory 系统就是为了治这个病。
最笨也是最聪明的办法:存成文件
很多 AI 项目喜欢搞些花里胡哨的向量数据库,OpenClaw 反其道而行之,用了最简单也最有效的方法:纯文本文件。
Agent 所有的聊天记录、思考过程,全都被写成了 Markdown 文件,存在本地的 `workspace/memory/` 目录里。每天一个文件,比如 `2026-03-22.md`,像写日记一样。还有一个 `MEMORY.md`,专门存那些你特意让它记住的重要规矩。
这么干有什么好处?
第一,没有黑箱。你拿个记事本打开就能看它每天都在瞎想什么。
第二,防手残。你可以直接用 Git 管理这堆文件,它哪天要是学坏了,一条命令就能滚回到昨天。
第三,搬家方便。你想把 Agent 拷给同事,直接连文件夹打包发过去就行。最新版里还出了个 `openclaw backup` 命令,专门干这事。
几个查记忆的命令:
openclaw memory search "上周说的那个 Bug"  # 翻翻旧账
openclaw memory status                     # 看看记忆库有多大了
openclaw memory index --force           # 强制理一理记忆(出 Bug 时用)
怎么对付超长聊天:记忆压缩
你跟它聊了三天三夜,或者丢给它一本几万字的小说,大模型的脑子(Token 上限)肯定要撑爆。
OpenClaw 搞了个“上下文引擎(Context Engine)”。当它发现快要撑爆的时候,就会偷偷触发一个压缩机制。
它不是粗暴地把最前面的聊天删掉,而是自己去读一遍前面的长篇大论,然后写个精简版的摘要(比如:“前面我们讨论了三种方案,最后选了方案 A”)。接着,它把这个短摘要替换掉原来那一大坨废话,同时保留最近几句原话。这样脑子就腾出空来了。你甚至可以敲个 `/compact` 命令,逼着它现在就做个总结。
还有个彩蛋:自动化(Automation)
别以为它只能像个算盘一样,拨一下动一下。OpenClaw 其实有一套很完整的自动化玩法。
除了前面说的 Cron 定时任务,它还有个很好用的 Hooks(钩子)系统。比如有个钩子叫 `session-memory`,你每次敲 `/new` 开个新话题,它就会自动把刚才聊的重点写进今天的记忆日记里。
它甚至还能盯着你的 Gmail,收到特定老板的邮件,自己爬起来写个草稿存好,这就是真正的自主干活了。
总结一下
把这四块拼图凑在一起,你就能看懂它到底是怎么跑起来的:
你在 Telegram 发句话 → Gateway 接住,排好队,交给 Agent → Agent 翻翻 Memory,想想该怎么办 → 决定调用 Skills 去搜网页,或者调 Nodes 去看你的屏幕 → 干完活,把结果写进 Memory 的日记里 → 最后 Gateway 模仿打字的节奏,把结果发回给你。
这四层缺一不可。Gateway 是骨架,Agent 是脑子,Skills/Nodes 是手脚,Memory 是经验。只有真看懂了这套架构,你才知道哪天它卡住了该去哪里修,才知道怎么给它装上新能力,让它从一个逗乐的聊天机器人,变成你真正离不开的数字员工。