跳到正文

Agent/RAG 评估体系怎么搭?

涵盖评估指标、测试方法及实际挑战,构建完整评测方案

原题:请设计一套完整的评估体系来衡量一个智能Agent或RAG(检索增强生成)系统的性能,包括评估指标、测试方法及实际挑战。

评估与监控 · 安克科技真题

30 秒回答

  1. 区分RAG和Agent的不同评估维度(检索质量vs工具调用/规划能力)
  2. 覆盖客观指标(准确率、召回率)和主观指标(有用性、无害性)
  3. 提及自动化评估与人工评估的结合
  4. 指出实际落地中的挑战(评测数据构建、动态环境、成本权衡)

回答与解析

答案要点

  • 区分RAG和Agent的不同评估维度(检索质量vs工具调用/规划能力)
  • 覆盖客观指标(准确率、召回率)和主观指标(有用性、无害性)
  • 提及自动化评估与人工评估的结合
  • 指出实际落地中的挑战(评测数据构建、动态环境、成本权衡)

一、RAG系统评估体系

检索模块指标

  • Recall@K:正确答案在Top-K检索结果中的比例
  • MRR(平均倒数排名):正确答案排名的倒数均值
  • Context Precision:检索片段中相关信息的比例

生成模块指标

  • Faithfulness:生成内容是否忠实于检索文档(可用NLI模型自动判断)
  • Answer Relevance:答案与问题的相关性(可用BERTScore或人工打分)
  • Hallucination Rate:虚构信息比例,可用RAGAS等框架自动检测

端到端指标

  • Exact Match / F1:与标准答案的匹配度
  • 人工评估:有用性、完整性、简洁性(1-5分制)

二、Agent系统评估体系

核心能力维度

维度 指标 评估方式
规划能力 任务完成率、步骤合理性 轨迹对比、人工判断
工具调用 工具选择准确率、参数正确率 模拟环境+日志分析
推理能力 多跳推理成功率 复杂问答数据集
自主性 是否过度求助/擅自行动 场景注入测试

动态评估方法

  • 模拟环境测试:在沙箱中执行,监控中间状态
  • 对抗测试:注入干扰信息、工具故障、模糊指令
  • 多轮一致性:长对话中记忆和状态的保持

三、实际挑战与应对

关键难点

  1. 评测数据构建:真实场景数据稀缺,需结合合成数据+人工标注
  2. 动态环境不可复现:Agent行为随机性强,需多次采样取统计指标
  3. 指标与用户体验GAP:高分≠好用,必须引入真实用户反馈闭环
  4. 成本权衡:完整人工评估太贵,采用"自动筛选+人工抽检"分层策略

落地建议:先定义关键用户旅程(CUJ),针对高频场景建立轻量级监控看板,再逐步扩展覆盖度。

口语版讲法(约4分钟)

  • 一句话定位:这道题本质在问怎么衡量系统好不好用
  • 边界划分:RAG侧重检索质量,Agent侧重工具调用和规划,实际常混用
  • 核心指标:RAG看Recall@K和Faithfulness,Agent看任务完成率和对抗测试
  • 落地挑战:评测数据难构建、环境动态不可复现、指标和体验有Gap
  • 工程师取舍:轻量监控+人工抽检,先盯关键用户旅程

这道题其实是在问,你怎么知道搭出来的东西好不好用,对吧?我会从RAG和Agent两个方向分别讲,因为它们衡量的侧重点不一样。RAG主要看检索质量,比如用户问个问题,你是不是把相关文档捞出来了;Agent更看工具调用和规划能力,比如它能不能正确调API、多步推理对不对。但真正落地,很多系统是RAG和Agent混在一起的,比如一个客服助手既要查知识库又要调订单接口,所以评估也得结合起来。

先说RAG。检索模块我重点看 Recall@K 和 MRR,也就是正确答案在前K个结果里有没有、排得靠不靠前。生成模块最核心的是 Faithfulness,就是生成内容是不是忠实于检索到的文档,别自己瞎编。这个我会用NLI模型自动判,比如RAGAS框架。还有Hallucination Rate,就是虚构信息的比例。端到端的话,人工打分看有用性、简洁性,但成本高,一般自动筛一遍再人工抽检。

Agent这边,核心能力包括规划、工具调用、推理和自主性。规划能力我主要看任务完成率和步骤合理性,比如让Agent处理一个退款,它是不是先查订单状态再调退款接口,步骤顺序对不对。工具调用看工具选择准不准、参数填得对不对。我会在模拟环境里跑,比如沙箱里模拟订单系统、库存系统,然后监控中间状态。对抗测试也很关键,比如故意给模糊指令、让工具报错,看Agent会不会卡住或者乱来。

实际落地的挑战,我碰到的有几个。先看评测数据构建,真实场景数据稀缺,得靠合成数据加人工标注,但合成数据容易偏离真实分布。然后看动态环境不可复现,Agent行为有随机性,同一个问题跑两次结果可能不一样,所以得多次采样取统计指标。另外还要看指标和用户体验有Gap,比如Recall高但用户觉得答案啰嗦,所以必须引入真实用户反馈闭环。成本权衡也挺头疼,完整人工评估太贵,我一般用自动筛选加人工抽检的分层策略。

这里有个延伸点,就是 多轮对话场景下,记忆和状态的一致性怎么评估。比如用户先问“我的订单号是123”,Agent记住了,下一句问“它到哪了”,Agent能不能正确关联。这个比单轮评测复杂得多,目前业界也没特别成熟的方案。

所以总的来说,我会先把 关键用户旅程 定义清楚,比如高频的退换货场景,然后针对这些场景建立轻量级监控看板,比如Faithfulness、任务完成率,再逐步扩展。如果指标和体验对不上,我更倾向信人工反馈而不是自动分数。毕竟系统是给人用的,不是刷榜的。

关键一句:多轮对话场景下,记忆和状态的一致性评估比单轮复杂得多,业界还没成熟方案。

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设你负责一个电商客服Agent,用户问“我的订单到哪了”,Agent去查物流,然后用户又说“那帮我改地址”。你怎么衡量这个Agent做得好不好?从检索到工具调用,整套评估怎么搭?

  2. 问法 2 · 层层追问

    RAG或者Agent系统的效果,你觉得怎么评估才全面?……除了准确率这些自动指标,还有哪些维度需要看?……那这些指标实际落地的时候,比如数据怎么来、环境不稳定,有什么坑?

  3. 问法 3 · 直球架构

    设计一套完整的评估体系,用来衡量RAG或智能Agent系统的性能。需要包含哪些指标?测试方法怎么设计?实际落地中最大的挑战是什么?

同模块相关题目