评估

评估是测试智能体性能并确保其在特定情况下按预期运行的关键工具。 通过评估,您可以自动执行测试,在进行更改后发现回归,并衡量智能体回答的质量,从而提高智能体的质量。

如需开始评估,请点击代理构建器顶部的评估按钮。

评估概念

测试用例:每个测试用例都是一个特定的独立测试场景或提示,旨在评估代理的性能。您可以创建两种不同类型的测试用例:

  • 场景:一项 AI 赋能的功能,可用于引导测试并确保全面的测试覆盖率。 您描述用户的目标,系统便会自动模拟用户并生成对话,以测试智能体能否稳健地应对相应场景。 情景是一种有用的实验方式,有助于定义理想对话。
  • 黄金:非常适合回归测试。您提供特定的“理想”对话路径,评估会检查智能体的行为(包括工具调用)是否与该理想路径一致。

运行:评估运行是指针对您要测试的代理的性能,完整执行一组黄金测试用例和场景测试用例的单个过程。 每次运行可以包含一个或多个测试用例。

结果:测试用例结果是指在一次运行中对特定测试用例的单次执行。如果某个测试用例在单次评估运行期间多次运行(例如,为了检查一致性、不稳定性等),则每次单独的执行都是一个单独的结果。结果以矩形图标的形式显示在每个测试用例行的列中,如果运行失败,则显示红色 X;如果运行成功,则显示绿色对勾标记。

标记:测试用例可以按标记分组,以便更轻松地进行管理。

创建测试用例

如需为代理创建和访问测试用例,请点击代理构建器顶部的评估按钮。您可以创建和管理基于黄金或场景的测试用例。

场景

基于场景的测试用例会使用 AI 根据您定义的高级用户目标自动生成各种对话。对于这些测试用例,您无需提供具体的标准对话,而是选择生成的场景或描述必须测试的具体场景。这是一个强大的工具,可帮助您探索极端情况并测试智能体的稳健性,而无需手动编写每种可能的对话路径。

在这些场景运行良好后,您可以将它们保存为黄金对话。

如需创建方案,请执行以下操作:

  1. 点击创建方案。 系统会为您建议多种方案。
  2. 您可以根据所选内容生成方案,也可以从头开始创建新方案。

查看方案列表时,您可以点击方案来列出每个方案的详细信息和对话列表。

如需将某个场景保存为黄金对话,请执行以下操作:

  1. 选择相应方案。
  2. 点击右上角的菜单按钮。
  3. 选择另存为黄金对话。

场景用户目标

每个场景都有一个用户目标,用于描述最终用户在使用代理应用时的目标。 例如:

Securely book a specific room at a chosen hotel and receive a confirmation.

CX Agent Studio 会根据您的用户目标自动生成用于评估的对话。

方案变量

定义场景时,您可以提供应在场景中使用的变量。

场景预期

为了执行评估,您需要为测试用例定义预期结果。

预期可以是以下两种类型之一:

  • 消息:预期的智能体回答。
  • 工具调用:包含预期输入和输出的工具调用。

预期可以具有以下条件:

  • 必备
  • 不得有
  • 工具调用后
  • 变量值

如需创建预期,请执行以下操作:

  • 点击特定场景即可打开其详细信息。
  • 在预期部分,点击查看全部。
  • 按照界面说明为相应场景创建预期。

Golden

这些测试用例用于定义回归测试的理想对话路径,以便在您更新智能体时,核心关键对话路径不会中断。 您可以通过多种方式创建优质对话:

如需从模拟器导入对话,请执行以下操作:

  1. 使用模拟器开始对话。
  2. 点击模拟器右上角的三点状图标,打开模拟器菜单。
  3. 点击另存为黄金标准。
  4. 输入标准测试用例的名称,然后点击保存。现在,该应用将显示在评估标签页中。

如需根据对话历史记录创建测试用例,请执行以下操作:

  1. 前往评估标签页。
  2. 点击 + 添加测试用例。
  3. 选择金色。
  4. 点击下一步。
  5. 点击从对话记录中选择。
  6. 在随即显示的窗口中,选择要保存为黄金测试用例的对话。您可以选择按对话 ID 进行搜索。
  7. 如果您已启用遮盖功能,请先检查代理回答和变量是否已遮盖,然后再继续处理缺失的信息。
  8. 点击 Add(添加)。

如需从头开始创建测试用例,请执行以下操作:

  1. 前往评估标签页。
  2. 点击 + 添加测试用例。
  3. 选择金色。
  4. 点击下一步。
  5. 点击从头开始创建。
  6. 在随即显示的窗口中,为测试用例添加显示名称。
  7. 根据需要添加用户输入和智能体预期结果的文本。点击 + 添加用户输入和 + 添加代理预期,以添加回答。 点击 + 添加对话轮次,向测试用例添加新的对话轮次。
  8. 点击创建,将黄金测试用例添加到测试用例列表中。

如需在场景测试用例中根据模拟对话创建测试用例,请执行以下操作:

  1. 前往评估运行结果页面。
  2. 点击所选对话右侧的菜单图标(三个竖点),然后点击另存为黄金对话。

如需从文件中批量上传测试用例,请执行以下操作:

如需详细了解文件格式和 CSV 模板,请参阅黄金测试用例 CSV 格式页面。

黄金预期

为了执行评估,您需要为黄金测试用例定义预期结果。 预期是指您在对话中的特定时间点对智能体做出的具体结果预期。 在评估期间,系统会将智能体的实际行为与这些预期进行比较。

预期可以是以下类型之一:

  • 消息:智能体向最终用户发送的预期文本回答。评估会检查智能体的回答是否在语义上符合此预期。
  • 工具调用:一种预期,即智能体调用特定工具并获得响应。 您还可以为工具调用指定预期输入实参。
  • 客服移交:一种预期,即智能体将对话转接给人工客服或其他机器人。

如需创建预期,请执行以下操作:

  1. 点击某个黄金测试用例即可打开其详细信息。
  2. 在详细信息部分,点击查看黄金标准。
  3. 按照界面说明添加或修改预期。

评估设置

在测试用例列表的标题行中,您可以配置评估设置:

  • Golden:
    • 黄金通过/失败标准:设置模拟对话是通过还是失败的逻辑。
    • 回合级:这些规则会判断每个单独的回合。 如果未达到任何一个阈值,相应指标将以红色表示,表明失败。
      • 语义相似度:语义相似度的阈值。
      • 工具调用正确性:工具调用正确性的阈值。
      • 幻觉:如果停用,则在通过/失败判定中排除幻觉。
    • 预期水平规则:这些规则用于判断对话轮次中的预期。 如果未达到任何一个阈值,相应指标将以红色表示,表明失败。
      • 工具调用正确性:工具调用正确性的阈值。
    • 黄金运行方法:选择简单重放验证或稳定重放验证。
    • 工具伪造:使用模拟数据,而不是真实的生产 API 调用。
  • Scenarios:
    • 场景通过/失败标准:设置模拟对话是通过还是失败的逻辑。
    • 对话发起者:设置对话发起者,用户或模型。
    • 工具伪造:使用模拟数据,而不是真实的生产 API 调用。
  • 音频评估
    • 音频评估录音

运行评估

如需运行评估,您可以点击测试用例行中的“运行”按钮,也可以选择多个测试用例并运行它们。

如果您已保存多个版本,可以选择要使用的代理版本,也可以自动将草稿代理另存为新版本以供运行。

评估运行后,系统会更新指标并显示结果。

如果您点击某个特定运行评估,则可以查看相应运行的详细结果。除了标准指标之外,还会显示以下指标:

  • 失败的圈数
  • 所有对话轮次详情的分页列表,包括实际的智能体回答和预期的智能体回答。

对于黄金测试用例,您可能会看到“稳定重放”一词,这表明测试是在一致的环境中运行的(即没有上下文/输入变化)。

使用 AI 改进测试用例(预览版)

您可以选择使用 AI 来帮助排查运行问题,并建议改进代理质量的方法。 当运行次数(运行计数)达到 3 次或更多时,AI 建议效果最佳。 如需启用 AI,请选择要评估的测试用例,然后点击 Run selected。在随即显示的窗口中,勾选通过 AI 查找问题旁边的复选框。

运行完成后,您会在结果页面上看到基于 AI 的建议。 Gemini 会自动生成一份可下载的 loss_report,其中总结了智能体的表现,并突出了可以改进的方面。

任何用户都可以查看 AI 建议的修复,但只有发起运行的用户可以根据结果采取行动。

点击 Ask Gemini 与辅助智能体互动。 您首先会看到损失报告,其中说明了模型或代理的高级问题。 您可以让帮助代理解释报告,它会总结报告内容,并可能会建议修复措施。 应用修复后,您可以让帮助代理再次运行评估。

导入和导出

您可以采用 YAML 或 JSON 格式导入和导出评估测试用例、运行和结果。 导入时,请确保接收代理包含导出数据中定义的所有资源(工具、变量和子代理)。

如需导出测试用例,请执行以下操作:

  1. 选择一个或多个测试用例。
  2. 点击导出测试用例。
  3. 选择您所需要的格式。
  4. 系统会下载一个 ZIP 文件。

如需导入测试用例,请执行以下操作:

  1. 点击 + 添加测试用例。
  2. 选择金色。
  3. 点击下一步。
  4. 上传 ZIP 文件。
  5. 如果导入过程中出现任何冲突,系统会引导您如何处理这些冲突。
  6. 点击创建。

如需导出评估运行和结果,请执行以下操作:

  1. 选择一个或多个评估运行。
  2. 点击导出跑步数据。
  3. 选择您所需要的格式。
  4. 系统会下载一个 ZIP 文件。

指标

每个测试用例结果都包含一组指标,用于衡量代理在所选测试用例中的表现。指标在对话轮次级别或预期(对话)级别计算,具体取决于控制台中的指示。

在所有情况下,您都可以在评估标签页的设置菜单中自定义运行通过所需的价值。

工具调用正确性

针对黄金和场景测试用例计算。此指标反映了在给定预期工具调用及其预期参数值的情况下,匹配的预期参数所占的百分比。未命中的工具调用得分为 0,没有输入参数的工具调用(如果存在)得分为 1。如果在黄金评估期间进行了意外的工具调用,结果将被视为失败,但这不会影响工具正确性值。

用户目标达成情况

针对各种场景计算。用户目标达成情况是一种二元指标,专为用户模拟评估而设计。它用于衡量模拟用户是否认为自己实现了目标(0=否,1=是)。输入是模拟用户配置和对话转写中定义的 user_goal。如果提供的 user_goal 未指定明确或隐含的目标,则输出得分为 -1。

幻觉

适用于黄金和场景测试用例。 系统会针对每个生成的对话轮次计算幻觉得分。此指标反映了智能体是否做出了其上下文无法证明的声明(0=否,1=是)。 上下文由对话中的任何先前轮次、会话变量、工具调用和代理指令组成。 此指标仅针对包含工具调用的对话轮次进行计算。 它不会检测工具调用中的幻觉;作为上下文提供的工具调用被假定为正确。 为了最大限度地减少误报,如果回答不包含事实声明或仅包含已确立的常识,该指标可能会返回 N/A 分数。

您可以在评估设置中启用和停用幻觉功能。

语义匹配

针对 golden 测试用例计算。此指标用于衡量观测到的智能体话语与预期智能体话语的匹配程度。语义匹配是在对话轮次级别计算的。返回值范围为 0(完全不一致或矛盾)到 4(完全一致)。

场景预期

针对各种场景计算。此指标用于衡量模拟用户对代理行为的满意度(0 表示不满意,1 表示满意)。支持两种类型的模拟用户期望:

  • 工具调用预期:计算方式与工具调用正确性类似,但有以下例外情况:
    • 结果为 0(否)或 1(是)。
    • 意外的工具调用不会受到惩罚。预期旨在指定一组工具调用,这些调用对于对话满足模拟用户的预期至关重要。
    • 当满足工具调用输入预期时,系统会在运行时拦截该调用并将其替换为模拟返回值。
  • 智能体回答预期:检查对话中的任何智能体回答是否包含预期字符串。

任务完成

针对各种场景计算。任务完成度是衡量对话质量的指标。它共同衡量用户是否实现了目标,以及智能体行为是否正确。其定义如下:

User_Goal_Satisfied AND no_hallucinations_detected AND Expectations Satisfied

角色

角色是模拟的用户角色,您可以自定义这些角色,并将其用于通过场景测试用例进行智能体测试。此功能有助于确保代理在运行时与可能会遇到的人类用户类型进行适当的互动。

如果您未选择角色,系统会为每个方案结果随机选择一个角色。

此功能可用于文本和音频输入。

创建角色

  1. 如需创建角色,请前往评估标签页,然后点击角色管理(位于“设置”图标旁边)。
  2. 点击 + 添加角色。
  3. 在随即显示的菜单中,输入名称、用户个性以及任何其他用户背景信息(例如年龄、位置、来电原因等)。
  4. 点击添加。

如需使用角色运行评估,请执行以下操作:

  1. 返回到主评估页面,然后选择一个或多个情景测试用例。点击运行所选内容。
  2. 在随即显示的窗口中,从角色下拉菜单中选择您刚刚创建的角色,然后点击运行。

评估和爬山算法最佳实践

使用模块化组件构建新代理时,请为每个代理变体创建专用测试用例,例如:

  • 语音和聊天
  • 短信和聊天 SDK
  • 品牌 A、B 和 C,等等

创建其他测试用例,以检查变体间指令泄漏。 例如,聊天专用指令不应显示在以语音模式运行的测试用例中,反之亦然。

确保针对正确的代理运行测试用例:

  • 对于模式(对话与语音)或渠道,针对正确部署运行测试用例可自动确保一致性。
  • 每次部署都封装了模态、所用模型和渠道。
  • 对于构建器定义的变量条件,在运行情形时注入变量值。例如:brand_name == "Cymbal Retail" 或 brand_name == "Acme Corp"。

让您喜爱的编码智能体迭代改进 CX Agent Studio 智能体,直到所有测试用例都达到目标指标或任何其他质量目标。

  • 让编码智能体协调来自不同测试用例的建议更改,这些更改会影响相同的智能体指令。指示它标记棘手的冲突以供人工审核,以便您在需要时提供细致的输入内容。
  • 让编码代理针对所做的更改创建所有代理变体的并排差异比较。 这有助于了解和验证其选择的修复。
  • 根据需要进行迭代。 这些迭代的具体性质将取决于您的 CX Agent Studio 智能体设计、编码智能体设计、所用模型和对话框架。
  • 通过手动验证实际转写内容和结果样本,确保编码代理的结果准确无误。
  • 指示编码智能体从爬山练习中查找缺失的场景,并在适用情况下建议新的测试用例。 根据需要继续迭代。