Valutare gli agenti

Questa funzionalità ti consente di valutare gli agenti AI. Puoi utilizzare il servizio di valutazione Gen AI per misurare e migliorare le prestazioni, la sicurezza e la qualità dei tuoi agenti.

Tipi di valutazione

Tipo di valutazione Caso d'uso Frequenza
Valutazione rapida Test della nuova logica dell'agente o delle modifiche del modello. Frequente (sviluppo)
Valutazione dello scenario di test Test di regressione su un set di dati specifico. Pianificata (CI/CD)
Monitoraggio online Monitoraggio della qualità di un deployment di agenti di produzione. Continua (produzione)

Flusso di lavoro di valutazione

Puoi valutare i tuoi agenti utilizzando la Google Cloud console o l'SDK Agent Platform.

Google Cloud Console

Per eseguire una valutazione di base per un deployment di agenti:

  1. Nella Google Cloud console, vai alla pagina Agent Platform > Agenti.
  2. Nel menu di navigazione a sinistra, seleziona Deployment e seleziona l'agente.

    Vai a Deployment

  3. Seleziona la scheda Dashboard e la sottosezione Valutazione.
  4. Fai clic su Nuova valutazione.
  5. Segui le istruzioni per definire gli scenari di test e selezionare le metriche.
  6. Fai clic su Esegui valutazione.

Per guide più dettagliate, consulta Eseguire valutazioni offline o Valutazione continua con monitor online.

SDK Agent Platform

Il flusso di lavoro di miglioramento degli agenti si basa sulla Quality Flywheel, un ciclo continuo di valutazione, analisi e ottimizzazione. Valuti il rendimento dell'agente, analizzi i risultati per identificare i cluster di errori e poi ottimizzi i prompt o la configurazione per risolvere questi problemi. Questo processo iterativo ti aiuta a rilevare e risolvere in modo proattivo le lacune di rendimento.

Prima di iniziare

  1. Installa l'SDK Agent Platform con le estensioni richieste:

    pip install google-cloud-aiplatform[adk,evaluation]
  2. Inizializza il client SDK Agent Platform:

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

    Dove:

    • YOUR_PROJECT_ID: il tuo Google Cloud ID progetto.
    • YOUR_LOCATION: la tua regione cloud, ad esempio us-central1.

1. Definisci gli scenari di valutazione (simulazione utente)

Anziché creare manualmente gli scenari di test, utilizza la simulazione utente per generare piani di conversazione sintetici a più turni in base alle istruzioni dell'agente.

# 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.",
    },
)

Per ulteriori informazioni, consulta il riferimento SDK Agent Platform.

2. Esegui le inferenze

Esegui gli scenari di valutazione sull'agente per acquisire le tracce.

# 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. Calcola le metriche (valutatori automatici)

Utilizza i valutatori automatici a più turni per assegnare un punteggio alle tracce acquisite. Questi valutatori analizzano la cronologia completa delle conversazioni per verificare il rispetto delle istruzioni e l'utilizzo degli strumenti.

# 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. Esegui l'analisi (cluster di errori)

Il sistema raggruppa automaticamente le valutazioni non riuscite in cluster di perdita per identificare i problemi principali degli agenti.

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

5. Ottimizza l'agente

Infine, utilizza il servizio Optimizer per perfezionare a livello di programmazione le istruzioni di sistema o le descrizioni degli strumenti dell'agente in base ai dati sugli errori.

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

Passaggi successivi