2025 年底,一个叫 Pi 的极简 Harness 在圣诞节前后突然火了起来。它没有塞满几十个工具,没有复杂的记忆系统,甚至没有云端方案,基本上只给了模型一个 bash,但却在各种 Benchmark 和 Harness 对比中,一次次赢过 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 年后还在吗,而且仍然开源吗?如果是,就是好项目;如果会消失、转向闭源、被弃养,那就是坏项目。这纯粹是事后复盘才能判断的事。
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 所需的基础部件,这样我们也能在它之上构建自己的方案,提供给非工程师。
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: 我不这么认为。这取决于你怎么衡量,但从最基础的层面讲,世界上人类的数量即便在增长,也是在停滞的,Agent 并没有创造出更多人类,所以可触达的人群规模是不变的。如果软件最终只有 Agent 在用,到头来还是得有人类,因为 GDP 是由人买东西驱动的,而不是由 Agent 为了好玩去做事驱动的。一个 Agent,一个计算机系统,自己在那儿做事情,本质上只是在白白烧能量,所以必须有“人”受益。
而且,“我们都坐在某个太阳发射器里,偶尔通过设备跟它说句话”这种想法,我觉得不太可能成立。因为跟一个把人类放在前面的同类系统相比,这永远是更差的选择。如果机器驱动了一切,那么那个使用所有人都有的机器、再加上一个人类的人,就会拥有优势。
所以总会存在那种“某处有人类参与”的软件。当然,你可以说会有大量软件是来支持 Agent 的,但一直以来就有大量软件是为了支持更多软件运行而存在的。比如每一家可观测性公司,它们的大部分代码都不是给人看的,而是用来处理所有数据点的。以前,发往可观测性平台的查询里可能有 70% 是人驱动的,30% 是自动化驱动的。也许现在这个比例会翻转,但这并不意味着人类消失了,只是人类的位置变了。
还有人说,如果 Agent 连汇编都能写得很好,人类就理解不了它在干什么了,我不觉得这会成真。因为一旦你作为人类失去了理解正在发生什么的能力,你对系统也就没多少信任了,出了事就会有人抱怨。我最近就提出过一个论点:我不认为银行会永远用 vibe coding 的方式写代码,因为一旦出问题,客户不会满意。这里面有问责的问题,你总得有人可以追责,而你没法把责任推给一台机器,社会不是这样运转的,也永远不会这样运转。
David: 但你可以追责使用机器的那个人啊。
Armin: 可一旦“你必须追责使用机器的人”这个观念确立下来,那么使用机器的人就会要求更好的可解释性。如果这个人面前只有一堆二进制,什么都看不懂,那他根本不会再用这个机器了。
David: 我觉得这两件事是互斥的。如果我们真的有智商 200、300 的超级智能 Agent,它们当然能自己生成一套定制界面。
Armin: 但那种未来太遥远了,远到我们现在根本没必要去操心。在可预见的未来,人类仍然会想要理解正在发生什么。所以人类和 Agent 会共用大致相同的界面,因为你想直接看到 Agent 没搞懂的地方,而不是去问另一个可能会撒谎的 Agent。
David: 这也是为什么 Markdown 会胜出。
Armin:讽刺的是,Markdown、JSON 文件、Unix 管道这些极其简单的东西,正在成为一切事物的底层基础。但换个角度想,这并不令人意外,因为它们同样是人类能理解的东西。
David:你平时是怎么用 Agent 的?你的配置现在是什么样子?
Armin: 我觉得我作为一个用例并不特别有意思,因为我不运营软件工厂。倒不是说我不想运营一个,只是我没成功。Earendil 可能实际上是目前唯一一家没有机器人流水线的 Harness 公司,就是那种自动处理 issue 的流水线。我们也许想往那个方向走,但到目前为止,我们的工程流程基本上没变:我们主要还是在自己机器上用 Coding Agent,真正放在云端的非常少。
我有一个桌面 Linux,通过 SSH 跑一些需要长期运行的东西,但大部分工作还是留在代码所在的地方。我们在 GitHub Actions 里做了一点自动化,可以在上面跑 Pi。其实我现在做的很多事情并不是代码生成,而是搞清楚东西应该怎么运作。尤其是配合新的 Harness,很多时候是跟机器一起去调查,比如拿到一份报告,搞清楚怎么从中提取出 repo 之类的。对我们来说,这仍然是非常传统的工程。跟很多人正在做的事相比,我个人仍然非常保守。
David:我们看到,尤其是 OpenAI、Cursor 这样的大公司,都在往云端 Agent 方向走。你觉得“很快你的机器就不够用了,必须把所有东西搬到云上”这个说法站得住脚吗?还是说,这更像是一种生态锁定策略,一旦人们把环境和一切都搬到云上,就很难再迁走了?
Armin: 老实说,我觉得这不重要。因为竞争会足够充分,你想在本地做还是在云端做都行,真正的问题是“我从云端得到了什么、从本地又得到了什么”。比如我现在为什么不太在意云端?因为我有一台特别猛的 Mac,本地跑就是快得多。我也有一台 Linux 机器,凑合能用,但跑测试的速度只有 Mac 的一半。而且有些事情我就是想放在自己机器上,把这些数据弄到云里,麻烦程度超出了它应有的水平。所以对我来说,摩擦太大、速度太慢,就没动力往那边迁。
大概一两个月前,我在帮一个人 debug,他用的是 Codex 或 Claude Code 的云端版本,我记不清了,反正是某个桌面应用。我问他:“你这里的数据库测试怎么跑的?”他说他其实不知道。然后我们一起查了一下,发现他的云端环境里数据库测试从来就没跑通过。
David:是缺了环境变量还是什么?
Armin: 不是。是因为那个云端环境里根本就没有 Postgres 在跑,它从来没成功把 Postgres 配起来,直接把所有东西都 mock 掉了,这个问题到现在依然很严重。我反而发现,用一台自己控制的机器配好开发环境,然后 SSH 进去跑东西,比折腾那些云端方案要成功得多。当然有比 SSH 更好的方案,但至少对日常项目工程来说,我的东西都在那台机器上,一切都在我自己手里。云端方案肯定会越来越好,但我需要跑的东西太多了,自己控制一台机器反而更省事。
历史上这件事做不成,最大的原因是没人愿意花时间搭临时开发环境。我记得当年给 Sentry 招工程师,新人第一周要花两三天才能把开发环境跑起来。我们甚至一度有个三个工程师的团队,专门花时间优化开发环境配置。但即便那样,你最终也只有一套开发环境。如果你想在自己机器上同时跑七个 Agent,你就需要七个数据库、七个 Kafka 集群……软件足够复杂的时候,把这些全都配起来真的非常难。我到现在也不确定 Sentry 的工程师现在是怎么做的,但我很确定,从零启动一个开发环境大概还是要七分钟,就算有缓存也一样。对 Agent 来说这依然很贵,意味着每一次改动都要多等这么一段前置时间,或者你得提前准备一个池子。
我确信有些人已经为自己完美解决了这个问题,只是对我来说还没到位,或者说我找到了一个更简单的、一直在用的办法。把东西搬到云上在很多方面确实说得通。就拿我自己访问 Mac 来说,我用 Tailscale,因为配置起来很直接,但这仍然需要我自己去设置。而你看像 Orbs 这样的项目,或者 Codex 的 in-cloud 方案,比你自己折腾 Tailscale 和 SSH 要容易得多。所以从 UX 角度讲,我这套方案显然很烂,但它会变好的。
David: 我现在跟你一样,大部分东西都在本地。我问这个可能也是因为有点 FOMO,看到那么多关于云端 Agent 的讨论,然后从第一性原理去想:如果我们有 100 倍、1000 倍的 Agent,总会有一个点,我的机器扛不住吧?我也有台很贵的 Mac,多个 Agent 一起跑、多个 worktree 同时决定跑测试的时候,它有时候会过热,你能听到风扇开始转,这在顶配 MacBook 上可不常见。所以我就在想,这个极限到底在哪里?下一代模型,或者再下一代,会不会好到让我物理上根本没法在本地跑完所有 Agent?
Armin: 我觉得关键问题是,我们做这一切到底是为了什么?企业现在在 AI 编程上花了这么多钱,他们的营收真的涨了吗?有很多 AI 创业公司赚得盆满钵满,这我承认。但如果你看一个传统企业,他们在全面推行 AI 编程,这些投入反映到数字上了吗?还是说只是变得更贵了?因为我们现在多了一笔所有人都要付的账:这些模型在安全研究上变得太强了,以至于我们也不得不花钱去永久性地检查自己的代码库有没有安全问题,因为别人正在用同样的手段攻击我们。所以从主要方面看,我们现在其实是把成本推高了。
但另一方面,很多工程师在业余时间找到了巨大的动力,去搭建一个又一个的 side project。这在很多方面对 GDP 也是正向的,即便这些东西不一定被大量使用,所有这些侧面的实验并不是没用的。所以现在到底是谁在受益?我的看法是,做 side project 的人,比真正把 AI 编程铺开的公司,成功率高得多,这是我的偏见。有人可能会说“我们在公司里写了这个,这里有一堆数据证明它有效”,但人力成本变得这么贵。我还没看到那种漂亮案例,比如“我们的 token 支出涨了 500%,然后公司某个指标真的动了”。也许能拿出某个数字,比如关掉了多少支持工单,但对很多人来说,除了 commit 数量,几乎看不到别的可衡量指标。
而且我在想,我们真的需要那么高的并发吗?我们确实在产出多得多的代码,这是真的,GitHub 都快扛不住了,因为 commit 实在太多。但我早上坐火车、坐公交、骑车出门,周围所有商店的行为跟三年前基本没两样,我还没看到社会层面那种巨大的变化。而上一次真正的转变是手机,现在去演唱会,100% 的人举着手机对着舞台,那种渗透是侵略性的。ChatGPT 也确实到处都是,但那种冲击我还没真正看到。它肯定会来,只是到目前为止,我们都还在摸索。
这确实是激动人心的时代,探索这一切很有意思。但与此同时,要对它的实际影响保持一点怀疑并不难,因为到目前为止,它在结果上的显现似乎要花很长时间,可在成本、基础设施投入这些方面的显现,却快得多。
David: 我觉得这类回应很典型:Twitter 上总有人炫耀自己烧了更多 token,结果 OpenCode 那边有人回一句,那你为什么没更成功呢?那么多人在搞自己的“软件工厂”,可他们什么也没产出。
为什么那么多成功的项目,最初要么是个玩笑,要么是个 side project,要么是创作者自己都不觉得能成的东西,扔出去之后反而火了?Flask 就是最好的例子。这背后的魔法到底是什么?
Armin: 与其说是运气,不如说是真正的好奇心。如果你强迫自己去做一个你自己都不相信的东西,它是不会成功的。如果你心里有个痒处要挠,哪怕只是为了好玩……大多数系统之所以存在,就是因为人们一直在做某件事。你早上起来,做点什么,然后一直做下去,这才是真正的信号。
Flask 一开始也许是个玩笑,但在那之后它就变成了纯粹的工作:大量的 commit、处理不断冒出来的 issue,然后让它真正能用,并且坚持足够长的时间。它不是一夜成名,你必须一直做下去。比如 Pi 本身:如果你去看早期 Mario 往 Pi 里提交了多少 commit,就会发现它的成功并不令人意外:不只是因为它独特,更是因为相对于当时市场上的其他东西,它确实跑得很好。
你把时间投入某件事,显然不能投入没人在乎的事。你可以做点营销,看看有没有足够多的人在乎;必须有足够多的人留下来,给你所有的问题,让你看到真正的问题是什么,然后你从那里继续。
David: 所以关键是要非常具体、对某一件具体的事充满热情,站在这件事的最前沿,从而获得独特的洞察,“这个可以更好”、“那个可以不一样”。
Armin: 我不确定是不是一定要在最前沿,但我觉得最近一个经典例子是 Mitchell 做的 Ghostty。Ghostty 现在在很多方面可能算前沿,因为它做的事情很多。但在很长一段时间里,Ghostty 并不是前沿,它一直很快,但有很多东西要追赶。我记得很早就用它,当时缺了很多东西,可它跟其他方案比已经足够好,而且好得非常明显。它投入了大量精力,所以你会觉得:如果我一直用下去,它最终会变得很棒。
必须得有某个东西能让人兴奋起来。Ghostty 的出发点就很清楚——“快和原生”。这两件事以前有人分别做到过,但没人同时做到。如果他真能做到,那就足够构成一个让我去用它的理由。这是一个好故事,背后有大量的能量。
但 Django 就不一样。我至今仍然钟爱 Django,主要因为它真正做的事情是:虽然带 admin 算是一点新意,但核心是人们在持续地构建它、维护它、往里面投入精力,让你感觉可以完全依赖它,因为它十年后还会在。而它确实还在,二十年后还在。curl 是更完美的例子:所有人都在用 curl,它既不独特也算不上前沿,它就是非常可靠,这让它成为一个非常好的选择。也许在项目的第一年、第二年这并不明显,但现在非常明显。
所以有些东西就是因为人们一直在往里面投入精力。Sentry 也是一样,Sentry 刚起步时是最好的选择吗?算是,但当时市场上竞争非常激烈,只是很多竞品没能活下来,没能持续投入精力,最终只剩 Sentry 留了下来。有些项目就是这样,靠的是“一直做下去”。这显然不是一夜成名,它需要你好几年。所以如果你问的是“我能在六个月内做出什么卖给下一个接盘者”,那你的做法会完全不同,但那从来不是我的动机。
David:现在越来越多的项目是开源的,而且能火起来。这是因为人们更信任开源、能在上面构建、能看内部实现、能轻松 fork 吗?你认为世界上软件的“开源比例”会越来越大,还是保持恒定?你注意到这个方向上有哪些有趣的趋势吗?
Armin: 首先我觉得大的走向未必是“更多开源”。一个非常经典、也非常烦人的做法是:你先开源,然后再把它闭源。在 AI 领域这简直太常见了:有个项目一开始是开源的,后来找到了一个理由让自己不必再开源。所以我觉得要小心区分一件事:“谁启动了一个开源项目”和“谁能让一个开源项目持续保持开源”,这是两件完全不同的事。
我认为你会看到大量 AI 代码开源,其实有一个跟“想不想开源”完全无关的原因——如果你是开源项目,你能拿到免费的基础设施。开源项目用 GitHub Actions 和闭源项目用,成本差很多钱,而且别人克隆你代码的成本又极低。所以如果你想白嫖基础设施,你就把它做成开源,这就是当下的现状。微软愿意继续这么干多久,那是另一个问题。但显然现在开源有巨大的金钱优势。它既是营销,又能白拿基础设施。
我只是担心长期来看这会毁掉开源,至少会对开源的运作方式产生负面影响。因为现在很多开源软件的人,根本不懂许可证、不懂做一个开源项目意味着什么、不懂怎么让一个开源项目在财务上跑通。对他们来说,开源主要就是一个营销渠道。作为一个在开源里做了很久的人,这让我有点难过。不过也许这只是个暂时现象,最终会以某种方式自行消解。
David:如果复制软件的成本越来越低,那随着 Agent 越来越强、模型越来越好,人们不就能复制更多东西吗?我不是在论证每个人都会去复刻自己的 Slack 或 CRM,我是在论证:当 Agent 写了越来越多的代码,构建任何东西都变得更容易时,你觉得其中会有更多被开源发布吗?哪怕只是出于营销原因。
Armin: 我真的不知道,我甚至不知道该怎么去知道这件事,因为我连过去闭源和开源代码的比例是多少都不清楚,更别说现在了。但有一件事很清楚:如果你想让 Agent 帮你构建某个东西,那它开源是有天然优势的,因为除非它们改了什么,否则你的代码最终会进入训练数据,这其实是个相当重要的因素。
我甚至和微软内部的人聊过,他们在评估模型处理外部代码的质量,和处理“写一个 Xbox 游戏”的质量之间的差异。因为主机代码几乎从来没有被公开分享过,实际上基本是被禁止公开的。而且据我所知,微软内部也有人反对把 Xbox 的代码开放给模型训练,因为他们害怕。我不知道最后结果如何,但这背后隐含着一个好处:如果你想让别人用 Agent 在你的东西上构建,那你的东西至少部分开源是很有益的,因为它会进入训练数据。
但再说一次,这个领域变化太快了,谁知道两三年后会发生什么。而且这其实也无所谓,没有人的选择会被彻底改变,他们该干嘛还是干嘛。我希望人们能继续维护真正优秀的开源软件,这是我期望的。但我不认为现在起步的很多项目,是出于正确的理由在做开源。也许一直如此,只是现在格外明显罢了。
David:那要怎么判断呢?是看原始技术能力吗?还是看思路?你会怎么区分一个平庸的开源项目和一个伟大的开源项目?
Armin: 这个项目 10 年或 15 年后还会在吗?而且仍然开源吗?如果是,那它就是个好的开源项目。如果不是,那它就不是。
一个糟糕的开源项目,就是那种会消失、没有未来、转向闭源、被弃养的项目,或者它根本没有用户。但如果它最终被证明对社会有用,持续有人维护,人们在它上面构建东西,那它就是个伟大的开源项目。所以这纯粹是一个只能靠事后复盘来判断的事情,不是我们现在就能下结论的。
不知道你有没有下载过 PHP 1.0 或者 PHP 2.0?你可以去 museum.php.net,下载那些老的 tarball,那玩意儿太可怕了。我记得我很早开始写 PHP 的时候,后来出了 PHP 3,那时候 PHP 已经算是好版本了。当时有太多人在说,PHP 是垃圾,你看这家伙根本不知道怎么设计编程语言。但你看现在的 PHP,它其实是一门非常好的编程语言,所有参与过它的人学到了海量的东西,你可以用它写出生产效率极高的代码。Laravel 就是一个很棒的生态。所以如果你在 PHP 开源的第一年,根据 Rasmus 刚开始做出来的样子去评判它,你对这门语言的评价会糟糕透顶。但今天你回头看,可以说这确实是一个伟大的开源项目,因为首先它还在,它还在演进,还有人在支持它。我们真的只能从事后去评判它。
David: 基本上成功的一半就是坚持下去,然后随着时间不断改进,这就是你赢得别人信任、让他们在你之上构建东西的方式。
Armin:Pi 如果在几年后仍然有意义,它就会是一个伟大的开源项目。如果它最终不再被需要了,那它只是时间长河里一个有趣的瞬间,但它不是一个伟大的开源项目。
David:让我们更深入地聊聊训练数据这件事。当你启动一个新项目时,模型会推着你选择某个技术栈、某个部署平台。你会觉得很多东西其实早就已经定型了吗?比如版本控制,就是 git。就像你提到的操作系统,它们在 Linux 上表现很好,因为训练数据里 Linux 的内容比 Windows 或 Mac OS 多得多。你怎么看这对未来的影响?
Armin: 在当前的模型架构下,能进入训练数据是一个巨大的优势。从我观察到的情况来看,那些确实在训练数据里的公司,正在靠这个吃红利。我知道有些在训练数据中代表性不足的团队,正在想办法挤进去。因为如果你是一个 Agent 做某件事时的首选,那价值就太大了。
我记得有家公司,他们发现自己在所有模型里表现都特别好,然后他们在旧金山的一辆公交车上投了广告,大意是“你需要可观测性吗?问问你的 AI 它会用什么”。这是一步狠棋,因为你就是默认选项。所以这显然有巨大的好处,尤其现在人们越来越多地用这些模型替代 Google 搜索。当然,如果模型带网页搜索,那某种程度上也变成了 SEO 问题,因为 Agent 可能会去做一些调查,而不是直接从权重里调取答案,但好处是显而易见的。
不过话说回来,光靠这个并不能完全帮你解决问题。原因之一是,这些 Agent 永远需要解决你代码库里的问题,而你的代码库,永远不会进入权重里,除非你在做开源。所以足够多的工作还是得花在上下文学习上,把这块做好。也许它没那么必要,因为你可以把人引向文档之类的。但总的来说,我认为人们会想尽一切办法以各种形式进入权重,这个趋势没有改变。
David: 最近我意识到,推理会占据越来越大的开支比例。首先看我自己,我并没有花更多钱在那些随便 vibe coding 出来的 AI SaaS 上,但我每个月花在 AI 推理上的钱越来越多,而且我看不到这个趋势会停。过去人们要付钱给咨询顾问、付钱给研究员,现在他们只要写两个 prompt,让 deep research 跑一圈,让最喜欢的 Agent 把问题回答了,那笔钱就从咨询顾问那里转移到了推理上。假设模型继续进步、Harness 越来越好,你觉得推理会不会吃掉越来越多的软件市场?
Armin: 我觉得这取决于 token 的成本会是多少。按理说 token 成本会降,今天确实在降,但与此同时,解决任务的实际成本似乎还在上升。至少从我个人的观察来看,我的会话没有变得更便宜。我在做的事情上的总体支出,这么说吧,没有下降趋势。而且如果我要按 API 价格而不是订阅价格付费,我觉得我根本不会怎么用 AI。我会觉得把那么多投资人资本烧在 AI 上很奇怪。也许我不该这么想,因为那正是他们想要的,但我个人会觉得,公司里有这么一笔昂贵的推理开支很奇怪。
所以这纯粹是一个“它到底有多贵”的问题。因为如果拿人来对比,人既值得信任、又更可靠,而且他们自己还能用 AI 来增强能力,那也许留着一批人反而比我把公司里的人全砍掉、纯用 AI 更划算,尤其是在我们目前这个价格水平上。
这还很大程度上取决于社会想要什么。在编程之外,AI 是个喜忧参半的东西。人们在用,但用法跟用智能手机、TikTok、YouTube 差不多。很多人会说“对,我在用,但我还是讨厌做它的公司,讨厌它耗那么多能源,讨厌我的电费在涨”。他们可能觉得这东西有点用,但并不真的喜欢这项技术。而他们有多喜欢这项技术,会极大地影响公司会怎么做、社会会怎么做。
David: 第一,如果你真的去优化,你的 token 支出是可以降下来的。比如你预算很紧,把各种开源的 coding 订阅叠起来用,每个月你都能用更好的开源模型完成更多任务,成本还更低。所以我觉得,一部分原因只是你可能没那么在意去优化它。第二,某些场景下你还是想跟人打交道,而如果那个人在用 AI,比如一个会计或者税务顾问,这个“AI 增强”的会计能服务更多客户,那他就能对每个客户收更低的价,同时接 10 倍的客户,把不用 AI 的竞争对手挤掉。所以成本还是在往推理上转移:他会赚更多钱,但利润率更低,因为他用 AI 来完成工作。
Armin: 我觉得有个更普遍的担忧,按比例来说,相对于欧洲 GDP,会有越来越多的钱流向美国公司。曾经你找不到任何用 AI 的设计师,你可以直接去 ChatGPT 给自己做张图。后来有了一定比例的设计师愿意配合你用 AI。再后来,至少在特定圈子里,这变成了一个非常负面的信号,你反而要付溢价,请那个人不要用 AI。广告行业就是这样,广告代表你的产品,现在有人付溢价,就为了让自己的广告里不出现任何 AI,或者至少不出现明显的 AI,因为他们的客户对此反应很负面。
而且我觉得有一种可能:如果越来越多的律师用 AI,结果有些案子输了,因为研究做得不好,或者编造了东西,那就会形成新的平衡。在高端市场,他们可能还是会用 AI,但你付的钱不是因为他们接了更多案子,而是因为他们更会赢案子,因为他们找到了好的用法。但我不认为可以简单地说,给全世界每个医生都用上 AI,他们就能看 10 倍的病人,医疗质量就会提高。
David: 我没提质量,我只提了推理支出,质量完全是另一个话题,我指的是软件支出中流向纯推理的比例。
Armin: 最可能发生的是,我们现在花在 token 上的钱,只是我们一年、两年、三年、四年后要花的钱的一小部分,至少作为整个社会而言。但是,如果我们假设的价值没有真正兑现,token 还会那么贵吗?我觉得我们建了太多数据中心,与它们的成本、与公司实际能收的费用不成比例,这并非完全不可能。竞争很激烈,所以也许价格就是得降下来,就像电价在有足够供给时应该降下来一样。至少太阳能越来越便宜了,也许 token 最终也会变便宜。
我希望的落点是,社会能以某种方式围绕它重新平衡,而不是像社交媒体那样收场。我怀疑至少在欧洲,大多数人现在讨厌它,但还是在用它,社交媒体就是这样。你去做个民调,人们对它极其沮丧,同时又觉得这几乎像烟瘾一样。我会很讨厌我们把 AI 建成类似的样子,所有人都在用,同时所有人都在恨它。那会是个不幸的结局。
David:你来自奥地利,我来自捷克。我们是不是正在落后?我们怎么拯救这块大陆?
Armin: 我们确实在落后,而且我知道一堆我们没有在拯救它的方式。现在明确在发生的是,足够多的有动力的人正在离开,去别的地方。
我认为欧洲的一个根本问题是,欧洲现在所处的阶段,全是关于保存过去,而不是关于赋能未来,这方面的例子很多。但欧洲也有一些别的国家还没搞明白的东西,如果那些国家发展到那个位置,它们也得面对。比如中国不断壮大的中产阶级,对生活方式的要求会和过去不一样。
欧洲是一个人们想要很多权利、事情被更平均地摆平的社会,这也让开始新事情变得更难,因为你得撞上所有已经存在的监管。这不是政治家的问题,这是社会想要什么的问题,而社会就是想要那样。社会不像某些国家那样想要数据中心,社会对大型科技公司没有多少好感,甚至庆幸它们不在这里。所以考虑到欧洲社会大体是怎么运作的,我觉得这是个挺棘手的情况。
最大的问题是,欧洲上有欧盟,欧盟不是一个国家。美国、中国、印度、俄罗斯某种程度上都是挺大的单一市场,而欧盟是 27 个国家,一直在互相内斗,然后英国还彻底离开了。这甚至不是语言问题。问题是:每个欧盟国家是否给其他欧盟后公民完整的劳工权利?答案仍然是:所有国家都在尽可能制造摩擦,好让本地人口比其他人占便宜。我们有 27 支军队,27 套法律体系,27 套劳工法规。
David: 开一家新公司,你得在每个国家注册 VAT,太糟糕了。
Armin: 事情就是这么多,因为我们还没能真正跨过这个观念。跟我长大的时候比,我觉得方向是对的。我记得奥地利人对每一个非德语邻国都极度挑剔,我觉得那已经变了。现在如果有对别的欧洲人的猜疑,那基本是在欧盟边界上。猜疑少了,但还是很多,我认为这从内在拖住了欧洲。
而且我不认为欧洲政治家能解决这个。这只是一个社会如何走到那一步的问题。然后社会将不得不开始反过来推一些在欧盟层面发生的事情。那些事情发生,不是因为欧洲官僚是白痴,而是因为国家本身就是这样,这些妥协是 27 个不同国家必须达成一致才产生的。
访谈视频原链接:
https://www.youtube.com/watch?v=SxuQs9GGYbk
声明:本文为 InfoQ 编译,不代表平台观点,也不构成投资建议,未经许可禁止转载。







