乐于分享
好东西不私藏

Pi 与 OpenClaw:一台引擎与一间座舱的关系

Pi 与 OpenClaw:一台引擎与一间座舱的关系

之前那十八篇 OpenClaw 系列,讲过它的界面,讲过它的工作流,讲过它怎么让好几个人协作用同一个 Agent。当时有一件事没往下深挖:这间"座舱",底下焊在什么"发动机"上。答案是——就是这个系列一路讲下来的 Pi。

OpenClaw 完全构建在 Pi 的 RPC 模式之上。第 7 篇提过一句 RPC 模式,这里展开说清楚:这个模式,靠的是一套走标准输入输出的 JSON 协议,不是用 Node.js 写的程序,也能把 Pi 当一个后台服务,发指令、收结果。OpenClaw 自己的界面、自己的工作流、自己那套多人协作的逻辑,说到底,都是在这层协议之上,重新搭出来的——它没有重新造一遍工具和循环,这两样,原封不动用的是 Pi 的,它真正花心思做的,是"接进来之后怎么呈现、怎么协作"这一层:谁能看到会话的哪些部分,几个人同时盯着一个任务该怎么分工,界面上怎么展示 Pi 正在做的事,这些是 OpenClaw 自己的活儿,跟发动机内部怎么烧油、怎么点火,是两码事。也就是说,OpenClaw 系列里讲过的那些体验,界面再花哨、协作再顺畅,往底下拆,拆到最后,拆出来的还是这个系列前面几篇讲过的四件套工具、那个没有步数上限的循环、那套不闪烁的差分渲染。

两个人的性子,差得有点意思。Zechner 这边,一路讲下来,感受也很直接了——务实,克制,宁可少做一件事,也不多说一句空话,连给自己的项目起名字,都朴素到只剩一个字母。OpenClaw 的作者 Peter Steinberger,画风完全是另一套,天马行空,敢想敢做,用 Armin Ronacher 的话说,走的是"带着一点疯狂的科幻"路子。一个把发动机造得干干净净、恨不得连说明书都要精简到一页纸;另一个接过这台发动机,直接给它焊了个能上天的座舱。这两种性格,凑成了同一套系统,倒也没打起来,反而意外合拍——大概因为骨子里,两人信的是同一件事:模型自己会写代码、会跑代码,这个本事,靠得住,不用处处设防,剩下的分歧,只是"信了之后,往哪个方向使劲"。

这件事,对 Pi 社区来说,意义不小。一个精简到只剩四件套工具、系统提示词不到一千个 token 的东西,撑得起一个走红到这个地步的产品吗?OpenClaw 用事实给出了答案:撑得起,而且撑得相当稳。这也算是给第 13 篇讲的跑分,补了一个更有分量的现实注脚——跑分证明的是"能打",OpenClaw 证明的是"真有人拿它盖出了一栋能住人的房子,还盖得不小"。对那些一直嘀咕"减法哲学是不是只适合玩具项目"的人,这是个挺硬的回答。

发动机负责把油变成动力,座舱负责把这股动力,变成一个人能舒服坐进去、能操控自如的驾驶体验——方向盘、仪表盘、座椅、空调,这些都是座舱的活儿,跟发动机怎么烧油,没有直接关系,可没有发动机,座舱造得再舒服,也只是个摆设。OpenClaw 系列讲的是座舱,这一篇讲的是发动机,两篇系列,两种视角,看的是同一套东西。

写 OpenClaw 那十八篇的时候,讲的是从座舱这一侧看到的东西,当时确实没往发动机这头细究。现在回头看,那十八篇里讲到的不少让人觉得"这体验真顺"的地方,根源其实都能在 Pi 这边找到——不是 OpenClaw 凭空变出来的魔法,是它站在一个足够扎实的地基上,才敢往上盖这么多层,这也是为什么这次特意把这一篇放在整个系列的收尾阶段,算是给两个系列,最后补上一环。

引擎讲完了,座舱那边,你们已经很熟。剩下最后一个问题,也是最实际的一个——到底该选谁。下一篇,把 Pi、Claude Code,还有一众 coding agent,摆在一起,给个能落地的决策清单。