plano
AI Agent 的生产级代理网关:统一编排多Agent路由、安全护栏、可观测性和模型路由,让开发者
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI Agent 的生产级代理网关:统一编排多Agent路由、安全护栏、可观测性和模型路由,让开发者
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
如果你是一个 AI 开发者,你一定经历过这个过程:花了两天时间,用 LangChain 或其他框架搭了一个看起来很酷的多 Agent 演示系统——一个 Agent 查天气,一个 Agent 搜航班,一个 Agent 做推荐。Demo 演示时领导们都很满意。
然后呢?
真正要上线的时候,你发现有一堆"隐形工作"等着你:每个 Agent 之间怎么路由?用户输入被注入恶意指令(jailbreak)怎么办?每个模型提供商的 API 格式都不一样,要不要写适配层?如何追踪一个用户请求跨越了哪些 Agent、调用了哪些模型、花了多少 token?模型服务商涨价了,想换一家,改多少代码?
这些问题,每一个都不简单,每一个都不是你 Agent 核心业务逻辑的一部分,但你不得不解决。
Plano 就是来解决这个问题的。
Plano 的核心思路非常清晰——把 Agent 应用中那些通用的、非业务逻辑的基础设施抽到一个独立的「out-of-process 数据平面」里,让开发者专注在 Agent 的核心产品逻辑上。
打个比方:想象你在开一家餐厅。你最核心的工作是做好菜,但开业之前你还需解决供电、供水、排油烟、消防审批这些事情。这些当然重要,但它们不是"做好菜"本身。Plano 就是那个帮你搞定这些基础设施的物业团队,让你专心做菜。
从技术上看,Plano 基于 Envoy Proxy 构建——这是一个在云原生领域久经考验的代理层基础设施,由 Lyft 开源,如今是 CNCF 毕业项目,支撑着 Netflix、Airbnb、Stripe 等无数大厂的流量。Plano 的作者们曾经在 Envoy 社区的核心贡献者,现在他们把 Envoy 的能力带到了 AI Agent 领域。
传统方式下,你想让一个用户请求到达正确的 Agent,需要自己写意图分类器(intent classifier)、路由逻辑、模型降级策略……代码复杂且难以维护。
Plano 的做法是:你只需要写 YAML 配置文件,描述每个 Agent 能干什么(自然语言描述),Plano 内置的 4B 参数路由模型(Plano-Orchestrator)会自动理解用户意图,把请求路由到正确的 Agent。整个过程不需要写一行路由代码。
一个用户说"我想下周从纽约去巴黎,那边天气怎么样,有哪些航班可选?",Plano 会自动理解这句话需要查天气和搜航班,依次调用两个 Agent,最后合并结果返回给你——这整个过程不需要你写任何编排代码。

图1:Plano 高层网络架构 — Envoy Proxy 作为流量入口,Agent 请求经过路由、过滤、可观测层处理
实际生产环境中,开发者通常不会只用一家模型提供商:GPT-4 做复杂推理、Claude 做创意写作、便宜的模型处理简单请求……但每家 API 格式不同,切换成本很高。
Plano 提供了统一的 LLM 网关层:你的应用只需要调用 Plano 提供的 OpenAI 兼容接口,Plano 会根据你配置的路由策略,把请求发送到对应的模型提供商。切换模型只需要改一行配置,不需要改一行代码。
这是我觉得最有价值的部分之一。Agent 应用最怕什么?Jailbreak 攻击——用户输入恶意指令试图让 Agent 绕过安全限制做不该做的事情。
Plano 提供了 Filter Chain 机制:请求在到达 Agent 之前,会依次经过你配置的过滤器链。每个过滤器都是一个 WASM 插件,你可以自己编写,也可以使用社区已有的插件(比如 OpenAI Moderation API 集成)。
这意味着:安全策略是可插拔的,不是硬编码在业务逻辑里。你可以随时添加新的安全检查,而不需要改 Agent 代码。
多 Agent 系统的调试是个噩梦——一个请求可能跨越 3-4 个 Agent、调用多个模型,到底哪一步慢了?
Plano 的 Signals 系统可以零代码自动捕获:每个 Agent 的调用详情、输入输出、token 消耗、延迟……全部以 OpenTelemetry 格式输出,兼容 Jaeger、Zipkin 等主流可观测性工具。

图2:Plano 自动追踪界面 — 每个 Agent 调用、LLM 请求、token 消耗一目了然
从代码层面看,Plano 是一个相当硬核的技术项目:
planoai 命令行工具,简化部署和运维crates 目录下包含多个 Rust crate:
prompt_gateway:Prompt 管理与网关llm_gateway:多模型 LLM 路由brightstaff:指标收集与上报hermesllm:内部 LLM 集成
图3:Plano 系统架构 — 从左到右依次是入口流量、Envoy 代理层(路由+过滤)、WASM 插件执行环境、LLM 网关
Plano 提供两种使用方式:
方式一:Docker 部署(推荐)
有现成的多阶段 Dockerfile,基于 Envoy 官方镜像构建,内置 Python 运行时环境,理论上 docker build + docker run 即可体验完整功能。没有 docker-compose,但 YAML 配置文件结构清晰,官方 Quickstart 文档足够详细。
方式二:本地编译 需要 Rust 1.93+、Node.js 18+ 环境,适合深度定制和贡献代码的开发者。
硬件要求很低——纯 CPU 运行,不需要 GPU。内存 4GB 起,磁盘 2GB。
1. 路由模型的代价 Plano 的路由决策依赖一个 4B 参数的本地模型(Plano-Orchestrator),虽然官方说"免费托管在 US-central",但这是他们的云服务,不是本地模型。如果你要离线部署,需要自己托管这个模型,会增加复杂度。
2. Envoy 的双刃剑 基于 Envoy 是优势(成熟、稳定),但也是门槛——如果你的团队不熟悉 Envoy 配置,调试问题会有些困难。
3. 相对年轻 截至目前 Stars 约 6551,发布不到两年,生态还在早期。社区插件、集成方案不如一些老牌项目丰富。
随着 Agent 应用从 Demo 走向生产,基础设施层的需求会越来越强烈。Plano 填补了一个真实的空白——Agent 编排、安全过滤、可观测性、模型路由,这四个需求几乎每个 Agent 应用都需要,但每个团队都在重复造轮子。
Plano 的出现代表了 AI 应用基础设施的一个重要趋势:从"用框架"到"用代理层"。把通用能力下沉到网络层,让应用层代码更纯粹、更易维护。这条路子在 Web 开发领域已经被 Nginx/Envoy 证明过,现在轮到 AI 应用了。
如果你是 AI 应用开发者,或者你所在团队正在构建 Agent 系统,Plano 值得认真评估。它不是银弹,但在「从 Demo 到生产」这段最艰难的路上,它能帮你省下大量时间。
分析时间:2026-05-31 | 数据来源:GitHub API + 官方文档 | 附图:Plano 网络架构图、追踪界面、系统架构图