Simula il comportamento dell'agente

Prima di iniziare

Per simulare e valutare il comportamento dell'agente, assicurati di aver completato le seguenti operazioni:

  • Crea una versione dell'agente: la simulazione richiede uno snapshot immutabile della configurazione dell'agente, incluse istruzioni di sistema, strumenti e modello e così via. Assicurati di aver creato almeno una versione dell'agente nel registro degli agenti.
  • Inizializza l'SDK: se prevedi di eseguire la simulazione in modo programmatico, installa l'SDK Agent Platform e inizializza il client come descritto in Valutare gli agenti.

La simulazione ti consente di creare una suite di valutazione completa da zero, anche senza dati di produzione esistenti. Questo processo utilizza LLM per generare automaticamente scenari di test e poi simula il comportamento di un utente per testare la logica conversazionale multi-turn dell'agente.

Il flusso di lavoro di simulazione in due passaggi

Il test di un nuovo agente in genere segue un processo in due fasi:

  1. Genera scenari:crea un set di dati di "specifiche di test" in base alle istruzioni e alle definizioni degli strumenti dell'agente.

  2. Simula sessioni:esegui queste specifiche facendo interagire un utente simulato con il tuo agente per produrre tracce di comportamento. Una traccia è un record fattuale e immutabile del comportamento dell'agente, inclusi gli input del modello, le risposte e le chiamate agli strumenti.

Nel primo passaggio, il sistema crea scenari di valutazione. Un caso di valutazione è una specifica che definisce l'attività di un agente. Ogni caso è composto da due elementi:

  • Prompt iniziale:il primo messaggio inviato da un utente all'agente.
  • Piano di conversazione:un'"istruzione" nascosta per l'utente simulato, che descrive i suoi obiettivi e come deve reagire se l'agente pone determinate domande.

Nel secondo passaggio, il sistema genera un elenco dei comportamenti degli agenti nel formato dei dati canonici degli agenti.

Generare scenari nella console

  1. Nella console Google Cloud , vai alla pagina Agent Platform > Agenti > Valutazione.

    Vai a Valutazione

  2. Fai clic su Nuova valutazione e seleziona Simula sessioni.

  3. Inserisci un'istruzione di generazione per guidare gli scenari (ad esempio, "Genera scenari in cui l'utente tenta di prenotare un volo, ma poi cambia idea").

  4. Esamina la tabella generata. Puoi modificare i prompt o aggiungere manualmente i tuoi casi di test.

Esegui la simulazione utente

Una volta generati gli scenari, lo User Simulator funge da utente per far avanzare la conversazione.

Impostazioni di simulazione utente

Quando esegui la simulazione, puoi configurare i seguenti attributi:

  • Max Turn: numero massimo di invocazioni consentite dall'esecuzione dell'agente multi-turn. Questa proprietà ci consente di interrompere una conversazione di esaurimento in cui l'agente e il simulatore utente entrano in un ciclo infinito. Il valore predefinito è 5.
  • Nome modello:il nome del modello per simulare il messaggio dell'utente successivo per l'esecuzione dell'agente multi-turn.
  • Configurazione del modello:la configurazione del modello per simulare il messaggio dell'utente.

Esempio di SDK: simulazione programmatica

Puoi anche eseguire il bootstrap della suite di valutazione utilizzando l'SDK Agent Platform:

# 1. Define agent
travel_agent = Agent(
    model="gemini-3-flash-preview",
    name='travel_agent',
    instruction='You are a travel expert, help users to find flights, book flights with flight ID',
    tools=[find_flights, book_flight],
)

# 2. Generate scenarios from agent info
travel_agent_info = types.evals.AgentInfo.load_from_agent(agent=travel_agent)

eval_dataset = client.evals.generate_conversation_scenarios(
    agent_info=travel_agent_info,
    config={
        "count": 5,
        "generation_instruction": "Generate scenarios where the user tries to book a flight.",
        "environment_context": "Today is Monday. I am located in San Francisco. Flights to Paris, New York, Tokyo, Chicago, Sydney, etc are available.",
    },
)

# 3. Simulate multi-turn interactions
eval_dataset_with_traces = client.evals.run_inference(
    agent=travel_agent,
    src=eval_dataset,
    config={
        "user_simulator_config": {
            "max_turn": 5
        }
    }
)