Agent评测平台设计#
一句话答案#
Agent 评测平台的核心是「数据集版本化+多维度评测+发布门禁+回归守护」:用版本化数据集保证可复现,离线评测覆盖准确性/忠实度/工具调用/任务完成度四维,评测结果作为发布门禁阻断劣化版本上线。
核心要点
一、评测平台架构
数据集管理 ──→ 评测引擎 ──→ 结果分析 ──→ 发布门禁
│ │ │ │
版本化存储 多维度评测 统计+可视化 CI/CD集成
标注协议 并行执行 回归检测 阻断/放行
采样策略 成本控制 报告生成 通知告警plaintext二、数据集版本化
数据集结构:
{
"dataset_id": "rag-eval",
"version": "3.2.0",
"created_at": "2026-05-26",
"schema_version": "1.0",
"metadata": {
"domain": "tech-docs",
"annotators": ["annotator_A", "annotator_B"],
"agreement_score": 0.85
},
"samples": [
{
"id": "q001",
"query": "RRF 的 k 参数默认值是多少?",
"category": "factual",
"difficulty": "easy",
"ground_truth": "k=60",
"relevant_docs": ["doc_123", "doc_456"],
"expected_tools": ["knowledge_search"],
"metadata": {"source": "manual", "reviewed": true}
}
]
}json版本管理原则:
| 操作 | 版本变更 | 示例 |
|---|---|---|
| 新增样本 | minor (3.2→3.3) | 扩展数据集 |
| 修正标注 | patch (3.2.0→3.2.1) | 修复错误答案 |
| 修改 schema | major (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, Relevance | LLM-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七、现成评测框架与平台(2026-09 现状)
自建平台前先看现成工具能覆盖多少,通常是「开源框架跑评测 + 可观测平台存结果」:
| 工具 | 类型 | 适合 |
|---|---|---|
| Langfuse | 开源(核心 MIT)可观测 + 评测平台 | Trace 上挂 score、数据集与实验管理、线上抽样打分;2026-01 被 ClickHouse 收购,官方称继续开源可自托管 |
| LangSmith | 商业平台(LangChain 官方) | LangChain/LangGraph 项目最顺手,也支持 OTel 接入其他框架 |
| Arize Phoenix | 开源(ELv2)追踪 + 评测 | 基于 OpenTelemetry/OpenInference,数据集、实验、LLM 评估器 |
| Braintrust | 商业评测平台 | 数据集、实验对比、线上日志打分一体(能力以官方文档为准) |
| promptfoo | 开源(MIT)CLI | 配置文件驱动的 prompt/模型对比和红队测试,易接 CI;2026-03 被 OpenAI 宣布收购,官方称继续开源 |
| DeepEval | 开源(Apache-2.0)Python 框架 | pytest 风格写评测用例,内置 RAG / Agent / G-Eval 等 LLM 指标 |
| Ragas | 开源(Apache-2.0) | RAG 专项指标:Faithfulness、Response Relevancy、Context Precision/Recall 等 |
| Inspect AI | 开源(MIT),英国 AI Security Institute 出品 | 支持工具调用、多轮、模型打分,自带 200+ 现成评测,偏模型能力与安全评测 |
| OpenAI Evals | 开源框架 + OpenAI 平台内置 Evals | 老的 registry 式框架;OpenAI 现在主推在 Dashboard / API 里直接配评测 |
八、公开 Agent 基准(做选型参考,不能替代自建评测集)
| 基准 | 测什么 | 现状要点 |
|---|---|---|
| SWE-bench Verified / Pro | 真实 GitHub issue 修复 | Verified 为 500 道 Python 题;OpenAI 2026-02 宣布不再报告 Verified(测试缺陷 + 训练数据污染,已饱和),推荐 Scale AI 的 SWE-bench Pro(1,865 题、41 个仓库) |
| τ-bench / τ²-bench(Sierra) | 工具 + 模拟用户多轮对话(客服场景) | 领域有 airline / retail / telecom / banking_knowledge;2026-07 的 v1.0.1 修了评分,新旧版本分数不可比 |
| GAIA | 通用助手:检索、多模态、工具组合 | 分三个难度等级,答案短、可精确匹配 |
| OSWorld / OSWorld-Verified | 操作真实桌面和 Web 应用 | 369 个任务,需要虚拟机环境,基础设施最重 |
| BrowseComp(OpenAI,2025-04) | 浏览 Agent 在开放网络找难查的事实 | 1,266 题,短答案精确匹配;头部模型分数已很接近 |
| Terminal-Bench | 命令行环境中完成真实任务 | 每题带 Docker 环境、验证测试和参考解;版本迭代快,引用分数必须注明版本 |
看公开基准分数要注意:Agent 分数受脚手架(harness)影响很大,厂商自报分数和第三方复现常有差距;同一基准不同版本不可比。
面试回答(2分钟版)
Agent 评测平台我设计了四个核心模块。第一是数据集版本化管理,每个数据集有版本号和 schema,新增样本是 minor 版本,修正标注是 patch 版本,保证评测可复现。标注质量通过交叉验证和 Cohen’s Kappa 一致性度量控制。第二是多维度评测引擎,不只看生成质量,还要评检索质量用 Recall 和 MRR、工具调用正确性、任务完成度和安全性。其中 Agent Task Completion 是最难评的维度,简单任务用脚本验证,复杂任务需要 LLM-as-Judge 加人工校准。第三是发布门禁,CI/CD 中集成快速评测和标准评测两级门禁,关键指标劣化超过阈值直接阻断发布。第四是回归检测,逐 query 对比新旧版本找出劣化点,按类别归因是检索问题还是生成问题,用统计检验判断差异是否显著。落地时不必全部自研:评测可以用 DeepEval、Ragas、promptfoo 这类开源框架跑,结果挂到 Langfuse 或 LangSmith 的 trace 上;公开基准像 SWE-bench Pro、τ²-bench 只做模型选型参考,而且要注意版本和污染问题,比如 OpenAI 已经不再报告 SWE-bench Verified。整个平台的核心价值是把”凭感觉调参”变成”数据驱动迭代”。
追问与易错
追问方向:
- “LLM-as-Judge 有什么偏差?”→ 位置偏差(偏好第一个答案)、冗长偏差(偏好更长的回答)、自我偏好(偏好自己模型的输出);缓解方法:多次评测取均值、用不同模型交叉评、定期人工校准评分标准
- “评测成本怎么控制?”→ 快速迭代用核心子集(50-100 条代表性用例),全量评测定期跑;LLM 评分先在人工对齐集上验证小模型(各家 mini / flash / turbo 档)是否够用,够用就替代昂贵模型;缓存重复评测结果避免相同输入重复调用
- “数据集多大才够?”→ 取决于置信区间要求。通过率的 95% 置信区间半宽约 1.96×√(p(1−p)/n):通过率 0.8 时,50 条约 ±0.11(只够粗筛),200 条约 ±0.055,要到 ±0.03 需要约 700 条。比较两个版本时用同一批样本做配对检验(逐 query 对比),比单纯堆数量更有效
- “怎么处理非确定性?”→ 同一 query 多次运行(3-5 次)取中位数或均值消除随机波动;设置 temperature=0 减少采样随机性;评测报告附带置信区间而非单一数字
易错点:
- ❌ “单次评测就能下结论”——必须多次运行+统计检验
- ❌ “只评最终答案”——Agent 需要评工具调用序列和中间步骤
- ❌ “人工标注一定准确”——需要一致性度量和仲裁机制
- ✅ 核心思路:可复现(版本化)+多维度(不只看准确率)+自动化(CI门禁)+可归因(回归分析)