用 Rust 构建可组合的 LLM Agent SDK 和终端编码 Agent

💡 原文中文,约1200字,阅读约需3分钟。
📝

内容提要

rpi 是 Pi agent 的 Rust 原生实现,采用 library-first 理念,将模型 Provider、Agent loop、工具、会话和终端界面拆分为独立 crate,便于嵌入应用。支持 Anthropic、OpenAI 兼容及免密钥 faux provider,内置读写、编辑、bash、grep 等工具,提供会话持久化、上下文压缩、插件扩展等能力。目前处于 0.1.x 阶段,采用 MIT 协议。

🔎

延伸解读

模块化设计带来的灵活性

rpi 将模型 Provider、Agent loop、工具、会话和终端界面拆分为独立 crate,如 rpi-ai、rpi-agent、rpi-tools 等。这种 library-first 设计让开发者能按需选用组件,嵌入自有应用或工作流,而不必绑定完整 CLI。对于需要定制 Agent 行为的场景,这种可组合性降低了集成复杂度,也便于单独测试和替换模块。

多 Provider 支持与免密钥测试

rpi 支持 Anthropic Messages、OpenAI-compatible Chat Completions,并内置无需 API key 的 faux provider。这意味着开发者可以在没有密钥的情况下运行本地示例(如 minimal),快速验证 Agent 逻辑。同时,兼容 OpenAI 接口使得接入现有模型服务更直接,减少了适配成本。

面向编码场景的内置工具集

项目内置 read、write、edit、bash、grep、find、ls 等工具,覆盖了编码 Agent 常见的文件操作与命令执行需求。结合 AgentTool、AgentEvent、hooks 和消息队列,开发者可以构建工具调用循环,并利用 session、JSONL 持久化和上下文压缩管理长对话。这些能力为构建实用的终端编码助手提供了基础。

当前阶段与扩展性考量

rpi 目前处于 0.1.x 阶段,核心 Agent loop、Provider、内置工具、Harness 和 CLI 已可运行,但插件 ABI 和更多 Provider 仍在完善中。项目采用 MIT 协议,并通过 rpi-plugin-sdk 和稳定 ABI 支持扩展工具、Provider、事件和资源发现。对于生产环境,需关注其迭代节奏和接口稳定性。

Q&A

rpi 是什么?它和 Pi agent 有什么关系?

rpi 是 Pi agent 的 Rust 原生实现,延续了 Pi agent 的 library-first 设计理念,目标是提供可组合、可测试的 LLM Agent 工具包。

rpi 支持哪些模型 Provider?

rpi 支持 Anthropic Messages、OpenAI-compatible Chat Completions,以及不需要 API key 的 faux provider。

rpi 内置了哪些 coding-agent 工具?

rpi 内置了 read、write、edit、bash、grep、find、ls 等 coding-agent 工具。

如何安装并使用 rpi 的终端 CLI?

可以通过 cargo install rpi-cli 安装,安装后使用 rpi 命令启动,例如 rpi -p "hello"。

rpi 的核心能力被拆分成了哪些 crate?

核心能力拆分为 rpi-ai、rpi-agent、rpi-tools、rpi-harness、rpi-cli 等 crate。

rpi 目前处于什么开发阶段?采用什么开源协议?

rpi 目前处于 0.1.x 阶段,核心 Agent loop、Provider、内置工具、Harness 和 CLI 已经可以运行,插件 ABI 和更多 Provider 仍在持续完善。项目采用 MIT License。

🏷️

标签

➡️

继续阅读