
# 智能体效果评估与质量提升技巧
传统软件的质量保障依赖确定性的测试用例，测试要么通过要么失败。但大模型的输出具有概率分布特性：同样的问题，两次回答可能用词不同但语义相同；更棘手的是，模型可能给出听起来合理但事实上完全错误的回答（幻觉）。这意味着传统的测试方法在智能体场景下不适用，不是因为智能体答错了，而是因为这种测试方式根本无法衡量语义质量。
AgentArts的评估体系用"大模型裁判"替代固定的测试用例。评估器本质上是"带有评分Prompt的大模型"，能理解语义而非逐字比对，可以判断"回答是否准确"、"是否存在幻觉"、"任务是否完成"。配合线上Trace数据的自动采集和一键回流，平台将"发现问题 → 标注分类 → 回流评测集 → 优化提示词 → 回归验证"这条链路标准化为一套可重复执行的工程流水线。
智能体评测与质量提升流程
```
观测发现问题（调用链分析/评估报告）
         ↓
人工标注分类（幻觉/工具参数错误/Prompt指令弱/知识库缺失）
         ↓
Trace 数据一键回流至评测集（手工修正 output 为标准答案）
         ↓
针对性优化（提示词/知识库/工具描述）
         ↓
基于相同评测集重新创建离线评估任务
         ↓
评估任务对比：确认各维度得分提升且无退化
         ↓
发布新版本上线 → 在线评估持续监测
```
华为云AgentArts官方文档
[评估介绍](https://support.huaweicloud.com/ops-agentarts/agentarts_14_0023.html)
[示例：快速完成一次智能体评估](https://support.huaweicloud.com/ops-agentarts/agentarts_14_0024.html)
[示例：基于离线任务进行评估](https://support.huaweicloud.com/ops-agentarts/agentarts_14_0025.html)
#### 评测集设计
评测集是评估的基础，字段设计决定了评估器能否真正生效。平台默认提供两列：input（输入问题）和reference_output（期望的标准答案）。不同评估目标对字段的要求不同，盲目只用默认两列会导致评估器拿不到必要的数据而无法正确打分。
根据评估目标设计字段：
表1评估器设计说明 
| 评估目的      | 推荐评估器          | 必需字段                                   | 关键说明                                                                     |
|:---|:---|:---|:---|
| 常规问答正确性   | 正确性            | input + reference_output               | 标准两列即可                                                                   |
| RAG知识库防幻觉 | 幻觉现象           | input + reference_output + 自定义context列 | context存放知识库检索召回的原文切片，是幻觉评估器能够生效的关键------没有context，裁判模型没有参考依据，无法判断内容是否编造 |
| 格式/排版检查   | 格式检查           | input                                  | 不需要reference_output                                                      |
| 工具调用规范性   | 工具参数正确性、工具选择质量 | 无需手工构造，使用在线评估自动抓取                      | 工具调用评估推荐直接用在线评估，系统自动从调用链中提取工具相关数据                                        |
   
评测集质量设计原则：每个业务场景至少准备30\~50条数据，覆盖三类题型：
- 正向用例：常规必答题，验证基础能力
- 对抗性用例：测试拒答能力的陷阱题（如越界提问、诱导幻觉的问题）
- 边界题：意图模糊的灰色用例，测试智能体的理解边界
#### 创建评测集
可在AgentArts平台"运营运维 \> 评估 \> 评测集"中创建评测集。
以RAG评测集为例，
配置三列：
- input：String类型，用户的测试问题。
- reference_output：String类型，期望智能体给出的标准参考答案。
- context：String类型，新增自定义列，填入该问题对应的知识库检索原文切片。
评测集数据可通过三种方式添加：
表2评测集数据添加方式 
| 方式     | 适用场景            | 注意事项                           |
|:---|:---|:---|
| 手动添加   | 少量临时数据，验证流程     | 单次最多10条。                       |
| 批量导入   | 已有大量CSV/Excel数据 | 列名和类型须与评测集配置一致。                |
| AI智能合成 | 基于少量种子数据快速扩展    | 仅支持String类型；合成数量建议不超过种子数据的10倍。 |
   
AI智能合成四类典型用途：生产数据快速扩容、弥补长尾场景样本缺口、合成对抗测试样本（探测模型边界）、安全合规红线探测。
数据录入完成后，单击"提交版本"发布评测集，只有已发布的评测集才能在评估任务中使用。版本发布后支持还原历史版本，可导出为XLSX或jsonl格式。
#### 评估器选型
平台提供预置评估器（覆盖大多数通用场景，直接使用）和自定义评估器（按业务需求创建）两类。每个评估任务最多配置5个评估器。
**预置评估器分类**
预置评估器按适用范围分为三组：
- 离线 + 在线均支持（最常用）：正确性、幻觉现象、AI味检查、任务完成度、格式检查、指令遵从度、拒答检测、有用性、有害性、创意性、语种一致性、安全风险漏放、知识问答系列（指令遵循/真实准确/精炼性/便捷性/丰富度）、简洁性、细节丰富度等。
- 仅支持在线评估（工具/轨迹类）：轨迹质量、工具参数正确性、工具选择质量、轨迹-工具参数填充正确性、主题遵从、角色遵从。这类评估器需要深入调用链的中间过程数据，无法通过离线评测集手工构造，必须配合在线评估使用。
- 仅支持离线评估：代码判定类（文本等值判断、文本包含判断、文本正则匹配、文本JSON格式校验、数学表达式相等判断等）；以及轮次相关性、知识保持、对话完整性、参考答案遵从度。
**自定义评估器**
当预置评估器无法满足业务特殊逻辑时，可在AgentArts平台"运营运维 \> 评估 \> 评估器"中自建评估器：
表3自定义评估器类型 
| 类型       | 适用场景                                                                                 |
|:---|:---|
| 模型判定评估器  | 需精细控制评估Prompt；支持单轮和多轮对话（含轨迹类）。                                                       |
| 自适应判定评估器 | 无法编写复杂Prompt；非技术人员快速定义评估标准。 仅单轮；仅离线评估；最多10个评分规则。 |
   
自适应判定评估器的核心价值：输入自然语言规则描述（如"评估回答是否准确覆盖参考答案的核心要点，根据覆盖比例给 0\~1 分"），系统自动生成结构化评估步骤，无需手写Prompt。
#### 离线评估：发布前的质量门禁
操作指导：[示例：基于离线任务进行评估](https://support.huaweicloud.com/ops-agentarts/agentarts_14_0025.html)
离线评估是在发布前通过预设测试集对智能体进行全面检验的机制，适合提示词调整、模型更换、知识库更新后的效果对比验证。
**离线评估的模式**
- 评估智能体（推荐）：将评测集的测试问题逐条发送给智能体，智能体实时运行生成回答，再由评估器打分。适合在每次智能体变更后进行全面效果验证。会同时消耗智能体Token和评估器Token。
- 评估评测集：不运行智能体，直接对评测集中已有的output数据打分。适合已有一批问答数据（来自线上日志回流或人工编写），想用AI批量检验数据质量，或更换评估维度后重新对同一批数据打分。仅消耗评估器Token。
 
#### 在线评估：上线后的持续质量监测
操作指导：[示例：快速完成一次智能体评估](https://support.huaweicloud.com/ops-agentarts/agentarts_14_0024.html)
在线评估无需预先准备评测集，直接基于智能体生产环境的真实Trace数据进行自动采样打分。这是观测和评估体系深度融合的体现：每一次用户真实对话都是潜在的评估数据。
**适合在线评估的场景**
相比离线评估，在线评估特别适合以下三类场景：
- RAG知识库问答：评估幻觉必须同时看到检索召回的context（中间过程数据），离线回流无法获取，但在线评估系统可自动从调用链中提取。
- 工具调用智能体：需评估工具选择准确率和入参规范性，选择"工具"评估粒度，系统深入调用链的工具节点自动抓取数据。
- 持续质量监控：应用上线后实时监测，及时发现提示词退化或知识库覆盖缺口。
 
#### 分析评估报告与BadCase处理
等待评估任务状态变为"成功"后，可查看评估报告。
**评估报告解读**
- 总览：雷达图 + 表格，展示各评估器的平均分/最高分/最低分（分值范围通常 0\~1）。
- 智能分析（需开启）：任务综合得分、存在问题及排行、核心缺陷描述与针对性修改建议。
- 评估器指标：柱状图对比不同任务在同一评估器中的得分。
- 人工标注统计：标注结果归类展示（添加标注后才显示）。
典型问题特征识别：整体正确性得分高但幻觉得分低 → 说明智能体存在编造风险，需优先修复知识库覆盖范围或在提示词中加强"搜索不到结果时必须明确回复不知道"的约束。
**BadCase处理步骤**
第一步：人工校准
- 人工改分：如果评估器打分过严或存在误判，直接修改该条数据的分数，修改后的分数作为"真值"覆盖原始评分并更新统计数据。
- 打标注：为BadCase打上自定义分类标注（如"Prompt指令弱"、"知识库缺失"、"API参数提取错误"），便于团队协作分发和专项复测。
第二步：针对性优化
表4优化方向示例 
| BadCase类型 | 优化方向                                                                |
|:---|:---|
| 幻觉/编造内容   | 检查知识库是否覆盖对应问题；在提示词中补充强约束：当搜索不到结果时，必须明确回复"当前暂未收录该信息"，严禁根据模型内部知识编造答案。 |
| 工具参数提取错误  | 修改插件/MCP工具描述，明确说明参数含义和格式；在提示词中约束工具调用时机和参数提取规则。                      |
| 指令遵循不足    | 在提示词中补充具体的输出格式要求和示例，约束条件用Markdown结构化呈现。                             |
   
第三步：回归测试（评估任务对比）
优化完成后，不要简单地"感觉变好了"就上线。基于同一评测集重新创建一个离线评估任务，与旧版本任务进行横向对比。
在"评估任务"列表中，选择需要对比的任务（最多5个，仅支持离线评估对比，必须基于同一评测集）：
对比报告直接回答两个核心问题：
1. 新版本是否真的更好？ → 总览雷达图对比各评估器得分
2. 优化A能力的同时，B能力是否退化？ → 评估器指标柱状图按维度逐一对比
确认各维度得分提升且无退化后，再决定发布新版本上线。
#### 评测集的数据回流路径
评测集不是一次性的静态文件，而是随智能体持续运营而不断进化的数据资产。AgentArts提供多条回流路径，将"线上实战"持续转化为"测试资产"：
表5回流评测集数据 
| 回流来源      | 操作路径                                | 典型用途                                      | 注意事项                                                                       |
|:---|:---|:---|:---|
| 线上Trace数据 | 调用链分析 → 勾选目标Trace → 添加到评测集 → 配置字段映射 | 将真实BadCase沉淀为测试题。                         | 单次最多200条；回流后必须人工将output改为正确的标准答案，原始output是智能体的错误输出，不能直接作为reference_output。 |
| AI合成数据    | 智能合成任务 → 导出至评测集                     | 基于种子数据快速扩充评测集覆盖度。                         | 平台仅1次额度；合成数量建议不超过种子数据10倍。                                                  |
| 评估结果数据    | 评估任务详情 → 勾选 → 导出                    | 高分数据构建评测集（作为新版本发布前的基准验证）；低分数据构建问题库（专项复测）。 | 支持按得分筛选，精准分拣优。                                                             |
   
上述回流方式均支持创建新评测集或追加至已有评测集（追加或全量覆盖），覆盖后均可通过版本历史还原。
