AI 评估体系
为什么评估如此重要
"如果你不能衡量它,你就不能改进它。" — Peter Drucker
在 AI 产品中,评估(Evals)是连接产品质量和用户体验的核心环节。没有系统化的评估,你就是在盲目飞行。
评估指标体系
模型质量指标
| 指标 | 说明 | 适用场景 |
|---|---|---|
| 准确率(Accuracy) | 正确结果的比例 | 分类任务 |
| 精确率(Precision) | 正类预测中实际为正的比例 | 关注误报的场景 |
| 召回率(Recall) | 实际正类中被正确预测的比例 | 关注漏报的场景 |
| F1 Score | 精确率和召回率的调和平均 | 综合评估 |
| 幻觉率 | AI 编造事实的比例 | 知识问答、内容生成 |
| 相关性评分 | 输出与用户意图的匹配度 | 搜索、推荐、RAG |
系统性能指标
| 指标 | 说明 | 目标参考 |
|---|---|---|
| 端到端延迟 | 用户请求到完整响应的时间 | < 3-5 秒 |
| 首 Token 延迟 | 开始流式输出的等待时间 | < 1 秒 |
| 吞吐量 | 每秒处理的请求数 | 取决于规模 |
| 每查询成本 | 单次 AI 调用的平均成本 | 持续优化 |
产品业务指标
| 指标 | 说明 |
|---|---|
| 任务完成率 | 用户通过 AI 成功完成目标的比例 |
| AI 结果采纳率 | 用户接受 AI 建议的比例 |
| 编辑率 | 用户修改 AI 输出的比例和程度 |
| 重新生成率 | 用户请求重新生成的比例 |
| AI 功能留存率 | 用户持续使用 AI 功能的比例 |
| 人工干预率 | 需要人工修正的比例 |
评估方法
自动评估
使用代码和规则自动评估 AI 输出:
- 规则检查:格式是否正确、长度是否合适、是否包含禁止内容
- 相似度评分:与标准答案的语义相似度
- LLM-as-Judge:用另一个 LLM 评估输出质量
人工评估
人工标注员对 AI 输出进行评分:
- 建立标注指南和评分标准
- 计算标注员一致性(Inter-Annotator Agreement)
- 定期校准标注标准
红队测试(Red Teaming)
专门测试 AI 系统的安全性和鲁棒性:
- 尝试 Prompt 注入攻击
- 测试极端和边界输入
- 检验安全护栏的有效性
- 验证降级策略的可靠性
评估飞轮
诊断问题 → 构建测试集 → 衡量基线
↑ ↓
← ← 部署改进 ← 优化方案 ←构建步骤
- 定义评估维度:从产品目标出发,确定需要评估什么
- 构建测试集:覆盖常见场景和边界情况的测试数据
- 建立基线:记录当前系统的各项指标
- 持续迭代:每次改进后与基线对比
- 扩充测试集:不断补充新的测试案例
测试集设计原则
- 覆盖高频场景和长尾场景
- 包含已知的失败案例
- 定期更新,反映最新的用户行为
- 保持适当规模(太小不可靠,太大效率低)
工具推荐
| 工具 | 特点 |
|---|---|
| Braintrust | 端到端 LLM 评估平台 |
| DeepEval | 开源评估框架 |
| LangSmith | LangChain 生态的评估工具 |
| 自建评估 | 最灵活,适合特定场景 |