Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os testes são essenciais para garantir que os seus agentes personalizados no Kit de Agente do Copilot respondem e se comportam conforme esperado. Este artigo explica como criar, gerir e validar diferentes tipos de testes, incluindo cenários com vários turnos. Também pode realizar operações em massa com Excel e duplicar conjuntos de teste.
Tipos de teste
Crie vários tipos de testes para validar os seus agentes.
| Tipos de Teste | Descrição |
|---|---|
| Correspondências de Respostas | Este teste é o tipo de teste mais simples. Compara a resposta do agente com a resposta esperada utilizando o operador de comparação selecionado. Por predefinição, é utilizada a correspondência exata ("igual"). Outros operadores de comparação disponíveis incluem "Não é igual", "Contém", "Não contém", "Começa por", "Não começa por", "Termina em" e "Não termina em". |
| Anexos (como Cartões Adaptativos) | Compara a resposta JSON dos anexos do agente com o JSON esperado dos anexos (matriz completa de anexos). Por predefinição, utiliza-se a correspondência exata ("igual"). Outros operadores de comparação disponíveis são "Não é igual", "Contém" e "Não contém". Um operador especial de comparação chamado "Validação por IA" utiliza modelos de linguagem para validar o anexo com base nas instruções de validação fornecidas pelo criador, de forma semelhante à resposta generativa. |
| Correspondência de Tópicos |
Disponível apenas quando o enriquecimento do Dataverse (Enriquecer com Transcrições de Conversa) estiver configurado. Quando o passo de enriquecimento do Dataverse termina, este teste compara o nome esperado do tópico com o nome do tópico acionado. O teste de Correspondência de Tópicos também suporta correspondência de vários tópicos com agentes personalizados que têm orquestração generativa ativada. Na correspondência de vários tópicos, os tópicos são separados por vírgulas; por exemplo: "Tópico1,Tópico2". |
| Respostas Generativas |
Só está disponível se o enriquecimento do AI Builder (Analisar Respostas Geradas) estiver configurado. Recorre a um grande modelo de linguagem para avaliar se a resposta gerada por IA é semelhante a uma resposta de exemplo ou segue as instruções de validação. Quando a opção Enriquecer com o Aplicação Azure Insights está configurada, testes negativos, como moderação ou ausência de resultados de pesquisa, também podem ser testados. Saiba mais em Usar rubricas em testes. |
| Várias voltas | Consiste num ou mais casos de teste de outros tipos, como correspondência de resposta, anexos, correspondência de tópico e respostas generativas. Todos os testes subordinados num teste de várias voltas são executados no mesmo contexto de conversação na ordem especificada. Utilize testes de várias voltas para testar um cenário de ponto a ponto e para testar agentes personalizados com orquestração generativa. Saiba mais em Testes de vários turnos. |
| Validação do Plano | Permite ao criador validar que o plano dinâmico do agente personalizado inclui as ferramentas esperadas. Este tipo de teste destina-se a agentes personalizados do Copilot Studio que têm orquestração generativa ativada. Saiba mais em Teste 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.
- Aceda à aplicação Kit de Agente do Copilot.
- Aceda a Conjuntos de Teste.
- Crie um novo registo do Conjunto de Testes do Agente.
- Introduza um Nome.
- Selecione Guardar.
Criar um novo teste
Depois de criar um conjunto de testes, adicione testes ao mesmo. Na subgrelha de Testes, selecione + Novo Teste de Agente.
A tabela seguinte descreve os campos.
| Nome da coluna | Obrigatório | Descrição |
|---|---|---|
| Nome | Sim | Nome do teste. Este nome pode ser um ID de referência interno, como TST-001. |
| Conjunto de Testes do Agente | Sim | Conjunto de testes principal para o teste. |
| Tipo de Teste | Sim | Um dos Tipos de teste disponíveis. |
| Enviar Evento startConversation | Não | Se ativado, o agente recebe o evento startConversation, por isso inicia proativamente a conversa e a expressão de teste é enviada depois. Esta definição é normalmente necessária quando o tópico de Início de Conversa inclui lógica que deve ser executada antes de responder ao utilizador ou ao enunciado de teste. |
| Posição Esperada da Mensagem de Resposta | Não | Não defina um valor se não tiver certeza. Esta opção permite captar uma resposta específica do agente quando este envia várias mensagens. Por exemplo, se o agente disser primeiro "Olá" e depois "Como posso ajudar?", e quiser testar a segunda mensagem, defina o valor como 1. A ordem é baseada em 0, portanto, a primeira mensagem é indexada como 0, a segunda resposta como 1, e assim por diante. |
| Expressão de Teste | Sim | A mensagem que quer enviar ao agente como parte do teste. |
| Resposta Esperada | Depende | Obrigatório para o tipo de teste Correspondência de Respostas. Resposta esperada do agente. Para um teste de Respostas Generativas, defina uma resposta de exemplo ou instruções de validação para o modelo de linguagem grande. |
| JSON de Variáveis Externas | Não | Registo JSON para qualquer valor externo ou contextual que pretenda passar ao agente como parte do teste. Por exemplo: { "Language": "fr" } |
| Segundos Antes de Obter Resposta | Não | Número de segundos para esperar antes de avaliar a resposta do bot. Na maioria dos casos, pode deixar este valor em branco, mas é útil em situações em que o agente chama uma API e a resposta pode demorar mais tempo do que o habitual. |
| Resultado Esperado das Respostas Generativas | Depende | Obrigatório para o tipo de teste Respostas Generativas. Deve ser Respondido ou Não Respondido. Quando o enriquecimento do Aplicação Azure Insights está ativado, pode escolher Moderado ou Sem Resultados de Pesquisa. |
| Nome do Tópico Esperado | Depende | Obrigatório para o tipo de teste Correspondência de Tópicos. Nome do tópico que espera que seja acionado. A correspondência de vários tópicos é suportada para agentes personalizados que têm orquestração generativa ativada. Para correspondência de vários tópicos, use uma lista separada por vírgula; por exemplo "Tópico1,Tópico2". Não adicione espaço em branco extra. A correspondência de vários tópicos garante que os tópicos esperados estão incluídos nos tópicos do plano. |
| JSON de Anexos Esperados | Depende | Obrigatório para o tipo de teste Anexos (Cartões Adaptativos, etc.). A matriz JSON completa de anexos que espera da resposta do agente. |
| Ferramentas Esperadas | Depende | Obrigatório para o teste 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,Alteração climática" |
| Limiar de Aprovação (%) | Depende | Obrigatório para o teste Validação do Plano. A percentagem de ferramentas esperadas que devem estar no plano dinâmico para que o teste seja aprovado. Se a percentagem for 100, todas as ferramentas esperadas precisam de estar no plano dinâmico para que o teste tenha sucesso. Ferramentas extra no plano dinâmico não afetam o resultado do teste. |
Testes com vários turnos
Para o tipo de teste de vários turnos, especifique um ou mais testes secundários do tipo regular. Cada teste subordinado tem uma ordem e criticidade. A ordem define a ordem de execução dentro do mesmo contexto de conversação (dentro do caso de teste de várias voltas). A criticidade define se o caso de teste subordinado deve passar para que a execução do teste de várias voltas continue.
Se um teste subordinado exigir avaliação pós-teste, como Correspondência de Tópicos ou Respostas Generativas, o teste permanece no estado pendente e a execução do teste continua independentemente da criticidade. Se algum dos testes críticos falhar, a execução do teste de vários turnos para e o seu resultado é falhado. Se todos os casos de teste subordinados críticos forem bem-sucedidos, o resultado de vários turnos também será êxito.
Utilize casos de teste secundários não críticos para fornecer informações a agentes personalizados com orquestração generativa. Também pode utilizar estes casos de teste quando a resposta não é relevante e pretende evoluir até chegar a testes críticos.
Testes de validação do plano
A Validação do Plano foca-se na correção da ferramenta. Em vez de avaliar o que o agente diz, este tipo de teste verifica se as ferramentas esperadas foram usadas durante o plano.
Ao definir um teste de validação de plano, especifique:
- Uma expressão de teste
- Uma lista, separada por vírgulas, das ferramentas que espera incluir no plano dinâmico
- Um limiar de aprovação, que representa o grau de desvio permitido em relação à lista
Este teste recorre a transcrições de conversas e é avaliado após a execução real como uma atividade de enriquecimento.
Tenha os seguintes pontos em mente:
Ferramentas esperadas: inclua ferramentas, ações e agentes conectados numa lista separada por vírgulas. Não adicione espaço em branco extra. A ordem não importa.
Limiar de aprovação %: o limite de aprovação especifica a percentagem mínima de ferramentas esperadas que têm de estar no plano dinâmico para que o teste seja bem-sucedido.
A validação do plano é um teste determinístico: calcula o desvio entre as ferramentas reais e as esperadas e compara-o ao limiar de aprovação. Se o desvio estiver dentro do limiar, o teste passa; caso contrário, não passa.
Saiba mais em Orquestrar o comportamento do agente com IA generativa.
Agentes de teste que requerem autorização do conector
Quando um agente utiliza uma fonte de dados externa, como SharePoint ou Dataverse, a primeira conversa apresenta tipicamente um cartão de autorização "Ligar para continuar". O utilizador deve selecionar Permitir antes de o agente poder chamar o conector. Para exercitar este fluxo num teste automatizado, modele o pedido e a resposta do utilizador como dois testes subordinados dentro de um teste com vários voltas.
Nota
Isto é uma configuração única por conjunto de teste. Depois de a ligação ser autorizada para o utilizador de teste, não precisa de repetir os passos de autorização em testes posteriores.
O teste de várias voltas contém dois testes subordinados ordenados:
| Encomenda | Tipo de teste | Tipo de operação | Finalidade |
|---|---|---|---|
| 1 | Anexos (Cartões Adaptativos, etc.) | Operador de Comparação | Envia a expressão que aciona o conector e verifica o JSON do cartão de autorização. |
| 2 | Anexos (Cartões Adaptativos, etc.) | Invocar Ações | Submete Permitir no cartão de autorização para que o agente possa concluir a chamada. |
Para criar um teste:
No seu conjunto de testes, selecione + Novo Teste de Agente, introduza um nome, defina Tipo de Teste como Vários Turnos e selecione Guardar.
Na grelha subordinada do teste de vários turnos, selecione + Novo Teste de Agente e configure o primeiro teste subordinado:
Campo valor Tipo de Teste Anexos (Cartões Adaptativos, etc.) Ordenar 5 Expressão de Teste A expressão que aciona 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 [](marcador de posição — substitui isto após a primeira execução)Selecione Guardar Teste.
Guarde o conjunto de testes e execute-o. O primeiro teste subordinado falha como esperado, porque o marcador de posição JSON não corresponde ao cartão de autorização.
Abra os resultados da execução do teste, selecione o teste subordinado de vários turnos, localize a secção Anexos e copie o JSON do Anexo Real para a área de transferência.
Edite o primeiro teste subordinado, cole o JSON copiado no JSON de Anexos Esperados e selecione Guardar Teste.
Na grelha subordinada do teste de vários turnos, selecione + Novo Teste de Agente novamente e configure o segundo teste subordinado:
Campo valor Tipo de Teste Anexos (Cartões Adaptativos, etc.) Ordenar 2 Tipo de Operação Invocar Ações Payload do Cartão Adaptativo {"action": "Allow", "id": "submit", "shouldAwaitUserInput": true}Operador de Comparação Contém Dados (ou É Igual, dependendo da resposta que pretende verificar) Respostas Esperada Deixe em branco ou defina com base nos dados que espera depois de a ligação ser permitida. Os valores da payload vêm do JSON do Cartão Adaptativo que capturou no passo 4. Ajuste os campos
actioneidse o seu cartão do conector usar identificadores diferentes.Selecione Guardar Teste.
Guarde o conjunto de testes e execute-o novamente. Ambos os testes subordinados deverão agora passar.
Após este teste de vários turnos ser executado com sucesso uma vez, a ligação é autorizada para o utilizador do teste e os testes subsequentes contra o mesmo conector podem ser feitos como testes normais de vez única.
Utilizar o Excel para criar ou atualizar testes em lote
Depois de criar um conjunto de testes, pode usar o Excel para criar ou atualizar testes em lote.
- No registo do conjunto de testes, alterne a vista de subgrelha de Testes para Vista de Exportação/Importação.
- Selecione Exportar Testes de Agente no Excel Online.
- Adicione e modifique testes conforme necessário.
- Selecione Guardar.
Se estiver a importar testes subordinados de vários turnos, deve primeiro criar ou importar o teste principal real de vários turnos. Em seguida, importe os casos de testes subordinados.
Saiba mais em Importação e exportação do Excel nas aplicações do Power Apps condicionadas por modelo.
Duplicar testes e conjuntos de testes
Pode duplicar tanto conjuntos de testes como testes individuais.
Para duplicar um caso de teste único, abra o registo de teste do agente e selecione Duplicar Caso de Teste. Esta ação é útil ao criar variantes de um caso de teste, como a alteração do local, do horário ou do montante.
Para duplicar um conjunto de testes completo, abra o registo do conjunto de testes e selecione Duplicar Conjunto de Teste na barra de comandos. Esta ação cria uma cópia do conjunto de testes e de todos os testes subordinados.