Appearance
一句话总结:LLM 应用可靠性 = 先分错误类别(可重试 vs 必须停止)→ 客户端指数退避重试 → 网关限流/熔断/降级链 → 业务兜底;多模型网关(LiteLLM/Higress)统一接口、按健康度与成本路由,让应用对故障透明。
第一步:错误分类(面试必讲)
| 错误 | 类型 | 处理 |
|---|---|---|
| 429 限流、短暂 5xx | 可恢复 | 重试 + 降级 |
| 401/403、余额耗尽、合规拒绝 | 永久 | 停止并暴露根因,不重试 |
- 非幂等调用:不重试,直接失败 + 死信队列(DLQ)人工/补偿处理
- 教训:"429 就换模型"可能把一次故障变成三倍账单
四层可靠性机制
| 机制 | 做法 | 针对 |
|---|---|---|
| 重试 | 指数退避 + 抖动(1s±50%→2s→4s→8s,最多 3 次),只对幂等 | 瞬时抖动 |
| 限流 | 客户端 token bucket 自限(不等到 429);RPM/TPM 全局配额 | 避免触发限流 |
| 熔断 | 错误率超阈值(如 50%)开闸,30s 后半开试探 | 供应商持续故障 |
| 降级链 | 主模型 → 备用模型 → 本地兜底(Ollama);选不同系列模型(限流按模型独立计算) | 主目标不可用 |
多模型网关(生产标配)
- 代表:LiteLLM、Higress + Redis
- 能力:
- 统一 OpenAI 兼容接口(一套代码接多家供应商)
- 路由:先按能力/地域/数据分类/预算硬过滤 → 再按健康度/延迟/成本选路
- SSE 透传:流式不受网关影响
- MCP 托管:把 REST API/数据库转成 MCP Server 供 Agent 调用
稳定性三层架构
- 客户端自动重试(指数退避)
- 网关级重试/降级/熔断
- 业务兜底(缓存、默认值、人工介入)
面试要点
- 能先讲错误分类(可重试 vs 永久)——这是正确性的前提
- 能说出四层机制(重试/限流/熔断/降级)各自参数
- 能解释网关价值(统一接口 + 智能路由 + 透明故障转移)
- 能举降级链实例(主 → 备 → 本地 Ollama 兜底)
- 能主动提"非幂等不重试 + DLQ"——工程成熟度拉分点
相关概念
- [AI-Agent-生产部署](/学习笔记/AI技术/AI Agent/AI-Agent-生产部署) — 网关与部署架构
- [AI-Agent-可观测性与评估工程](/学习笔记/AI技术/AI Agent/AI-Agent-可观测性与评估工程) — 熔断与成本的监控
- [AI基础概念-LLM API与Function Calling协议](/学习笔记/AI技术/AI基础概念/AI基础概念-LLM API与Function Calling协议) — 被网关代理的接口
- AI基础概念-上下文工程实战与Prompt缓存 — 成本治理上游