LlamaIndex 系列【43】基础概念:基准测试(Benchmark)和评估(Evaluating)

文章目录

  • 1. 基准测试
    • 1.1 是什么
    • 1.2 AI 领域
      • 1.2.1 大模型本身
        • 1、能力基准
        • 2、性能基准
      • 1.2.2 应用基准
  • 2. 评估(Evaluating)
    • 2.1 是什么
    • 2.2 RAG 评估两大模块
      • 2.2.1 检索层评估(Retrieval)
      • 2.2.2 生成层评估(Generation)
    • 2.3 评估方式
      • 2.3.1 人工评估
      • 2.3.2 自动化评估(LLM Judge)
    • 2.4 典型工具清单

1. 基准测试

评估和基准测试是LLM开发中的关键概念。要改进一个LLM应用(RAG、Agent),必须先有衡量它的方法。

1.1 是什么

基准(Benchmark)是人为选定的稳定参照依据,作为衡量、比较、评估其他对象的共同标尺。它是一个通用概念,在不同领域叫法、形态不一样,但核心逻辑完全一致:没有基准,就没法比较、衡量、评判。

基准测试(Benchmark)是用一套标准、可复现的测试,去衡量一个系统 / 组件的性能,拿到量化指标,用来对比、评估好坏。

基准测试最早出现于测绘学里的水准基点标记,以前测绘人员在岩石、墙面上凿一个标记点,这个点的海拔高度已经精准测好了,是一个固定不动的参照点。

测别的山、楼房高度时,都从这个点开始算高差。

1960年代引入计算机领域,计算机工程师借用了这个词的思想,换成一套固定不变的计算任务,作为标尺,测出数字,对比计算机性能。

1.2 AI 领域

基准测试是一套标准化、可复现的评测任务集,在相同条件下对多个LLM或系统进行测试,产出可比分数,用于横向对比基础能力。

类型评测对象回答的问题典型指标
LLM 底座能力基准裸大模型模型本身会不会推理、懂不懂知识MMLU准确率、GSM8K正确率
推理性能基准模型推理服务推理跑得有多快、资源消耗tokens/s、TTFT、显存占用、P99延迟
LLM 应用基准LLM搭建的整套应用/Agent/RAG系统这套系统能不能完成真实业务任务Pass@1、任务完成率、每任务成本、幻觉率

1.2.1 大模型本身

1、能力基准

最常说的大模型Benchmark,测效果,标尺:固定评测数据集、题目、打分规则,看模型能不能把任务做对

例如,DeepSeek V4.1-Flash-1017的官方Benchmark横向评测:


每一行Benchmark(基准)含义:

Benchmark评测目标简要说明
HLE (w/o tools)高阶推理(无工具)Hardest-Long-Extrapolation,高难度长程推理题,不允许调用工具,考验原生推理能力;*标注代表仅文本子集
Terminal-Bench 4.0终端Shell Agent让模型操作Linux终端、执行命令、排查环境、完成系统任务;使用Claude Code评测框架
DeepSWE v1.1真实软件工程Agent长周期代码修复基准,在真实代码仓库里改bug、修复PR;比SWE-bench更难,无数据泄露;使用Mini-SWE-V2框架
ProgramBench独立脚本/小程序生成根据需求生成可直接运行的独立程序
NL2Repo-Bench自然语言生成完整代码仓库一句话需求 → 输出一整个项目仓库结构、多文件工程
Automation-Bench V1.0.6自动化工作流Agent多步骤自动化任务编排、工具链式调用
Agents’ Last Exam通用综合Agent任务混合类型复杂智能体任务,多轮规划、决策
Apex Bench v1.1高阶复杂Agent规划高难度长任务规划、多工具组合调度
Chartography (w/tools)绘图Agent(带工具)调用绘图工具,根据需求生成图表
BabyVision (w/tools)视觉+工具多模态Agent看图理解 + 调用工具完成任务
ZeroBench-main (w/tools)零样本工具Agent零样本调用陌生工具,表内是Pass@5指标
2、性能基准

标尺:一套固定输入Token、并发负载,测硬件 + 推理引擎的表现

指标:TTFT首token延迟、token吞吐tokens/s、显存占用、P99延迟、并发上限

工具:vLLM benchmark、lmperf、TensorRT-LLM评测脚本

只有少数开源底座厂商,在官方文档放标准化、固定环境的推理性能,比如Qwen:

测试对象:Qwen3-0.6B,推理引擎:SGLang,单卡GPU

表头字段解释:

字段含义
Model模型:Qwen3-0.6B
Input Length输入上下文长度(输入token数):1 / 6144 / 14336 / 30720
Quantization量化精度:BF16、FP8、GPTQ-Int8
GPU Num使用GPU卡数量,这里全部是单卡 1张GPU
Speed (tokens/s)生成吞吐:每秒输出token数量,这个是推理性能核心指标,越高越快

1.2.2 应用基准

一套标准化评测集、任务流程与打分规则,用来评测由大模型+检索/工具/规划/业务逻辑共同组成的整套应用系统,而非单独评测LLM底座本身。

它的标尺不是裸模型答题正确率,而是完整应用链路能不能完成端到端业务目标。

例如,GAIA就是一套标准化评测集、任务流程、打分规则,用来测整套Agent应用系统,不是单独测LLM底座。

GAIA一共466道真实世界任务题,分成3个难度等级(Level1/Level2/Level3),举一道GAIA风格样题:

去指定网页下载一份CSV销售表格,筛选2024年Q3数据,算出所有商品销售额总和,输出这个数字。

要完成它,Agent整套链路:

  1. 规划步骤
  2. 调用网页浏览工具下载文件
  3. 调用代码执行工具读取、筛选 CSV
  4. 求和计算
  5. 输出最终答案

统一打分规则:标准答案、自动校验脚本官方提前写好;满足输出要求 →Pass,不满足 →Fail,计算Pass@1。

可以查看 GAIA 官方唯一在线排行榜:

Ops-Agentic-Search-2.0(阿里云OpenSearch团队开发)以93.69%的准确率(Average score)取得GAIA Test榜单Top 1。

2. 评估(Evaluating)

2.1 是什么

评估,是对大模型、RAG、Agent等LLM相关系统的输出效果、能力、风险进行检验、度量与判定的统称,用来回答这套系统好不好、能不能满足业务目标。

评估是一个宽泛的上位概念,形式灵活,数据集、评判规则可按需自定义,不一定用于跨方案横向对比。其中基准测试(Benchmark)是评估的一个子集

RAG是流水线:用户提问 → 检索知识库片段 → 把片段 + 问题丢给LLM→ 输出答案。

只看最终答案好不好,很难定位问题:是向量库分块 /Embedding不行?还是LLM自己乱编?

RAG评估是对检索增强生成(RAG)整条链路做量化质检,分别评估【检索模块】和【生成模块】,判断系统会不会漏资料、会不会瞎编(幻觉)、能不能答准用户问题。

2.2 RAG 评估两大模块

2.2.1 检索层评估(Retrieval)

看有没有拿到正确、够用、靠前的资料块:

  • Context Recall(上下文召回率):回答该问题需要的关键片段,有没有被检索出来(怕漏信息)
  • Context Precision(上下文精确率):返回的Top-K里,有多少是真正有用的(怕塞一堆无关噪声)
  • 传统检索指标:Recall@k、Precision@k、MRR、NDCG@k(看重排序位置)

2.2.2 生成层评估(Generation)

拿到上下文之后,看大模型输出质量,重点防幻觉:

  • Faithfulness(忠实度/事实根植性):答案里每一条陈述,都能在检索上下文找到依据,没有编造、没有和原文矛盾(反幻觉核心指标)
  • Answer Relevancy(答案相关性):答案是不是真的在回答用户问题,而不是跑题、套话、复述问题
  • Answer Correctness(答案正确性):答案和标准答案/事实是否一致
  • Completeness(完整性):有没有覆盖问题所有要点

2.3 评估方式

RAG系统评估分为人工评估与自动化评估(LLM Judge)两类。

2.3.1 人工评估

人工评估由标注人员按照统一打分规范,对样本逐项打分,产出高质量基准数据集,一般用于评估集标注、自动化裁判校准、上线前抽样验收。

评估维度:

  • 检索侧:上下文相关性、是否包含回答所需关键信息、有无冗余无关片段;
  • 生成侧:答案相关性、事实忠实度(幻觉)、答案完整性、表述通顺度;
  • 边界场景:知识库无对应信息时是否合理拒答。

打分规则:采用0~5分制,配套明确打分准则,降低标注偏差;复杂问题采用双人标注 + 分歧仲裁机制。

评估示例:

用户问题:XX Agent平台的会话超时时间默认是多少?
检索上下文:XX Agent平台会话默认超时时间为30分钟,管理员可在租户配置页修改该参数。
RAG输出答案:XX Agent平台会话默认超时时间是30分钟,支持管理员自定义配置。
人工打分:

  • 上下文相关性:5分(检索片段完全匹配问题)
  • 事实忠实度:5分(无编造,全部来自原文)
  • 答案相关性:5分(直接回答问题)
  • 答案完整性:5分(覆盖要点)
    标注结论:合格

反例(幻觉样例):

用户问题:XX Agent平台的会话超时时间默认是多少?
检索上下文:XX Agent平台会话默认超时时间为30分钟,管理员可在租户配置页修改该参数。
RAG输出答案:XX Agent平台会话默认超时时间是60分钟,用户个人可以在个人中心修改。
人工打分:

  • 事实忠实度:1分(数值错误、修改入口编造,存在幻觉)
    标注结论:不合格

2.3.2 自动化评估(LLM Judge)

自动化评估(LLM Judge)即使用独立的大模型充当裁判模型,基于预设评估Prompt,自动对检索上下文与生成答案进行打分,是RAG迭代过程的主流方案。

评估维度:

  • 检索指标:上下文召回率、上下文精确率;
  • 生成指标:答案相关性、事实忠实度、答案完备性;
  • 辅助指标:是否存在幻觉、是否出现越界编造。

实现方式:

  • 基于Ragas、LangFuse、Truelens等框架封装评估链路;
  • 隔离Judge模型与生成模型,避免同模型自判带来的偏差;
  • 输出0~1区间分数,支持批量跑实验、对比不同Embedding、分块策略、TopK、Prompt效果。

评估示例:

Judge评估Prompt(传给裁判模型):
你是RAG评估裁判,请依据【问题】、【检索上下文】、【模型答案】,按0-1打分:
忠实度:答案里所有事实陈述,必须能在上下文找到依据,不能编造。
相关性:答案是否针对问题作答,不跑题。
完整性:是否覆盖问题需要的全部关键信息。
输出格式:{“faithfulness”:分数,“relevancy”:分数,“completeness”:分数,“reason”:“理由”}
【问题】:XX Agent平台的会话超时时间默认是多少?
【检索上下文】:XX Agent平台会话默认超时时间为30分钟,管理员可在租户配置页修改该参数。
【模型答案】:XX Agent平台会话默认超时时间是30分钟,支持管理员自定义配置。
Judge返回结果:
{“faithfulness”: 1.0,“relevancy”: 1.0,“completeness”: 1.0,“reason”:“答案全部来自上下文,准确回答问题,关键信息无遗漏,不存在幻觉”}

反例(幻觉样例Judge输出)

{“faithfulness”: 0.2,“relevancy”: 0.8,“completeness”: 0.4,“reason”:“超时时间60分钟和修改入口在原文不存在,属于幻觉;虽然主题相关,但关键信息错误,信息不完整”}

2.4 典型工具清单

RAG评估链路包含指标计算、链路追踪、数据集管理、实验对比等环节,常用工具如下:

  • Ragas:面向RAG的专用评估指标库,内置忠实度、相关性、召回率等经典指标,开箱即可批量计算评估分数,是自动化评估最常用组件。
  • LangSmith:LangChain生态配套工具,提供调用链路追踪、样本标注、评测集管理与自动化评估能力,方便调试和对比RAG实验效果。
  • LangFuse:侧重LLM应用全链路观测,支持trace日志查看、评估数据集维护、LLM Judge打分、指标看板,适合线上持续监控RAG质量。
  • LlamaIndex Truelens:LlamaIndex原生生态评估组件,深度适配LlamaIndex检索、查询引擎,可对检索和生成结果做评估、根因分析。