pi agent作者简介:Mario Zechner

作者简介:Mario Zechner

IMG_6348

Mario Zechner 是一位奥地利资深开源开发者,以创建跨平台游戏开发框架 libGDX 而闻名于技术社区。他的技术底色带有鲜明的“老派工程师”特征:1996 年拥有第一台个人电脑(Intel 486 DX40),从 DOS 时代开始接触编程,早年做过 NLP 和传统机器学习,2010 年前后加入旧金山创业公司,后来在瑞典参与过 AOT 编译器项目。

他对“工具应该什么样”的直觉,来自两次关键经历。 一次是 RoboVM 项目被收购后关闭源码、最终被微软关停,让他对“把自己的东西交给大公司”有本能警惕。另一次是 2025 年持续使用 Claude Code 的体验——最初他喜欢 Claude Code 简单可预测的工作方式,但随着 Anthropic 不断堆功能、改系统提示词和工具定义,他发现自己的工作流被反复打断,“界面还会闪烁”。

他的核心批判是:你根本不知道模型看到了什么。 许多 Harness 会在用户无法感知的情况下向模型注入额外上下文,开发者很难掌握模型“看到了什么、调用了什么、为什么做出某个决定”。作为构建过多个 agent 项目的开发者,他深知精确控制上下文的重要性——“现有工具都会在背后注入一些你看不到的内容,让这变得极其困难”。

2025 年底,他决定自己做一个 Coding Agent,最初项目名叫 shittycodingagent,后来改名 Pi。他 2026 年在 AI Engineer Europe 的演讲标题就带着这种性格:“Building Pi in a world of slop”——在一个充斥着“vibe slop”的世界里,如何建一个不跟风的东西。


Pi 的发展历程

起点:一个“反向而行”的 Harness

Pi 诞生于 2025 年底,圣诞节前后突然火起来。它最早在 GitHub 上的仓库是 badlogic/pi-mono,采用 MIT 协议。

它火起来的原因不是功能多,恰恰是功能少得“不像话”:默认只给模型 4 个工具——read、write、edit、bash,系统提示词不到 1000 tokens。Zechner 的逻辑很直接:编程的本质就是读代码、写代码、改代码、跑代码,这四个工具组合起来能覆盖大部分场景,有 bash 在,大部分专用工具都是冗余的。

但极简只是表象,真正的引爆点是可扩展性。 它火的时间点很关键:当时其他 Agent 正在往反方向走,塞满几十个工具,每次更新都在改变用户的工作流。Pi 让人看到 “你可以把它变成你自己的东西”。任何缺失的功能——MCP、子 agent、计划模式——用户可以直接让 Pi 自己写扩展装进去。

关键节点:维也纳学派与 OpenClaw 的验证

Pi 的走红,与另外两名欧洲开发者密不可分:Flask 作者 Armin Ronacher 和 OpenClaw 的开发者 Peter Steinberger。三人早在 2025 年就开始密切交流 Coding Agent 的设计,并于当年 5 月在维也纳共同开发 VibeTunnel,逐渐形成了一套相近的 Agent 设计思路,后来被社区称为**“维也纳 Agent 编程学派”**。

Armin Ronacher 是 Pi 的早期深度用户和重要推广者。到 2026 年 1 月,他已经几乎完全转向 Pi。他尤其看重 Pi 的两个特点:极小的核心,以及允许扩展持久化会话状态的机制。在他看来,Pi 并不只是一个供开发者直接使用的 Coding 工具,更是一套可以用来构建其他 Agent 的基础设施。

这个判断很快被验证。Peter Steinberger 基于 Pi 构建了个人 Agent OpenClaw,从 Clawdbot、Moltbot 逐步演变而来,并在 2026 年 1 月迅速走红。OpenClaw 的成功反过来把 Pi 推到了更大的聚光灯下。

转折:加入 Earendil

2026 年 4 月 8 日,Armin Ronacher 的 Earendil 公司正式收购了 Pi。 仓库从 badlogic/pi-mono 迁移到 earendil-works/pi,npm 包迁移到 @earendil-works 命名空间。

但 Armin 在播客中说得非常清楚:“真正的故事不是‘这个项目值不值’,而是‘我们能不能把这个人拉进来’。” 他们从 2025 年夏天就在和 Mario 聊加入的事,问题从来不是项目本身。

Zechner 在博客中解释了他为什么选择卖给朋友而非自己创业,提到了 RoboVM 的教训——被 Xamarin 收购后闭源,然后被微软关停。他不愿意用家庭时间换 CEO 角色。他保留技术方向和合并决策的控制权。

收购后 Pi 保持 MIT 协议不变。Earendil 的 RFC 0015 承诺核心永远是 MIT,未来增值商业功能可能采用 Fair Source,企业功能和云服务专有。Pi 的名称和 Logo 由 Earendil 商标保护。

现状与规模

截至 2026 年 5 月,Pi 在 GitHub 上有 45,041 星,社区包(第三方扩展)达 2,143 个。对比同期:Codex 约 80,174 星,Gemini CLI 约 103,218 星——Pi 的星数最低,但它的 README 是唯一一份把“我们故意没做什么”当成文档写的。

它目前是 pi-monorepo 结构,拆成多个 npm 包:

| 包 | 职责 |

|---|---|

| @earendil-works/pi-ai | 统一多提供商 LLM API(Anthropic、OpenAI、Google、xAI、Groq、Cerebras、OpenRouter 等),支持流式、工具调用、跨提供商上下文切换、成本跟踪 |

| @earendil-works/pi-agent-core | Agent 运行时,处理工具执行循环、验证、事件流 |

| @earendil-works/pi-tui | 终端 UI 库,差分渲染,追加到终端回滚区而非接管屏幕 |

| @earendil-works/pi-coding-agent | 交互式 Coding Agent CLI |

| @earendil-works/pi-telemetry | 厂商中立遥测契约 |

默认系统提示词约十几行 + 用户的 AGENTS.md,四个默认工具:read、write、edit、bash。额外的只读工具(grep、find、ls)存在但默认禁用。

一个关键的“故意不做”

Pi 的 README 明确列出它故意不支持的东西:没有内置 MCP(Zechner 认为相比 CLI 工具按需读文档,MCP 太消耗上下文 tokens)、没有待办列表、没有计划模式、没有后台进程管理器(用户被指向 tmux)、没有专用子 agent 工具。

默认运行在“YOLO 模式”下:没有权限提示,agent 在调用用户权限下对文件系统和 shell 有不受限制的访问。Zechner 的观点是:一旦 agent 能写和跑代码,权限系统“大多是安全剧场”(mostly security theater)。README 直接说明没有内置权限系统,并为想要隔离的用户记录了容器和沙箱模式。

时间线一览

| 时间 | 事件 |

|---|---|

| 2025 年初 | Zechner 频繁使用 Claude Code,开始不满其“功能膨胀” |

| 2025 年 5 月 | Zechner、Armin、Peter 在维也纳共同开发 VibeTunnel,形成“维也纳学派” |

| 2025 年底(圣诞节前后) | Pi 以 badlogic/pi-mono 发布,突然走红 |

| 2025 年 11 月 30 日 | Zechner 发长文批判现有 Harness 隐藏上下文、跨版本改变行为 |

| 2025 年 12 月 | Zechner 用 Claude Opus 4.5 在 Terminal-Bench 2.0 提交结果 |

| 2026 年 1 月 | OpenClaw 基于 Pi 构建并迅速走红;Armin 几乎完全转向 Pi |

| 2026 年 3 月 30 日 | Earendil 发布 RFC 0015,承诺 Pi 核心保持 MIT |

| 2026 年 4 月 8 日 | Earendil 正式收购 Pi,仓库迁至 earendil-works/pi |

| 2026 年 5 月 7 日 | 新命名空间 @earendil-works 下首次发布 |

| 2026 年 9 月 | Pi 版本约 0.87.x,持续迭代中 |


一句话总结:Pi 是一个“受够了”的产物——Mario Zechner 受够了 Claude Code 的功能膨胀和不透明,于是用最少的代码、最少的工具、最少的预设,做了一个你可以完全理解和控制的 Coding Agent。它的发展路径也很“Pi”:不是靠融资和营销堆起来的,而是靠一个有个性的开发者 + 一群认同这种个性的早期用户,从维也纳的一个小圈子长到了 70K+ star 和 2000+ 社区扩展。