MaaS 平台与模型服务治理
MaaS(Model as a Service)平台把多个模型变成企业内部可申请、可调用、可计费、可观测、可评估的公共能力。它比“模型网关”更像平台,比“推理服务”更面向业务治理。网关细节见 模型网关与多模型路由,生产化追问见 MaaS 平台生产化高频问答,生产运营见 LLMOps。
面试先背这几句话
- MaaS 平台的目标是让业务像用云服务一样使用模型:申请 Key、选模型、看配额、查账单、接入评估和审计。
- 模型网关是 MaaS 的流量入口,推理平台是模型运行底座,LLMOps 是版本、评估、监控和反馈闭环。
- MaaS 不只是转发请求,核心是模型目录、租户隔离、配额计费、多模型路由、质量评估、安全审计。
- 企业里常见多模型并存:外部 API、私有化模型、自部署 vLLM、行业小模型。MaaS 负责把它们治理成一个平台。
- 面试设计 MaaS 时要同时讲业务体验、平台治理、成本控制和合规边界。
MaaS 平台解决什么问题
没有 MaaS 时:
- 每个业务自己申请模型 Key,安全和成本不可控。
- 模型版本、prompt、调用参数散落在业务代码里。
- 业务不知道该选哪个模型,平台不知道谁在花钱。
- 模型升级没有灰度和回归,效果变化不可解释。
- 合规审计只能靠各业务自觉打日志。
MaaS 的平台化解法:
业务应用
-> MaaS Portal:申请模型、Key、配额、查看成本
-> Model Gateway:鉴权、限流、路由、计费、审计
-> Model Runtime:外部 API / 私有化推理 / vLLM / SGLang
-> Eval & Observability:评测集、trace、监控、告警
-> Governance:安全策略、数据出境、租户隔离、审批核心能力地图
| 能力域 | 具体能力 | 面试追问 |
|---|---|---|
| 模型目录 | 模型能力、上下文长度、价格、适用场景、合规标签 | 业务如何选模型? |
| 接入与鉴权 | OpenAI-compatible API、虚拟 Key、应用注册 | Key 泄漏如何回收? |
| 配额与计费 | RPM/TPM、日预算、成本账单、成本归因 | 如何按部门拆账? |
| 路由与降级 | 能力路由、成本路由、灰度、fallback | 主模型 429 怎么办? |
| 评测门禁 | Golden Set、A/B、回归、人工标注 | 模型升级如何证明不劣化? |
| 观测告警 | token、延迟、错误率、质量分、trace | 用户投诉怎么定位? |
| 安全合规 | PII 脱敏、审计、数据出境、内容安全 | 金融数据能否走外部 API? |
| 生命周期 | 上架、试用、灰度、下线、回滚 | 模型下线如何通知业务? |
与模型网关、LLMOps、推理平台的关系
MaaS 平台:产品与治理层
- 模型目录、Key 申请、租户配额、成本报表、评测门禁、审批
模型网关:流量控制层
- OpenAI-compatible API、鉴权、RPM/TPM、路由、failover、审计
推理平台:模型运行层
- vLLM/SGLang/TensorRT-LLM、GPU 调度、KV Cache、量化、扩容
LLMOps:质量闭环层
- prompt/model 版本、trace、dataset、eval、监控、bad case 回流面试里要避免把 MaaS 说成单纯“网关”。网关解决请求怎么进出,MaaS 还要解决谁能用、用哪个、效果如何、花多少钱、是否合规。
多租户、计费与观测
多租户
- 每个业务应用有独立 app_id 和虚拟 Key。
- 每个租户配置可用模型、RPM、TPM、日预算、数据策略。
- 日志和 trace 按租户隔离,敏感字段脱敏。
- RAG/工具调用要继承用户权限,不能只在模型层隔离。
计费
计费最小粒度建议记录:
| 字段 | 说明 |
|---|---|
| app_id / tenant_id | 谁调用 |
| user_id hash | 谁触发,脱敏 |
| model | 调了哪个模型 |
| prompt_version | 哪版 prompt |
| input_tokens / output_tokens | 成本基础 |
| unit_price | 当时价格 |
| route_type | 主路由、降级、灰度、缓存命中 |
| latency / status | 性能和错误 |
观测
看三类图:
- 业务图:调用量、成功率、用户反馈、场景分布。
- 成本图:按业务/模型/时间拆 token 和费用。
- 质量图:评测分、拒答率、幻觉率、工具错误率、bad case 趋势。
面试专项:模型平台上线门禁
MaaS 平台的关键不是“模型上架列表”,而是把模型、prompt、LoRA、RAG 参数这些变更变成可审批、可评估、可灰度、可回滚的发布流程。
上线门禁清单
| 门禁 | 检查内容 | 不通过时怎么处理 |
|---|---|---|
| 模型目录 | 模型名称、版本、上下文、价格、能力标签、合规等级、禁用场景 | 不允许业务申请,只能内部试用 |
| 接入安全 | 虚拟 Key、租户权限、数据出境、PII 脱敏、日志脱敏 | 限制到私有化通道或要求审批 |
| 质量评估 | golden set、bad case 回归、业务指标、pairwise win rate | 回退模型版本、prompt 或 LoRA |
| 成本预算 | 单次调用成本、日预算、RPM/TPM、缓存策略 | 降级到低价模型、限额或排队 |
| 延迟容量 | TTFT、TPOT、P95/P99、峰值并发、上游 429 | 扩容、限流、改路由或分场景开放 |
| 安全合规 | 越狱、敏感信息、工具越权、正常问题误拒 | 补安全集和拒答边界样本 |
| 灰度回滚 | 灰度租户、观察窗口、回滚到旧模型/旧 prompt | 禁止全量发布 |
发布流程
模型/LoRA/Prompt 提交
-> 补全模型目录和合规标签
-> 离线评估:golden set + bad case + 安全集 + 成本延迟
-> 审批:业务 owner + 平台 owner + 安全 owner
-> 灰度:小租户/低风险场景/小流量
-> 线上观测:质量、成本、延迟、投诉、拒答
-> 全量或回滚面试可以这样收束:MaaS 的上线门禁本质是把“换模型”从一次代码修改,变成有评估证据、有成本预算、有合规边界、有回滚路径的平台发布。
面试专项:模型成本治理 FinOps
MaaS 讲成本治理时,重点不是某一次请求怎么省钱,而是公司级制度怎么让成本可见、可控、可追责:
| 层级 | MaaS 应负责什么 | 不该混淆成什么 |
|---|---|---|
| 预算 | 部门/应用/租户预算、审批、告警、熔断 | 单个 SDK 的本地限流 |
| 拆账 | 按 tenant、app、model、场景、时间聚合 token 和费用 | 只看全公司总账单 |
| 治理 | 模型目录价格、合规等级、推荐场景、禁用场景 | 让业务随意填模型名 |
| 优化 | 推动缓存、模型路由、量化、批处理、离线错峰 | 单纯要求业务少用 |
| 复盘 | 成本突增 bad case、路由命中、prompt 变长、输出失控 | 只在月底看账单 |
面试追问「成本突然涨 5 倍怎么定位」时,可以按顺序查:调用量是否涨、输出 token 是否变长、prompt/RAG 上下文是否变长、缓存命中率是否下降、模型路由是否切到高价模型、重试/fallback 是否异常、是否有循环调用或批处理任务跑到在线高价通道。
高频面试题
Q:MaaS 和模型网关有什么区别?
模型网关是请求入口,负责鉴权、限流、路由、计费和审计;MaaS 是平台治理层,还包括模型目录、Key 申请、租户配额、评测门禁、成本报表、模型生命周期和合规审批。
Q:如何设计模型目录?
每个模型记录能力标签、上下文长度、价格、延迟、支持工具调用/多模态/JSON 的情况、部署位置、合规等级、推荐场景和禁用场景。业务按任务选择,而不是只按模型名选择。
Q:模型升级怎么保证不影响业务?
先离线跑 Golden Set 和回归集,再灰度少量租户,比较质量、延迟、成本和错误率;保留旧模型回滚;prompt 和模型版本一起记录,避免只换模型导致行为漂移不可追踪。
Q:如何做成本拆账?
网关记录每次请求的 app_id、tenant_id、model、token、单价、缓存命中和降级状态。报表按部门、应用、模型、场景聚合,并设置预算告警和熔断。
Q:如何处理外部 API 与私有化模型的合规边界?
给模型通道打合规标签。敏感数据、金融数据、个人信息只能走私有化或已审批通道;必要时做 PII 脱敏、日志脱敏、数据出境审批和审计留存。
项目讲法
MaaS 平台项目可以这样讲:
我们做的是企业统一模型服务平台,而不是单个聊天应用。业务先在 Portal 申请模型能力和虚拟 Key,通过统一 OpenAI-compatible API 调用。平台层做 RPM/TPM 限流、模型路由、fallback、token 计费和审计日志。模型升级前必须跑评测集,通过后灰度到部分应用;线上 trace 和 bad case 会回流到评估集。这样业务接入模型不再各自管理 Key,也能看清每个部门花了多少钱、效果有没有变差。
系统设计追问
- 设计一个公司内部 MaaS 平台,如何支持 100 个业务应用接入 20 个模型?
- 如何做模型上架、下线、灰度和回滚流程?
- 如何同时支持外部模型 API 和自部署 vLLM 集群?
- 如何把模型网关的日志变成成本报表和质量报表?
- 如果某业务的 token 成本突然上涨 5 倍,你如何定位和止损?