服务等级协议 SLA & 可用性

SLA - Service Level Agreement

服务等级协议 SLA 是 API 服务商与客户之间承诺的可用性/延迟/错误率等量化指标及违约赔偿机制,99.9%/99.95%/99.99% 对应不同停机时长。

详细解释

SLA(Service Level Agreement,服务等级协议) 是企业采购 AI API 时最容易被忽略、但”出了事才发现是命”的那个合同条款。它不是一句口头承诺”我们很稳定”,而是一套量化指标 + 不达标就真金白银赔钱的合同条款。对于 AI API 场景(Token 计费、流式输出、多区域),SLA 通常包括四个部分:可用性(Availability)、延迟分位数(Latency Percentiles,如 P50/P95/P99)、错误率(Error Rate,非 5xx / 429 正常限流不赔)、数据持久性(Durability,RAG 存储、微调训练数据不丢)。

四个数字:99.9% / 99.95% / 99.99% / 100% 意味着什么

可用性计算公式:Availability = (总时间 - 不可用时间) / 总时间 × 100%。这里的”总时间”按自然月或自然年算,扣除”计划维护窗口(提前 3 天通知客户的升级)“。换算成每月允许的真实停机时长(非维护窗口的):

SLA 承诺月允许停机(分钟)月允许停机(小时)年允许停机(小时)典型售价溢价适合业务场景
99.0%(两个九)432 分钟 = 7.2h / 月7.2h87.6h无溢价(免费 / 免费试用版)内部测试、个人玩具项目、不对外(不能写在商用合同里)
99.9%(三个九)43.2 分钟 / 月0.72h8.76h基准价中小企业 SaaS、非交易型内容(文档问答、摘要、翻译)、非工作时间的辅助工具
99.95%(三个九半)21.6 分钟 / 月0.36h4.38h基准价 × 1.3 至 1.5金融、客服核心、交易决策辅助、企业内部 OA 聊天机器人(工作日 9:00-18:00 不允许挂)
99.99%(四个九)4.32 分钟 / 月0.072h = 4.3 分钟52.6 分钟基准价 × 2 至 3支付风控实时评分、医疗问诊、政务实时接口、电商大促期间核心文案生成
99.999%(五个九)25.9 秒 / 月5.26 分钟基准价 × 5+航空/电力/运营商级;AI 场景几乎没人承诺(除非跨 5 个 AZ 多活 + 异地容灾 + 每秒百万 QPS 级别)

关于 SLA 赔偿(Service Credit):常见写法是”月度可用性每低于承诺 0.1%,赔该月对应服务消费额的 10%,最高赔偿不超过当月消费的 100%“。注意:API 公司的 SLA 赔偿通常不是”赔现金”,而是”赔下次买的额度(Service Credit)“,有效期 12 个月。

AI API 场景下 SLA 的四大特有条款(和传统 API 不一样)

别把传统云服务器 ECS 的 SLA 模板直接套 AI API。以下四条是 AI 专属,缺了一条等于 SLA 是废纸:

条款说明谈判时建议的措辞
5xx 才算不可用,429 Rate Limit 不纳入 SLA 计算限流 429 是你自己客户侧调用太多,不算平台故障;但如果因为平台没按合同给足 RPM/TPM 配额导致 429,那应该算故障“因乙方未按配额承诺满足客户限流阈值而返回的 HTTP 429,等同于 5xx 计入不可用。”
TTFT(首字延迟)P95 / P99 也要算 SLA模型推理”连接成功了但 30 秒才吐第一个字”,对用户来说等于不可用。流式输出是 AI API 核心场景,必须把 TTFT + TPOT(每个输出 Token 延迟)写入 SLA。“Streaming 请求首字延迟(Time To First Token)P95 ≤ 800ms;非流式请求总体响应 P95 ≤ 5 秒;超出部分每 30 分钟计 1 分钟不可用。”
“单模型故障 + 自动降级”不算不可用大厂的 AI API 经常”具体某个模型(比如 xx-70B-int4)在 AZ-a 挂了 1 小时,但你请求到 AZ-b 自动切过去了,返回成功 200,只是延迟高了一点 → 这个 200 是成功返回,不算停机。”要”你最关心的主模型 ID”单独列出来:“Model=weimeta-deepseek-v3 的单区域可用性单独承诺 99.95%;多路由 fallback 不计入成功豁免。”
数据持久性(Durability)独立条款你在厂商那儿存了 RAG 知识库、SFT 训练集、LoRA 模型。厂商 S3 挂了 → 你的数据全没了,这比 API 宕一天损失还大。“客户托管至乙方平台的 Fine-Tuning 数据集、LoRA 权重、向量知识库,承诺 11 个 9(99.999999999%)年持久性;丢失每 GB 赔偿 XXX。”

唯元智创 的企业版合同默认签 99.95% SLA(线上公开文档可查),白金版大客户可签 99.99% + 自定义 P95 延迟;数据持久性 11 个 9,跨区域双副本存储;赔偿走 Service Credit,每月 5 号前自动生成上月 SLA 报告邮件给客户对接人,有异议 15 个工作日申诉——这四条全部写死白纸黑字在合同里。

你如何验证 / 监控 SLA?(别只信厂商的报告)

合同签了 99.99%,你不能只靠厂商每月给你一份”我们达标啦”的报告。企业客户至少要做三件事自主验证:

  1. 外部多点探针(Synthetic Monitoring):用 Blackbox Exporter / UptimeRobot / 唯元智创自带探针,从 3 个不同区域(上海、北京、深圳)每 1 分钟对 4 个 API(chat/completions、embeddings、models、tokenizer)各发 1 条固定请求,记录 HTTP 状态码 + TTFT + TotalTime;任一区域连续 3 次失败 = 计 1 分钟不可用
  2. 客户端错误率埋点:在你自己业务的 SDK(OpenAI SDK 层)加拦截器,统计 status_code / error_type / model_id / region 四维聚合,每日导出 CSV;发现你这边记录的 5xx 错误率 0.5% 和厂商给你的 0.02% 对不上时,拿你自己日志去申诉(厂商内部监控经常”只测 AZ 入口健康”,测不到某个具体模型卡了 1 小时的情况)。
  3. 延迟分位数 P95/P99 报表:不要信平均值(Average Latency),平均值永远好看(99 次 200ms + 1 次 10 秒,平均 = 300ms “看起来正常”,但真实 P99 = 10s,用户已经投诉了)。正确报表必须是 P50/P90/P95/P99 四条线,每小时一张。

常见问题

厂商说”我们有 99.99% SLA”,结果上个月真挂了 1 小时,要赔偿会不会很难拿?
不难,但要满足两个前提:(1)合同里把”不可用时间怎么定义、谁来举证、赔偿上限”三条白纸黑字写清楚;(2)你自己有客户端日志。业界事实是:70% 的企业客户从来没去要过赔偿,因为没自己的监控数据,厂商说”我们内部统计只挂了 3 分钟”你也没证据反驳;另外 20% 的客户一拿自己日志去、厂商就直接给 Credit(因为对方也知道自己监控有盲点,不想闹到法务),剩下 10% 需要走商务申诉流程一般 1 到 2 周搞定。真的有纠纷很少走到法院那一步(损失通常是几千到几万额度)。核心建议:签合同前逐条抠条款,不要签那种”乙方单方面有权解释 SLA 是否达标”的霸王条款
99.9% 和 99.95% 差 0.05 个百分点,价格贵了 30% 值得吗?
看你业务在”挂 22 分钟”和”挂 43 分钟”之间差多少营收。举个例子:你是在线教育大课答题助手,周一到周五晚上 8-9 点是高峰,这 1 小时占全天营收 40%;如果一次故障刚好卡了 22 分钟在 8:30-8:52,营收损失 = 全天营收 10 万 × 40% × 22/60 = 1.47 万。而 99.9% 允许停 43 分钟(刚好包含这个 22 分钟你拿不到赔偿);99.95% 只允许 21.6 分钟,超了 24 秒 = 触发赔偿,你能拿当月消费的 10% 回来(例如月消费 3 万,赔 3000 元 Credit)。对 7x24 交易类业务,这 30% 溢价几乎都是”划算的保险”。但如果你的业务是后台运营同学用的文档摘要助手,晚上没人用、周末没人用,99.9% 三个九足够,省下来的钱花到别的地方。
SLA 承诺没到的时候,除了赔额度,能赔实际业务损失吗?
默认合同都不会——所有云厂商(包括 AWS / 阿里 / 腾讯 / 唯元智创)的标准 SLA 条款都有一句”赔偿总额不超过当月对应服务消费金额,且不赔间接损失 / 利润损失”。如果你要求”因为你宕机我大促没做成亏了 1000 万,你要赔我”这种间接损失,只能走两种方式:(1) 单独签《企业增值合同》,加钱(通常每月几万到几十万服务费),把间接损失约定到具体上限,同时对方会要求你提供业务连续性方案,比如多厂商容灾;(2) 买第三方的科技保险(网络安全险 / 云服务故障险),保费是年消费的 2% 到 5%,出问题由保险公司赔你实际业务损失。两条路都可以,第二条的性价比通常更高,也建议你不管用哪家厂商都买一份。