評估服務專員

這項功能可讓您評估 AI 代理。您可以運用 Gen AI Evaluation Service 評估及提升代理程式的效能、安全性和品質。

評估類型

評估類型 用途 頻率
快速評估 測試新的代理程式邏輯或模型變更。 頻繁 (開發)
測試案例評估 針對特定資料集進行迴歸測試。 已排定時間 (CI/CD)
線上監控 追蹤生產環境代理程式部署作業的品質。 Continuous (正式環境)

評估工作流程

您可以使用 Google Cloud 主控台Agent Platform SDK 評估代理。

Google Cloud 控制台

如要執行代理部署的基本評估,請按照下列步驟操作:

  1. 在 Google Cloud 控制台,前往「Agent Platform」>「Agents」頁面。
  2. 在左側導覽選單中,選取「部署」,然後選取您的代理程式。

    前往「Deployments」(部署作業) 頁面

  3. 選取「資訊主頁」分頁標籤,然後選取「評估」子區段。
  4. 按一下「New Evaluation」(新增評估)
  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)

使用多輪 AutoRater 為擷取的追蹤記錄評分。這些評估人員會分析完整的對話記錄,確認是否遵循指示及使用工具。

# 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
)

後續步驟