Simular o comportamento do agente

Antes de começar

Para simular e avaliar o comportamento do agente, conclua as etapas a seguir:

  • Criar uma versão do agente: a simulação exige um snapshot imutável da configuração do agente, incluindo instruções do sistema, ferramentas e modelo etc. Crie pelo menos uma versão do agente no Registro de agentes.
  • Inicializar o SDK: se você planeja executar a simulação de forma programática, instale o SDK da Plataforma de Agentes e inicialize o cliente conforme descrito em Avaliar seus agentes.

A simulação permite criar um conjunto de avaliação abrangente do zero, mesmo sem dados de produção. Esse processo usa LLMs para gerar casos de teste automaticamente e, em seguida, simular um usuário para testar a lógica conversacional de várias rodadas do agente.

Fluxo de trabalho de simulação em duas etapas

O teste de um novo agente normalmente segue um processo de duas etapas:

  1. Gerar cenários:crie um conjunto de dados de "especificações de teste" com base nas instruções e definições de ferramentas do agente.

  2. Simular sessões:execute essas especificações fazendo com que um usuário simulado interaja com o agente para produzir rastros de comportamento. Um rastro é um registro factual e imutável do comportamento do agente, incluindo entradas de modelo, respostas e chamadas de ferramentas.

Na primeira etapa, o sistema cria casos de avaliação. Um caso de avaliação é uma especificação que define a tarefa de um agente. Cada caso consiste em dois elementos:

  • Prompt inicial:a primeira mensagem que um usuário envia ao agente.
  • Plano de conversa:uma "instrução" oculta para o usuário simulado, descrevendo as metas e como ele deve reagir se o agente fizer determinadas perguntas.

Na segunda etapa, o sistema gera uma lista de comportamentos do agente no formato de dados canônico do agente.

Gerar cenários no console

  1. No Google Cloud console, navegue até a página Plataforma de agentes > Agentes > Avaliação.

    Acessar a avaliação

  2. Clique em Nova avaliação e selecione Simular sessões.

  3. Insira uma instrução de geração para orientar os cenários (por exemplo, "Gerar cenários em que o usuário tenta reservar um voo, mas muda de ideia").

  4. Analise a tabela gerada. É possível editar os prompts ou adicionar manualmente seus próprios casos de teste.

Executar a simulação do usuário

Depois que os cenários forem gerados, o simulador de usuário vai agir como o usuário para avançar a conversa.

Configurações de simulação do usuário

Ao executar a simulação, é possível configurar os seguintes atributos:

  • Número máximo de rodadas: número máximo de invocações permitidas pela execução do agente de várias rodadas. Essa propriedade permite interromper uma conversa em que o agente e o simulador de usuário entram em um loop sem fim. O valor padrão é 5.
  • Nome do modelo:o nome do modelo para simular a próxima mensagem do usuário para a execução do agente de várias rodadas.
  • Configuração do modelo:a configuração do modelo para simular a mensagem do usuário.

Exemplo de SDK: simulação programática

Também é possível inicializar o conjunto de avaliação usando o SDK da Plataforma de Agentes:

# 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
        }
    }
)