生产运维与安全¶
生产 AI 系统同时包含概率模型和确定性软件。模型可能不稳定,但权限、审计、预算和失败处理必须尽量确定。
上线最低控制面¶
身份与权限¶
- 每个请求绑定用户、租户、角色和授权范围。
- RAG 在检索前过滤权限,不能检索后只靠提示词隐藏。
- 工具使用最小权限,读写权限分离,高风险写操作需要审批。
- 密钥放在密钥管理系统,不写入镜像、前端、提示词或日志。
输入与输出¶
- 限制文件类型、大小、上下文、输出和工具参数。
- 把外部网页、文档、邮件和工具返回当作不可信数据。
- 结构化输出经过 schema 校验;SQL、HTML、shell 和系统写回必须二次校验。
- 不把模型自然语言当作授权决策。
OWASP LLM Top 10列出的关键风险包括提示注入、敏感信息泄露、供应链、数据/模型投毒、不安全输出处理、过度代理权、系统提示泄露、向量与 Embedding 弱点、错误信息和无界资源消耗。
Prompt Injection 的现实边界¶
RAG 和微调不能消除提示注入。防护要靠分层控制:
- 指令与数据在消息结构中分离。
- 工具通过明确 schema 暴露,不给通用 shell 或数据库超级权限。
- 模型提出动作,策略引擎检查动作。
- 高风险动作由用户确认,并显示具体影响。
- 使用幂等键、金额/数量/范围上限和允许列表。
- 记录完整决策链,定期红队测试间接注入。
可观测性¶
一次请求的 trace 建议包含:
| 类别 | 字段 |
|---|---|
| 身份 | request_id、tenant、user/role 的脱敏标识 |
| 版本 | app、prompt、model、index、tool schema |
| 用量 | input/output/cache token、请求成本 |
| 性能 | queue、TTFT、TPOT、总时延、工具时延 |
| 检索 | query、文档/片段 ID、分数、权限过滤结果 |
| Agent | 每步工具、参数摘要、结果状态、终止原因 |
| 质量 | 自动 grader、人工反馈、严重错误标签 |
敏感原文不一定适合进入日志。采用字段级脱敏、采样、加密、访问控制和保留期限。日志可观察性与隐私不是二选一。
SLO 与告警¶
建议至少定义:
- 可用性与成功请求率。
- P95/P99 首 token 和端到端时延。
- 限流、超时、解析失败和工具失败率。
- 每成功任务成本,不只看每 token 价格。
- 高风险质量指标和业务回退率。
- GPU 利用率、显存、温度、功耗与 ECC/Xid 错误。
告警必须链接到处理手册,并说明责任人、影响、排查顺序和回滚命令。
重试与降级¶
- 只重试暂时性错误,使用指数退避和随机抖动。
- 设置单次超时、总时限和最大尝试次数。
- 写操作使用幂等键;工具返回未知状态时先查询,不盲目重放。
- 降级顺序可以是:备用同级模型、轻量模型、只读建议、原人工流程。
- 降级响应要告诉调用方能力下降,不能静默改变业务语义。
变更与回滚¶
模型、提示词、检索、工具、依赖和 GPU 驱动都可能引发质量变化。每次发布保存:
- 变更前后版本和配置。
- 离线评测差异与已接受退化。
- 灰度范围、观察窗口和停止条件。
- 一键或短步骤回滚方式。
风险治理框架¶
NIST 生成式 AI 风险管理 Profile建议用 Govern、Map、Measure、Manage 组织治理。映射到 FDE:
- Govern:所有权、政策、风险容忍度、供应商和数据规则。
- Map:用户、场景、影响、依赖、数据流和受影响群体。
- Measure:能力、可靠性、安全、偏差、隐私和业务指标。
- Manage:优先级、控制措施、监控、事件响应和持续改进。
事故响应 Runbook¶
0 到 5 分钟:止损¶
- 判断影响范围、租户、模型版本和开始时间。
- 冻结继续发布,关闭高风险写操作或切到只读。
- 若是明显版本回归,立即切回已验证别名。
- 保存 request ID、trace、指标与配置快照,不先清理现场。
5 到 30 分钟:分层定位¶
每层用最小健康请求验证。不要因为最终错误显示“模型超时”就跳过上游排队和下游工具耗时。
恢复后:验证与复盘¶
- 用事故请求和相邻正常请求做回放。
- 确认积压任务、幂等写入和账单没有二次影响。
- 在 24 到 72 小时内形成时间线、根因、促成因素和行动项。
- 把真实失败加入回归集和故障演练,不只写“加强监控”。
SLO 计算样例¶
99.9% 月可用性约允许 43.2 分钟不可用,但 AI 服务还需要任务级质量 SLO。例如:
可用性:成功返回且 schema 合法的请求 >= 99.9%
性能:交互请求 TTFT P95 <= 2s,E2E P95 <= 8s
质量:高风险黄金集严重错误 = 0
成本:每成功任务 P95 <= 0.20 元
错误预算用于决定是否继续发布。如果本月已经消耗大部分预算,团队应优先稳定性和根因修复,而不是继续扩大灰度。
威胁到控制映射¶
| 威胁 | 预防 | 检测 | 恢复 |
|---|---|---|---|
| 间接提示注入 | 数据/指令隔离、最小工具权限 | 攻击样本、异常工具参数 | 阻断动作、撤销令牌 |
| 越权检索 | 检索前 ACL 过滤 | 蜜罐文档、权限审计 | 删除泄露缓存、通知与复盘 |
| 供应链污染 | 锁定镜像和权重 hash | SBOM、签名和差异扫描 | 回退可信制品 |
| 无界资源消耗 | token、步骤、并发和预算上限 | 成本和队列异常告警 | 限流、熔断、降级 |
| 工具重复写入 | 幂等键、确认和事务 | 重复事件检测 | 对账、补偿事务 |
上线日观察表¶
| 时间窗口 | 流量比例 | 质量 | P95 | 错误率 | 单任务成本 | 人工接管 | 决策人 |
|---|---|---|---|---|---|---|---|
| 0-30 分钟 | 1% | ||||||
| 30-120 分钟 | 5% | ||||||
| 2-8 小时 | 25% | ||||||
| 次日 | 50%/100% |
运维完成定义:不是“有监控面板”,而是每个高优告警都有可执行手册、明确责任人、业务降级方案和最近一次演练记录。