前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
返回 AI 情报前线
All News · 全部资讯9799
  • SaaS支持文档检索应选语义嵌入而非关键词
  • AI 审核员知道太多会变差:验证者应不知情
  • 长文档JSON提取超时?先做好输入分片而非调大timeout
  • PostgreSQL pgvector混合搜索实战:向量相似度+全文关键词融合
  • 新版Claude不再需要"Think Step by Step":Osmani提示指南解读
  • CodeSmith三区架构:解决prefix drift导致Token重计费问题
  • 像读流水线一样读Transformer Block
  • Cloudflare OS:面向 AI 原生的企业工作台开源
  • AI 编程工具正在泄露凭据:Cursor、Claude Code、Copilot 和 MCP 均有风险
  • prompt-shelf:在 Claude Code 里暂存草稿、临时想法和常用 prompt
  • Agenshive:AI agent 专属 Q&A 平台,用执行验证替代投票
  • 评审容量已成交付新瓶颈:打字快不等于交付快
  • AI Agent 让 CI 成为瓶颈,加速流水线是错误解法
  • 程序员自建家用LLM集群的完整踩坑历程
  • Claude Code Mods 沙箱机制深度解析
  • MCP 协议安全:Agent 工具调用的运行时攻击面
  • Node.js多LLM提供商集成实战:统一输出契约与回退策略
  • Google RRSI 方法:防止自改进 AI Agent 记忆测试任务
  • DeepSeek Harness v0.2支持Claude Code Mods兼容层
  • MCP协议深度解析:AI工具集成标准现状与局限
  • 生产级LLM Gateway四个关键设计决策
  • MCP JSON 配置优化:同步一次节省 98% Discovery Token
  • Agent 静默失败代价 2500-8000 美元:用权威系统交叉验证代替执行日志
  • Agent 静默失败导致数千美元损失:如何用外部核查机制堵漏
  • Grok Build 真实用户体验:宣传与实际的落差
  • 两个面向AI Agent的x402 API:页面质量检测与成本计算
  • AI幻觉报告泛滥,谷歌暂停开源漏洞奖励计划
  • Rust成为微软内部一级语言,与C++/C#并列
  • 生产级Agentic RAG系统实战课程
  • Claude-Mem:让AI编程工具跨会话持久记忆
  • Google Gemini 调整分层策略:免费用户只能用量最小的 Flash-Lite
  • 积分系统设计中没人会纳入预算的工程细节
  • Agenthof:用控制面让 AI Agent 的每次调用都有审计可查
  • Claude Code Mods 发布:Agent 变成可扩展平台
  • ThinkingBox:Benchmark 专门捕获 AI Agent「说完成但没做完」
  • 5 个 JSON Schema 将 AI 编程智能体的输出质量管起来
  • DeepSeek Harness v0.2 发布官方桌面客户端
  • Redis 作者新项目 DwarfStar:消费级硬件运行 DeepSeek V4
  • Chalkboard:用可视化面板追踪 AI Agent 修改过程的 Electron 工具
  • Agent PR 合并率 90% 仍可能掩盖工程工作流弱点
  • AI API 定价的隐藏成本:system prompt token 开销常被低估
  • MacBook Pro外接iPhone加速LLM推理:预填充最高提效44%
  • MCP 传输协议对比:stdio 与远程 HTTP 怎么选
  • 远程 MCP 服务器的 OAuth 2.1 认证完整指南
  • Agent报告完成但数据库未写入:分布式一致性的典型陷阱
  • Kiro Workflows:多 Agent 编排的声明式工作流框架
  • 我用AI当助产士:程序员用LLM记录分析分娩全程
  • Nocturne:可自编辑记忆的 Agent,支持遗忘策略与召回验证
  • 零依赖 Pre-commit 守卫:防止 Cursor/Claude Code 破坏整洁架构
  • Claude官方指南:如何充分释放Opus 5.5在Claude和Claude Code中的性能
  • Claude Code 接入第三方模型作子代理,省 Token 新思路
  • 已加载 51 / 9799
8.0
热点
AI SCORE
编程提效2026-10-04 19:43

生产级LLM Gateway四个关键设计决策

dev.to · AI#LLM Gateway#架构#AI基础设施
Editor brief · 编辑速览

作者总结自研LLM Gateway的四个核心决策:JWT+RBAC认证、模型别名路由+配额+故障转移、用量计费,以及异步控制面管理模型注册表和预算。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

你的团队现在是把服务直接硬编码连到提供商的 API 上。每个应用都有自己的 API Key、自己的重试逻辑、自己写死的模型名称。没人能回答"我们这个月在 LLM 上花了多少钱",当某个模型被弃用时,你只能通过生产环境里的 500 错误才知道。

这几年我一直从事 LLM 基础设施工作,最终反复回归的模式是自建 LLM 网关:一个无状态的代理加一个小的控制面。不是"AI 平台"——只是一个枯燥但可靠的层级。下面是在生产环境中真正重要的四个决策。

flowchart LR
    subgraph Clients
        A[Service A<br/>team: payments]
        B[Service B<br/>team: growth]
        H[Developer<br/>IDE / CLI]
    end
    subgraph GW["LLM Gateway (stateless)"]
        AUTH[Auth: JWT, RBAC]
        ROUTE[Routing: alias, quotas, failover]
        METER[Metering: usage, cost]
    end
    subgraph CP["Control plane (async)"]
        REG[Model registry: aliases, prices]
        Q[Quotas / budgets]
    end
    subgraph Providers
        PA[Provider A]
        PB[Provider B]
    end
    A -->|short-lived JWT| AUTH
    B -->|short-lived JWT| AUTH
    H -->|user token, OBO| AUTH
    AUTH --> ROUTE --> PA
    ROUTE --> PB
    ROUTE -.-> REG
    PA -->|usage| METER
    PB -->|usage| METER
    METER --> BUS[(message bus)] --> ROLL[(rollups)] --> DASH[Dashboards + alerts]

两平面,四原则

一个控制面,一个数据面。 人类修改的所有东西(注册表、角色、预算、价格)都放在控制面。代理是无状态的,只读取控制面的状态。

一切皆可计量。 如果一个请求没有产生计量事件,它就没有发生。计量事件和 HTTP 响应一样真实。

请求中不放密钥。 线路上唯一的凭证是短期身份令牌。提供商凭证永远不会离开网关的密钥视图。

用枯燥的技术。 一种语言,一种消息格式,一种流。网关的职责是成为你架构中最无聊的组件。

负载路径:客户端 → 认证 → 路由 → 提供商 → 流式返回 → 计量 → 消息总线 → 聚合 → 仪表盘 → 告警。控制面永远不在热路径上;它写入状态,网关以较短的 TTL(1-5 秒即可)获取变化。

决策 1:一个能自动同步的模型注册表

锁定是悄悄发生的。某天提供商弃用了一个模型名称,你的服务就挂了。解决方案是一个带别名的模型注册表:

  • 应用调用别名(chat-fast、chat-reasoning、embeddings-1k),而不是提供商的模型 ID。
  • 一个同步任务轮询每个提供商的 /models 端点,更新可用性和定价。
  • 当提供商的模型消失时,别名会路由到备用模型,而不是直接失败。
  • 价格更新通过同一个同步流程推送,所以你的成本仪表盘永远不会过时。

两张表,一个定时任务。没有微服务森林。

决策 2:适用于服务、人类和 Agent 的认证

  • 服务从你的身份平台获取短期 JWT,通过 JWKS 缓存验证。
  • 人类(IDE 或 CLI 中的开发者)获取 on-behalf-of 令牌,这样你可以把使用量归属到个人,而不是共享的服务账号。
  • Agent 获取比它们调用的服务范围更窄的服务令牌。
  • 提供商凭证通过托管身份在网关内部解析——配置文件里没有 API Key。
  • 未知的别名要 fail closed,无效的令牌也要 fail closed。配额计数器在高负载下是尽力而为的(超额 admit 并告警);策略层面要 fail closed。

决策 3:计量事件作为数据源的 cost 追踪

每个请求都会产生一个使用对象:输入/输出的 tokens、模型、别名、团队、用户。

使用事件发送到持久化的消息总线;聚合任务将它们汇总到 per-model / per-tenant / per-user 表。

预算是计数器(Redis)加策略(SQL),在每个团队和每个模型的月度预算达到 80% 和 100% 时告警。

聚合 DB 可以有延迟,但不能丢失数据。从总线重新计算。

一旦这套机制建立起来,"这个功能要花多少钱?"就不再是产品会议讨论的问题,而是一个仪表盘查询。

决策 4:MCP 作为 AI 工具的接口

如果 Agent 或工具要调用模型,它们应该通过同一个网关来对话,用 Model Context Protocol(MCP)作为稳定接口。一个端点,任何提供商在背后。网关成为你公司里唯一知道今天到底是哪个提供商在提供服务的地方。

一个无状态服务加定时同步任务。没有编排框架,没有第二个数据库。其他所有东西(portal、per-user 预算、细粒度 failover)都可以后续添加而不破坏边界。

我把所有学到的写成了一本书——参考架构、配置详解、操作手册和生产发布清单:The AI Gateway Playbook(32,000 字,$19,PDF + 图表)。收益会继续支持这类写作。

如果你正在构建一个 LLM 网关(或者你已经有了那个满是 API Key 和写死模型名的烂摊子),你遇到的最难的生产问题是什么?我很想听听。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
MCP协议深度解析:AI工具集成标准现状与局限
下一篇
MCP JSON 配置优化:同步一次节省 98% Discovery Token