跳转至

生产运维与安全

生产 AI 系统同时包含概率模型和确定性软件。模型可能不稳定,但权限、审计、预算和失败处理必须尽量确定。

上线最低控制面

身份与权限

  • 每个请求绑定用户、租户、角色和授权范围。
  • RAG 在检索前过滤权限,不能检索后只靠提示词隐藏。
  • 工具使用最小权限,读写权限分离,高风险写操作需要审批。
  • 密钥放在密钥管理系统,不写入镜像、前端、提示词或日志。

输入与输出

  • 限制文件类型、大小、上下文、输出和工具参数。
  • 把外部网页、文档、邮件和工具返回当作不可信数据。
  • 结构化输出经过 schema 校验;SQL、HTML、shell 和系统写回必须二次校验。
  • 不把模型自然语言当作授权决策。

OWASP LLM Top 10列出的关键风险包括提示注入、敏感信息泄露、供应链、数据/模型投毒、不安全输出处理、过度代理权、系统提示泄露、向量与 Embedding 弱点、错误信息和无界资源消耗。

Prompt Injection 的现实边界

RAG 和微调不能消除提示注入。防护要靠分层控制:

  1. 指令与数据在消息结构中分离。
  2. 工具通过明确 schema 暴露,不给通用 shell 或数据库超级权限。
  3. 模型提出动作,策略引擎检查动作。
  4. 高风险动作由用户确认,并显示具体影响。
  5. 使用幂等键、金额/数量/范围上限和允许列表。
  6. 记录完整决策链,定期红队测试间接注入。

可观测性

一次请求的 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 分钟:分层定位

入口与鉴权 -> 网关与队列 -> 检索/工具 -> 模型服务 -> GPU/网络 -> 外部依赖

每层用最小健康请求验证。不要因为最终错误显示“模型超时”就跳过上游排队和下游工具耗时。

恢复后:验证与复盘

  • 用事故请求和相邻正常请求做回放。
  • 确认积压任务、幂等写入和账单没有二次影响。
  • 在 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%
运维完成定义:不是“有监控面板”,而是每个高优告警都有可执行手册、明确责任人、业务降级方案和最近一次演练记录。