智能体评估

本文档介绍了如何使用智能体评估来衡量和提升智能体的性能、安全性和质量。

如需详细了解模型评估,请参阅 Gen AI Evaluation Service 概览。

过程摘要

阶段 活动 目标
设计 定义评估案例 指定智能体任务和预期结果。
执行 运行推理 生成真实或模拟的对话轨迹。
评分 计算指标 使用自动化评分器(任务成功率、安全性)对跟踪记录进行评分。
优化 优化智能体 提出并验证对指令或工具的改进。

评估流程

评估遵循结构化的迭代工作流:

  1. 定义评估案例:评估案例是定义智能体任务的规范。一个评估用例可以包含一个或多个对话步骤、对话上下文(代理的状态),以及用于在推理期间模拟用户回答的规范。
  2. 运行推理:推理是指执行评估用例。如果评估用例包含对话方案,则在推理期间会模拟用户回答。
  3. 生成跟踪记录:每次推理运行都会在跟踪记录中捕获智能体的行为。跟踪记录是智能体行为的真实、不可变记录,包括模型输入、回答和工具调用。
  4. 计算指标:指标是使用预构建或自定义评分器为每个跟踪记录计算的分数。某些指标(例如完全匹配)是基于参考的,需要包含参考答案的评估用例。其他指标(例如实用性)则不依赖参考,而是单独评估跟踪记录。通过这种自动化评估,您可以对从生产流量或外部日志中捕获的跟踪记录进行评分,而无需依赖托管式测试环境。
  5. 进行分析:分析指标、评分标准和判定结果,找出智能体的主要问题,将智能体问题与测试用例联系起来,并生成改进建议。
  6. 优化代理:使用优化功能管理整个评估周期。此自动化流程会分析结果,向智能体提出改进建议,并反复重新运行该流程,以验证性能提升情况。

评估工作流

您可以在工作流的两个主要阶段集成评估:

  • 本地开发迭代:在本地评估基于智能体开发套件 (ADK) 的智能体,以便快速迭代提示词工程和工具配置。
  • 已部署智能体评估:通过分析历史轨迹或针对智能体端点运行合成基准测试,衡量已部署智能体的质量。

核心功能

即使没有现成的测试数据,智能体评估也能帮助您构建初始评估套件。以下功能有助于自动生成测试用例并优化智能体系统:

  • 场景生成和用户模拟:根据智能体的指令和工具定义,自动生成多样化的多轮合成测试场景。通过这种自动化,您无需手动编写初始测试用例,即可立即开始测试。

  • 环境模拟:拦截特定工具调用,以注入自定义行为、模拟数据或模拟错误(例如 HTTP 503 错误或延迟时间峰值)。通过此模拟,您可以验证代理弹性,而不会影响生产后端。

  • 多轮评估:使用多轮自动评估器自动评估整个对话历史记录。这些评估器会分析意图提取、动态生成评分准则,并提供客观的验证结论,以帮助确保模型遵循指令。

  • 提示优化:使用提示优化功能,以编程方式生成和验证经过优化的系统指令。优化框架会识别故障点,并以迭代方式提出有针对性的更新。

使用 AI 编码辅助进行评估

如果您使用 Gemini CLI 或其他 AI 编码辅助,则可以安装智能体技能,让助理学习本页面中介绍的智能体评估方法。每项技能都会直接在编码会话中提供评估工作流、数据集架构、指标选择指南和失败分析步骤,因此您的助理无需离开编辑器即可构建、评分和改进评估。

每个技能后面都有安装说明。

Agents CLI 评估技能

一个由 CLI 驱动的工作流,用于使用 agents-cli eval 命令评估和优化智能体开发套件 (ADK) 智能体。此技能涵盖以下内容:

  • 准备评估数据集并使用用户模拟功能合成多轮场景
  • 运行推理、对轨迹进行评分以及分析故障集群
  • 通过“评估-修复”循环迭代提示和工具

如需安装 ,请运行以下命令:

npx skills add https://github.com/google/agents-cli --skill google-agents-cli-eval

Agent Platform GenAI Evaluation Service 飞轮技能

一个由 SDK 驱动的 playbook,旨在通过 Gemini Enterprise Agent Platform GenAI Evaluation Service,使用 Agent Platform GenAI Evaluation SDK (client.evals.evaluate()) 评估和改进模型和智能体。此技能涵盖:

  • 通过会话跟踪记录、DataFrame 或合成生成构建评估数据集
  • 选择、配置和编写自定义指标,并使用 LLM 作为评判者进行评分
  • 分析评分标准判定结果和损失模式,以推动具体改进

如需安装 ,请运行以下命令:

npx skills add https://github.com/google/skills --skill agent-platform-eval-flywheel

后续步骤