评估智能体

借助此功能,您可以评估 AI 智能体。您可以使用Gen AI Evaluation Service来衡量和提升智能体的性能、安全性和质量。

评估类型

评估类型 使用场景 频率
快速评估 测试新的智能体逻辑或模型更改。 频繁(开发)
测试用例评估 针对特定数据集进行回归测试。 已安排(CI/CD)
在线监控 跟踪生产智能体部署的质量。 持续(生产环境)

评估工作流

您可以使用Google Cloud 控制台Agent Platform SDK 评估智能体。

Google Cloud 控制台

如需为智能体部署运行基本评估,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Agent Platform > Agents 页面。
  2. 在左侧导航菜单中,选择部署 ,然后选择您的智能体。

    转到部署

  3. 选择信息中心 标签页,然后选择评估 子部分。
  4. 点击新建评估
  5. 按照提示定义测试用例并选择指标。
  6. 点击运行评估

如需更详细的指南,请参阅运行离线评估使用在线监控器进行持续评估

Agent Platform SDK

智能体改进工作流基于质量飞轮构建,这是一个由评估、分析和优化组成的持续循环。您可以评估智能体的性能,分析结果以识别失败集群,然后优化提示或配置以解决这些问题。此迭代过程有助于您主动检测和解决性能差距。

准备工作

  1. 安装 Agent Platform SDK 以及所需的扩展程序:

    pip install google-cloud-aiplatform[adk,evaluation]
  2. 初始化 Agent Platform SDK 客户端:

    import vertexai
    from vertexai import Client
    
    client = Client(project="YOUR_PROJECT_ID", location="YOUR_LOCATION")

    其中:

    • YOUR_PROJECT_ID:您的 Google Cloud 项目 ID。
    • YOUR_LOCATION:您的云区域,例如 us-central1

1. 定义评估用例(用户模拟)

您可以使用用户模拟 功能,根据智能体的说明生成合成的多轮对话方案,而无需手动编写测试用例。

# Generate scenarios from agent info
eval_dataset = client.evals.generate_conversation_scenarios(
    agent_info=my_agent_info,
    config={
        "count": 5,
        "generation_instruction": "Generate scenarios where a user asks for a refund.",
    },
)

如需了解详情,请参阅 Agent Platform SDK 参考文档

2. 运行推理

针对智能体执行评估用例,以捕获跟踪记录

# Generate behavior traces using a multi-turn user simulator
traces = client.evals.run_inference(
    agent=my_agent,
    src=eval_dataset,
    config={"user_simulator_config": {"max_turn": 5}}
)

3. 计算指标 (AutoRaters)

使用多轮 AutoRaters 对捕获的跟踪记录进行评分。这些标注者会分析完整的对话历史记录,以验证说明遵循情况和工具使用情况。

# Evaluate the traces using multi-turn metrics
eval_result = client.evals.evaluate(
    traces=traces,
    metrics=[
        "MULTI_TURN_TASK_SUCCESS",
        "MULTI_TURN_TOOL_USE_QUALITY"
    ]
)

4. 进行分析(失败集群)

系统会自动将失败的评估分组到损失集群 中,以识别关键智能体问题。

# Identify the top failure patterns in the results
loss_clusters = client.evals.generate_loss_clusters(eval_result=eval_result)

5. 优化智能体

最后,使用 Optimizer 服务以编程方式根据失败数据优化智能体的系统说明或工具说明。

# Automatically refine the system prompt to fix identified issues
optimize_result = client.optimizer.optimize(
    targets=["system_prompt"],
    benchmark=eval_result,
    tests=eval_dataset
)

后续步骤