什么是耐用智能体?Pi Durable 为什么让它变简单?
斯科特·托林斯基给「耐用智能体」下了三条定义——熬得过崩溃、可恢复、绝不重复副作用——并展示 Pi Durable 如何兑现:持久化每一步、声明哪些工具可重跑,任何客户端都能掌舵同一个在飞智能体。演示里,Sentry 报错被自动收敛成已合并的修复。
什么是耐用智能体?Pi Durable 为什么让它变简单?
一个「耐用」的智能体熬得过自己的崩溃:它持续工作、从确切的那一步恢复、绝不重复副作用——用斯科特·托林斯基的话说,发过邮件又重启流程的智能体会再发一封。他的节目开场就是一组蒙太奇:睡觉时帮你修软件的智能体、从浏览器到相框哪儿都能跑的智能体。Pi Durable,Pi 智能体 harness 背后团队出的一个库,把这种耐用性做成了基础设施:换用它之后,斯科特删掉了自己那套脆弱管线的大约 8000 行代码。他给所有做智能体的人的建议很直白:把它们做成耐用的。
耐用性要求从哪来
为什么是现在?智能体跑得越来越久、越来越常对世界下手(提 PR、做调研、甚至把银行信息发进 Slack),而且越来越多地由 webhook、cron、自动化自行启动。斯科特的合格线是三条:持续工作、可恢复、精确知道自己停在哪一步。他反复回到的翻车场景就是重复执行——双份邮件、双份 pull request。恢复聊天记录达不到这条线,因为执行状态包含每一次已做与待做的工具调用、等待中的批准、部署到底跑没跑;workflow 引擎也不行——它提前锁死下一步,而不是让智能体自己决定。
这个库到底做了什么
Pi 本身就是 OpenClaw 背后那个可扩展的 agent harness,许多开发者的编码环境(包括斯科特的)都建在上面。Pi Durable 边跑边持久化一切——说过的话、工具调用、正在等待什么——崩溃之后,新进程打开存储接着干。每个工具声明自己重跑是否安全:搜索可以,发邮件不行。好处会滚雪球:你做的每一块屏都只是同一个在飞智能体的客户端——手机、终端、浏览器都一样——转向、多人协作、分叉、子智能体几乎白送。而且凡 JavaScript 能跑的地方它都能跑:完整跑在浏览器的 IndexedDB 里、跑在 Mac mini 的 Node 上、跑进 durable object 或 Deno 的本地同类方案——斯科特自己的部署就是纯 Node 加 SQLite——模型想接谁接谁,本地模型也行。
从报错到合并的自愈闭环
演示把「错误到已合并修复」整条链路走通了。一个 bug 进到 Sentry,webhook 穿过 Cloudflare tunnel 打到他的管线,先做分诊;根因分析则来自 Sentry 的 Seer 智能体。他中途停掉智能体展示持久化的状态,再恢复,它便修复、测试、开出 pull request——个人软件甚至可以自动合并。一两分钟后,这轮运行把 issue 在他的系统和 Sentry 里双双标记为已解决,留下完整的审计轨迹。又因为这是同一轮智能体运行,他可以回到现场、带着完整记录直接质问干活的那个智能体——而不是拉起一个新智能体问「刚才发生了什么」。
不止他一个人在这么干
斯科特的整套个人系统——文档、聊天、待办——都跑在自己机器上的 Pi Durable 智能体之上,比他亲手搭的任何东西 bug 都少。生态正在收敛:OpenCode 2 已能作为库跑在服务器和 durable object 里、从任意客户端连接;Cloudflare 的 Agent SDK 把 Pi Durable 嵌进了 durable object;刚被 Cloudflare 收购的 Deno 仍提供本地的 durable-objects 库。而 Pi 的作者做了一个完全跑在手机上的多人协作智能体应用,只有模型调用走网络。
访谈精粹
3 组核心对谈- 问
自启动的智能体跑到一半崩溃了,怎么把工作捡起来而不重复执行?
Scott Tolinski 提问01:57答Scott Tolinski 回答眼下只能靠人回去查「昨晚有没有炸」。斯科特的合格线:智能体必须「耐用」——持续工作、可恢复、精确知道停在哪一步,因此绝不重复执行。翻车方式就是重复:发完邮件重跑流程,就是两封邮件、两个 PR。这正是 durable agent 开始值钱的地方。
- 问
对崩溃的智能体,为什么靠恢复聊天记录还不够?
Scott Tolinski 提问05:20答Scott Tolinski 回答斯科特承认聊天恢复有时够用,写代码尤甚。但智能体状态远不止文本:每一次工具调用、将要发起的调用、待批事项、部署到底跑没跑——全都在存储里。回到一段 Pi Durable 会话,工作从原处接着跑,或在你离开时已跑完。目标就是:它自己就好好的,失败了等条件允许再续。
- 问
用 durable agent 会不会被绑死在 Cloudflare 的基础设施上?
Scott Tolinski 提问07:27答Scott Tolinski 回答不会——凡是 JavaScript 能跑的地方它都能跑。另一位开发者把 Pi Durable 完整跑在浏览器里,存 IndexedDB;斯科特自己的跑在 Mac mini 上,纯 Node 加 SQLite 当数据库。Durable object 和 Deno 家的同类方案也是天然宿主;模型侧同样开放:任何供应商、包括本地模型都能接。他给所有做智能体系统的人的结论是:你不会被锁死在任何一家的做法里。
