跳到主要内容

评估体系

问题

如何系统化评估一个 AI 应用的效果?如何对比不同模型/Prompt 的优劣?

答案

一、评估层次

二、离线评估方法

1. 自动化指标

任务类型指标工具
检索 (RAG)Context Precision, Context RecallRAGAS
生成质量Faithfulness, Answer RelevancyRAGAS / DeepEval
分类Precision, Recall, F1Scikit-learn
代码生成Pass@kHumanEval
翻译BLEU, COMETsacrebleu

2. LLM-as-Judge

const judgePrompt = `
你是一个评估专家。请根据以下标准对 AI 回答评分(1-5 分):
- 准确性:信息是否正确
- 完整性:是否涵盖要点
- 相关性:是否切题

用户问题:{question}
参考答案:{reference}
待评估回答:{answer}

请给出分数和理由,格式:
分数: X
理由: ...
`
LLM-as-Judge 的局限
  • 评估模型本身可能犯错(建议用 GPT-4o 等强模型做 Judge)
  • 存在位置偏差(倾向给第一个选项更高分)
  • 需要与人工评估做对齐校验

3. 人工评估

方法做法成本
盲评隐藏模型名称,人工打分
对比评估A vs B 选优
Elo 排名多模型两两对比,计算 Elo 分中高

三、在线评估

A/B 测试流程

关键在线指标

指标说明
用户满意度点赞/踩比例
任务完成率用户是否达成目标
重新生成率用户点击"重新生成"的频率
对话轮数越少说明效率越高

常见面试问题

Q1: 为什么不能只用 BLEU/ROUGE 评估 LLM?

答案
BLEU/ROUGE 基于 n-gram 匹配,只衡量"与参考答案的字面相似度"。LLM 生成可能用完全不同的措辞表达相同含义,字面分数低但质量高。因此需要语义级评估(LLM-as-Judge、人工评估)。

Q2: 如何建立测试集?

答案

  1. 从真实用户 query 中采样 200~500 条
  2. 覆盖常见/边缘/困难等不同难度
  3. 编写参考答案或验证标准
  4. 定期更新(每月补充新 Case)

Q3: 评估频率应该多高?

答案

  • 每次变更评估:改 Prompt、换模型、更新知识库后必须评估
  • 定期回归评估:每周/每月跑完整测试集
  • 实时监控:在线指标持续采集

相关链接