
字节笔记本
2026年11月3日 · 约 4 分钟读完
rpi 真正的野心不是更快的 Pi,是可嵌入的 runtime
Pi(Mario Zechner 的 TypeScript 编码 agent)被一个中国开发者用 Rust 重写了一遍,但这件事的看点不在「又快又省」。真正值钱的是一句定位:library-first,让 agent runtime 变成可嵌入的库。项目叫 rpi,仓库 bigfish1913/pi-rust,MIT 协议,8 月 15 日创建,200 星、39 fork,当前 0.16.0,零 Node 依赖,已入选 Best of Agent Harnesses。作者的动机很朴素:在低配服务器上跑 agent 一直撞内存上限,索性把核心 runtime 移植到 Rust。

一、性能账:作者自测的数字
README 的自测(Windows 11 环境):release 二进制 21.8 MiB;冷启动 17.7 毫秒对 Pi 的 189.5 毫秒,10.7 倍;就绪态 RSS 12.0MiB 对 91.5MiB,7.6 倍;安装体积差约 20 倍。作者博客 10 月 26 日的三方对比给的是百分比口径:对 Pi 启动省 96.6%、内存省 85.8%、读取少 59.3%。这笔账在「频繁拉起 agent、低配服务器常驻」的场景下最值钱:每次冷启动省 170 毫秒、常驻省 80MB,批量和常驻场景里会乘起来;桌面交互场景则感知不强。
二、真正的野心:runtime 是库不是程序
结构上,rpi 拆成 10 个 workspace crate,主链从 telemetry 到 ai、agent、tools 再到 harness,另有一个可嵌入的 rpi-runtime。三种用法对应三类人:终端 CLI 给直接用户;嵌入 SDK 让约 100 行代码就能跑起一个最小 agent;远程模式走 headless TCP 加 token 鉴权。插件机制是原生 Rust cdylib,手写了稳定的 #[repr(C)] C ABI,带 panic 隔离和版本协商。会话用树形 JSONL 持久化,崩溃可恢复。一句话:Pi 是一个 CLI,rpi 是一个 runtime 加一个 CLI,前者是产品,后者是积木。
三、冷水:四条都得泼
一,所有性能数据都是作者自测,无独立第三方验证。二,测的是 agent 自身的开销,不是任务质量。真实模型推理、长会话、编码任务正确率都不在范围内,作者博客原文明确写了这句限定。三,生态税是真成本:Pi 现有的扩展和 skills 迁不过来(npm 和 Git bridge 还在 beta),对正在用 Pi 加自定义 skills 路由 15 个免费模型的用户来说,这笔账比内存更重。四,200 星的单人项目,bus factor 风险摆在那里;而且赛道上还有一个「祝福版」竞品 Dicklesworthstone/pi_agent_rust,Mario 点过头的版本,光环和压力都在。

四、判断
「Rust 重写」这个动作本身没什么稀奇,稀奇的是重写时的取舍:作者没有停在「做一个更快的 Pi」,而是把 runtime 做成了库。library-first 的意思是,agent runtime 正在从终端工具变成基础设施:你可以把它嵌进自己的产品、自己的面板、自己的 cron 里。性能数字记得带口径引用,生态税也别忘了算;但如果你的场景恰好是低配服务器常驻加频繁拉起,rpi 是目前把这笔账算得最清楚的一个。
来源:github.com/bigfish1913/pi-rust(第一手,README 全文已读,2026-11-03 直读);作者博客性能对比(10-26);rustcc 转载。



