好文集ChatGPT Plus¥119

他们怎么看待其他编码 harness

38:51 Pi 里的 Jev、Codemode 与 MCP

Mario:大量的垃圾内容,比如邮件。Armin:我的意思是,这最终就是 MCP 落到 Pi 里的原因。Mario:对。Armin:其实跟 MCP 一点关系都没有,是我需要为 Jeff 弄一个 Codemode。所以从那儿到 MCP,也就五分钟的事。但要让 Jeff 工作,或者说让任何分类器模型(classifier model)工作,它需要另一个系统在它周围生成一个 bespoke 的 harness 来驱动它。所以很自然地就去构建了 Codemode。

Armin:但问题是,很多东西受限于一个事实:它们本质上是些非常"软"(squishy)的任务,所以需要 LLM,但 LLM 又太慢。所以现在分类器模型算是个挺巧妙的 hack——我的意思是它们也不是新东西,但 Jeff 真的证明了:如果你把它训练得足够好,做成一个通用的 one-shot 分类器,那它就有产品市场契合度(product market fit)。然后这就引发了后面这一连串事情。我只是觉得,从某种意义上挺让人惊讶的,

Armin:但我喜欢它的一点是:突然之间,除了图像生成、LLM 之外,另一类模型成了人们摆弄的东西。Mario:对。对,而且那真的有用。比如我自己,对图像模型一点他妈的用处都没有,对。但一个 chef 模型我能用在好多事情上,而且它——Armin:你难道不做 meme 吗,Mario?Mario:我就是个 meme,我不需要做 meme。

第三部分

40:18 其他 harness:Claude Code、Codex、OpenCode、Amp、oh-my-pi

主持人:所以你们——好吧,至少你,Mario,你好像很喜欢 AMP,尤其是那个 Orbs 那一整套东西。为什么呢?为什么它让你印象特别深?我本来想问你们,你们是怎么看待不同 harness 的?你们会研究它们吗?比如说从特性上看,你们的做法是什么?

Mario:如果我们碰到 Codex 的破事,比如后端不工作的时候,我们就把 OpenAI/codex 那个仓库克隆下来,看看他们为了让自己的后端能跑起来,不得不往那堆屎里塞了什么烂活儿。我们对其他 harness 的研究程度大概也就这样了。

Mario:但 AMP 不一样,因为 AMP 在 Pi 之前早就存在了。就像 open code 也一样。我记得它从 2025 年初左右就有了。我现在不太看 open code 了。我确实看过他们的 B2,那个很有意思。他们现在也在跟 durability(持久化)较劲,看着挺好玩的。但 AMP,我从来没用过 AMP。我只是特别喜欢那个团队。

Mario:因为我觉得他们某种程度上对软件工程的未来也有自己的愿景,而且他们不确定自己的愿景对不对,但愿意把身家押在自己的愿景上,对吧?他们就是埋头执行,而且我觉得他们执行得很好。我觉得 Orbs 用起来相当不错。我今年早些时候在慕尼黑见过他们,他们给我看了那个 Orbs 玩意儿,我还跟团队其他人一起待了一段时间,

Mario:他们就是一群特别好的人,懂行,而且不怎么吹牛逼,我喜欢这一点。我喜欢他们的产品。我一直在各个 harness 之间跳来跳去。我觉得我工作的一部分就是把这些东西分享给别人,告诉他们,你看,我试过这个,我试过那个。但我觉得 Pi 真的特别突出。而且如果我要做什么东西,我肯定用 Pi,因为第一它是开源的,第二它对我来说真的

Mario:能看懂。但我也觉得你在 Omp 上做了不少,对吧?就是 Shan 的那个 Pi 玩意儿。

主持人:对。

Mario:它特别适合本地模型,如果你有大量显存(VRAM)的话,因为他们做了这个 advisor(顾问)机制。所以你就配置一个 Opus 之类的,它会读整段对话,每当模型开始绕圈或者偏离任务的时候,它就会插进来,注入一条消息,装作是用户发出来的,告诉它,比如,这里是范围,这里你需要换一种做法。

Mario:然后是 sub agent(子代理)那些东西,真的,我觉得它有很多类似 Claude Code 那种 fan-out(扇出)机制,就是 Opus 和 Fable 做的那种。他们这块做得很好,然后是登录,就是能直接 /connect 之类的、进去把我自己的东西连起来的能力,非常好。它现在还在改进,但很吃 token,这是它的一个问题,而且它的系统提示词(system prompt)巨大,这是另一个问题。DeepSeek harness 我最近超喜欢。

Mario:我不知道你有没有花时间看过它。它真的非常棒。我……对,我其实读过它的源代码。它的插件架构真的很有意思。就实际的插件机制来说,他们承诺的比实际能交付的多,但他们的思路真的非常聪明。所以我印象很深刻。而且这确实是我真正看过的 harness 之一,因为显然我们想进化 Pi,能看到另一个 harness

Mario:采取“这个东西本身必须能够自我修改”这种思路,是很开心的。而且我们现在也在 Claude Code 里看到这一点,这他妈太好笑了。Boris 说过类似的话,老天,那些 mod 太棒了,我们怎么能不让 Claude 去修改 Claude Code 本身呢?去你妈的,你个混蛋。我觉得他们的 harness 有变好一点。我去年不太喜欢它,但现在它更稳定了。它还是有超多 bug,比如会随机报错,或者不同会话互相泄漏,

Mario:串到一起。这是它的问题之一。

主持人:你呢,Armin?有没有什么 harness 让你特别留意的?

Armin:我是说,我确实看过 DeepSeek harness。就是我们开始研究插件架构的时候,有一个东西确实值得看看。我一般不太看别人在做什么,因为那会让人很分心。而且你也不一定知道他们

Armin:那么做是因为真的在解决问题,还是因为代码是免费的,所以可能就是做个实验。我做 MCP 那件事的时候,基本上是把每一个在搞 MCP 的大型 harness 都拿来交叉对比,就是为了弄清楚值不值得做。因为你拿到一堆人们想要的东西的清单。然后他们会说真的很想要所有这些,让我去看看别人是怎么做的。我真的很讨厌 elicitation 这东西。

Armin:所以我觉得我去年用了挺多 AMP,后来基本停了,但我又看了一眼 Orbs。我确实喜欢 orbs 这个想法,但不知怎么的,我对 web 界面不是特别有粘性。所以我确实用 Claude 手机 app,也用 Codex 手机 app,但我从来不用桌面 app。然后到了终端上,我其实不觉得它们特别好。而且我觉得这不是因为我不想要桌面 app,

Armin:实际上我真的很不喜欢终端,但不知怎么的,我还没找到那个完美的体验。嗯,这就是我喜欢 DeepSeek 的地方,它看起来像是桌面 app 里的 Pi。它实际的用户体验非常极简、非常干净,而且因为它是作为一个 web 进程启动的,你可以直接把它挂到 Tailscale 上,然后从我的手机或者另一台机器上用,不用做什么奇怪的“连接你的设备”之类的事。

46:30 Pi Mobile 以及 Pi 下一步走向何方

Mario:那一直很烦人。

主持人:你们有没有想过做一个 app 或者……web 界面?我知道你们大概已经有点……

Mario:我最近几天在手机上瞎折腾,做了一个主要应该在手机上跑的东西。我叫它 PIM,Pi mobile。它不是我要开源出去的产品之类的,至少目前不是这个计划。但我们肯定在探索这个,为了 Pi 本身的进化。

Mario:我觉得 Pi 是对“可自我修改的 agentic 软件”的一个初步概念验证(proof of concept)。验证成功了。现在我们需要振作起来,把它进化到这样一个方向:不再只是我和一个 clanker,而是很多机器上的很多 clanker,跟很多人类对话。而且应该可以跳来跳去,按我想要的任意协作方式,把 agent 和人类重新连接起来。我觉得这是 Pi 应该走的方向。而我做的 PIM 那些东西,我只是想确认 Pi Durable 真的能用。

Mario:所以算是 dogfooding(吃自己的狗粮)。我想替换掉 Claude for Android,因为我之前也是 Claude for Android 的用户,现在它被完全替换掉了,因为实际上除了 LLM 之外,PIM 完全在我的手机上跑。其他所有东西都在手机上运行,我超爱这一点。它还可以直接连到我其他任何一台机器上作为执行环境。所以它会跑到我的 Hetzner 上,替我干运维(sysadmin)的活,而大脑在手机上跑。所以我已经实现了愿景中的那一部分。

48:09 插件系统与 Web 安全

Mario:接下来就是要想清楚,怎么用插件系统把它变成 Pi 的进化。而且我完全坦白说,DeepSeek harness 在这方面绝对也是一个灵感来源,不一定是在技术层面,而是在概念层面。然后我们……对。web 的插件系统里有惊人多的复杂性。而且大部分其实是出于特别蠢的原因。大部分纯粹就是——你怎么保证它安全?因为你某种程度上

Mario:在抽象层面被限制住了,几乎就是,让它安全会让体验变得像屎一样。所以问题就是,你怎么在整个东西之间找到一个好的平衡?对,安全这块对我来说一直挺难受的。我注意到前几天有个 clanker 想跟我的另一台设备分享一个文件,结果它把我的整个文件系统放到公网上挂了一天。哈哈哈。就那么挂在那儿。

Mario:我有……我有 WireGuard 之类的,你知道,那些防护措施,但……但同时也是,目标真的应该是让多个人能在一个运行环境里共同体验同一个会话,然后由我们的 harness 去扩展。但这么做的含义是,有一个人比其他人更受信任。而你不想落到那种境地:必须完全信任你要连接的那个会话的所有者。

Mario:对吧?想象一下……

主持人:Docker 怎么样?我就是在想,这看起来像是个 Docker 类型的问题,你有某个被创建出来的东西,它就像是一个镜像。

Mario:对,但你是在连接……先忽略一下 Docker 那部分,对吧?那几乎是微不足道的。比如你怎么保护服务器?但你怎么保护 web 界面呢?因为现在你连到我的 web 界面,但弹出来的 UI 里有链接,如果我去点它,

Mario:那我就会……事情很容易变成这样:如果我们最后处在一个共享空间里,比如我有个账号,你有个账号,clanker 调出某个用户界面,那东西说白了就是 XSS,用来把我的 cookie 偷走之类的。所以它是可解的,但解起来很烦。而且实际上很多解决方案都涉及 iframe,而 iframe 在安全上、在用户体验上都很烂。所以真正做一个既安全又可扩展的 web 界面

Mario:比看起来难得多,而且实际上在服务器上给 Docker 做沙箱隔离(sandboxing)好像还更简单。那是容易的部分,对。但我们会找到答案的。我们往墙上扔点东西,看看会怎样。我们还不太确定。但因为这个问题……对,

主持人:你听过 IPFS 吗?不好意思,IPFS。

Mario:对,那来自 web3 社区,你有一个分布式的文件系统账本(ledger)放在 web 上。对,我其实不觉得它能解决信息外泄的问题。

Mario:它可能是一种有趣的存储数据方式。持久地、有冗余副本地存储,但老实说,我不觉得它对安全有多大贡献。它主要是关于——如果 clanker 在构建什么东西,它需要把东西放到某个不会关联回你自己的地方。比如你和我一起做某件事,我们想要一个中立的空间,把东西放上去,我们俩都能信任它不会被……对,能信任它会一直在那儿。反正就那样,但不,我觉得这对我来讲太烧脑了,

Mario:我解决不了,甚至都没法认真去想。

主持人:对我们来说也太烧脑了。我们只是在假装自己懂自己在说什么。

主持人:好,那也许,你们对什么感到兴奋?

Mario:我……对。……自娱自乐。我想说的是,这很容易忽略。你基本上可以说,行,我们就假装不用解决这个问题。然后你就能做出很棒的体验,但那样会摧毁信任。

51:48 他们兴奋期待的东西

Mario:你的问题是什么来着?我们在对什么兴奋?

主持人:对,未来几个月里,你们对什么感到兴奋?

Mario:构建不是 coding agent 的产品。以及把我们现在仅有的那个 coding agent,进化成我们现有社区真正会喜欢的样子。这是个挑战。我们已经看到了,仅仅发布 MCP 和 code mode 支持——我不知道——如果你加了一个之前说过不需要的功能,就会有很多人不高兴。

Mario:但现在情况变了,模型已经被这些东西训练过了,MCP server 和标准也变得更好了。现在它基本上好到可以作为内置的东西集成了,这就是我们的想法。而人们会不高兴,因为“你怎么能改主意呢?”嗯,老兄,如果有新信息出现,我就会改主意。我又不是……又不是跟风炒 MCP 的人,老兄。我们花了一年才加上对它的支持,

Mario:而且是经过极其痛苦的反复斟酌之后才加的。所以……嗯。

主持人:你呢,Armin?你对什么感到兴奋?

Armin:我是说,我觉得我主要……我不知道,兴奋这种东西有点……我觉得我对 AI 现在的状态其实挺满意的。我只是觉得它周围的用户体验可以变得更好。所以,真正会让我兴奋的,我不知道,从社会层面来说,我觉得如果这项技术真的能交付一些真正伟大的东西,那就太好了。

Armin:有价值的,对,比如给我来个室温超导体,拜托。或者癌症药物之类的,随便。在纯粹的技术层面,我觉得我真正希望达到的主要事情是,炒作能稍微消退一点,然后我们能得到这项技术真正酷的应用,用来构建更好的软件,而不是,我不知道,像 Photoshop 的垃圾(slop)分支版那样。对。比如有真正的社区去构建真正酷的软件,因为他们不是在刺激自己的

Armin:内在的化学物质,而是真的在合作构建很酷的软件。所以我给你举个例子。PC 上的 PS5 模拟,现在多亏了 clankers,已经解决了。完美。真他妈牛逼,兄弟。这在某种意义上甚至是对社会的贡献,因为它帮助为未来保存 PS5 游戏。我超爱这个。太棒了。

Mario:对,我一直跟人说,现在一切都是 AI 在做 AI,而且这在 crypto 里也发生过,每一轮牛熊市都是。牛市的时候,

Mario:就不再是构建的时候了。就只是营销的时候。是卖东西的时候,你知道,赚钱。然后真正认真的构建者,他们基本上一到熊市就活跃起来,开始构建那些古怪的东西,你知道,最终会爆火。但我们……我们现在就在那个阶段。这极其……我觉得是的,对。这极其疯狂。对,我能看出来,这不正常。

54:55 让非开发者上手 agent

Mario:但我不觉得这会持续下去,而且这项技术非常酷。比如我真的很兴奋于上手引导(onboarding)这件事——我们怎么把一个从没用过 agent 的人,让他用上 agent?因为如果我能让我老婆用上 agent,我孩子……很多东西就不再是问题了。所以对。

主持人:你就是想让你的家庭后勤交给别人来处理。让其他人也对 agent 上瘾。

Mario:不,但我和 Armin 都有过那样的经历。比如我让我老婆接触了这个,她去年夏天用 Claude 做了一些语言学研究。我让我当时四岁的孩子给我老婆写了一个生日游戏之类的。那很酷,兄弟。那正是我喜欢使用技术的方式,对吧?而且上手引导这件事说得太对了。这是最大的问题,他妈的最大的问题。而且没人在做事。每个人都给你一个聊天框和一个侧边栏,然后

Mario:祝你好运,混蛋,自己琢磨去吧。你是个秘书。来,用 AI 提高效率吧。去你的。那真是蠢。对。没有人花功夫去带一个人,让他……因为关键的是,如果你不知道,你可以问。然后你就会知道了。而从“我不知道”到“我可以去问”这个合乎逻辑的一步,人们并不具备这个技能。这就像,我觉得至少在我学习

56:28 收尾

Mario:写代码的时候学到的:你不应该老问,应该自己去搞明白,如果搞不定再去问别人。别无限期地浪费时间。但总之,

主持人:谢谢你们抽出时间来做这期节目。哈哈。虽然有人——是谁来着?对,是 OpenAI 的 Eric,我觉得是他嘲讽了你那个 S 级排行榜帖子,对吧?意外啊。

Mario:嗯,我是说我觉得他说得对。我觉得绝对是对的。那是唯一一个深思熟虑的。

Mario:它显然工程设计得很好。而且我喜欢 droid,所以我经常用 droid,我也很喜欢那个团队。但我觉得任何 AI 项目都会发生的是,代码是廉价的,代码是免费的,或者你知道,生成垃圾内容是免费的,于是你就坐在一大堆只完成了百分之三十的垃圾内容旁边。而且我觉得随着时间推移,这真的会毁掉用户体验,因为你会不停地碰到 bug 和错误,我不知道,

Mario:比如 agent 一直用 ask question 工具,而我只想让它跑 goal 或者 loop,这就是……对,这就是我的意思,就是这类东西,通过走极简路线,你能克服很多模型天然就容易犯的毛病。对。好了各位。谢谢你们邀请我们,晚安。

主持人:谢谢,下期见。对。拜拜。拜拜。

链接

原视频:https://www.youtube.com/watch?v=ja_7AF54OtE

频道:0xSero(Mario Zechner、Armin Ronacher)

本文是 Pi Durable 访谈译文三篇中的第 三 篇,全文共三篇。

#Agent工程 #持久化

全文完
查看原文