如果你想拥有自己的 Agent,为什么值得从 rpi 开始
如果你只是想找一个好用的 coding agent直接安装一个现成产品通常是最省事的选择。但如果你要把 Agent 放进自己的产品、服务或开发工具里问题就变了你需要的可能不是一个只能通过命令行使用的工具而是一套自己能够拥有和控制的 Agent runtime。这正是 rpi 的定位。rpi 不是一个更大的 CLIrpi 的目标不是把所有功能都塞进一个终端程序而是把 Agent 的核心运行时拆出来rpi-ai 消息、流式响应和 Provider 抽象↓rpi-agent Agent loop、工具、事件、取消和队列↓rpi-tools read / write / edit / bash 等工具↓rpi-harness session、JSONL 持久化、压缩和崩溃恢复↓rpi-cli TUI、一次性命令、JSON 模式和插件加载这不是简单的目录划分。它决定了你能不能在不启动完整 CLI 的情况下把 Agent 嵌入自己的程序能不能用一个假的 Provider 跑完测试能不能替换执行环境而不是让 Agent 直接依赖真实机器。所以 rpi 的核心卖点不是“比其他 Agent 多几个功能”而是你可以把 Agent 当成自己的基础设施。一次工具调用为什么需要这么多层假设用户让 Agent 修改一个配置文件。模型不会直接修改磁盘它先返回一次工具调用读取文件、判断内容、生成编辑然后等待工具结果。在 rpi 里这条链路大致经过几个职责明确的层rpi-ai 负责把 Provider 的响应转换成统一的消息和流式事件。rpi-agent 负责判断下一步是否是工具调用并驱动 Agent loop。rpi-tools 根据工具 schema 执行 read、edit 或 bash。执行结果作为下一轮消息返回给 Agent。rpi-harness 负责把 session 状态和运行进度写入持久化记录。rpi-tui 或调用方决定如何显示事件。模型提出“请编辑这个文件”不等于程序已经编辑了这个文件。真正执行动作的是工具层真正决定这次运行能否恢复的是 harness真正决定输出长什么样的是 TUI 或宿主程序。这套分工的价值在于换一个界面不会重写 Agent loop换一个执行环境也不会重写 Provider。你可以把同一个 Agent 放在终端、服务端、测试程序或自己的桌面工具里运行。第一项优势启动快内存小Agent 工具经常被当成一次性命令但实际使用中等待启动、加载依赖和占用常驻内存都会不断累积。rpi 选择 Rust 原生实现并把 CLI 做成 runtime 之上的轻量入口带来的直接结果是安装包小、启动路径短、运行时开销低。项目 README 中的 release benchmark 来自 Windows 11、x86_64 和 rustc 1.97.1 环境指标 rpi 测试值rpi --version 中位数 17.5 ms冷启动 17.7 msAgent ready 后 RSS 12.0 MiBrelease 二进制 21.8 MiB这里的冷启动定义为“启动进程并让 Agent 回答第一条命令”不包含模型请求耗时。rpi --version 和冷启动几乎相同说明初始化本身没有成为明显的启动负担。这对三类场景尤其有价值本地 CLI输入命令后很快看到响应不必为一次小任务等待完整运行时加载。后台任务Agent 常驻时占用更少内存可以把资源留给代码仓库、编译器和模型客户端。多 session每个 session 的基础开销更小更适合并行运行审查、测试和修改任务。需要注意的是这些是项目在特定机器和 release 配置下的公开 benchmark不是所有操作系统和工作负载的保证。它们也没有测量模型延迟、工具循环吞吐或长时间 TUI 渲染成本。完整测试方法和原始数据见https://github.com/bigfish1913/pi-rust/blob/main/docs/performance/benchmark-vs-pi.md。第二项优势安装路径短上手不绕rpi 的上手不要求先搭建 Node、Python 或一整套运行环境。最直接的方式是安装一个预编译二进制curl -fsSL https://raw.githubusercontent.com/bigfish1913/pi-rust/main/scripts/install.sh | sh如果本机已经有 Rust也可以直接从 crates.io 安装cargo install rpi-clirpi --version安装完成后最小使用路径只有几步export ANTHROPIC_API_KEY…rpi或者直接执行一次任务rpi -p “summarize the README”需要脚本消费事件时再切换到 JSON 模式rpi --mode json -p “list the crates”这种设计让“先用起来”和“深入定制”是两条渐进路径普通用户从一个二进制和一个命令开始需要嵌入的开发者再使用 rpi-agent、rpi-ai 和 rpi-tools需要扩展能力的团队再引入插件 SDK。你不必一开始就理解所有 crate也不必先搭建完整开发环境。第三项优势它首先是一套库许多 coding agent 的入口是 CLI。它们当然也有内部模块但外部使用方式通常仍是启动一个进程再通过标准输入输出与它交互。rpi 把入口反过来了CLI 是 runtime 之上的一个产品表面。项目 README 给出了三种使用方式需求 使用方式直接使用终端 coding agent 安装 rpi-cli在自己的程序里运行 Agent 使用 rpi-agent、rpi-ai 和 rpi-tools给所有 session 增加工具或 Provider 使用 rpi-plugin-sdk这会影响很多工程决策。比如你要做一个内部代码审查服务不必启动一个 TUI要给现有编辑器增加 Agent 能力不必解析 CLI 的输出文本要在测试中验证工具调用也不必真的连接线上模型。let provider FauxProvider::new(FauxScript::new().with_text(“Hello from the faux provider!”));let agent AgentBuilder::new().model(provider.default_model().clone()).system_prompt(“You are a helpful assistant.”).stream_fn(make_stream_fn(provider)).build()?;agent.prompt(“hi”).await?;这段代码的重点不是 API 长什么样而是它可以在一个普通 Rust 进程里完成一次 Agent 运行。Agent 不需要通过 shell 启动另一个程序宿主也不需要从终端输出中猜测发生了什么。第四项优势插件边界是可以单独审查的rpi 没有把插件设计成“把内部 Rust 类型公开出去”。rpi-plugin-sdk 是一个独立的 leaf crate不依赖其他 rpi-* crate使用 #[repr©] 的 ABI 数据结构、版本协商和边界上的错误处理。这意味着插件和宿主之间交换的是明确的契约而不是宿主内部某个不断变化的 Rust 模块。宿主 rpi→ 加载 cdylib 插件→ 协商 ABI 版本→ 通过 C ABI 注册工具→ 在边界内传递 JSON 和结果插件 SDK 的价值不在于“今天能不能再加一个工具”。真正的价值是第三方扩展不必了解 Agent loop 的内部实现也不必和整个 workspace 绑定在一起。rpi-extensions 再负责 host 侧的插件加载和异步工具桥接。这样插件协议和宿主实现之间有一层可以独立讨论、测试和审查的边界。这让 rpi 的扩展不会全部堆进核心二进制也让工具和 Provider 能够按项目需要逐步加入。rpi 的边界与下一步介绍 rpi 的优势不等于假装它已经解决了所有 Agent 产品问题。当前 rpi 仍有继续发展的方向Provider 和 OAuth 集成还可以继续扩展多 Agent 协作和 worker 调度仍有发展空间语义记忆、历史 session 搜索和自动记忆整理还可以独立增强TUI 还可以继续完善 session 管理、任务面板和信息展示Browser、Side panel、Mermaid 和 PDF 等能力可以按实际场景逐步加入这些并不是 rpi 作为 runtime 的缺陷。恰恰相反把这些能力放在 runtime 之外逐步扩展能避免核心 Agent loop 被某一种 UI、Provider 或记忆实现绑死。rpi 的优先级应该是先保证核心运行时的边界、可测试性和恢复语义再把产品能力作为可替换的上层逐步补齐。谁应该选择 rpi如果你的目标是下面这些事情rpi 值得作为起点给自己的 Rust 服务嵌入 Agent构建内部代码助手而不是把 Agent 当成黑盒命令需要低启动延迟和低常驻内存的本地工具希望用一个二进制快速安装并开始使用需要控制工具执行环境和权限边界计划让多个团队通过插件扩展工具和 Provider希望 CLI、后台服务和 SDK 使用同一套 Agent 实现rpi 当前最适合两类使用方式一类是直接使用它提供的终端 CLI另一类是把核心 crate 嵌入自己的程序。无论选择哪一种底层都是同一套 Agent loop、工具协议和 session 能力。如果你不想把 Agent 当成一个必须通过命令行驱动的黑盒而是希望知道它如何运行、如何恢复、如何执行工具、如何被扩展那么 rpi 的价值就很明确它不承诺替你做完所有产品决策而是给你一套能够真正接管这些决策的运行时。项目源码与文档代码仓库https://github.com/bigfish1913/pi-rust项目文档https://rpi.laofu.online/docs.html原文链接https://blog.laofu.online/blog/20261012-rpi-runtime/

相关新闻

2026年免费AIGC检测工具实测:每天两次免费查AI率,20万字一次测完!

2026年免费AIGC检测工具实测:每天两次免费查AI率,20万字一次测完!

2026年免费AIGC检测工具实测:每天两次免费查AI率,20万字一次测完! 2026年做论文,AIGC检测几乎成了必经的一关。市面上免费的检测工具有一些,但能整篇测、报告又详细的不多。 我实测了今年的一款免费AIGC检测工具Pape…

2026/10/14 3:35:37 阅读更多 →
逻辑严谨吗?8款AI论文软件势力榜,毕业无忧秘籍!

逻辑严谨吗?8款AI论文软件势力榜,毕业无忧秘籍!

写论文时是否总感觉思路混乱,无从下手?文献资料太多,却理不出逻辑脉络?查重反复修改,格式调整又耗时费力? 别担心!AI论文写作工具正成为高校学子的得力助手。本文将围绕学术规范性、文献整合能力…

2026/10/14 3:35:37 阅读更多 →
文章封面批量生成:一条命令产出 1200×675 专属封面(PIL 实战)

文章封面批量生成:一条命令产出 1200×675 专属封面(PIL 实战)

文章封面批量生成:一条命令产出 1200675 专属封面(PIL 实战) 写技术博客的人大多经历过这一刻:文章发了,列表页却挂着一张灰蒙蒙的默认图。点率差一截,还以为是自己标题起得不好。 这篇文章做一件事&#x…

2026/10/14 3:35:37 阅读更多 →

最新新闻

考研数据结构复试高频考点、手写代码与面试应对策略

考研数据结构复试高频考点、手写代码与面试应对策略

初试成绩出来之后,很多同学会陷入一种“不知道该干什么”的状态。刷题吧,好像复试不考这么细;看论文吧,又不知道从哪看起;真要准备机试,又发现手生的厉害。我自己当年备考“考研数据结构复试题目整理”的时…

2026/10/14 4:25:51 阅读更多 →
考虑主从配电网分布式优化的ADMM算法Matlab实现与串并行对比

考虑主从配电网分布式优化的ADMM算法Matlab实现与串并行对比

最近在推进一个关于主从配电网分布式优化控制的课题时,核心目标是用交替方向乘子法(ADMM)把主网和多个配电子网之间的协同优化拆开做,整个算法在Matlab里落地,并对比了串行和并行两种执行机制下的收敛行为。从模型搭建…

2026/10/14 4:25:51 阅读更多 →
2026 AI 论文工具排行榜|按「国内毕业论文适配度」打分,适合盲审抽检环境

2026 AI 论文工具排行榜|按「国内毕业论文适配度」打分,适合盲审抽检环境

前言 很多海外 AI 工具在国外学术写作里表现亮眼,但拿到国内本科、硕士毕业论文场景,就会水土不服。国内高校论文有一套独立规则:GB/T7714 参考文献格式、固定 Word 排版规范、AI 痕迹检测、参考文献溯源抽查、逻辑盲审。 本次排行榜不再看通…

2026/10/14 4:25:51 阅读更多 →
一次GC频繁问题排查:从JFR到代码优化的完整实践

一次GC频繁问题排查:从JFR到代码优化的完整实践

大概一个多月前,我接到一条让我头疼不已的告警:某个订单查询接口的 P99 延迟从平时的 80ms 一路飙到 800ms 以上,CPU 使用率每隔几分钟就像过山车一样冲到接近 100%。一开始我照例查了流量、数据库慢查询、第三方依赖,全都没有异常…

2026/10/14 4:25:51 阅读更多 →
pdf.js在线查看PDF工具:渲染原理、避坑指南与性能优化实践

pdf.js在线查看PDF工具:渲染原理、避坑指南与性能优化实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 4:25:51 阅读更多 →
Dropout 正则化原理与实战:从过拟合到泛化能力提升

Dropout 正则化原理与实战:从过拟合到泛化能力提升

1. 为什么一个"随手关掉神经元"的操作能成为深度学习的基石第一次在代码里写下nn.Dropout(p0.5)的时候,我其实没太当回事——不就是训练时随机扔掉一半神经元嘛,听起来像个正则化的小把戏。直到有一次复现一篇图像分类论文,模型在训…

2026/10/14 4:24:51 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →