内容提要
文章对比五款编码Agent:rpi为Rust单二进制,启动仅11.1毫秒、发布包14.35MiB,最快最小;claude、codex、opencode、Pi启动17至867毫秒,体积172至385MB,多自带Node/Bun运行时或依赖树。rpi空配置常驻内存12MiB,闲置会话约1MB,得益于无运行时、扩展按需加载、会话写入JSONL,适合容器、CI及多会话场景,作者并给出自行验证方法。
延伸解读
启动差距有限,体积与内存才是关键
文章数据显示,rpi 启动仅比 claude 快 6 毫秒,差距远小于体积和内存的差异。真正拉开数量级的是安装包大小(14 MiB 对 231–385 MB)和内存占用。因此,若仅关注启动速度,rpi 的优势并不显著;但在容器、CI 等对镜像体积和内存敏感的场景中,其轻量特性更具实际意义。
内存数字需区分场景:地板与工作进程
文中 12 MiB 是空配置刚就绪的常驻内存地板,而实际运行中,带扩展、跑过多轮工具调用的活跃会话进程内存可达 33–112 MB,中位约 48 MB。闲置会话因状态写入 JSONL 可被换出,驻留仅 1 MB 级。读者应理解这两个数字对应不同状态,避免误以为所有场景都只占 12 MiB。
轻量化的代价:会话状态落盘与扩展按需加载
rpi 通过无运行时、扩展按需加载、会话状态逐帧写入 JSONL 实现小体积和低闲置内存。但文章也指出“代价写在后面”,暗示这种设计可能带来额外磁盘 I/O 或扩展加载延迟。对于频繁读写会话或依赖大量扩展的用户,需权衡轻量优势与潜在开销。
自行验证时注意测量条件
作者提供了启动和内存的测量脚本,并说明启动测试取 15 次中位数,且 rpi 和 Pi 使用离线开关与空配置目录。读者复现时应注意:claude、codex、opencode 按默认行为运行,可能加载本机插件;rpi 发布包解压后二进制会略大。这些条件差异会影响对比结果,需在相同环境下解读数据。
Q&A
rpi 的启动速度具体是多少?和其他编码 Agent 相比快多少?
rpi 的启动时间(--version 中位数)为 11.1 毫秒,是五款工具中最快的。claude 为 17.2 毫秒,codex 为 33.8 毫秒,Pi 为 151.2 毫秒,opencode 为 867.0 毫秒。最慢的 opencode 比 rpi 慢约 78 倍。
rpi 的安装包体积有多大?为什么能比同类工具小那么多?
rpi 的 Windows 发布包仅 14.35 MiB,而 claude 为 231 MB,codex 为 284.4 MiB,opencode 为 172.2 MiB,Pi 为 384.9 MiB 外加 91.2 MiB 的 Node。rpi 体积小的原因是:它是 Rust 单二进制,不依赖 Node/Bun 运行时,也不预装依赖树,扩展按需加载。
rpi 的内存占用情况如何?空闲会话真的只占 1MB 吗?
是的。官方基准中,rpi 空配置就绪的常驻内存为 12.0 MiB;实际使用中,闲置会话的驻留内存仅 1.12 MB 到 1.67 MB。这是因为会话状态写入 JSONL 文件,进程空闲时内存可被系统换出。活跃会话内存较高,中位约 48.3 MB。
rpi 适合在哪些场景下使用?
rpi 适合容器和 CI 环境(无需安装运行时,镜像小)、需要多开会话的场景(空闲会话内存极低),以及频繁启动的场合(如编辑器调用、脚本循环),每次启动仅 11 毫秒,累积优势明显。
如何自己验证 rpi 的启动速度和内存占用?
安装 rpi 后(可通过 cargo install rpi-cli 或预编译脚本),用 PowerShell 命令测量:启动速度可循环运行 rpi --version 15 次取中位数;内存占用可用 Get-Process 查看 rpi 进程的 WorkingSet64 和 PrivateMemorySize64。
rpi 为什么能实现如此小的体积和低内存?
rpi 采用 Rust 编写,直接编译为机器码,无需 Node 或 Bun 运行时;扩展以独立 cdylib 形式按需加载,不预装依赖树;会话状态逐帧写入 JSONL 文件,进程空闲时内存可被换出,从而大幅降低常驻内存。