为什么评估重要
与传统软件不同,LLM 应用的输出是非确定性的。你不能只写单元测试——需要系统化评估。
关键指标
- 准确性:输出是否匹配预期答案?
- 相关性:回答是否切题且有用?
- 忠实度:回答是否忠于提供的上下文?
- 毒性:输出是否包含有害内容?
- 延迟:生成需要多长时间?
- 成本:每次请求的成本是多少?
评估方法
- 人工评估:金标准但缓慢昂贵。
- LLM 作为裁判:用强模型(GPT-5、Claude)评分输出。
- 自动指标:BLEU、ROUGE 用于摘要;pass@k 用于代码。
- A/B 测试:用真实用户比较两个版本。
工具
- RAGAS:评估 RAG 管道。
- DeepEval:开源 LLM 评估框架,14+ 指标。
- LangSmith:LangChain 的追踪和评估平台。
- Braintrust:AI 产品评估和可观测性。
最佳实践
- 构建 100-500 个覆盖边界情况的评估数据集。
- 每次提示词变更时运行评估。
- 在仪表板中追踪指标变化。
- 设置质量门禁:分数低于阈值时阻止部署。
构建评估数据集
LLM 评估的基础是高质量测试集。目标 100–500 个样本,覆盖主要用例、边缘情况和失败模式。包括「简单」样本(必须通过)和「困难」样本(已知失败模式)。为每个样本标注期望输出或至少期望行为。
按任务类型的关键指标
- 问答/RAG:精确匹配、F1 分数和 LLM-as-judge(用 GPT-5 按 1–5 分评估相关性、准确性和完整性)。
- 摘要:ROUGE-L 衡量重叠度,加上 LLM-as-judge 评估连贯性和忠实度(摘要是否包含原文没有的信息?)。
- 分类:每类的精确率、召回率、F1。同时跟踪混淆矩阵以发现系统性误分类。
- 代码生成:Pass@k(代码是否通过单元测试?),加上人工审查代码风格和可维护性。
自动化与回归测试
把 LLM 评估当作单元测试。每次修改提示词、更新模型或调整配置时都运行评估套件。LangSmith、Braintrust 或自定义 pytest 脚本可自动化此流程。设置质量门禁:任何指标比基线下降超 5% 就阻止变更并调查。