Configurar testes no Kit do agente do Copilot

Testar é essencial para garantir que os agentes personalizados no Kit do agente do Copilot respondam e se comportem conforme esperado. Este artigo explica como criar, gerenciar e validar diferentes tipos de testes, incluindo cenários de várias rodadas. Você também pode realizar operações em massa com o Excel e duplicar conjuntos de teste.

Tipos de teste

Crie vários diversos tipos de testes para validar os agentes.

Tipo de Teste descrição
Correspondência de Resposta Este é o tipo mais simples de teste. Ele compara a resposta do agente com a resposta esperada usando o operador de comparação selecionado.
Por padrão, a correspondência exata ("igual a") é usada. Outros operadores de comparação disponíveis são: "Não é igual a", "Contém", "Não contém", "Começa com", "Não começa com", "Termina com" e "Não termina com".
Anexos (como Cartões Adaptáveis) Compara a resposta JSON de anexos do agente com os anexos esperados JSON (matriz completa de anexos).
Por padrão, a correspondência exata ("igual a") é usada. Outros operadores de comparação disponíveis são "Não é igual a", "Contém" e "Não contém". Um operador de comparação especial chamado "Validação de IA" usa modelos de linguagem para validar o anexo com base em instruções de validação fornecidas pelo criador, semelhante a respostas generativas.
Correspondência de Tópico Só disponível quando o enriquecimento do Dataverse (Enriquecer com Transcrições de Conversa) está configurado.
Quando a etapa de enriquecimento do Dataverse é concluída, esse teste compara o nome do tópico esperado com o nome do tópico disparado. O teste de Correspondência de Tópico também dá suporte à correspondência de vários tópicos com agentes personalizados que tenham a orquestração generativa habilitada. Na correspondência de vários tópicos, os tópicos são separados por vírgulas; por exemplo: "Topic1,Topic2".
Respostas Generativas Só disponível se o enriquecimento do AI Builder (analisar respostas geradas) estiver configurado.
Usa um grande modelo de linguagem para avaliar se a resposta gerada por IA está próxima de uma resposta de amostra ou segue instruções de validação.
Quando Enriquecer com Aplicativo Azure Insights estiver configurado, testes negativos, como moderação ou ausência dos resultados da pesquisa, também poderão ser testados. Saiba mais em Usar rubricas em testes.
Várias rodadas Consiste em um ou mais casos de teste de outros tipos, como correspondência de respostas, anexos, correspondência de tópicos e respostas generativas. Todos os testes filho em um teste de várias rodadas são executados no mesmo contexto de conversa na ordem especificada. Use testes com várias rodadas para testar um cenário de ponta a ponta e testar agentes personalizados com orquestração generativa. Saiba mais em Teste de várias rodadas.
Validação do Plano Permite ao criador validar se o plano dinâmico do agente personalizado inclui as ferramentas esperadas. Esse tipo de teste se destina a agentes personalizados do Copilot Studio que tenham orquestração generativa habilitada. Saiba mais em Testes de validação do plano.

Criar um novo conjunto de testes

Use conjuntos de testes para agrupar vários testes. Ao executar testes, selecione um conjunto de testes para executar todos os testes desse conjunto.

  1. Acesse o aplicativo Kit do agente do Copilot.
  2. Vá até Conjuntos de Testes.
  3. Crie um novo registro do conjunto de testes do agente.
  4. Insira um Nome.
  5. Selecione Salvar.

Criar um teste

Depois de criar um conjunto de testes, adicione testes a ele. Na subgrade Testes, selecione + Novo Teste de Agente.

Captura de tela da interface Criar Teste de Agente no Kit do agente do Copilot, com o botão Novo Teste de Agente realçado.

A tabela a seguir descreve os campos.

Nome da coluna Obrigatório Descrição
Nome Sim Nome do teste. Esse nome pode ser um ID de referência interno, como TST-001.
Conjunto de Testes do Agente Sim Conjunto de testes pai para o teste.
Tipo de Teste Sim Um dos tipos de teste disponíveis.
Enviar Evento startConversation Não Se habilitado, o agente recebe o evento startConversation, de maneira que ele inicia a conversa proativamente, e o enunciado do teste é enviado depois. Essa configuração costuma ser necessária quando o tópico Início da Conversa inclui lógica que deve ser executada antes de responder ao usuário ou ao enunciado de teste.
Posição Esperada da Mensagem de Resposta Não Não defina um valor se você não tiver certeza. Essa opção permite a você capturar uma resposta do agente específica quando ele envia várias mensagens. Por exemplo, se o agente primeiro disser "Olá" e, depois, "Como posso ajudar?", e você quiser testar a segunda mensagem, defina o valor como 1. A ordem se baseia em 0, logo, a primeira mensagem é indexada como 0, a segunda resposta como 1, e assim por diante.
Enunciado de Teste Sim A mensagem que você deseja enviar ao agente como parte do teste.
Resposta Esperada Depende Obrigatório para o tipo de teste Correspondência de Resposta. Resposta esperada do agente. Para um teste de Respostas Generativas, defina uma resposta de amostra ou as próprias instruções de validação para o modelo de linguagem de grande.
JSON de Variáveis Externas Não Registro JSON de qualquer valor externo ou contextual que você queira passar para o agente como parte do teste. Por exemplo: { "Language": "fr" }
Segundos Antes de Receber a Resposta Não Número de segundos para esperar antes de avaliar a resposta do bot. Na maioria dos casos, você pode deixar esse valor vazio, embora seja útil em situações nas quais o agente chama uma API e a resposta pode demorar mais do que o normal.
Resultado das Respostas Generativas Esperado Depende Obrigatório para o tipo de teste de Respostas Generativas. Deve ser Respondido ou Não Respondido. Quando o enriquecimento do Aplicativo Azure Insights está habilitado, você pode escolher Moderado ou Sem Resultados da Pesquisa.
Nome do Tópico Esperado Depende Obrigatório para o tipo de teste Correspondência de Tópico. Nome do tópico que você espera que seja disparado. É oferecido suporte à correspondência de múltiplos tópicos para agentes personalizados que têm a orquestração generativa habilitada. Para correspondência com vários tópicos, use uma lista separada por vírgulas; por exemplo: "Tópico1,Tópico2". Não adicione espaço em branco extra. A correspondência com vários tópicos garante que os tópicos esperados estejam entre os tópicos do plano.
JSON de Anexos Esperados Depende Obrigatório para o tipo de teste de Anexos (Cartões Adaptáveis, etc.). Matriz JSON de anexos completa que você espera da resposta do agente.
Ferramentas Esperadas Depende Obrigatório para o tipo de teste de Validação do Plano. Lista separada por vírgulas das ferramentas esperadas (ferramentas, ações e agentes conectados). Não adicione espaço em branco extra. A ordem não é relevante. Exemplo: "Tempo,Mudança Climática"
% do Limite de Aprovação Depende Obrigatório para o tipo de teste de Validação do Plano. A porcentagem de ferramentas esperadas que devem estar no plano dinâmico para que o teste seja aprovado. Se a porcentagem for 100, todas as ferramentas esperadas precisarão estar no plano dinâmico para que o teste seja aprovado. As ferramentas extras no plano dinâmico não afetam o resultado do teste.

Teste de várias rodadas

Para o tipo de teste de Várias rodadas, você pode especificar um ou mais testes filho dos tipos regulares. Cada teste filho tem uma ordem e uma criticidade. A ordem define a ordem de execução dentro do mesmo contexto de conversa (dentro do caso de teste de várias rodadas). A criticidade define se o caso de teste filho deve ser aprovado para que a execução do teste de várias rodadas continue.

Captura de tela da configuração de teste de Várias rodadas no Kit do agente do Copilot.

Se um teste filho exigir avaliação pós-teste, como Correspondência de Tópicos ou Respostas Generativas, o teste ficará em um estado pendente, e a execução do teste continuará independentemente do status de criticidade. Se algum dos testes críticos tiver falha, a execução do teste com várias rodadas será interrompida e o resultado será considerado com falha. Se todos os casos de teste filho críticos forem bem-sucedidos, o resultado de várias rodadas também será bem-sucedido.

Captura de tela do modo de exibição de resultados de Várias rodadas no Kit do agente do Copilot.

Use casos de teste não críticos de filhos para "alimentar" informações a agentes personalizados com orquestração generativa. Você também pode usar esses casos de teste quando a resposta não importa e quiser avançar para testes críticos.

Testes de validação do plano

A validação do plano se concentra na correção da ferramenta. Em vez de avaliar o que o agente diz, esse tipo de teste verifica se as ferramentas esperadas foram usadas durante o plano.

Ao definir um teste de validação do plano, especifique:

  • Um enunciado de teste
  • Uma lista separada por vírgulas de ferramentas esperadas a serem incluídas no plano dinâmico
  • Um limite de aprovação, que representa quanto desvio tolerar em relação à lista

Este teste usa transcrições de conversa e será avaliado depois da execução do teste real como uma atividade de enriquecimento.

Tenha os seguintes aspectos em mente:

  • Ferramentas esperadas: inclua ferramentas, ações e agentes conectados na lista separada por vírgulas. Não adicione espaço em branco extra. A ordem não importa.

  • % do limite de aprovação: o limite de aprovação especifica a porcentagem necessária das ferramentas esperadas que deve estar no plano dinâmico para que o teste tenha êxito.

A validação do plano é um teste determinístico: calcula o desvio das ferramentas reais em relação às esperadas e compara com o limite de aprovação. Se o desvio estiver dentro do limite, o teste será aprovado. Caso contrário, terá falha.

Captura de tela do tipo de teste Validação do Plano no Kit do agente do Copilot.

Saiba mais em Orquestrar o comportamento do agente com a IA generativa.

Testar agentes que requerem autorização do conector

Quando um agente usa uma fonte de dados externa, como o SharePoint ou o Dataverse, a primeira conversa normalmente apresenta um cartão de autorização "Conectar para continuar". O usuário deve selecionar Permitir antes que o agente possa chamar o conector. Para exercitar esse fluxo em um teste automatizado, modele o prompt e a resposta do usuário como dois testes filho dentro de um teste com várias rodadas.

Observação

Essa é uma configuração única por conjunto de teste. Depois que a conexão for autorizada para o usuário do teste, não será necessário repetir as etapas de autorização em testes posteriores.

O teste de várias rodadas contém dois testes filho ordenados:

Ordem Tipo de teste Tipo de operação Finalidade
1 Anexos (Cartões Adaptáveis etc.) Operador de Comparação Envia o enunciado que desencadeia o conector e a afirma no JSON do cartão de autorização.
2 Anexos (Cartões Adaptáveis etc.) Invocar Ações Envia Permitir no cartão de autorização para que o agente possa concluir a chamada.

Para criar um teste:

  1. No seu conjunto de testes, selecione + Novo Teste de Agente, insira um nome, defina Tipo de Teste como Várias rodadas e selecione Salvar.

  2. Na grade filho do teste de várias rodadas, selecione + Novo Teste de Agente e configure o primeiro teste filho:

    Campo Valor
    Tipo de Teste Anexos (Cartões Adaptáveis etc.)
    Ordenar 1
    Enunciado do teste O enunciado que desencadeia o conector, por exemplo List Fourth Coffee Brands.
    Tipo de operação Operador de Comparação
    Operador de Comparação Igual a
    JSON de Anexos Esperados [] (espaço reservado — você substitui isso após a primeira execução)

    Selecione Salvar Teste.

  3. Salve o conjunto de testes e execute-o. O primeiro teste filho tem falha como esperado, porque o JSON do espaço reservado não corresponde ao cartão de autorização.

  4. Abra os resultados da execução do teste, selecione o teste filho de várias rodadas, localize a seção Anexos e copie o JSON do Anexo Real para a área de transferência.

  5. Edite o primeiro teste filho, cole o JSON copiado no JSON de Anexos Esperados e selecione Salvar Teste.

  6. Na grade filho do teste de várias rodadas, selecione + Novo Teste de Agente novamente e configure o segundo teste filho:

    Campo Valor
    Tipo de Teste Anexos (Cartões Adaptáveis etc.)
    Ordenar 2
    Tipo de operação Invocar Ações
    Conteúdo do Cartão Adaptável {"action": "Allow", "id": "submit", "shouldAwaitUserInput": true}
    Operador de Comparação Contém dados (ou Igual a, dependendo da resposta que você deseja afirmar)
    Resposta Esperada Deixe em branco, ou defina com base nos dados que você espera depois que a conexão for permitida.

    Os valores do conteúdo vêm do JSON do Cartão Adaptável que você capturou na etapa 4. Ajuste os campos action e id se o cartão do conector usar identificadores diferentes.

    Selecione Salvar Teste.

  7. Salve o conjunto de testes e execute-o novamente. Ambos os testes filho agora devem ser aprovados.

Após esse teste de várias rodadas ser executado com êxito uma vez, a conexão será autorizada para o usuário de teste, e testes subsequentes em relação ao mesmo conector poderão ser feitos como testes regulares de uma rodada.

Usar o Excel para criar ou atualizar testes em massa

Depois de criar um conjunto de testes, você poderá usar o Excel para criar ou atualizar testes em massa.

  1. No registro do conjunto de testes, mude a exibição de subgrade de Testes para Exportar/Importar Exibição.
  2. Selecione Exportar Testes de Agente no Excel Online.
  3. Adicione e modifique testes conforme necessário.
  4. Selecione Salvar.

Se você estiver importando testes filho de várias rodadas, primeiro deverá criar ou importar o teste de várias rodadas pai. Em seguida, importe os casos de teste filho.

Saiba mais em Importação e exportação do Excel em aplicativos baseados em modelo do Power Apps.

Duplicar testes e conjuntos de testes

Você pode duplicar conjuntos de testes e testes individuais.

  • Para duplicar um único caso de teste, abra o registro de teste do agente e selecione Duplicar Caso de Teste. Essa ação é útil quando você cria variantes de um caso de teste, como alteração do local, do horário ou da quantidade.

  • Para duplicar um conjunto de testes inteiro, abra o registro do conjunto de testes e selecione Duplicar Conjunto de Testes na barra de comandos. Essa ação cria uma cópia do conjunto de testes e de todos os seus testes filho.

Próxima etapa