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 a livello di programmazione, installa l'SDK Agent Platform e inizializza il client come descritto in Valuta i tuoi agenti.
La simulazione ti consente di creare una suite di valutazione completa da zero, anche senza dati di produzione esistenti. Questo processo utilizza i modelli LLM per generare automaticamente gli scenari di test e poi simula il ruolo di un utente per testare la logica conversazionale multi-turn dell'agente.
Workflow di simulazione in 2 passaggi
In genere, il test di un nuovo agente segue un processo in due fasi:
Genera scenari: crea un set di dati di "specifiche di test" in base alle istruzioni e alle definizioni degli strumenti dell'agente.
Simula sessioni: esegui queste specifiche facendo interagire un utente simulato con l'agente per produrre tracce di comportamento. Una traccia è un record fattuale e immutabile del comportamento dell'agente, inclusi input del modello, risposte e chiamate di strumenti.
Nel primo passaggio, il sistema crea casi 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 che un utente invia 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 di comportamenti dell'agente nel formato canonico dei dati dell'agente.
Genera scenari nella console
Nella Google Cloud console, vai alla pagina Agent Platform > Agenti > Valutazione.
Fai clic su Nuova valutazione e seleziona Simula sessioni.
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").
Esamina la tabella generata. Puoi modificare i prompt o aggiungere manualmente i tuoi scenari di test.
Esegui la simulazione utente
Una volta generati gli scenari, il simulatore utente funge da utente per portare avanti la conversazione.
Impostazioni di simulazione utente
Quando esegui la simulazione, puoi configurare i seguenti attributi:
- Numero massimo di turni: numero massimo di chiamate consentite dall'esecuzione dell'agente multi-turn run. Questa proprietà ci consente di interrompere una conversazione in cui l'agente e il simulatore utente entrano in un loop senza fine. (Il valore predefinito è 5).
- Nome modello: il nome del modello per simulare il messaggio utente successivo per l'esecuzione dell'agente multi-turn.
- Configurazione modello: la configurazione del modello per simulare il messaggio 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
}
}
)