Share via


Como Copilot para Microsoft 365 decide qual plug-in usar

Microsoft Copilot para Microsoft 365 é sua assistente pessoal para o trabalho. Ele ajuda com várias tarefas gerais, como escrever, resumir, pesquisar e muito mais. Copilot tem habilidades diferentes que correspondem a esses diferentes tipos de tarefas. Por exemplo, o Copilot pode resumir itens de ação de uma reunião, sugerir edições em um arquivo ou rastrear recursos e especialistas em um determinado tópico em sua organização. Cada habilidade tem seus próprios parâmetros e saídas adaptados à tarefa específica.

Como qualquer co-piloto, Copilot para Microsoft 365 é treinado com dados em um ponto no tempo. Para recuperar e processar informações novas e em tempo real, especialmente dados específicos para sua organização e fluxos de trabalho, o Copilot requer plug-ins. Os plug-ins estendem as habilidades e o utilitário do Copilot para Microsoft 365 para usuários finais, permitindo que ele escolha a habilidade certa entre milhares.

Mas como Copilot sabe qual habilidade usar quando você pede ajuda? Como ele interpreta sua solicitação e a corresponde à melhor habilidade disponível? Esse é o trabalho do orquestrador Copilot para Microsoft 365.

Este artigo explicará a lógica por trás do processo de seleção de habilidades da Copilot e como você pode garantir que a Copilot empregue seu plug-in em todas as oportunidades que possa beneficiar seus usuários.

Importante

  • Os plug-ins para Microsoft Copilot para Microsoft 365 estão em versão prévia pública e funcionam apenas em Microsoft 365 Chat no Microsoft Teams.
  • O recurso é habilitado por padrão em todos os locatários licenciados do Microsoft 365 Copilot. Os administradores podem desabilitar essa funcionalidade em uma base de usuário e grupo e controlar como os plug-ins individuais são aprovados para uso e quais plug-ins estão habilitados. Para obter detalhes, confira: Gerenciar plug-ins para Copilot em Aplicativos Integrados.

O orquestrador copiloto

Entre a entrada de linguagem natural do usuário final para a saída de linguagem natural do Copilot, o orquestrador do Microsoft Copilot trabalha nos bastidores para selecionar e executar as habilidades certas do plug-s direito para a tarefa fornecida pelo usuário final.

A camada de orquestração representa a interface entre LLMs de base e as várias maneiras pelas quais você pode estender, enriquecer e personalizar o Copilot para a maneira como seus clientes funcionam.

Diagrama da pilha de tecnologia do Microsoft Copilot. De baixo para cima: Microsoft Cloud, infraestrutura de IA, Seus dados, modelos de Fundação, orquestração de IA, Microsoft Copilots | Seus copilots, biblioteca de IA do Teams, conectores do Graph, extensibilidade de plug-in

O gráfico a seguir ilustra como o orquestrador Copilot para Microsoft 365 seleciona o plug-in direito, com a habilidade certa, no momento certo, mesmo quando há milhares de opções para escolher.

Ilustração visual das etapas sequenciais no texto que segue esta imagem.

  1. Entrada de idioma natural

    O usuário digita um prompt para Copilot por meio do chat do Microsoft 365.

  2. Pesquisar ferramentas relevantes

    O orquestrador Copilot pesquisa seu catálogo de ferramentas de plug-ins instalados e habilitados para obter uma lista inicial de habilidades relevantes.

  3. Raciocínio

    Copilot baseia-se no conhecimento combinado de sua LLM e seus dados organizacionais do Microsoft Graph para analisar a solicitação e determinar o contexto do usuário. Em seguida, ele divide o prompt do usuário em intenções ou metas. Cada meta é então dividida em tarefas.

  4. Mapear a intenção do usuário para slots

    O orquestrador mapeia as tarefas do usuário para conectar habilidades e/ou funções internas de habilidade copilot, mapeando restrições implícitas do prompt do usuário para os slots (valores de parâmetro) necessários para executar cada uma das habilidades identificadas.

  5. Executar ferramenta

    Copilot e seus plug-ins são chamados para executar suas habilidades selecionadas.

  6. Gerar resumo

    Copilot mescla, filtra ou classifica as respostas de diferentes assistentes e gera uma única resposta para o usuário.

  7. Saída de idioma natural

    Por fim, Copilot fornece a resposta ao usuário e atualiza o estado da conversa. Copilot está pronto para seu próximo prompt.

Se você imaginar o prompt de um usuário para Copilot como um projeto de construção, o orquestrador Copilot é o empreiteiro geral, que coordena e organiza o trabalho dos subcontratados especializados, seus plug-ins. Semelhante a um empreiteiro geral, o orquestrador é responsável por garantir que o projeto seja "concluído" de acordo com as especificações implícitas pela entrada do usuário (em outras palavras, que a resposta de Copilot satisfaça a intenção do usuário em sua solicitação).

No entanto, é responsabilidade de cada plug-in fornecer a Copilot uma descrição precisa de suas habilidades e executar suas habilidades efetivamente. Isso incutirá um senso de confiança em seus usuários e garantirá que Copilot chame seu plug-in sempre que suas habilidades forem necessárias. A próxima seção fornece mais detalhes sobre como otimizar seu plug-in para que o orquestrador encontre e use.

Otimização de pesquisa de plug-in

Copilot para Microsoft 365 pode escolher exclusivamente a habilidade certa entre milhares. Mas como você pode garantir que Copilot escolha seu plug-in para fornecer a habilidade certa?

A resposta está em como você descreve seu plug-in, suas habilidades e os parâmetros para execução de habilidades. Especificar descrições concisas e precisas no manifesto do plug-in é fundamental para garantir que Copilot saiba quando e como invocar seu plug-in.

As seções a seguir fornecem diretrizes e exemplos para plug-ins, habilidades e descrições de parâmetros.

Descrições de plug-in

As descrições de plug-in devem incluir as ações do usuário, os tipos de entrada e os tipos de saída, para os quais o plug-in é destinado.

Descrições de aplicativo longas e curtas no manifesto do aplicativo devem definir claramente o escopo do seu aplicativo. Para renderizar um aplicativo como um plug-in no Copilot, a descrição do aplicativo deve ser modificada para atender aos seguintes requisitos de plug-in:

  • A descrição longa do aplicativo deve explicar claramente como os usuários podem usar um plug-in de extensão de mensagem no Copilot e qual funcionalidade eles podem esperar. Por exemplo, use a nuvem contoso no Copilot para pesquisar e resumir suas tarefas.
  • A descrição curta deve descrever brevemente a funcionalidade do aplicativo em uma linguagem natural e pode incluir o nome do aplicativo.

A tabela a seguir lista os exemplos de descrição curta para vários cenários de plug-in:

Descrição: criar, pesquisar, exibir tíquetes, bugs e projetos.

Exemplo de descrição do aplicativo:

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.schema.json",
  "version": "1.0.0",
  "manifestVersion": "1.16",
  "id": "2bxxxxc5-5xxx-4xxx-aXXX-94xxxx8919e5",
  "name": {
    "short": "Tasks",
    "full": "Contoso Tasks"
  },
  "description": {
    "short": "Create, search, view tickets, bugs, and projects",
    "full": "Contoso Tasks makes it easy to stay organized. Create, assign, and track tasks individually or collaboratively with your team, and see everything come together in one place."
  },

Descrições de habilidades

As descrições de habilidade são usadas para interpretar o prompt do usuário em uma intenção e, em seguida, mapeá-lo para a habilidade mais relevante disponível para Copilot. Inclua qual ação a habilidade manipula e também o formato esperado de entrada e descrição da saída.

Atualmente, o suporte ao plug-in de extensão de mensagens do Teams está limitado a comandos de pesquisa, com suporte para comandos de ação em breve.

As descrições de habilidades de pesquisa devem:

  • Concentre-se no que e em como o comando pesquisa (lista detalhada) no idioma natural.
  • Inclua verbos e sinônimos, se aplicável.
  • Concentre-se em palavras-chave que provavelmente serão usadas na função de pesquisa de seus aplicativos nativos.

A tabela a seguir lista exemplos de comando de pesquisa para vários cenários de plug-in:

Descrição: pesquise tarefas de alta prioridade relacionadas ao Northwind que devem ser entregues amanhã.

Exemplo de descrição de comando:

"commands": [
        {
          "id": "Search",
          "type": "query",
          "title": "Tasks",
          "description": "Search for high priority tasks related to Northwind that are due tomorrow.",
          "initialRun": true,
          "fetchTask": false,
          "context": [
            "commandBox",
            "compose",
            "message"
          ],

Descrições de parâmetro

Uma boa descrição do parâmetro explica qual é o parâmetro, não o que o parâmetro faz e o formato esperado.

Quando usado diretamente no chat do Microsoft Teams e na composição de email do Outlook, você pode usar uma extensão de mensagem para consultar um parâmetro por vez. Quando usados como plug-in, os comandos de pesquisa de extensão de mensagem dão suporte a até cinco parâmetros (um parâmetro deve estar visível na barra de pesquisa de extensão de mensagem). Um parâmetro deve ter uma boa descrição, que deve descrever a entrada esperada, incluindo formato ou tipo.

Veja a seguir alguns exemplos sobre solicitações de pesquisa básicas e avançadas para vários cenários de plug-in:

Pesquisa básica: pesquise tarefas relacionadas ao Northwind.
Pesquisa avançada: procure tarefas de alta prioridade relacionadas ao Northwind que devem ser entregues amanhã.

Exemplo de descrição do parâmetro:

"parameters": [
    {
        "name": "Name",
        "title": "Project or Task Name",
        "description": "Project name or task name as keyword",
        "inputType": "text"
    },
    {
        "name": "Time",
        "title": "Time",
        "description": "Date or number of days for which to find tasks. Output: Number",
        "inputType": "text"
    },
    {
        "name": "Priority",
        "title": "Priority",
        "description": "Priority of tasks. Acceptable values: high, medium, low, NA ",
        "inputType": "text"
    }]

Seleção de plug-in de depuração

Você pode usar o modo de desenvolvedor durante o teste do plug-in para verificar se e como o orquestrador selecionou seu plug-in para uso em resposta a um determinado prompt. No Chat M365, você pode habilitar o modo de desenvolvedor digitando (ou off desabilitando -developer on ).

Captura de tela da sessão 'M365 Chat' em que o usuário digitou '-developer on' para habilitar com êxito o modo de desenvolvedor

Embora o modo de desenvolvedor esteja habilitado, um cartão com informações de depuração será retornado sempre que o orquestrador pesquisar especificamente em seus conhecimentos corporativos (dados) e/ou habilidades (plug-ins) para responder a um prompt. A cartão de informações de depuração inclui os seguintes campos:

  • Plug-ins habilitados: uma lista de plug-ins habilitados pelo usuário (do controle Plugins abaixo da caixa de entrada do chat)
  • Funções correspondentes: uma lista de plug-ins e funções correspondentes à pesquisa de índice de aplicativo de runtime
  • Funções selecionadas para execução: uma lista de funções de plug-in selecionadas para invocação com base no raciocínio do orquestrador
  • Detalhes da execução da função: status de execução da função de solicitação e resposta

Captura de tela da sessão 'M365 Chat' em que Copilot retornou um cartão com informações de depuração mostrando a correspondência, seleção e execução de função bem-sucedidas de um plug-in habilitado

Solução de problemas de falhas de execução

Aqui estão algumas falhas comuns que você pode encontrar ao depurar a execução do plug-in e possíveis causas.

Nenhuma cartão de depuração

Se o orquestrador não exigir que seus dados ou habilidades do Microsoft 365 respondam a um prompt, nenhuma informação de depuração cartão será retornada.

Cartões de depuração também não são retornados em casos de limitação de capacidade, em que normalmente você verá uma mensagem de erro para tentar novamente mais tarde.

Depuração vazia cartão

Se nenhum plug-in estiver habilitado, as informações de depuração cartão retornarão vazias.

Cartão com funções correspondentes vazias

Se os plug-ins relevantes estiverem habilitados, mas nenhuma função correspondente tiver sido retornada para o prompt fornecido, isso provavelmente indicará que o prompt não menção explicitamente o nome do plug-in.

Cartão com funções selecionadas vazias para execução

Se nenhum plug-in habilitado corresponder à intenção de pesquisa do prompt, as informações de depuração cartão informarão Nenhuma função selecionada para execução. Isso é provável porque a descrição do comando no manifesto não está semanticamente relacionada à intenção de pesquisa do prompt determinado.

Se Copilot estiver correspondendo e executando suas funções de plug-in com êxito, isso pode ser uma indicação de limitação.

Cartão com detalhes de execução de função vazios ou com falha

Para plug-ins de extensão sem mensagem, se os detalhes da execução da função ou a solicitação status estiverem vazios ou falharem, isso indicará uma falha durante a tentativa do Copilot de atribuir parâmetros à função selecionada do plug-in. Se a falha for consistente, provavelmente será devido a plug-in não claro ou descrições de parâmetro, urls de host inválidas ou outros problemas com sua definição de API Aberta.

Para plug-ins de extensão de mensagem, a melhor prática é otimizar para respostas em menos de nove segundos. Para obter mais informações, examine os requisitos técnicos para plug-ins de extensão de mensagem.

Cartão com status de resposta de execução de função0

Se os detalhes da execução da função estiverem relatando um status de resposta de 0, mas solicitar status de Success, isso pode ser uma indicação de tempo limite. Atualmente, o limite de tempo limite para a execução de Copilot de uma API de plug-in é definido em 10 segundos.

Próxima etapa

Aprenda as melhores práticas para otimizar a descoberta e a utilidade do plug-in em Copilot para Microsoft 365.