评测框架与基准详解

一句话定义: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