2025 年底,一个叫 Pi 的极简 Harness 在圣诞节前后突然火了起来。它没有塞满几十个工具,没有复杂的记忆系统,甚至没有云端方案,基本上只给了模型一个 bash,但却在各种 Benchmark 和 Harness 对比中,一次次赢过 Claude Code 和 Codex。让人意外的是,做出它的团队不在硅谷,在欧洲。


Pi 爆火真相 :为什么只给模型一个 bash,反而赢了 Claude Code 和 Codex

Pi 的诞生,与作者 Mario Zechner 对 Claude Code 的使用体验密切相关。Mario 是一位来自欧洲的资深开源开发者,曾创建跨平台游戏开发框架 libGDX。他从去年 4 月开始频繁使用 Claude Code。最初,Mario 非常喜欢其简单、可预测的工作方式,但随着 Anthropic 不断增加功能、修改系统提示词和工具定义,他发现自己的工作流也在反复受到影响。更让他不满意的是,许多 Harness 会在用户无法感知的情况下向模型注入额外上下文,开发者很难真正掌握模型看到了什么、调用了什么工具,又为什么做出某个决定。


于是,Mario 决定自己做一个 Coding Agent。而 Pi 真正获得更大范围的关注,还与另外两名欧洲开发者有关:Flask 作者 Armin Ronacher,以及后来开发 OpenClaw 的 Peter Steinberger。


三人早在 2025 年就开始密切交流 Coding Agent 的设计,并于当年 5 月在维也纳共同开发 VibeTunnel。他们持续尝试让模型通过编写和执行代码完成任务,逐渐形成了一套相近的 Agent 设计思路,后来被社区称为“维也纳 Agent 编程学派”。


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


这一判断很快得到了 OpenClaw 的验证。Peter 基于 Pi 构建的个人 Agent,从 Clawdbot、Moltbot 逐步演变为 OpenClaw,并在今年 1 月迅速走红。4 月,Pi 作者 Mario Zechner 携项目加入 Armin 联合创办的 Earendil,Pi 随之转入公司旗下。Mario 继续主导技术开发,并与 Armin、Colin 共同参与项目决策。


日前,Armin 在播客中,和主持人 David Ondrej 聊透了 Pi 的设计哲学、他自己的 Agentic 工程配置、以及“在 AI 编码时代如何构建好软件”。本文基于该播客视频整理,经 InfoQ 编辑。


太长不看版


Q:Pi 凭什么能赢 Claude Code 和 Codex?


A: 模型本身已经非常擅长用计算机,与其塞一堆专用工具把上下文撑爆,不如让模型用管道把命令串起来。Codex 现在其实也是靠 bash 干活的,它说“找到一堆文件”,背后就是去调 `rg`。Pi 赢在“只做最基础的事”这件事上,做得更早、更彻底。


Q:那 Pi 火起来是因为极简吗?


A: 极简只是表象,真正的引爆点是可扩展性。它火的时间点很关键,当时其他 Agent 正在往反方向走,变成塞满几十个工具的东西,Claude Code 每次更新都在改变用户的工作流,而 Pi 让人看到“你可以把它变成你自己的东西”。


Q:收购 Pi 是看中了这个项目吗?


A:不是。真正的故事是“终于把 Mario(Pi Agent 的作者)拉进团队”。我们 2025 年夏天就在问 Mario 愿不愿意加入,问题从来不是“这个项目值不值”,而是“我们能不能让这个人上船”。


Q:为什么你说 Agent 不需要“记忆”?


A: 我们不是“记忆”的信徒。真正缺的是让 Agent 操作数据的能力,给 Agent 真正好的数据库访问,让它能存自己的数据,同时把这些数据开放给人类用。另外 Agent 被限制在一个聊天记录里,这本身就是个大问题:它没法持久地给你自定义 UI。


Q:限制 Agent 的到底是什么?是 AI 不够强吗?


A: 不是 AI 不够强,限制 Agent 的是经典的系统架构问题。Agent 怎么调出 UI,这基本就是状态管理和组件库的事;怎么构建一个数据库让 Agent 操作而不会破坏数据,也是经典工程问题。我们会看到更多人写 Rust、用 NixOS、上 Kafka,因为这些一直是更好的方案,只是对人类太复杂,但对 Agent 没那么难。


Q:云端 Agent 是不是大势所趋?


A: 我不太在意,因为摩擦太大、速度太慢。


Q:企业砸了那么多钱在 AI 编码上,到底值不值?


A:除了 commit 数量,几乎看不到别的可衡量指标。甚至做 side project 的人,比真正把 AI 编程铺开的公司成功率高得多。GitHub 都快被 commit 撑爆了,但社会层面的变化我还没看到。


Q:怎么判断一个开源项目好不好?


A: 只有一个问题:它 10 年、15 年后还在吗,而且仍然开源吗?如果是,就是好项目;如果会消失、转向闭源、被弃养,那就是坏项目。这纯粹是事后复盘才能判断的事。


Pi Agent 为什么火?


David:Pi Agent 现在是市面上最极简的 Harness 之一,却在很多 Benchmark 和 Harness 对比里赢了,你觉得原因是什么?


Armin: 模型本身已经非常擅长使用计算机了,而 Pi 基本上就只给了它一个 bash。大多数 Harness 都在“只做最基础的事”这件事上变得越来越好,随着时间推移,这一点也越来越明显。某个时间点上 Pi 可能算是这方面的先行者,但我觉得现在这已经变成相当标准的做法了。


一个很好的例子是 Codex。虽然它现在会告诉你它“发现了一堆文件、找到了一堆文件”,但实际上它手里已经没有多少工具了。Codex 作为一个 Harness,本质上也是靠 bash 来做很多事情的。如果它说要找文件,它其实就是去调 `rg`(ripgrep)来搜文件。整体上,直接依赖 bash 一直是个非常好的思路。


一个很好的理由是:与其把东西一股脑拉进上下文,不如让它们能通过管道(pipeline)串起来。比如它可以“帮我找一些文件”,但同时在同一条命令里再加上一些分隔标记,这样它就知道“这是第一个要跑的程序,然后执行第二个程序”。如果你去看它实际是怎么执行 bash 命令的,你会发现它在保持上下文高效这件事上已经变得相当有创造力了。


David:6 到 12 个月后,模型会越来越往底层走吗?


Armin: 我去年就相当有信心地说过“这大概就是它要去的方向”,因为能预示未来的一点,是训练数据在哪里、以及在强化学习(RL)的设置里什么最容易训练进模型。所以当时我有一定把握认为,Pi 的这套思路大概率是个相当不错的思路。


但现在情况变了,Coding Agent 已经从“这是 AI 的一种方案”,变成了“这就是 AI 的那‘一种’方案”。所以至少暂时来看,它要往哪走反而变得没那么清晰了。因为模型实验室本身,很可能也会在“把其他训练数据也喂进这条路”上展开竞争。


与此同时,所有这些实验室现在也都在拼谁才是真正好的 Coding Agent,而它们在工具调用的基本巧思上,彼此并没有拉开太大差距。不过我们确实在推理层看到模型能力上的一些变化,这些变化也许暗示着别的路径。我注意到的最大变化是,现在很多最先进的模型已经可以有交错的系统消息(interleaved system messages)了,这让你可以做到延迟加载工具(deferred tool loading)。这对你写一个 Agentic Harness 来说不算翻天覆地的改动,但它是足够有意义的变化,某些以前不可能的模式现在变得可能了。


David:Pi 为什么会火起来?人们显然喜欢它的可定制性、极简主义,但感觉现在全世界都在造 Harness,几乎每周都有好几个新的 Harness 发布,而且还在加速。作为一个相对小的团队,尤其是在硅谷之外,为什么你们能一直保持在最前沿?是因为想得更深,还是品味?


Armin: 我们并没有花很多时间去内省、去搞清楚“Pi 为什么流行”,我本人也不是特别执着于把用户留在我们今天所做的这个东西上。我更感兴趣的是我们该往哪走,以及到那时候它会是什么样子。如果你问我,Pi 为什么在圣诞节前后火起来,我觉得 Pi 最先向大家展示、并且让大家抓住的点,就是可扩展性。它是一个非常极简的 Agent,但你可以把它变成你自己的东西。


而这恰好发生在其他 Agent 往反方向走的时点,其他 Agent 基本上变成了塞满大量工具的东西。我记得 Claude Code 的每一次更新,都会对个人的工作流产生相当有意义的影响。而你现在能看到,Claude 其实正在慢慢往另一个方向移动,因为 Claude 现在的工具数量比其工具使用巅峰期少了。而 OpenCode 2,它完全是基于插件的。所以这种自扩展软件的理念,也许 Pi 算是比较早的,它踩到了一个相当好的平衡点。


除此之外,我认为还有一点可能让 Pi 脱颖而出,也许在某种程度上也让 Earendil 脱颖而出,就是这个想法:我们手上有一台相当强大的机器,形式就是 LLM,我们怎么才能真正让它为你所用?这是一个定位问题。就好像,我们处在这样一个位置:我们认为 AI 真的非常棒,同时我们又对它抱有很多怀疑,我们试图在这两者之间找到平衡,这在某种程度上可能是一种更“欧洲”的做法。


David:你是十二月完全转到 Pi,然后大概四个月后你就把它收购了。决定性的因素是什么?为什么想把它纳入 Earendil 旗下?是因为 Mario,还是因为这个项目起飞了?


Armin: 其实我们早在 2025 年夏天就在和 Mario 聊,问他愿不愿意加入团队。所以从很多方面来说,我觉得在创业公司早期招人,挑战往往在于“你怎么遇到对的人?你们的路径怎么交汇?”所以在我看来,问题与其说是“要不要拿下 Pi”,不如说是“我们得做什么才能把 Mario 拉进来”。


Earendil 现在看起来像是一家 Pi 公司,但那真的不是我们的目标。它可能还会以 Pi 公司的形态持续一段时间,因为我们有一份“必做清单”摆在那里。但我们的未来大概率不会是“只做 Harness 的公司”,我们想成为一家让 AI 为每个人所用的公司,而这必须从 Harness 开始。


David:那你觉得往后会是什么样?你是在说实验室里的人,还是你自己做深度测试?你怎么去判断世界往哪个方向走?


Armin: 有人往数据中心投钱,数据中心就出现了;另一家公司往模型里投钱,持续训练模型,然后消失了。这两件事都是极好的原料,有望驱动大量非常有趣的交互——让 LLM 和一个人类驱动者一起完成。从很多方面来说,我们现在还处于极其早期的阶段。我并不认为我们有一个特别强的愿景,能说清楚这件事“应该”怎么展开。但我不认为我们会满足于这样一种体验:你从 Agent 那里获得的东西,不能同时给一个非程序员也带来价值。


我们现在正朝着 cloud co-work 这类方向走,但一个程序员能用 LLM 做的事情,比一个普通 ChatGPT 用户能做的多得多。我们正在试图搞清楚:你怎么弥合这个差距?这件事到底有没有可能?


David: 我得在这里反驳一下。因为技术能力更强的人,他们能用更多的 Agent。他们知道怎么管理成百上千个 Agent,知道用什么模型、用什么 Harness、哪些在本地跑、哪些在云端跑。所以,理想情况下当然是让每个人都成为 AI 的超级用户,但我们看到的是,那些知道怎么用它的人,从中获得的东西越来越多。


Armin: 我不是说每个人都要变成程序员。这既不是我们看问题的方式,也不是我们的目标。我刚好是伴随 DOS 长大的,它本质上就是一个基于文本的个人电脑,极度优化资源利用率之类的东西。如果有的选,没人会用 DOS。从 DOS 到真正人人都能用、都想用的桌面电脑,中间经历了一堆迭代。


我觉得现在的 Agent 就有点像当年的 DOS,Agent 目前的形态,根本不是一个普通人应该去用的用户界面,我很难想象四年后我们所有人还在用现在这种 Coding Agent 的形式。因为一方面,那些 Token Maxing 的人会把这东西部署到软件工厂里,他们不会花大量时间跟单个 Agent 打交道;另一方面,那些想用它做领域特定工作的人,大概也不会泡在今天这种 Agentic Interface 里。


而且有一堆技术原因决定了,今天的东西不足以支撑未来真正好的软件。但总会有人把它做出来,我们也想在这个方向上试一试。至少,我们要建一套足够好的基础设施,让别人也能做这件事。我们希望最终的世界是:人们可以用我们建的东西,自己搭出真正好的 Agent。同时,我们往前推所有优秀 Agent 所需的基础部件,这样我们也能在它之上构建自己的方案,提供给非工程师。


除了 Harness,还有哪些拼图要补


David:那除了 Harness 之外,你觉得还有哪些最大的拼图需要补上?


Armin: 我觉得很多。其中一个不算是“某块拼图需要被解决”,而是整个行业的经济学必须走向模型层面的真正竞争。好消息是,这似乎正在发生,你现在有一大堆模型可以选择。但目前有点不理想的一点是,美国一些闭源模型上的很多新功能,正在越来越多地把你锁进它的生态里。我常举的例子是服务端压缩(server-side compaction),它现在会生成一个不可移植的会话,这是不理想的。


还有一个需要解决的问题是持久性:你能把一个 Agent 挂起,然后从它中断的地方继续。今天我们在编码 Harness 上做得相当不错,但还没到那种可以构建不需要 Human in the Loop 的持久系统的水平。然后,我认为到现在还没有人真正做到把 Agent 从终端用户界面带到 Web 上,并让它成为最强大的体验。Web 上大多数 Agent 看起来只像是终端 Agent 的一个网页界面,那个空间里有太多东西值得探索。


再就是,我们并不是“记忆”的坚定信徒,但我们相信要给 Agent 操作数据的方式。所以问题就变成:你怎么给 Agent 真正好的数据库访问能力,让它们能存自己的数据,同时也能把这些数据开放给人类使用?这个空间里东西太多了,几乎是一份永无止境的技术挑战清单,所有人现在都在做,就为了让这些 Agent 真正为每个人交付价值,而不只是一个 Coding Agent。


David: 界面问题很有意思,因为现在基本上要么是终端,要么是某种 GUI。但我想象它甚至可以更像一个电子游戏:你有一队 Agent,你有你的资源,比如你的额度限制…


Armin: 我觉得在一个非常基本的层面上,这挺荒谬的。OpenClaw、Hermes 以及所有这些系统能展示 Agent 的价值,这当然很好,但我遇到的很多问题,并不是靠纯文本就能解决的,而这些 Agent 也没法以一种持久的方式给你带来自定义的 UI。


举个例子,如果我想用我的 Agent 去管理我的 Home Assistant 智能家居方案,那我的 Agent 显然不应该只是能执行我的命令,它还应该能把我家里的情况、我所有的智能家居设备可视化出来给我看。但事实是,这些 Agent 确实能给你一点点 UI,但给不了太多,这本身就是一个需要解决的问题。也就是说,Agent 被限制在一个聊天记录里,这是它不够理想的地方之一。


David:那这是一个架构层面的问题吗?因为我感觉有些东西,比如缺乏品味、缺乏创造力,那是 transformer 本身的问题。所以这个到底能不能解决,还是说你觉得我们需要新的 AI 突破?


Armin: 我认为不需要新的 AI 突破。归根结底,现在限制 Agent 能做什么的很多东西,只是因为我们从“人类写代码”变成了“Agent 写代码”,而对人类来说廉价的事情,对 Agent 来说可能很昂贵,反过来也一样。


举个特别直观的例子:Linux 正在复兴,这不只是因为 Omarchy 这类工具的流行,更因为 Agent 特别擅长 Linux,因为互联网上有大量关于 Linux 如何工作的资料,训练数据足够多。所以 Agent 非常擅长远程控制 Linux 环境,你可以拿一个开箱即用的 Ubuntu、Arch Linux 或者 NixOS 安装,直接用 Coding Agent 全远程控制并定制它。


我会说,哪怕是现在,我妈妈用 Coding Agent 去定制 Linux,可能都比在 Mac 上定制 Mac 更成功。因为 Mac 的训练数据没那么多,更别说 Windows 了,Windows 基本上完全在分布之外。


这背后是一个更大的判断:有些东西以前只有极少数人用得非常好,虽然技术上可能是很好的选择,但因为太复杂,人类很难驾驭。我预测我们会看到更多人写 Rust,更多人用 NixOS,更多人尝试真正复杂的数据库,或者用 Kafka 做事件流处理。因为这些一直都是更好的解决方案,只是对人类来说太复杂了,但对 Agent 来说没那么难。


所以我们现在这个阶段,问题不是“我们需不需要 AI 突破”,我觉得我们需要的突破是,搞清楚哪些系统能和我们现有的能力配合得特别好。比如 Agent 怎么调出 UI,这不是创造力的问题,这基本上就是状态管理、组件库的问题。比如你怎么构建一个数据库,让 Agent 在里面操作而不会破坏数据?这些都不是 AI 问题,它们就是经典的系统架构问题。


David: 所以我们几乎是在过去二三十年里,绕了一个大弯,把所有东西都优化成适合人类使用。但现在这套东西开始崩塌了,因为它不重要了,Agent 正在成为用户。


Armin: 我觉得两者都在成为用户。这种“现在只有 Agent 在做事”的想法,有点问题。


David:但如果你把它推到极致:模型继续变强,Harness 继续改进,输入输出变得更简单,那 Agent 成为任何软件 99.9% 的用户,这不是很明显的事吗?


Armin: