Partage via


Appliquer les capacités d’orchestration générative

L’orchestration générative est l’évolution du développement d’agents conversationnels dans Copilot Studio. Il introduit une couche de planification pilotée par un grand modèle de langage (LLM) qui interprète l’intention de l’utilisateur, décompose les requêtes complexes, sélectionne les bons outils et connaissances, et exécute des plans en plusieurs étapes avec des garde-fous pour la sécurité et la conformité. Au lieu de se reposer uniquement sur des sujets de conversation faits main, l’orchestration générative compose des blocs de construction réutilisables — actions, sujets, sources de connaissances, agents enfants et déclencheurs autonomes — en flux de travail intelligents.

Dans Copilot Studio, permettre l’orchestration générative offre de meilleures réponses avec moins de scripting manuel. Dans cet article, vous découvrez l’architecture derrière l’orchestration générative, ainsi que la manière de rédiger des instructions efficaces et de tester et d’ajuster vos agents orchestrés.

Pourquoi l’orchestration générative est-elle importante ?

Les conceptions traditionnelles axées sur les thèmes nécessitent plusieurs sujets faits main, des branches rigides et une logique de remplissage manuel des emplacements. Cette approche peut conduire à :

  • Grands inventaires thématiques avec une logique qui se chevauche.
  • Difficulté à gérer les énoncés ambigus ou à multiples intentions.
  • Des expériences incohérentes lorsque les utilisateurs formulent les questions différemment.
  • Coût élevé d’entretien lorsque les API ou les règles métier changent.

L’orchestration générative résout ces défis en :

  • Réduire la dispersion des sujets en composant des blocs de construction réutilisables.
  • Automatisation du remplissage de créneaux en fonction des définitions d’entrée.
  • Adapter dynamiquement le style de réponse et la structure du plan.
  • Améliorer la pertinence grâce à la récupération sémantique des connaissances.
  • Permettre des suggestions proactives pour la prochaine étape.

Architecture et composants

À un niveau général, un agent orchestrateur génératif se compose de plusieurs composants clés travaillant ensemble :

  • Orchestrateur (planificateur) : Le cerveau piloté par le LLM de l’agent qui transforme une entrée, comme un message utilisateur ou un événement, en un plan structuré. L’orchestrateur identifie les intentions, choisit quels outils, sujets ou agents invoquer pour chaque étape, et définit la séquence et le flux de données entre les étapes. Il génère une liste ordonnée d’étapes (un « plan ») que l’exécution exécute, et s’assure que chaque étape respecte la politique. Par exemple, il cherche à obtenir l’approbation pour des actions sensibles.

  • Couche de connaissances : Un ensemble de sources de récupération, telles que des bases de connaissances internes, des documents, des bases de données, et plus encore, que l’agent peut interroger pour fonder ses réponses. L’orchestrateur utilise cette couche pour obtenir des informations factuelles ou des conseils. Les résultats incluent souvent des citations et des métadonnées, que l’agent peut intégrer dans les réponses pour plus de transparence. La couche de connaissances est en lecture seule et fournit des preuves ou du contexte.

  • Outils et connecteurs : actions externes, API ou flux d’automatisation que l’agent peut appeler dans le cadre d’un plan. Chaque outil dispose d’une interface définie : paramètres d’entrée (avec types attendus), variables de sortie, et éventuellement conditions d’erreur. Ce sont essentiellement les « compétences » de l’agent pour effectuer des opérations, comme consulter une commande, envoyer un e-mail ou exécuter un script. Vous devez tester minutieusement les outils et vous assurer qu’ils se comportent de manière déterministe avec les mêmes entrées, puisque l’orchestrateur les considère comme des fonctions fiables.

  • Sujets et agents en ligne : sujets de conversation réutilisables ou mini-dialogues qui résument une logique spécifique. En orchestration générative, le planificateur peut invoquer les sujets non seulement par des phrases déclencheuses, mais aussi chaque fois que leur objectif décrit correspond au besoin de l’utilisateur. Les agents en ligne désignent des sujets ou routines petits et ciblés utilisés comme sous-étapes au sein d’un plan plus large. Ils s’exécutent dans le contexte de l’agent principal et gèrent des tâches discrètes afin que l’orchestrateur principal n’ait pas à scripter explicitement ces détails.

  • Déclencheurs d’événements (autonomie) : Mécanismes qui lancent l’orchestrateur sans message utilisateur. Ces mécanismes peuvent être des déclencheurs programmés ou des déclencheurs basés sur des événements, comme une mise à jour d’enregistrement de base de données, qui poussent l’agent à lancer un plan de manière autonome. Chaque déclencheur peut avoir ses propres conditions et instructions. Les déclencheurs autonomes permettent à l’agent d’agir de manière proactive en initiant des flux de travail lorsque certaines conditions sont remplies, au lieu de ne réagir qu’aux entrées de chat des utilisateurs.

Couches de contrôle et frontières de décision

Dans un agent de qualité production, ne laissez pas chaque décision à l’IA. En général, trois niveaux de contrôle existent :

  • Couche déterministe : Cette couche utilise une logique traditionnelle, basée sur des règles, que vous continuez à appliquer pour les actions critiques ou irréversibles. Par exemple, lors du traitement d’un paiement ou de la suppression d’un enregistrement, vous pouvez utiliser un sujet ou un flux strictement écrit qui s’exécute étape par étape sans aucune interprétation IA. Cette couche peut également inclure des vérifications ou validations explicites pour des données sensibles. Si quelque chose doit se produire exactement comme spécifié, il faut le traiter de manière déterministe. Vous pouvez configurer l’orchestrateur génératif pour ne pas écraser ou modifier ces flux. En pratique, vous pourriez soit ne pas exposer ces actions à l’IA planner, soit toujours les envelopper dans un sujet nécessitant la confirmation de l’utilisateur.

  • Couche hybride (intercept) : Cette couche ajoute une certaine flexibilité de l’IA autour de structures principalement déterministes. Vous laissez l’orchestrateur opérer dans des limites définies avec la possibilité d’interception humaine ou basée sur des règles. Par exemple, un agent peut automatiquement rédiger une réponse ou effectuer une action, mais vous pouvez insérer une étape d’approbation pour qu’un manager la réexamine. Ou bien l’agent peut gérer une tâche jusqu’à une certaine limite de valeur, puis être obligé d’escalader. La couche hybride prédéfinit les points où le plan autonome de l’IA est pris en place. Utilisez cette approche pour les processus à risque moyen : laissez l’IA faire le gros du travail, mais gardez un humain informé de la supervision.

  • Couche d’orchestrateur IA : Cette couche est entièrement générative. Le planificateur LLM a la liberté (dans des limites de sécurité) pour composer et exécuter des plans pour des requêtes à faible risque. La plupart des interactions Q&R, recherches d’informations ou requêtes simples en plusieurs étapes entrent dans cette catégorie. Pour la plupart des questions des utilisateurs, l’agent peut décider autonomement comment les résoudre et agir. Cette couche offre l’adaptabilité et la puissance de l’IA générative. Elle est liée par des politiques. Par exemple, l’IA peut savoir qu’elle n’a pas le droit d’appeler certains outils d’administration ou de révéler certaines informations. L’agent n’a pas besoin de s’arrêter pour demander la permission pour des tâches routinières.

Étant donné ces couches, définissez explicitement les frontières de décision. Regardez quelles actions et sujets :

  • Peut être exécuté sans confirmation (l’IA peut simplement les faire)
  • Exigez la confirmation de l’utilisateur dans la conversation (par exemple, « Êtes-vous sûr de vouloir supprimer tous les enregistrements ? »)
  • Exiger une approbation hors ligne (par exemple, un administrateur doit confirmer via un flux de travail d’approbation)

Faites respecter ces limites via la conception de votre sujet, par exemple en ajoutant un nœud de confirmation, via les fonctionnalités d’approbation de la plateforme, ou via la logique dans les déclencheurs. En superposant le contrôle, vous vous assurez que l’agent fonctionne en toute sécurité — l’IA gère ce qu’elle sait faire tandis que les humains ou les règles strictes gèrent ce que l’IA ne devrait pas décider seule.

Meilleures pratiques pour les instructions de l’agent

Des instructions correctement rédigées par l’agent influencent la qualité de la création du plan.

  • Pertinence contextuelle

    • Assurez-vous que les instructions ne font référence qu’aux outils et aux connaissances disponibles pour l’agent.
    • Utilisez les noms exacts des outils, des noms des variables et des identifiants Power Fx.
  • Lignes directrices de conversation

    • Spécifiez le format de la réponse (listes, tableaux, gras).
    • Fournir des conseils stylistiques (« concis », « inclure des citations », « proposer les prochaines étapes »).
    • Évitez de nommer directement des sources de connaissances spécifiques. Décris-les plutôt.
  • Déterminer quand utiliser des outils ou des connaissances

    • Je préfère utiliser les noms des outils. Les noms ont plus de poids que les descriptions.
    • Décrivez les capacités de connaissance de manière générique pour éviter des informations incorrectes.
  • Instructions d’exécution autonomes

    • Définissez la séquence d’actions attendue pour les flux de travail en plusieurs étapes.
    • Combinez les instructions de processus avec des consignes spécifiques.

En savoir plus dans Configurer des instructions de haute qualité pour l’orchestration générative.

Conception des entrées et sorties thématiques

Lorsque vous rédigez des sujets, prêtez une attention particulière à leurs paramètres d’entrée et de sortie en mode orchestration générative :

  • Définissez des paramètres d’entrée clairs avec des descriptions : Si un sujet ou une action nécessite certaines informations (comme « Nom d’utilisateur » pour un sujet de réinitialisation de mot de passe), créez une entrée de sujet pour celui-ci et donnez-lui un nom descriptif et un exemple. L’orchestrateur utilise ces noms et descriptions pour demander automatiquement à l’utilisateur si la valeur manque. L’utilisation d’une liste de valeurs acceptées ou d’une formule de validation Power Fx pour les entrées peut aider à garantir que le bot collecte des données valides (par exemple, en restreindant un code pays à deux lettres).

  • Utilisez l’auto-invite : En mode génératif, l’agent génère des questions de lui-même au lieu de vous obliger à ajouter manuellement des nœuds de questions pour demander des informations manquantes. Cette approche représente un changement majeur par rapport aux bots classiques. L’essentiel est que vos noms d’entrée soient adaptés aux humains (par exemple, « date de début », « adresse e-mail ») afin que l’IA puisse formuler une question naturelle. Si la question générée automatiquement par l’IA n’est pas formulée idéalement, envisagez d’affiner la description ou le nom de l’entrée. Cette fonctionnalité simplifie considérablement les dialogues, mais repose sur des commandes bien précisées.

  • Spécifiez les résultats pour les sujets lorsque cela est approprié : Un sujet peut produire des variables de sortie que l’orchestrateur utilise pour compiler la réponse finale. Par exemple, un sujet « Store Finder » pourrait produire NearestStoreLocation. En envoyant des informations au lieu d’envoyer directement un message à l’utilisateur, vous laissez l’orchestrateur combiner ces informations avec d’autres étapes de manière élégante. Si le contenu d’un sujet est utilisé dans une réponse plus large, capturez-le comme variable de sortie et laissez l’orchestrateur gérer le message final. Apprenez-en davantage dans l'orchestration du comportement des agents avec l'IA générative.

  • Évitez de « double-manipuler » les données dans les invites : Si vous configurez les sorties, ne les alimentez pas aussi dans le LLM en contexte ouvert. Par exemple, si une action retourne un texte résumé, passez ce résumé comme une sortie structurée et laissez l’orchestrateur l’inclure, plutôt que d’écrire une instruction comme « Le résultat de l’action dit {résumé}. » Cette approche empêche le modèle de surgénérer ou de répéter le contenu. Les sorties doivent être les derniers points de données dans la mesure du possible.

Enchaîner actions, sujets et connaissances

Parce que l’orchestrateur peut utiliser plusieurs capacités en un seul tour, concevoir en pensant à la composabilité :

  • Donnez à tout des noms et descriptions intuitifs : Le planificateur décide en grande partie d’utiliser un outil ou un sujet en fonction de la correspondance de son nom et de sa description à la demande de l’utilisateur. Utilisez des phrases actives qui correspondent aux intentions de l’utilisateur. Par exemple, un outil nommé « TranslateText » avec la description « Traduit le texte dans une langue spécifiée » est plus susceptible d’être choisi lorsque l’utilisateur demande à traduire, contrairement à un outil génériquement nommé « Flow1 ». Les noms comptent plus que tout. Évitez les noms cryptiques. Si l’agent choisit le mauvais sujet, revenez sur ces noms et descriptions.

  • Fournissez une « boîte à outils » riche mais organisez-la : reliez toutes les actions utiles dont votre scénario pourrait avoir besoin (API, flux, etc.), et rédigez des sujets pour les flux importants. Cette approche offre à l’IA plus d’options pour résoudre les requêtes. Cependant, retirez ou désactivez les outils et sujets que vous savez être hors de propos ou risqués pour l’agent, afin qu’ils ne confondent pas le planificateur. Un ensemble plus restreint de choix de haute qualité est préférable qu’un ensemble exhaustif avec des chevauchements. Des descriptions qui se chevauchent peuvent pousser l’agent à essayer plusieurs choses à la fois, ce qui peut être peu souhaité.

  • Faites confiance au planificateur, dans la limite du raisonnable : une fois les composants bien définis, laissez l’orchestrateur mélanger et assortir. Par exemple, si l’utilisateur pose une question qui pourrait être traitée par un article de connaissances ou une API de données actives, le planificateur peut choisir d’utiliser les deux — récupérer les connaissances en arrière-plan et appeler l’API pour obtenir des informations actuelles. Cette approche peut donner une réponse supérieure. Adoptez cette autonomie, mais observez dès le début pour vous assurer que de bons choix sont faits.

  • Gérer plusieurs intentions : Si une requête utilisateur demande intrinsèquement deux choses distinctes (comme « ouvrir un nouveau compte et m’envoyer les détails »), le planificateur génératif tente de satisfaire les deux en invoquant à tour les séquences pertinentes. Vous n’avez pas besoin de scripter manuellement le branchement pour le multi-intention. Votre rôle en tant que développeur est de vous assurer que chaque sous-tâche (ouverture de compte, envoi de détails) est couverte par un outil ou un sujet, et que leurs sorties et entrées sont connectées si nécessaire.

  • Laissez la connaissance compléter les sujets et outils : L’orchestrateur peut appeler la recherche de connaissances de manière proactive, pas seulement comme solution de secours. Si vous avez configuré une base de connaissances riche, l’agent peut répondre à une partie d’une requête par un extrait d’article de connaissance, même si une action en couvre une autre. Ce comportement est voulu. Gardez votre base de connaissances à jour avec des informations qui ne sont pas facilement accessibles via les outils.

  • Soyez attentif à l’ampleur de l’utilisation des données : Actuellement, vous ne pouvez pas forcer l’agent à utiliser un article de données spécifique à la demande. L’IA choisit les articles pertinents en fonction de la requête. Notez aussi les limitations. Par exemple, des sujets système comme « Plusieurs sujets appariés » ne sont pas utilisés en mode génératif, car le planificateur gère la désambiguïsation différemment. Découvrez d’autres limitations connues de l’orchestration générative.

Test et réglage de l’agent orchestré

L’orchestration générative déplace une partie de la logique de la conception explicite vers le « cerveau » de l’IA. Les tests itératifs garantissent qu’il se comporte comme prévu. Voici les meilleures pratiques pour tester et améliorer votre agent orchestré :

  • Utilisez la carte d’activité : Copilot Studio fournit une carte d’activité pendant les tests, qui montre les étapes choisies par l’orchestrateur. Après avoir posé une question complexe à votre agent, examinez le plan : quels sujets ou actions ont été évoqués ? Dans quel ordre ? Est-ce qu’il posait une question de suivi appropriée ? Si l’agent a choisi le mauvais sujet ou a oublié un outil, il se peut que vous deviez affiner les descriptions des composants ou ajuster les instructions.

  • Consultez les transcriptions : Une fois l’agent publié, relisez régulièrement les transcriptions ou les journaux de conversation. Cherchez des hallucinations ou des inexactitudes dans les réponses. Si les utilisateurs donnent un retour comme « ce n’est pas correct », revenez sur la raison pour laquelle l’agent pensait que c’était le cas. Résoudre les problèmes en ajoutant des faits manquants à la base de connaissances, en resserrant les instructions, ou dans certains cas, en ajoutant un nouveau sujet pour combler une lacune. En savoir plus sur Extraire et analyser les transcriptions de conversations des agents (architecture de référence).

  • Itérer avec de petits changements : Vous pouvez souvent améliorer un agent génératif en apportant des modifications subtiles. Par exemple, si la sortie de l’agent est trop verbeuse ou pas dans le format souhaité, ajustez les instructions concernant le style et le format puis testez à nouveau. Si elle invoque un outil inutile à chaque fois, peut-être que la description de l’outil est trop large et que vous pouvez l’affiner pour qu’elle ne soit invoquée que lorsque c’est approprié. Effectuez un changement à la fois et observez l’impact sur les décisions de l’agent.

  • Fournissez des exemples d’énoncés (avec soin) : Vous pourriez constater qu’ajouter quelques exemples de requêtes utilisateur dans la description d’un sujet peut aider le LLM à comprendre quand utiliser ce sujet. Par exemple : « But : Réinitialiser le mot de passe d’un utilisateur. Par exemple, un utilisateur peut dire 'j’ai oublié mon mot de passe' ou 'réinitialiser l’accès à mon compte Contoso'. » Ces exemples donnent des indices supplémentaires au modèle. N’en faites pas trop, et gardez les descriptions succinctes et ciblées. Le modèle contient déjà beaucoup de contexte — assurez-vous simplement que vos métadonnées sont claires.

  • Surveillez les indicateurs de performance : À mesure que l’utilisation augmente, gardez un œil sur des indicateurs clés comme le taux de réussite (l’agent a-t-il réellement résolu la demande de l’utilisateur ?), le taux de repli (combien de fois il est indiqué « Désolé, je ne peux pas aider avec ça »), et la satisfaction de l’utilisateur si disponible. Même lors des tests, de simples comptages de la fréquence d’utilisation de chaque sujet et outil peuvent indiquer des ajustements nécessaires. Par exemple, si un sujet de conversation trivial est évoqué trop souvent et ajoute du bruit, désactivez-le ou restreignez sa description. Consultez les conseils pour tester la performance de vos agents.

Les systèmes génératifs apprennent implicitement de vos configurations et de vos correctifs. Chaque amélioration des instructions ou des métadonnées améliore la prochaine décision de l’IA. Avec le temps, votre agent orchestré devient plus précis et efficace dans la gestion des requêtes.

Déclencheurs personnalisés en orchestration générative

Les déclencheurs thématiques sont disponibles spécifiquement pour l’orchestration générative. En utilisant ces déclencheurs, vous pouvez vous connecter au cycle de vie de l’agent et injecter une logique personnalisée à des moments critiques du processus d’orchestration. Trois déclencheurs principaux sont disponibles :

Déclencheur Quand il se déclenche Objectif
Sur la connaissance demandée Juste avant que l’agent ne réalise une requête dans la base de connaissances Ce déclencheur vous permet d’intercepter le moment où l’orchestrateur s’apprête à fouiller dans les sources de connaissances. Il offre un accès en lecture seule aux SearchPhrase mots-clés ou que l’agent souhaite utiliser, ainsi qu’une variable système pour fournir des résultats de recherche personnalisés. Par exemple, vous pourriez détecter la requête et la diriger vers un index propriétaire ou injecter plus de données dans les résultats.
C’est un déclencheur avancé (« secret ») — il n’est pas visible dans l’interface par défaut et doit actuellement être activé via une modification YAML (en nommant précisément OnKnowledgeRequestedun sujet). Utilisez-le si vous devez augmenter ou personnaliser l’étape de recherche des connaissances, comme filtrer certains résultats ou fusionner des données externes dans la réponse des connaissances.
Réponse générée par l’IA Après que l’IA ait composé un brouillon de réponse, mais avant qu’elle ne soit envoyée à l’utilisateur L’agent déclenche ce déclencheur une fois qu’il a construit le texte final de réponse (basé sur tous les outils et sujets) et juste avant de le livrer. Cette étape vous donne la possibilité de modifier programmatiquement la réponse ou ses citations. Par exemple, vous pouvez post-traiter le texte pour corriger la mise en forme, ou remplacer les URL brutes par des liens de suivi compatibles. Vous pouvez même décider de passer outre la réponse. Le déclencheur peut générer un message personnalisé lui-même, et vous pouvez utiliser un ContinueResponse drapeau pour indiquer si la réponse IA originale doit toujours être envoyée ou non.
Utilisez ce déclencheur pour des ajustements ou des améliorations de dernière seconde à la réponse de l’IA, comme ajouter une invite à un sondage ou censurer quelque chose que l’IA a inclus mais que vous souhaitez retirer. Une utilisation intensive de cette gâchette pourrait indiquer une certaine logique qui aurait pu se trouver dans les instructions principales. Utilisez-le pour un contrôle précis quand c’est nécessaire.
Sur le plan terminé Après que le plan complet soit exécuté et que la réponse ait été envoyée Une fois le plan terminé, c’est-à-dire toutes les étapes terminées et que l’utilisateur voit la réponse, ce déclencheur se déclenche. En général, utilisez-le pour lancer les processus de fin de conversation. Une utilisation courante consiste à rediriger la conversation vers un sujet final précis ou vers un sondage. Par exemple, vous pourriez avoir un sujet de fin de discussion qui remercie l’utilisateur ou propose les prochaines étapes. En utilisant On Plan Complete, vous pouvez appeler ce sujet automatiquement.
Cependant, soyez prudent : vous ne voudrez probablement pas terminer la conversation après chaque question d’utilisateur, surtout si un utilisateur pourrait poser des questions de suivi. Ajouter la logique à la fin seulement si une certaine variable de contexte est définie ou si le plan a résolu un type particulier de requête. Essentiellement, utilisez On Plan Complete pour des opérations de nettoyage ou une fermeture élégante lorsque cela est approprié.

Capacités d’orchestration générative accrues

Approfondissez votre compréhension du modèle d’orchestration de Copilot Studio avec des capacités avancées qui étendent la façon dont les agents planifient, agissent et collaborent :