正在打开每日关注
正在打开每日关注
Earendil 发布 Pi 1.0 与实验性框架 Pi Durable,以存储加检查点机制构建可恢复、可多人协作的长时 Agent 应用。
Pi 1.0 来了。那么 Pi Durable 是什么呢? 这是一个实验性的 TypeScript 框架,用来构建长时间运行、能从崩溃中恢复的 agent 应用。Pi 1.0 是在终端里交互运行的编程 agent,Pi Durable 则用来搭建各种 agent 应用。 https://t.co/O9uOLY5N3O 核心理念:存储层加上一套运行机制,可以在一个 harness 里同时跑多个 LLM 对话。 它的组成部分: - Storage:支持内存、SQLite、JSONL,不依赖 Node API - Conversation:用户和 agent 的对话记录,可以在任意位置 fork - Task:持久化的工作单元,每一步执行前都会先存 checkpoint - Extension:把 system prompt、工具、hooks 和自定义 task 打成一个包 - Executor:执行环境可替换,可以是 Node、远程 VM 或沙箱 一些技术细节: - 进程挂掉之后,新实例会从 checkpoint 继续跑。中断的工具调用要么安全地重跑,要么告诉模型它被打断了。 - 应用状态存成带类型的 JSON 文档,和对话记录在同一次提交里写入,两者不会出现不一致。 - 工具可以创建自己的子对话(subagent),每个子对话都单独持久化。 - 远程客户端可以订阅每次提交的操作流,所以支持多人协作、中途加入,也能在 agent 运行过程中插入新指令。 - 上下文快满时会在后台自动做 compaction,也可以用 handoff 换一个新的上下文,旧消息仍然可以搜索。 安装: npm install @earendil-works/pi-durable 官方提供了两个示例: - 约 1300 行的旅行规划应用 - 一个实验性的编程 agent 开发者朋友们,目前 API 可能还会变喔。
People of Pi: We've shipped Pi 1.0 with Pi Durable. Go make them yours. https://t.co/oUPfVfvAZl
是什么:Earendil 随 Pi 1.0 同步发布实验性 TypeScript 框架 Pi Durable。Pi 1.0 是终端交互式编程 Agent;Pi Durable 则是构建任意长时运行 Agent 应用的持久化 Harness,二者共享「极简、可塑」原则但不互相替代。
核心设计:Harness 被定义为「存储层 + 并行运行多个 LLM 对话的机制」。Storage 提供内存、SQLite、JSONL 三种后端,不依赖 Node API,可适配到 Bun 或 Cloudflare Durable Object;Conversation 支持在任意位置 fork 且不复制父历史;Task 是持久化工作单元,每步执行前先写 checkpoint,进程挂掉后新实例从断点续跑,中断的模型请求重发、工具调用按安全性决定重跑或告知模型;Executor 可替换为 Node、远程 VM 或沙箱。应用状态以带类型 JSON 文档与对话记录同事务提交,保证一致性;requestId 实现恰好一次提交;上下文将满时后台自动 compaction,也可 handoff 换新上下文;远程客户端可订阅操作流,实现多人协作与运行中插话。子代理无内置,但几行代码即可构建且独立持久化。
关键洞察:全源码约 1.5 万行、刻意保持可被 Agent 自己读懂,延续「让 AI 理解自身运行环境」的思路;官方附旅行规划与编程 Agent 两个示例。
边界与风险:定位实验性,API 仍可能变动,生产采用需谨慎评估。