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-Registrierung 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 der Simulation 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 als Nutzer zu agieren, um die Konversationslogik Ihres Agents mit mehreren Durchgängen zu testen.
Der 2‑stufige Simulationsworkflow
Das Testen eines neuen Agenten erfolgt in der Regel in zwei Phasen:
Szenarien generieren:Erstellen Sie ein Dataset mit „Testspezifikationen“ basierend auf den Anweisungen und Tool-Definitionen Ihres Agents.
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-Agenten, einschließlich Modelleingaben, Antworten und Tool-Aufrufen.
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 „Anleitung“ 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 mit Agentenverhaltensweisen 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 eigene 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 Multi-Turn-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 einen Agentenlauf mit mehreren Durchgängen simuliert werden soll.
- Modellkonfiguration:Die Konfiguration des Modells, mit dem die Nutzeranfrage simuliert werden soll.
SDK-Beispiel: Programmatische Simulation
Sie können Ihre Testsuite auch mit dem Agent Platform SDK starten:
# 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
}
}
)