Skip to content
Artwork for 跨国串门儿计划
跨国串门儿计划 · Sunday · 50 min

#764. Pi Durable:持久运行的 Agent,崩溃后接着干活

📝 本期播客简介 本期我们克隆了:0xSero · Pi Durable: Agents That Survive Crashes — Mario Zechner & Armin Ronacher 原内容更新时间:2026-10-07 Agent 进程崩了,重启之后,能不能不丢工具结果和助手输出,接着刚才的任务继续?Pi Durable 的答案是可以。做出 Pi 的 Mario Zechner 和 Armin Ronacher,拆解了让 Agent 经得住崩溃的运行框架:怎么记录执行意图、处理副作用、保存结果,以及如何在会话里管理不断变化的应用状态。 他们也聊到 AI 编程 Agent 的边界:为什么修 Bug 常常会让代码越写越多,模型做逆向工程和模糊测试时为何表现惊人,却仍然难以设计软件架构;以及怎样让个人 Agent 更安全、更容易上手。 👤 本期嘉宾 Mario Zechner 是 Pi coding agent 的创作者,长期维护开源项目;Armin Ronacher 是 Earendil 的联合创始人,也是 Flask 的创作者。两人正在开发 Pi,既做 Agent 产品,也在构建供他人开发 Agent 的基础设施;这次重点介绍了他们为 Pi 打造的持久运行框架 Pi Durable。 ⏱️ 时间戳 00:21 开源维护与AI能力边界 17:46 Pi Durable 的持久化设计 30:47 Agent产品、框架与安全 45:13 让Agent走向更多人 🌟 精彩内容 💡 Agent 修 Bug,代码却越修越多 Mario 认为小问题可以放心交给 Agent,但涉及设计和架构时,Agent 常常只会在局部打补丁。Armin 补充,Agent 几乎不可能不增加代码就把 Bug 修好。 "它肯定能解决问题,但几乎不可能在不加代码的情况下把问题修好。" 💡 有明确判定标准,Agent 就能大显身手 Mario 描述了 AI 逆向分析 Java 虚拟机内存结构、定位保护漏洞的经历。Armin 则让模型逆向一个国产 CarPlay 适配器,花了约 500 美元后就掌控了设备;两人认为,只要能判断任务做对没有,模型就更容易把它做完。 "如果你有一个能告诉 LLM 它做得对不对的判断依据,那你基本上就赢了。" 💡 模糊测试像给测试加火箭燃料 Armin 把 INI、TOML、CBOR、MessagePack 和 JSON 的示例文件交给模型,让它实现序列化库,再让模型反复做模糊测试、修复问题。模型还可以补出测试生成器没覆盖到的用例。 "这就像给各种测试加上了火箭燃料。" 💡 架构过程没有留下足够的训练数据 两人认为,安全分析和有明确对错标准的任务容易准备训练数据;设计软件架构的过程却很少被记录成可供模型学习的文字。这或许解释了模型能完成复杂任务,却仍让人对架构结果不满意。 "在编程里,给一个东西搭架构的过程,是唯一通常不会以文字形式记录下来、让 LLM 从中学习的部分。" 💡 进程崩溃,Agent 也能接着跑 Pi Durable 把 Agent 调用模型、执行工具等操作拆成任务:先保存执行意图,再执行操作,最后持久化结果。即使进程在中间崩溃,重启后也能根据记录恢复;应用状态则通过带版本的文档保存。 "你想要的是,重启进程后,Agent 能从刚才停下的地方接着运行。" 💡 个人 Agent 的安全,远比看上去麻烦 Mario 讲到,一个 Agent 曾把他的整个文件系统暴露到公网上,持续了大约一天。多人共享会话时,还得防止网页界面里的操作带来跨站脚本攻击;隔离服务器只是其中一部分,安全和易用性很难同时做好。 "真要做一个既能扩展又安全的网页界面,比看起来难得多。" 🌐 播客信息补充 本播客采用原有人声声线进行播客音频制作,也可能会有一些地方听起来怪怪的 使用 AI 进行翻译,因此可能会有一些地方不通顺 在小宇宙查看该单集文稿

0:00-50:33

transcript

No transcript — this publisher did not publish one.

show notes

📝 本期播客简介

本期我们克隆了:0xSero · Pi Durable: Agents That Survive Crashes — Mario Zechner & Armin Ronacher

原内容更新时间:2026-10-07

Agent 进程崩了,重启之后,能不能不丢工具结果和助手输出,接着刚才的任务继续?Pi Durable 的答案是可以。做出 Pi 的 Mario Zechner 和 Armin Ronacher,拆解了让 Agent 经得住崩溃的运行框架:怎么记录执行意图、处理副作用、保存结果,以及如何在会话里管理不断变化的应用状态。

他们也聊到 AI 编程 Agent 的边界:为什么修 Bug 常常会让代码越写越多,模型做逆向工程和模糊测试时为何表现惊人,却仍然难以设计软件架构;以及怎样让个人 Agent 更安全、更容易上手。

👤 本期嘉宾

Mario Zechner 是 Pi coding agent 的创作者,长期维护开源项目;Armin Ronacher 是 Earendil 的联合创始人,也是 Flask 的创作者。两人正在开发 Pi,既做 Agent 产品,也在构建供他人开发 Agent 的基础设施;这次重点介绍了他们为 Pi 打造的持久运行框架 Pi Durable。

⏱️ 时间戳

00:21 开源维护与AI能力边界

17:46 Pi Durable 的持久化设计

30:47 Agent产品、框架与安全

45:13 让Agent走向更多人

🌟 精彩内容

💡 Agent 修 Bug,代码却越修越多

Mario 认为小问题可以放心交给 Agent,但涉及设计和架构时,Agent 常常只会在局部打补丁。Armin 补充,Agent 几乎不可能不增加代码就把 Bug 修好。

"它肯定能解决问题,但几乎不可能在不加代码的情况下把问题修好。"

💡 有明确判定标准,Agent 就能大显身手

Mario 描述了 AI 逆向分析 Java 虚拟机内存结构、定位保护漏洞的经历。Armin 则让模型逆向一个国产 CarPlay 适配器,花了约 500 美元后就掌控了设备;两人认为,只要能判断任务做对没有,模型就更容易把它做完。

"如果你有一个能告诉 LLM 它做得对不对的判断依据,那你基本上就赢了。"

💡 模糊测试像给测试加火箭燃料

Armin 把 INI、TOML、CBOR、MessagePack 和 JSON 的示例文件交给模型,让它实现序列化库,再让模型反复做模糊测试、修复问题。模型还可以补出测试生成器没覆盖到的用例。

"这就像给各种测试加上了火箭燃料。"

💡 架构过程没有留下足够的训练数据

两人认为,安全分析和有明确对错标准的任务容易准备训练数据;设计软件架构的过程却很少被记录成可供模型学习的文字。这或许解释了模型能完成复杂任务,却仍让人对架构结果不满意。

"在编程里,给一个东西搭架构的过程,是唯一通常不会以文字形式记录下来、让 LLM 从中学习的部分。"

💡 进程崩溃,Agent 也能接着跑

Pi Durable 把 Agent 调用模型、执行工具等操作拆成任务:先保存执行意图,再执行操作,最后持久化结果。即使进程在中间崩溃,重启后也能根据记录恢复;应用状态则通过带版本的文档保存。

"你想要的是,重启进程后,Agent 能从刚才停下的地方接着运行。"

💡 个人 Agent 的安全,远比看上去麻烦

Mario 讲到,一个 Agent 曾把他的整个文件系统暴露到公网上,持续了大约一天。多人共享会话时,还得防止网页界面里的操作带来跨站脚本攻击;隔离服务器只是其中一部分,安全和易用性很难同时做好。

"真要做一个既能扩展又安全的网页界面,比看起来难得多。"

🌐 播客信息补充

本播客采用原有人声声线进行播客音频制作,也可能会有一些地方听起来怪怪的

使用 AI 进行翻译,因此可能会有一些地方不通顺


在小宇宙查看该单集文稿
links1