Avaliação de agentes

Este documento descreve como usar a avaliação de agentes para medir e melhorar a performance, a segurança e a qualidade dos seus agentes.

Para saber mais sobre a avaliação de modelos, consulte Visão geral do serviço de avaliação de IA generativa.

Resumo do procedimento

Fase Atividade Objetivo
Design Definir casos de avaliação Especifique as tarefas do agente e os resultados esperados.
Execução Executar inferências Gere traces de conversas simuladas ou do mundo real.
Pontuação Calcular métricas Classifique os traces usando avaliadores automatizados (sucesso da tarefa, segurança).
Refinamento Otimizar agente Proponha e verifique melhorias nas instruções ou ferramentas.

Processo de avaliação

A avaliação segue um fluxo de trabalho estruturado e iterativo:

  1. Definir casos de avaliação: um caso de avaliação é uma especificação que define a tarefa de um agente. Um caso de avaliação pode incluir uma ou várias etapas de conversa, o contexto da conversa (o estado do agente) e uma especificação para simular respostas do usuário durante a inferência.
  2. Executar inferências: inferência é a execução de um caso de avaliação. Se um caso de avaliação contiver um plano de conversa, as respostas do usuário serão simuladas durante a inferência.
  3. Gerar traces: cada execução de inferência captura o comportamento do agente em um trace. Um trace é um registro factual e imutável do comportamento do agente, incluindo entradas de modelo, respostas e chamadas de ferramentas.
  4. Calcular métricas: métricas são pontuações calculadas para cada trace usando avaliadores personalizados ou pré-criados. Algumas métricas, como Correspondência exata, são baseadas em referência e exigem um caso de avaliação com uma resposta de referência. Outras, como Utilidade, são sem referência e avaliam o trace por conta própria. Essa avaliação automatizada permite que você pontue traces capturados do tráfego de produção ou de registros externos, independentemente de um ambiente de teste gerenciado.
  5. Realizar análise: analise métricas, instruções e veredictos para identificar os principais problemas do agente, vincular os problemas do agente aos casos de teste e gerar insights para melhoria.
  6. Otimizar o agente: use a otimização para gerenciar todo o ciclo de avaliação. Esse processo automatizado analisa os resultados, propõe melhorias ao agente e executa o processo de forma iterativa para verificar os ganhos de performance.

Fluxo de trabalho de avaliação

É possível integrar a avaliação em duas etapas principais do fluxo de trabalho:

  • Iteração de desenvolvimento local: avalie um agente baseado no Kit de Desenvolvimento de Agente (ADK) localmente para iterar rapidamente na engenharia de comando e nas configurações de ferramentas.
  • Avaliação de agentes implantados: meça a qualidade dos agentes implantados analisando traces históricos ou executando benchmarks sintéticos em endpoints de agentes.

Recursos principais

A avaliação de agentes ajuda a criar um conjunto de avaliação inicial, mesmo sem dados de teste. Os recursos a seguir ajudam a automatizar o processo de geração de casos de teste e refinar seus sistemas de agentes:

  • Geração de cenários e simulação de usuários: gere automaticamente cenários de teste sintéticos diversos e de várias rodadas com base nas instruções e definições de ferramentas do agente. Essa automação permite que você comece a testar imediatamente, eliminando a necessidade de criar casos de teste iniciais manualmente.

  • Simulação de ambiente: intercepte chamadas de ferramentas específicas para injetar comportamentos personalizados, dados simulados ou erros simulados (como erros HTTP 503 erros ou picos de latência). Essa simulação permite validar a resiliência do agente sem afetar os back-ends de produção.

  • Avaliação de várias rodadas: avalie automaticamente todo o histórico de conversas usando avaliadores automáticos de várias rodadas. Esses avaliadores analisam a extração de intents, geram instruções dinamicamente e fornecem veredictos de validação objetivos para ajudar a garantir a conformidade com as instruções.

  • Otimização de comandos: gere e valide instruções de sistema refinadas de forma programática usando a otimização de comandos. A estrutura de otimização identifica pontos de falha e propõe atualizações direcionadas de forma iterativa.

A seguir