Pi CLI 与 OpenClaw:一场极简主义与狂野创新的碰撞

2026 年 AI 编码代理领域最引人注目的关系,莫过于 PiOpenClaw——一个是极简的底层引擎,一个是基于它构建的病毒式个人 AI 助手。

封面图:Pi 与 OpenClaw 的连接


一、关系总览

一句话总结:OpenClaw 的整个 AI Agent 运行时完全依赖 Pi SDK。

OpenClaw 不是简单地"集成"Pi,而是直接通过 createAgentSession() 嵌入 Pi 的 AgentSession,将 Pi 作为其核心编码引擎。OpenClaw 在此基础上构建了消息网关、多平台集成(Discord/Telegram/Slack/WhatsApp)、多账户管理和自定义工具集等"产品层"。

架构图:Pi 与 OpenClaw 的层级关系

┌─────────────────────────────────────────┐
│              OpenClaw                   │
│  (消息网关 + 个人助手平台)              │
│  - Discord/Telegram/Slack 集成          │
│  - 多账户认证 + 会话管理                │
│  - 自定义工具集 (browser, canvas 等)    │
├─────────────────────────────────────────┤
│           Pi SDK (嵌入)                 │
│  @earendil-works/pi-*                   │
│  - pi-coding-agent: AgentSession        │
│  - pi-agent-core: 工具执行 + Agent 循环  │
│  - pi-ai: LLM 抽象层                    │
│  - pi-tui: 终端 UI 组件                 │
├─────────────────────────────────────────┤
│           LLM 提供商                    │
│  Claude / GPT / Gemini / DeepSeek 等    │
└─────────────────────────────────────────┘

二、Pi:极简主义的极致

开发者:Mario Zechner

  • 身份:libGDX 框架作者,Duke's Choice Award 2014 得主,BadLogic Games 创始人
  • 风格:务实、极简、反复杂
  • 名言"Your biggest enemy is still complexity. It's also your agent's biggest enemy."

为什么创建 Pi?

Mario Zechner 在 2025 年的一篇博客中坦诚:

"Claude Code 一开始很棒,但随着团队不断追求速度、添加功能,bug 越来越多,工具行为开始变得不可预测。我想要一个行为稳定、一致的 AI 工具。"

他观察到:每增加一个功能,Claude Code 就变得更不可控。于是他的解决方案是——尽可能少添加功能

Pi 的设计哲学

原则说明
4 个核心工具只有 readwriteeditbash,没有 MCP,没有社区技能
最短系统提示词只有一句指令,其余由 AGENTS.md 注入
自修改能力Agent 可以写自己的 TypeScript 扩展,热重载
多模型自由支持 15+ 提供商,中途可切换模型
树状会话每个分支都保留,可回溯任意历史节点

Mario 的核心观点

在 GDC 2026 的演讲中,Mario 提出了几个震撼行业的观点:

  1. Agent 是"复合错误"的放大器"Agents are compounding booboo with zero learning and no bottlenecks and delayed pain." AI 代理没有痛感,不会像人类一样因为维护糟糕的代码而痛苦,因此会无限添加技术债务。
  2. 人类是必要的"摩擦瓶颈""Humans feel pain, which is a very important property because humans hate pain. Once there's too much pain, you rewrite." 人类的局限性——无法瞬间写出数千行代码、会因糟糕的代码感到痛苦——恰恰是保持软件可管理的过滤器。
  3. 自修改软件是未来:Pi 允许 Agent 自己编写扩展,用户也可以修改。"It's an agent that adapts to your workflow instead of the other way around."

三、OpenClaw:狂野的创新者

开发者:Peter Steinberger

  • 身份:PSPDFKit 创始人(已出售),YC 校友,独立开发者
  • 风格:大胆、快速、"sci-fi with a touch of madness"
  • 经历:卖掉 13 年的软件公司后经历 burnout,转而投身 AI

OpenClaw 的诞生故事

Peter 在摩洛哥马拉喀什旅行时,在1 小时内做出了第一个原型:

"消息进来 → 调用 Claude Code → 结果返回 WhatsApp。就这么简单。"

第一次真正考验:他发送了一个没有扩展名的语音文件,Agent 自动检测文件头、识别为 Opus 格式、用 ffmpeg 转 WAV、尝试 Whisper 失败后、发现环境变量中的 OpenAI key、用 curl 发送到 OpenAI、拿到转录、回复。

这就是 OpenClaw 的"aha moment"。

名字的混乱史

OpenClaw 的名字换过多次:W-Relay → Claudis → Clawbot → ClaudebotMoldbot/MaltbotMoltbotClawdbotOpenClaw

  • Anthropic 礼貌地要求改名(商标问题)
  • 加密骗子抢注了旧域名和用户名,甚至传播恶意软件
  • Peter 甚至打电话给 Sam Altman 确认 "OpenClaw" 不会与 OpenAI 冲突

Peter 的哲学

观点说明
反对 Plan Mode直接做比规划更重要
反对 MCPCLI 就够了,不需要复杂的协议层
本地优先代理应该运行在本地,拥有系统级访问权限
应用会消失"Why should I use my fitness Pal to track food when I have an infinitely resourceful assistant?"
为人类优先优化的是"fun and impact",不是钱

四、两人的关系:朋友,但理念不同

人物对比图:Mario vs Peter

Armin Ronacher(Flask 作者)在博客中写道:

"Pi 由 Mario Zechner 编写,与 Peter 的'科幻带点疯狂'不同,Mario 非常务实。尽管方法不同,OpenClaw 和 Pi 都遵循同一个理念:LLM 非常擅长编写和运行代码,所以拥抱它。"

两人是朋友,Peter 去年把 Mario 也拉进了 AI Agent 的世界。但他们的风格截然不同:

维度Mario (Pi)Peter (OpenClaw)
风格务实、极简大胆、狂野
目标可控的工具个人 AI 助手
扩展方式TypeScript 扩展消息网关 + 多平台
关注点代码质量、复杂度控制用户体验、任务执行
对 AI 的态度警惕,强调人类判断乐观,相信代理能"做事"

五、行业影响与争议

技术依赖风险

一篇深度分析指出:

"OpenClaw 的整个 Agent 运行时——与 LLM 对话、管理工具执行、处理会话的代码——依赖一个外部项目:Pi。四个 npm 包构成了 OpenClaw 执行引擎的基础。"

Pi 是单维护者项目,Mario Zechner 是唯一的 npm 发布人。如果 Pi 出问题,OpenClaw 也会出问题。

AI 代码质量下降

Armin Ronacher 在与 30+ 工程团队沟通后发现:

"代码质量 everywhere 都在下降,严肃的项目正在交付 'vibe slop'。"

原因:

  • 维护 AI 输出代码的整洁需要刻意努力
  • PR 审查疲劳和自动化偏见(认为 AI 生成的代码总是好的)
  • 初级工程师和产品经理用 Agent 脚本化的反驳来对抗高级工程师的"不"

复杂度危机

概念图:AI 代理与人类判断力

Mario 的警告:

"两个工程师 + 10 个 Agent,两周内就能产生企业级复杂度。"

六、总结:两种未来的碰撞

总结图:两种路径的对比

Pi 和 OpenClaw 代表了 AI 编码代理领域的两种路径:

  • Pi 路径:极简、可控、人类中心。"用软件构建更多软件,但人类必须保持判断力。"
  • OpenClaw 路径:狂野、集成、代理中心。"让代理直接做事,应用会消失,未来是个人 AI 助手。"

两种理念都在探索同一个问题:在 AI 能写代码的时代,人类的位置在哪里?

Mario 的答案是:"All of this still requires humans."

Peter 的答案是:"I treat pull requests more as prompt requests... I just rather have the prompt like the intent and just do it myself."


参考来源