怎么验收 AI 供应商?¶
TL;DR: 8 条硬指标, 缺一不接。合同 + 复测集 + 数据边界 这三条搞定, 供应商翻车概率从 60% 降到 10%。
8 条硬指标验收清单¶
1. 合同里写清判据, 不是"跑通"¶
坏例: "系统能够回答用户问题, 通过双方确认后验收。"
好例: "20 条真实买方问题, 在 GPT-4 / Claude / 豆包 3 引擎测试, 命中率 ≥ 70%, 复测 (14 天后) 命中率 ≥ 60% 视为通过。"
关键: 判据必须可量化、可复测、双方对齐同一个数据集。
2. 可复测集在客户手里, 不在供应商手里¶
供应商造的"黄金集"是利益冲突。
正确做法: - 客户提供 20 条真实买方问题 (业务真问过的, 不是编的) - 客户保管答案期望 - 供应商不看答案期望, 只输出模型结果 - 双方一起对比
3. 数据边界白纸黑字¶
合同附录必须列出:
| 数据类型 | 出内网否 | 允许的处理位置 | 保留时长 |
|---|---|---|---|
| 客户 PII (身份证/手机号) | 否 | 客户内网 | 依法 |
| 业务数据 (订单/库存) | 否 | 客户内网 or 客户 VPC | ≤30 天 |
| 输入日志 (prompt) | 视级别 | 私有 API 网关 | ≤7 天 |
| 输出日志 (completion) | 视级别 | 私有 API 网关 | ≤7 天 |
| 匿名分析 (token 统计) | 是 | 供应商侧 | ≤90 天 |
没有这张表 = 不签合同。
4. 成本记账粒度到用户/api key¶
供应商月账单必须支持:
- 按用户 (客户内哪个团队用得多)
- 按API key (哪个业务线用得多)
- 按模型 (哪个模型贵)
- 按时段 (峰值时段成本)
只给总账单的供应商 = 出问题时 debug 无门。
5. 失败责任书面明确¶
SLA 常见指标 + 违约赔付:
| 指标 | 阈值 | 违约赔付 |
|---|---|---|
| 服务可用性 | ≥ 99.5% | 按小时退费 |
| 输出错误率 | < 3% | 累计超 5% 退合同 30% |
| 数据泄露 | 0 | 全额退 + 通报 |
| 幻觉 (可验证事实错) | < 2% | 每例赔 1 万 (示例) |
没有赔付条款的 SLA 是废纸。
6. 模型版本管理 + A/B 切换机制¶
供应商必须能证明:
- Prompt 版本化 (Git 管理, 客户可 review)
- Model 抽象层 (不硬编码, 可 A/B)
- 灰度上线机制 (5% → 20% → 50% → 100%)
- 回滚开关 (1 分钟切回)
demo 时 让他现场切一个 prompt 版本给你看。切不了 = 不成熟。
7. 监控 dashboard 客户可访问¶
不是供应商内部看:
- 成本 dashboard (客户看到实时消耗)
- 幻觉率 dashboard (每日抽样)
- 用户满意度 (可选, NPS)
- 系统健康 (可用性)
客户看不到 dashboard = 出问题时全靠供应商说"没事"。
8. 退出条款¶
合同必须写:
- 数据: 停止服务后 30 天内客户可全量导出
- 模型: 客户微调的 LoRA/权重归客户所有
- Prompt: 客户使用的 prompt 版本历史归客户所有
- 日志: 客户可导出全部日志
- 知识库: 客户上传的知识库归客户所有
没有这条 = 数据被绑架。
现场验收对照表 (打印带去)¶
供应商演示时, 你逐项打钩:
□ 判据写在合同里, 可量化 □ 复测集在我手里, 供应商没见过 □ 数据边界白纸黑字, 分级到位 □ 成本记账粒度到用户 / API key □ SLA 有违约赔付条款 □ 模型版本可 A/B 切换 (现场演示) □ Dashboard 客户可访问 (现场登录) □ 退出条款覆盖数据 / 模型 / prompt / 日志
8/8 = 签 6-7/8 = 谈补丁 ≤ 5/8 = 走人