面试知识库
困难

Agent评测平台设计#

一句话答案#

Agent 评测平台的核心是「数据集版本化+多维度评测+发布门禁+回归守护」:用版本化数据集保证可复现,离线评测覆盖准确性/忠实度/工具调用/任务完成度四维,评测结果作为发布门禁阻断劣化版本上线。

核心要点

一、评测平台架构

数据集管理 ──→ 评测引擎 ──→ 结果分析 ──→ 发布门禁
     │              │            │            │
 版本化存储    多维度评测    统计+可视化   CI/CD集成
 标注协议      并行执行      回归检测     阻断/放行
 采样策略      成本控制      报告生成     通知告警
plaintext

二、数据集版本化

数据集结构:

版本管理原则:

操作版本变更示例
新增样本minor (3.2→3.3)扩展数据集
修正标注patch (3.2.0→3.2.1)修复错误答案
修改 schemamajor (3→4)新增评测维度
删除样本major(破坏性、不兼容)+ changelog移除低质量样本

三、标注协议与质量控制

标注流程:

原始问题 → 标注员A标注 → 标注员B交叉验证

                    一致 → 入库
                    不一致 → 仲裁员裁决 → 入库 + 记录分歧
plaintext

一致性度量:

  • Cohen’s Kappa:两人一致性(>0.6 可接受,>0.8 优秀)
  • Fleiss’ Kappa:多人一致性
  • 单人标注时:诚实披露偏差 + 定期抽检 + 下轮交叉验证

标注规范示例:

维度评分标准
相关性 (0-1)1=完全相关,0.5=部分相关,0=不相关
忠实度 (0-1)1=完全基于检索内容,0=凭空编造
完整性 (0-1)1=回答所有子问题,0.5=部分回答,0=未回答

四、多维度评测

维度评测什么指标方法
检索质量召回的文档是否相关Recall@K, MRR, NDCG对比 ground_truth docs
生成质量回答是否准确完整Faithfulness, RelevanceLLM-as-Judge + 人工抽检
工具调用是否调对工具、参数正确Tool Accuracy, Param F1对比 expected_tools
任务完成度端到端是否达成目标Task Completion Rate人工判断 or 脚本验证
安全是否拒绝恶意输入Rejection Rate注入测试用例
性能延迟和成本P99 Latency, Cost/Query计时 + token 计数

Agent Task Completion 评测(最难的维度):

  • 简单任务:脚本验证(如”查询后返回格式正确”)
  • 复杂任务:人工判断 + 评分标准(“是否完成了用户意图”)
  • 多步任务:检查每一步的工具调用序列是否合理
  • 开放任务:LLM-as-Judge 评分 + 人工校准

五、发布门禁体系

代码合并 → 触发评测 Pipeline

  ├─ 快速评测(5分钟):核心 20 条 query
  │   └─ 任何指标劣化 >5% → 阻断合并

  ├─ 标准评测(30分钟):完整数据集
  │   └─ 关键指标低于 SLO → 阻断发布

  └─ 完整评测(2小时):多次运行+统计显著性
      └─ 用于版本里程碑评审
plaintext

门禁规则示例:

指标门禁条件动作
Recall@5不低于上个版本 -0.03低于→阻断
Faithfulness≥0.80低于→阻断
安全拒绝率100%(adversarial set)<100%→阻断
P99 Latency不高于上个版本 +20%超过→告警
Cost/Query不高于上个版本 +30%超过→告警

六、回归检测

新版本评测结果 vs 基线版本评测结果

  ├─ 逐 query 对比:哪些 query 变好/变差?
  │   └─ 变差的 query → 自动归类(检索劣化/生成劣化/工具调用错误)

  ├─ 分类别对比:哪个 category 整体劣化?
  │   └─ factual 类劣化 → 可能是 BM25/索引问题
  │   └─ reasoning 类劣化 → 可能是 prompt/模型问题

  └─ 统计显著性检验
      └─ paired t-test / bootstrap → 差异是否显著
plaintext
面试回答(2分钟版)

Agent 评测平台我设计了四个核心模块。第一是数据集版本化管理,每个数据集有版本号和 schema,新增样本是 minor 版本,修正标注是 patch 版本,保证评测可复现。标注质量通过交叉验证和 Cohen’s Kappa 一致性度量控制。第二是多维度评测引擎,不只看生成质量,还要评检索质量用 Recall 和 MRR、工具调用正确性、任务完成度和安全性。其中 Agent Task Completion 是最难评的维度,简单任务用脚本验证,复杂任务需要 LLM-as-Judge 加人工校准。第三是发布门禁,CI/CD 中集成快速评测和标准评测两级门禁,关键指标劣化超过阈值直接阻断发布。第四是回归检测,逐 query 对比新旧版本找出劣化点,按类别归因是检索问题还是生成问题,用统计检验判断差异是否显著。整个平台的核心价值是把”凭感觉调参”变成”数据驱动迭代”。

追问与易错

追问方向:

  • “LLM-as-Judge 有什么偏差?”→ 位置偏差(偏好第一个答案)、冗长偏差(偏好更长的回答)、自我偏好(偏好自己模型的输出);缓解方法:多次评测取均值、用不同模型交叉评、定期人工校准评分标准
  • “评测成本怎么控制?”→ 快速迭代用核心子集(50-100 条代表性用例),全量评测定期跑;LLM 评分用便宜的小模型(如 GPT-4o-mini / qwen-turbo)替代昂贵模型;缓存重复评测结果避免相同输入重复调用
  • “数据集多大才够?”→ 取决于置信区间要求:50 条数据可达 ±0.05 CI(粗筛够用),200 条可达 ±0.025 CI(正式评测推荐),统计显著性比数量更重要
  • “怎么处理非确定性?”→ 同一 query 多次运行(3-5 次)取中位数或均值消除随机波动;设置 temperature=0 减少采样随机性;评测报告附带置信区间而非单一数字

易错点:

  • ❌ “单次评测就能下结论”——必须多次运行+统计检验
  • ❌ “只评最终答案”——Agent 需要评工具调用序列和中间步骤
  • ❌ “人工标注一定准确”——需要一致性度量和仲裁机制
  • ✅ 核心思路:可复现(版本化)+多维度(不只看准确率)+自动化(CI门禁)+可归因(回归分析)