Comment Copilot pour Microsoft 365 détermine le plug-in à utiliser

Microsoft Copilot pour Microsoft 365 est votre assistant personnel pour le travail. Il aide à effectuer diverses tâches générales, telles que l’écriture, la synthèse, la recherche, etc. Copilot a des compétences différentes qui correspondent à ces différents types de tâches. Par exemple, Copilot peut résumer les éléments d’action d’une réunion, suggérer des modifications à un fichier ou rechercher des ressources et des experts sur un sujet donné dans votre organization. Chaque compétence a ses propres paramètres et sorties qui sont adaptés à la tâche spécifique.

Comme tout copilote, Copilot pour Microsoft 365 est entraîné avec des données à un moment donné. Pour récupérer et traiter de nouvelles informations en temps réel, en particulier des données spécifiques à vos organization et workflows, Copilot a besoin de plug-ins. Les plug-ins étendent les compétences et l’utilité de Copilot pour Microsoft 365 pour les utilisateurs finaux, ce qui lui permet de choisir la compétence appropriée parmi des milliers.

Mais comment Copilot sait-il quelle compétence utiliser lorsque vous demandez de l’aide ? Comment interprète-t-il votre demande et la met-elle en correspondance avec la meilleure compétence disponible ? C’est le travail de l’orchestrateur Copilot pour Microsoft 365.

Cet article explique la logique derrière le processus de sélection des compétences de Copilot et comment vous pouvez vous assurer que Copilot utilise votre plug-in à chaque occasion qu’il peut profiter à vos utilisateurs.

Importante

  • Les plug-ins pour Microsoft Copilot pour Microsoft 365 sont en préversion publique et fonctionnent uniquement dans Microsoft 365 Chat dans Microsoft Teams.
  • La fonctionnalité est activée par défaut dans tous les locataires sous licence Microsoft 365 Copilot. Les administrateurs peuvent désactiver cette fonctionnalité sur une base d’utilisateur et de groupe et contrôler la façon dont les plug-ins individuels sont approuvés pour l’utilisation et quels plug-ins sont activés. Pour plus d’informations, consultez Gérer les plug-ins pour Copilot dans les applications intégrées.

L’orchestrateur Copilot

Entre l’entrée en langage naturel de l’utilisateur final et la sortie en langage naturel de Copilot, l’orchestrateur Microsoft Copilot travaille en arrière-plan pour sélectionner et exécuter la ou les compétences appropriées à partir des plug-ins appropriés pour la tâche donnée de l’utilisateur final.

La couche d’orchestration représente l’interface entre les llms de base et les nombreuses façons dont vous pouvez étendre, enrichir et personnaliser Copilot pour la façon dont vos clients travaillent.

Diagramme de la pile de technologies Microsoft Copilot. De bas en haut : Microsoft Cloud, infrastructure IA, Vos données, modèles de base, orchestration IA, Microsoft Copilots | Vos copilotes, bibliothèque IA Teams, connecteurs Graph, extensibilité de plug-in

Le graphique suivant montre comment l’orchestrateur de Copilot pour Microsoft 365 sélectionne le plug-in approprié, avec la compétence appropriée, au bon moment, même s’il existe des milliers d’options parmi lesquelles choisir.

Illustration visuelle des étapes séquentielles dans le texte qui suit cette image.

  1. Entrée en langage naturel

    L’utilisateur tape une invite à Copilot via une conversation Microsoft 365.

  2. Rechercher des outils pertinents

    L’orchestrateur Copilot recherche dans son catalogue d’outils des plug-ins installés et activés une liste initiale des compétences pertinentes.

  3. Raisonnement

    Copilot s’appuie sur les connaissances combinées de son LLM et de vos données organisationnelles de Microsoft Graph pour analyser la demande et déterminer le contexte de l’utilisateur. Il décompose ensuite l’invite de l’utilisateur en intentions ou objectifs. Chaque objectif est ensuite divisé en tâches.

  4. Mappage de l’intention de l’utilisateur aux emplacements

    L’orchestrateur mappe les tâches de l’utilisateur aux compétences de plug-in et/ou aux fonctions de compétence Copilot intégrées, en mappant les contraintes implicites de l’invite de l’utilisateur aux emplacements (valeurs de paramètre) nécessaires pour exécuter chacune des compétences identifiées.

  5. Outil d’exécution

    Copilot et ses plug-ins sont appelés pour exécuter les compétences sélectionnées.

  6. Générer un résumé

    Copilot fusionne, filtre ou classe les réponses de différents assistants et génère une réponse unique pour l’utilisateur.

  7. Sortie en langage naturel

    Enfin, Copilot fournit la réponse à l’utilisateur et met à jour l’état de la conversation. Copilot est prêt pour sa prochaine invite.

Si vous imaginez l’invite d’un utilisateur à Copilot comme un projet de construction, l’orchestrateur Copilot est l’entrepreneur général, qui coordonne et organise le travail des sous-traitants spécialisés, vos plug-ins. À l’instar d’un entrepreneur général, l’orchestrateur est chargé de s’assurer que le projet est « terminé » selon les spécifications implicites par l’entrée de l’utilisateur (en d’autres termes, que la réponse de Copilot répond à l’intention de l’utilisateur dans sa demande).

Toutefois, il incombe à chaque plug-in de fournir à Copilot une description précise de ses compétences et d’exécuter efficacement ses compétences. Cela insuffle un sentiment de confiance à vos utilisateurs et garantit que Copilot appellera votre plug-in chaque fois que ses compétences sont nécessaires. La section suivante fournit plus d’informations sur la façon d’optimiser votre plug-in pour que l’orchestrateur recherche et utilise.

Optimisation de la recherche de plug-in

Copilot pour Microsoft 365 pouvez choisir de façon unique la compétence appropriée parmi des milliers. Mais comment pouvez-vous vous assurer que Copilot choisira votre plug-in pour fournir la compétence appropriée ?

La réponse réside dans la façon dont vous décrivez votre plug-in, ses compétences et les paramètres d’exécution des compétences. Il est essentiel de spécifier des descriptions concises et précises dans votre manifeste de plug-in pour s’assurer que Copilot sait quand et comment appeler votre plug-in.

Les sections suivantes fournissent des conseils et des exemples pour les plug-ins, les compétences et les descriptions de paramètres.

Descriptions des plug-ins

Les descriptions des plug-ins doivent inclure les actions de l’utilisateur, les types d’entrée et les types de sortie auxquels votre plug-in est destiné.

Les descriptions longues et courtes de l’application dans le manifeste de l’application doivent définir clairement l’étendue de votre application. Pour afficher une application en tant que plug-in dans Copilot, la description de l’application doit être modifiée pour répondre aux exigences suivantes du plug-in :

  • La description longue de l’application doit expliquer clairement comment les utilisateurs peuvent utiliser un plug-in d’extension de message dans Copilot et les fonctionnalités qu’ils peuvent attendre. Par exemple, utilisez le cloud Contoso dans Copilot pour rechercher et résumer vos tâches.
  • Une brève description doit décrire brièvement les fonctionnalités de l’application dans un langage naturel et peut inclure le nom de l’application.

Le tableau suivant répertorie les exemples de brève description pour différents scénarios de plug-in :

Description : Créez, recherchez, affichez des tickets, des bogues et des projets.

Exemple de description de l’application :

{
  "$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."
  },

Descriptions des compétences

Les descriptions des compétences sont utilisées pour interpréter l’invite de l’utilisateur dans une intention, puis la mapper à la compétence la plus pertinente disponible pour Copilot. Incluez l’action gérée par la compétence, ainsi que le format attendu de l’entrée et de la description de la sortie.

Actuellement, la prise en charge du plug-in d’extension de message Teams est limitée aux commandes de recherche, et la prise en charge des commandes d’action sera bientôt disponible.

Les descriptions des compétences de recherche doivent :

  • Concentrez-vous sur ce que et comment la commande recherche (liste détaillée) en langage naturel.
  • Incluez des verbes et des synonymes, le cas échéant.
  • Concentrez-vous sur les mots clés susceptibles d’être utilisés dans la fonction de recherche de vos applications natives.

Le tableau suivant répertorie des exemples de commandes de recherche pour différents scénarios de plug-in :

Description : recherchez les tâches de haute priorité liées à Northwind qui doivent être effectuées demain.

Exemple de description de commande :

"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"
          ],

Descriptions des paramètres

Une bonne description du paramètre explique ce qu’est le paramètre, pas ce que fait le paramètre et le format attendu.

Lorsqu’il est utilisé directement dans la conversation Microsoft Teams et la composition de courrier Outlook, vous pouvez utiliser une extension de message pour interroger un paramètre à la fois. Lorsqu’elles sont utilisées comme plug-in, les commandes de recherche d’extension de message prennent en charge jusqu’à cinq paramètres (un paramètre doit être visible dans la barre de recherche de l’extension de message). Un paramètre doit avoir une description correcte, qui doit décrire l’entrée attendue, y compris le format ou le type.

Voici quelques exemples de requêtes de recherche de base et avancées pour différents scénarios de plug-in :

Recherche de base : recherchez les tâches liées à Northwind.
Recherche avancée : recherchez les tâches de haute priorité liées à Northwind qui doivent être effectuées demain.

Exemple de description du paramètre :

"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"
    }]

Sélection du plug-in de débogage

Vous pouvez utiliser le mode développeur lors du test de votre plug-in pour vérifier si et comment l’orchestrateur a sélectionné votre plug-in en réponse à une invite donnée. À partir de M365 Chat, vous pouvez activer le mode développeur en tapant -developer on (ou off pour désactiver).

Capture d’écran de la session « Conversation M365 » où l’utilisateur a tapé « -developer on » pour activer correctement le mode développeur

Lorsque le mode développeur est activé, un carte avec des informations de débogage est retourné chaque fois que l’orchestrateur effectue une recherche spécifique dans vos connaissances d’entreprise (données) et/ou compétences (plug-ins) pour répondre à une invite. Les informations de débogage carte incluent les champs suivants :

  • Plug-ins activés : liste des plug-ins activés par l’utilisateur (à partir du contrôle Plug-ins sous la zone d’entrée de conversation)
  • Fonctions correspondantes : liste des plug-ins et des fonctions mises en correspondance dans la recherche d’index de l’application runtime
  • Fonctions sélectionnées pour l’exécution : liste des fonctions de plug-in sélectionnées pour l’appel basé sur le raisonnement de l’orchestrateur
  • Détails de l’exécution de la fonction : status d’exécution des fonctions de requête et de réponse

Capture d’écran de la session « Conversation M365 » où Copilot a retourné un carte avec des informations de débogage montrant la correspondance, la sélection et l’exécution de fonction réussies d’un plug-in activé

Résolution des échecs d’exécution

Voici quelques échecs courants que vous pouvez rencontrer lors du débogage de l’exécution du plug-in et les causes possibles.

Aucun carte de débogage

Si l’orchestrateur n’a pas besoin de vos données ou compétences Microsoft 365 pour répondre à une invite, aucune information de débogage carte ne sera retournée.

Les cartes de débogage ne sont pas non plus retournées en cas de limitation de capacité, où vous verrez généralement un message d’erreur pour réessayer ultérieurement.

Carte de débogage vide

Si aucun plug-in n’a été activé, les informations de débogage carte retournent vides.

Carte avec des fonctions correspondantes vides

Si les plug-ins pertinents sont activés, mais qu’aucune fonction correspondante n’a été retournée pour l’invite donnée, cela indique probablement que l’invite n’a pas explicitement mention le nom du plug-in.

Carte avec des fonctions sélectionnées vides pour l’exécution

Si aucun plug-in activé ne correspond à l’intention de recherche de l’invite, les informations de débogage carte indiquent Aucune fonction sélectionnée pour l’exécution. Cela est probablement dû au fait que la description de la commande dans le manifeste n’est pas sémantiquement liée à l’intention de recherche de l’invite donnée.

Si Copilot a précédemment mis en correspondance et exécuté vos fonctions de plug-in avec succès, cela peut être une indication de limitation.

Carte avec des détails d’exécution de fonction vides ou ayant échoué

Pour les plug-ins d’extension sans message, si les détails de l’exécution de la fonction ou la demande status sont vides ou ont échoué, cela indique un échec lors de la tentative de Copilot d’attribuer des paramètres à la fonction sélectionnée de votre plug-in. Si l’échec est cohérent, cela est probablement dû à des descriptions de plug-in ou de paramètres peu claires, à des URL d’hôte non valides ou à d’autres problèmes liés à votre définition d’API Open.

Pour les plug-ins d’extension de message, la meilleure pratique consiste à optimiser les réponses en moins de neuf secondes. Pour plus d’informations, consultez la configuration technique requise pour les plug-ins d’extension de message.

Carte avec réponse d’exécution de fonction status de0

Si les détails de l’exécution de la fonction indiquent un état de réponse de 0, mais que la requête status de Success, cela peut indiquer un délai d’expiration. Actuellement, la limite de délai d’expiration pour l’exécution copilot d’une API de plug-in est définie à 10 secondes.

Étape suivante

Découvrez les meilleures pratiques pour optimiser la détectabilité et l’utilité des plug-ins dans Copilot pour Microsoft 365.