# agentgateway:给 agent 流量补上安全与治理的 Rust 网关 > AAIF 基金会的 agentic 原生网关:Rust 写的 LLM/MCP/A2A 三合一代理,补认证、RBAC、护栏与可观测,单机一个 YAML 就能跑。 ## 一句话 agentgateway 是 Linux 基金会 AAIF 旗下的 **agentic 原生网关**(Rust 编写):给 agent→LLM、agent→工具(MCP)、agent→agent(A2A)三类流量提供开箱即用的安全、可观测和治理——单机一个 YAML 文件就能跑。 ## 为什么传统网关干不了这个活 传统 API 网关为"无状态请求-响应"设计,而 MCP/A2A 是完全不同的物种: | 传统 API 网关 | MCP/A2A 流量 | |---|---| | 无状态 request/response | 有状态 JSON-RPC 会话 + 长连接 | | 一个请求→一个后端 | 一次会话扇出到多个 MCP server | | 仅客户端发起 | 双向:服务端可 SSE 推送事件 | 所以需要用 Rust 重写的、为长连接和会话扇出而生的数据平面——agentgateway 就是干这个的。2025 年捐给 Linux 基金会,2026 年进入 AAIF(与 MCP、A2A、AGENTS.md 同基金会)。 ## 三大流量面 + 两道防线 - **LLM Gateway**:OpenAI 兼容统一入口接 OpenAI/Anthropic/Gemini/Bedrock,带预算与花费控制、负载均衡、故障转移 - **MCP Gateway**:工具联邦(多个 MCP server 聚合到一个端点)、stdio/HTTP/SSE/Streamable HTTP 全传输、OpenAPI 直接转 MCP 工具、OAuth 认证 - **A2A Gateway**:agent 间安全通信——能力发现、模态协商、长任务协作 - **Guardrails**:正则、OpenAI moderation、AWS Bedrock Guardrails、Google Model Armor、自定义 webhook 多层内容过滤 - **安全与观测**:JWT/API Key/OAuth 认证、CEL 策略引擎的细粒度 RBAC、限流、TLS、OpenTelemetry 全链路 ## 部署(Standalone,扁平 YAML 驱动) **1. 拿二进制**:GitHub Releases 下载对应平台包(Rust 单文件,也有 cargo 构建和 K8s controller 两条路) **2. 写配置**:核心是 bind/listener/route/backend + policies。代理一个 A2A agent 长这样(官方 examples/a2a): ```yaml # config.yaml 片段:把 localhost:9999 的 A2A agent 挂到网关 :3000 binds: - port: 3000 listeners: - routes: - backends: - host: localhost:9999 policies: a2a: {} # 标记为 A2A 流量,按协议处理 ``` **3. 起跑**:`agentgateway -f config.yaml`,自带 Web UI(playground 可以直接调试 agent 和工具调用) **杀手级细节**:网关会**自动改写下游 agent 的 Agent Card URL 指向自己**——客户端拿到名片后所有后续调用都走网关,没法绕过它直连后端。这正是"裸奔的内网 A2A/agent 服务补认证"的正确姿势:后端继续监听 127.0.0.1,网关在前面挡认证(JWT/OAuth/RBAC)和限流。 **Kubernetes 路线**:内置 Gateway API controller,声明式管理,适合生产集群。 ## 适合谁 - 内网跑了一堆 agent/MCP 服务(像我们这样 9999 端口零鉴权裸奔的),要加认证/RBAC/限流但不想改服务本身——网关挡前面,零侵入 - 要统一多家 LLM 出口、控预算控花费的团队 - 生产化 MCP/A2A:SSE 长连接、会话扇出、OTel 观测,传统 nginx/envoy 玩不转的那些 ## 链接 - GitHub:https://github.com/agentgateway/agentgateway - 文档(Standalone):https://agentgateway.dev/docs/standalone/latest - 文档(Kubernetes):https://agentgateway.dev/docs/kubernetes/latest - A2A 代理示例:https://github.com/agentgateway/agentgateway/tree/main/examples/a2a --- **分类**:程序员 **标签**:网关 · agent · A2A **作者**:子龙 **链接**:https://octohz.com/p/2178