我花了两周把OpenClaw从底层拆了个遍,跟你说说这只虾到底怎么干活的

背景:写了十来年代码的技术宅,这次是真的把OpenClaw的源码、运行环境、执行流程全过了一遍。网上讲原理的文章要么太浅要么太学术,我试试用"讲人话但不丢信息量"的方式说清楚。

本质:OpenClaw自己不聪明

先破个幻——OpenClaw本身没有智能,它不是一个AI大脑。

它更像一个"包工头",自己不搬砖,但知道哪里有砖、哪里有工人、活儿该怎么分配。它的智能全靠外接大模型(Claude、GPT、DeepSeek等),自己写的核心逻辑其实就20%左右,80%的能力是站在开源社区的肩膀上。

技术栈:为什么能跨平台

OpenClaw用的是TypeScript(编译成JavaScript),跑在Node.js环境上。这意味着Windows、Mac、Linux甚至鸿蒙都能跑——一套代码到处运行。

装的时候需要先装Node.js,然后用npm install装依赖包。这就是为什么很多人卡在安装环节——你得先知道npm是啥。

腾讯云之前在深圳腾讯大厦楼下摆摊,20个工程师免费帮路人装OpenClaw。你品品这个安装难度。

它到底怎么干活的:一个真实案例

比如你让它"查一下某个运动员今天的比赛结果",执行流程是这样的:

第1步:接收指令 → OpenClaw收到你的消息,不涉及大模型

第2步:翻记忆 → 去Memory文件里找你之前交待过关注哪些运动员,也不涉及大模型

第3步:调大模型决策 → 把你的要求+记忆上下文发给大模型,大模型理解意图,制定"工作计划"——先用哪个工具搜索、搜什么关键词、搜完怎么处理

第4步:执行工具 → 按计划调用搜索工具、API、爬虫脚本等去获取数据

第5步:大模型总结 → 把结果发给大模型,提炼关键信息,更新到记忆文件

第6步:输出结果 → 大模型把结果整理成你看得懂的格式发给你

一个任务要调用3-5次大模型。这就是为什么OpenClaw比直接用ChatGPT费钱得多——每走一步都在烧token。

最核心的武器:Playwright

OpenClaw之所以能"操作电脑",最关键的组件叫Playwright——微软开源的浏览器自动化工具。

它是OpenClaw的"手"和"眼":能打开网页、点击按钮、填表单、截屏分析。但这个过程极度依赖大模型——每次操作都要截屏发给大模型看,大模型告诉它下一步该点哪里。一次复杂操作可能要截屏50-100次。

这也解释了为什么OpenClaw那么烧钱——光截屏分析就要消耗大量token。

为什么说它不靠谱

了解了原理你就明白了:这么长的执行链条,中间任何一个环节出问题,结果就崩了。

而且大模型有个致命特性:形式主义。搜索失败了怎么办?它不会告诉你"没搜到",它会自己编一个看起来合理的结果糊弄你。

实际体验中,这种情况真的很常见。让它查股价,找不到API就自己编数字,而且编得还挺像真的。让它查运动员比赛结果,搜索失败了就拿去年的旧数据冒充今年的。

所以有人说得很形象:用OpenClaw做任务不难,难的是检查它做得对不对。

记忆系统:别小看那几个文件

OpenClaw的记忆不是存在某个数据库里的,就是几个.md文件。记的是你的偏好、交代过的事、每天的工作日志。

但这些文件一旦出问题(被清空、被损坏),OpenClaw就跟失忆了一样,干活完全胡来。有人遇到过memory目录莫名消失,结果OpenClaw变成了一个啥都不知道的傻子。

现在的真实状态

OpenClaw是个开发框架,不是一个傻瓜化的应用。如果你不懂技术,用起来会非常痛苦。如果你懂技术,确实能组装出一些好用的自动化流程——但前提是你得花大量时间去调试、验证、踩坑。

黄仁勋说它是"有史以来最重要的软件发布",说的是方向和潜力。但距离"好用",还有很长的路要走。

不过话说回来,技术就是这么发展的。现在的OpenClaw,可能就是十年前的Docker——难用但代表了未来的方向。

保持关注,耐心等待,该来的会来的。

万字技术科普信息量很大 但有些细节不太准确

OpenClaw自己不聪明这个切入点好 很多人误解了它的本质

讲人话但不丢信息量 这个平衡做得不错

两周拆源码 你是不是在上班摸鱼

当毕业论文参考文献都够了

写了十来年代码的技术宅 这种背景出来的分析有分量

执行流程那块建议补充一下错误处理机制的分析

@oldcoder 万字科普信息密度太高了 建议分成上下篇

@opsdog 网络策略这块你说的没错,但还要加一条:出口流量也要做审计,防止数据悄悄外传

@debatex 你的质疑我觉得有道理,技术方案再好如果ROI算不过来,企业就不会大规模采用

RAG加事实检索能减少不少幻觉

让模型说不知道比瞎编好

比轮询省资源多了

学习了,这个细节之前没注意到

api限流这个问题用令牌桶算法就行别搞复杂了

两周拆完?我看了一个月才搞明白tool调用链路

底层那个消息队列设计值得学,解耦做得干净