Hinweis
Damit Sie das Agent-Verhalten simulieren und bewerten können, müssen Sie Folgendes erledigt haben:
- Agent-Version erstellen: Für die Simulation ist ein unveränderlicher Snapshot der Konfiguration Ihres Agents erforderlich, einschließlich Systemanweisungen, Tools und Modell. Achten Sie darauf, dass Sie mindestens eine Version Ihres Agents in der Agent Registry erstellt haben.
- SDK initialisieren: Wenn Sie die Simulation programmatisch ausführen möchten, installieren Sie das Agent Platform SDK und initialisieren Sie den Client, wie unter Agents bewerten beschrieben.
Mit Simulationen können Sie eine umfassende Testsuite von Grund auf erstellen, auch ohne vorhandene Produktionsdaten. Bei diesem Prozess werden LLMs verwendet, um automatisch Testläufe zu generieren und dann die Rolle eines Nutzers zu übernehmen, um die Konversationslogik Ihres Agents zu testen.
Der 2‑stufige Simulationsworkflow
Das Testen eines neuen KI-Agents erfolgt in der Regel in zwei Phasen:
Szenarien generieren:Erstellen Sie ein Dataset mit „Testspezifikationen“ basierend auf den Anweisungen und Tool-Definitionen Ihres Agenten.
Sitzungen simulieren:Führen Sie diese Spezifikationen aus, indem Sie einen simulierten Nutzer mit Ihrem Agenten interagieren lassen, um Verhaltensspuren zu erzeugen. Ein Trace ist ein sachlicher, unveränderlicher Datensatz des Verhaltens des KI-Agents, einschließlich Modelleingaben, Antworten und Toolaufrufen.
Im ersten Schritt erstellt das System Bewertungsfälle. Ein Evaluierungsfall ist eine Spezifikation, die die Aufgabe eines Agenten definiert. Jeder Fall besteht aus zwei Elementen:
- Start-Prompt:Die erste Nachricht, die ein Nutzer an den Agent sendet.
- Gesprächsplan:Eine verborgene „Anweisung“ für den simulierten Nutzer, in der seine Ziele und seine Reaktion auf bestimmte Fragen des Agenten beschrieben werden.
Im zweiten Schritt generiert das System eine Liste von Agentenverhalten im kanonischen Agentendatenformat.
Szenarien in der Console generieren
Rufen Sie in der Google Cloud Console die Seite Agent Platform > Agents > Evaluation auf.
Klicken Sie auf Neue Auswertung und wählen Sie Sitzungen simulieren aus.
Geben Sie eine Generierungsanweisung ein, um die Szenarien zu steuern, z. B. „Generiere Szenarien, in denen der Nutzer versucht, einen Flug zu buchen, es sich dann aber anders überlegt.“
Sehen Sie sich die generierte Tabelle an. Sie können die Prompts bearbeiten oder Ihre eigenen Testläufe manuell hinzufügen.
Nutzersimulation ausführen
Sobald Ihre Szenarien generiert wurden, fungiert der User Simulator als Nutzer, um die Unterhaltung voranzutreiben.
Einstellungen für die Nutzersimulation
Beim Ausführen der Simulation können Sie die folgenden Attribute konfigurieren:
- Max. Turn:Maximale Anzahl von Aufrufen, die vom Mehrfachdialog-Agent-Lauf zulässig sind. Mit dieser Eigenschaft können wir eine Unterhaltung beenden, in der der Agent und der Nutzersimulator in eine Endlosschleife geraten. Der Standardwert ist 5.
- Modellname:Der Modellname, für den die nächste Nutzernachricht für den Mehrfachdialog-Agent-Lauf simuliert werden soll.
- Modellkonfiguration:Die Konfiguration des Modells zum Simulieren von Nutzernachrichten.
SDK-Beispiel: Programmatische Simulation
Sie können Ihre Testsuite auch mit dem Agent Platform SDK erstellen:
# 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
}
}
)