8.5 生产系统设计
核心问题: 一个生产级 LLM 系统需要哪些工程边界?
在线 Notebook
对应的交互式版本可在 Google Colab 打开,统一使用方式见 第0章说明。
从 Demo 到生产
Demo 通常只关心“能不能回答”。生产系统还必须关心:
- 失败时怎么办
- 成本是否可控
- 数据是否合规
- 输出是否可追踪
- 模型升级是否会回归
- 高峰期是否稳定
生产化的核心不是把模型接上 API,而是把模型放进可观测、可回退、可治理的系统里。
典型架构
text
用户请求
↓
鉴权 / 限流 / 审计
↓
任务路由
├─ Prompt
├─ RAG
├─ Agent
└─ 人工处理
↓
模型推理
↓
安全检查 / 格式校验
↓
日志 / 监控 / 成本统计
↓
用户响应关键工程能力
| 能力 | 作用 |
|---|---|
| 鉴权 | 防止越权访问模型、知识库和工具 |
| 限流 | 防止突发流量拖垮系统 |
| 路由 | 根据任务选择模型和方案 |
| 回退 | 主链路失败时降级到备用方案 |
| 审计 | 记录请求、工具调用和关键决策 |
| 监控 | 观察质量、延迟、成本和错误 |
上线风险
1. 幻觉
缓解方式:
- RAG 引用来源
- 高风险问题拒答
- 输出校验
- 人工审核
2. Prompt Injection
缓解方式:
- 区分用户输入和系统指令
- 把检索文档、网页和工具输出视为不可信数据,不赋予其系统指令权限
- 工具采用 allowlist、最小权限、参数 schema 和服务端校验
- 读操作与写操作分级;有副作用的操作使用幂等键、预览、确认或审批
- 对越权、间接注入和数据外泄场景建立专门回归集
3. 成本失控
缓解方式:
- token 上限
- 请求限流
- 模型路由
- 预算告警
4. 模型升级回归
缓解方式:
- 固定回归集
- 灰度发布
- A/B 测试
- 快速回滚
上线检查清单
- [ ] 是否有业务评估集和回归集?
- [ ] 是否设置 token、延迟和成本上限?
- [ ] 是否有失败降级策略?
- [ ] 是否记录 RAG 来源和 Agent 工具调用?
- [ ] 是否有权限控制和审计日志?
- [ ] 高风险工具是否采用最小权限、服务端校验和人工确认?
- [ ] 是否定义了模型升级和回滚流程?
本节小结
- 生产级 LLM 系统必须可观测、可回退、可治理
- RAG 和 Agent 会引入额外的权限、审计和失败路径
- 成本、延迟、质量和安全需要同时监控
- 上线后必须持续用真实失败案例更新评估集
下一节: 8.6 端侧多模态:表示效率的联合验收
