评测框架与基准详解
一句话定义:08 模块讲了"为什么要评估、看哪些指标",本篇讲"用什么工具、跑什么基准"——把评估从方法论落成可执行的工程。
1. 评估的两大场景
| 场景 | 目的 | 手段 |
|---|---|---|
| 离线评测(Offline) | 发布前回归、对比模型/提示 | 评测集 + 框架自动打分 |
| 在线评测(Online) | 真实用户反馈、A/B | 埋点 + 业务指标 |
2. 主流评测框架
Ragas(RAG 评测首选)
- 指标:faithfulness(忠于上下文)、answer relevancy、context precision/recall。
- 无需人工标注,LLM-as-Judge 自动算分。
- 适合 RAG/Agent 知识类任务(配合 13.07)。
DeepEval(通用 LLM/Agent 评测)
- 指标丰富:G-Eval、 hallucination、toxic、RAGAS 类、自定义。
- 支持"单元测试"式写法:
assert test_case.score > 0.7。 - 可生成评测集、做回归对比。
PromptFoo(提示/模型对比 + 红队)
- 面向提示与模型对比:同一批 case 跑多版本提示/模型,diff 报告。
- 内置红队(red teaming)探测越狱/不安全输出。
- 适合 A/B 选提示、选模型。
其他
- LangSmith / Langfuse Datasets:把线上 trace 转评测用例,做回归(见 13.04)。
- Inspect / OpenAI Evals:研究/通用 eval 脚本。
- Giskard / Arthur:偏偏置/安全的评测。
3. 关键 Agent 基准(Benchmarks)
| 基准 | 测什么 | 特点 |
|---|---|---|
| SWE-bench | 真实 GitHub issue → 修代码(PR) | 代码 Agent 标杆 |
| τ-bench (Tau-bench) | 用户+工具交互的任务(客服/零售) | 测工具调用 + 状态保持 |
| AgentBench | 多环境(OS/DB/Web/游戏)综合 | 早期多能力基准 |
| WebArena / MiniWoB++ | 网页操作任务 | 浏览器 Agent |
| GAIA | 需多工具+推理的现实问题 | 通用 Agent 难度高 |
| HumanEval / MBPP | 代码生成单函数 | 基础代码能力 |
| MMLU / GPQA | 知识/推理 | 模型底层能力 |
选型:代码 Agent 看 SWE-bench;工具交互看 τ-bench;浏览器看 WebArena;综合能力看 GAIA。
4. LLM-as-Judge(用模型当裁判)
- 用强模型给弱模型输出打分(相关性、正确性、安全性)。
- 要点:
- 给 Judge 明确评分 rubric(维度 + 分值),否则不稳定。
- 多 Judge 或"Judge + 人工抽检"降低偏差。
- 防"相互放水":Judge 与生成模型解耦(见 13.01 Evaluator-Optimizer 风险)。
- 关联:08 模块已列 LLM-as-Judge 为评估方式之一。
5. 评测集(Eval Set)工程
- 构建:从线上 bad case + 人工构造,覆盖正例/边界/异常。
- 回归:每次改提示/工具/模型后跑全量,diff 报告。
- 分层:单步(工具选择准确率)+ 端到端(任务成功率)都要有。
- 关联:11 模块"评测集作为质量门"、13.04 LLMOps 闭环。
6. 反模式
- ❌ 只测单步指标,忽略端到端成功率(08 模块已强调)。
- ❌ 评测集万年不变,无法发现行为漂移。
- ❌ 用同一个模型既生成又裁判,互相放水。
- ❌ 无 rubric 的"请打分",结果不可复现。
7. 学习要点
- 离线用框架(Ragas/DeepEval/PromptFoo)自动跑,在线看业务指标。
- 基准按场景选:SWE-bench(代码)、τ-bench(工具)、WebArena(浏览器)、GAIA(通用)。
- LLM-as-Judge 要配 rubric + 多裁判,防偏差。
- 评测集是质量门,需持续回归。
8. 参考资料
- Ragas / DeepEval / PromptFoo 官方文档
- SWE-bench / τ-bench / WebArena / GAIA 论文
08-评估与调试、13-进阶与工程化/04-可观测性与LLMOps
评论
评论加载中…