摘要:在多模态智能体(Agent)的工程落地中,评测(Evaluation)不仅是分数的比拼,更是系统稳定性的生命线。本章首先梳理了当前主流的公开 Benchmark 版图,帮助开发者进行模型选型;随后,深入剖析了如何从零构建业务专属的“金标准数据集(Golden Set)”,设计分层级的自动化评分器,并将其集成到 CI/CD 流水线中,建立起一套“可观测、可量化、可回归”的质量保障体系。
公开 Benchmark 的主要价值在于模型选型(Model Selection)和能力基线(Capability Baseline)的建立。盲目追求综合高分不仅浪费资源,还可能导致对特定领域缺陷的忽视。我们需要根据 Agent 的应用场景,选择最相关的“标尺”。
此类 Benchmark 主要考察 VLM(Visual Language Model)对图像、图表、文档的感知与逻辑推理能力,是所有多模态 Agent 的基石。
| Benchmark 名称 | 核心考察点 | 适用 Agent 场景 | 局限性/注意事项 |
|---|---|---|---|
| MMMU (Massive Multi-discipline Multimodal Understanding) | 大学水平的多学科知识推理(图表、图示、公式)。 | 文档分析、专家咨询、教育辅导 | 侧重选择题,难以反映 Agent 的“长链条”推理能力。 |
| MMBench | 感知与推理的综合能力,采用 CircularEval 消除猜测成分。 | 通用多模态助手 | 问题相对短小,无法评估长文档处理能力。 |
| DocVQA / InfographicVQA | 针对文档扫描件、海报、信息图的文字提取与问答。 | RPA、票据处理、文档检索 | 必须关注 OCR 的精度与空间位置理解。 |
| MathVista | 视觉环境下的数学推理与计算。 | 数据分析、科学计算 | 对逻辑严密性要求极高。 |
此类 Benchmark 考察模型是否真的能“做事”,即调用 API、规划路径、纠正错误。
| Benchmark 名称 | 核心考察点 | 适用 Agent 场景 | 局限性/注意事项 |
|---|---|---|---|
| GAIA (General AI Assistants) | 概念简单但步骤极繁琐的任务,需精准组合多种工具。 | 个人助理、复杂任务规划 | 它是目前最接近“人类助理”难度的公开测试集,极具参考价值。 |
| AgentBench | 包含 OS、DB、KG 等 8 个不同环境的综合测试。 | 通用作系统 Agent | 环境配置复杂,复现成本较高。 |
| ToolBench | 大规模的真实 API 调用指令遵循与参数填充。 | 插件调度、API 网关助手 | 数据多为合成,可能缺乏真实世界的“脏数据”噪声。 |
| Benchmark 名称 | 核心考察点 | 适用 Agent 场景 | 局限性/注意事项 |
|---|---|---|---|
| SWE-bench | 基于真实 GitHub Issue 的仓库级问题解决(复现+修复+测试)。 | Devin 类编程助手、自动运维 | 黄金标准。必须在 Docker 容器中运行,资源消耗巨大。 |
| HumanEval / MBPP | 函数级的代码生成与补全。 | 代码补全 Copilot | 仅适合测试底座模型的代码语法能力,不足以评估工程 Agent。 |
| Benchmark 名称 | 核心考察点 | 适用 Agent 场景 | 局限性/注意事项 |
|---|---|---|---|
| WebArena / Mind2Web | 真/模拟网站中的端到端任务(购物、预订、表单)。 | 浏览器自动化、订票助手 | 网页 DOM 经常变动,环境维护成本极高。 |
| AndroidWorld | 安卓系统内的跨 App 操作与任务完成。 | 手机端助手 | 依赖模拟器,动作空间较大。 |
公开数据往往存在数据泄露(Contamination)问题,且无法覆盖特定的业务逻辑(如“只能在周一到周五调用退款接口”)。自建 Golden Set 是 Agent 能够上线的必要条件。
构建高质量评测集应遵循优先级从高到低的策略:
一个优秀的评测样本不应只有“输入”和“输出”,而应包含完整的上下文和验证逻辑。
{
"case_id": "refund_policy_001",
"category": "customer_service",
"difficulty": "hard",
"input": {
"user_query": "我上周买的咖啡机坏了,能退吗?",
"context_files": ["policy_2023.pdf"], // 关联的知识库文件
"mock_time": "2023-10-25T10:00:00Z", // 固定时间,防止因时间变化导致测试抖动
"user_profile": {"vip_level": 1} // 用户状态模拟
},
"gold_standard": {
"expected_action_sequence": ["search_policy", "check_order_status"], // 必须调用的工具
"forbidden_actions": ["direct_refund"], // 严禁调用的工具(无权限时)
"key_facts": ["7天无理由", "质量问题30天包换"], // 必须包含的语义点
"required_citation": {"page": 12, "text_snippet": "质量问题..."} // 必须引用的证据
},
"constraints": {
"max_latency_ms": 5000,
"max_tokens": 1000
}
}
人工评测(Human Eval)极其昂贵且不可扩展。我们需要构建一个分级的自动化评分流水线(Scoring Pipeline)。
最佳实践:Pairwise Comparison(成对比较) 不要让 LLM 直接打分(存在方差),而是让它对比
Model_A_Output和Model_B_Output(或者是New_VersionvsBaseline),判断哪个更好。这种方式更接近人类直觉,准确率更高。
You are an expert evaluator for an AI assistant.
[User Query]: {query}
[Context]: {context}
[Gold Standard Answer]: {gold_answer}
[Model Output]: {model_output}
Please evaluate the Model Output based on the following dimensions:
1. **Accuracy**: Does it match the Gold Standard semantically? (Yes/No)
2. **Citation**: Did it cite the correct document/page? (Yes/No/NA)
3. **Hallucination**: Does it contain information NOT present in Context? (Yes/No)
4. **Completeness**: Did it miss any key constraints?
Output a JSON with scores and a brief reasoning.
将评测集成到 DevOps 流程中,是防止 Agent“变笨”的唯一手段。
为了平衡速度与覆盖率,建议将 Golden Set 分为三级:
除了准确率,工程化评测必须关注以下维度的“退化”:
(本章完)