Agent-Verhalten simulieren

Hinweis

Wenn Sie das Verhalten von Agenten simulieren und bewerten möchten, müssen Sie Folgendes erledigt haben:

  • Agentenversion erstellen: Für die Simulation ist eine unveränderliche Momentaufnahme der Konfiguration Ihres Agenten erforderlich, einschließlich Systemanweisungen, Tools und Modell. Erstellen Sie mindestens eine Version Ihres Agenten in der Agent Registry.
  • SDK initialisieren: Wenn Sie die Simulation programmatisch ausführen möchten, installieren Sie das Agent Platform SDK und initialisieren Sie den Client wie unter Agenten bewerten beschrieben.

Mit der Simulation können Sie eine umfassende Bewertungssuite von Grund auf erstellen, auch ohne vorhandene Produktionsdaten. Dabei werden LLMs verwendet, um automatisch Testfälle zu generieren und dann die Rolle eines Nutzers zu übernehmen, um die mehrstufige Konversationslogik Ihres Agenten zu testen.

2-stufiger Simulationsworkflow

Das Testen eines neuen Agenten erfolgt in der Regel in zwei Phasen:

  1. Szenarien generieren:Erstellen Sie ein Dataset mit „Testspezifikationen“ basierend auf den Anweisungen und Tooldefinitionen Ihres Agenten.

  2. Sitzungen simulieren:Führen Sie diese Spezifikationen aus, indem Sie einen simulierten Nutzer mit Ihrem Agenten interagieren lassen, um Verhaltensspuren zu erzeugen. Eine Verhaltensspur ist ein faktischer, unveränderlicher Datensatz des Verhaltens des Agenten, einschließlich Modelleingaben, Antworten und Toolaufrufen.

Im ersten Schritt erstellt das System Bewertungsfälle. Ein Bewertungsfall 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 Agenten sendet.
  • Konversationsplan: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 Agentenverhaltensweisen im kanonischen Agentendatenformat.

Szenarien in der Console generieren

  1. Rufen Sie in der Google Cloud Console die Seite Agent Platform > Agents > Evaluation auf.

    Zu „Evaluation“

  2. Klicken Sie auf Neue Bewertung und wählen Sie Sitzungen simulieren aus.

  3. 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“).

  4. Prüfen Sie die generierte Tabelle. Sie können die Prompts bearbeiten oder eigene Testfälle manuell hinzufügen.

Nutzersimulation ausführen

Sobald Ihre Szenarien generiert wurden, übernimmt der Nutzersimulator die Rolle des Nutzers, um die Unterhaltung voranzutreiben.

Einstellungen für die Nutzersimulation

Beim Ausführen der Simulation können Sie die folgenden Attribute konfigurieren:

  • Maximale Anzahl an Zügen:Maximale Anzahl an Aufrufen, die bei der mehrstufigen Ausführung des Agenten zulässig sind. Mit dieser Eigenschaft können wir eine Unterhaltung beenden bei der der Agent und der Nutzersimulator in einer Endlosschleife gefangen sind. Der Standardwert ist 5.
  • Modellname:Der Modellname, der für die Simulation der nächsten Nutzernachricht für die mehrstufige Ausführung des Agenten verwendet werden soll.
  • Modellkonfiguration:Die Konfiguration des Modells, das für die Simulation der Nutzernachricht verwendet werden soll.

SDK-Beispiel: Programmatische Simulation

Sie können Ihre Bewertungssuite 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
        }
    }
)