Este documento descreve como usar a avaliação de agentes para medir e melhorar o desempenho, 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 | Meta |
|---|---|---|
| Design | Definir casos de avaliação | Especifique as tarefas do agente e os resultados esperados. |
| Execução | Executar inferências | Gerar rastros de conversas reais ou simuladas. |
| Pontuação | Calcular métricas | Classificar rastreamentos usando avaliadores automáticos (sucesso da tarefa, segurança). |
| Refinamento | Agente de otimização | Propor e verificar melhorias nas instruções ou ferramentas. |
Processo de avaliação
A avaliação segue um fluxo de trabalho estruturado e iterativo:
- 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.
- Executar inferências: inferência é a execução de um caso de avaliação. Se um caso de avaliação tiver um plano de conversa, as respostas do usuário serão simuladas durante a inferência.
- Gerar rastros: cada execução de inferência captura o comportamento do agente em um rastreamento. Um rastreamento é um registro factual e imutável do comportamento do agente, incluindo entradas do modelo, respostas e chamadas de ferramentas.
- Calcular métricas: métricas são pontuações calculadas para cada rastreamento usando avaliadores predefinidos ou personalizados. 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 independentes de referência e avaliam o rastreamento por conta própria. Essa avaliação automatizada permite pontuar rastreamentos capturados do tráfego de produção ou de registros externos, independente de um ambiente de teste gerenciado.
- Faça uma análise: analise métricas, rubricas e veredictos para identificar os principais problemas do agente, vincular esses problemas aos casos de teste e gerar insights para melhoria.
- Otimize 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 repete 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 rastreamentos históricos ou executando comparativos sintéticos em relação aos endpoints do agente.
Recursos principais
A avaliação do agente ajuda a criar um pacote 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 refinamento dos seus sistemas agênticos:
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 seu agente. Com essa automação, você pode começar a testar imediatamente, sem precisar criar manualmente os casos de teste iniciais.
Simulação de ambiente: intercepta chamadas de ferramentas específicas para injetar comportamentos personalizados, dados simulados ou erros simulados (como erros HTTP 503 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 em várias etapas: avalie automaticamente todo o histórico de conversas usando avaliadores automáticos em várias etapas. Esses avaliadores analisam a extração de intenção, geram rubricas dinamicamente e fornecem veredictos de validação objetivos para ajudar a garantir a adesão às instruções.
Otimização de comandos: gere e valide de forma programática instruções refinadas do sistema usando a otimização de comandos. A estrutura de otimização identifica pontos de falha e propõe atualizações direcionadas de forma iterativa.