Un agent Microsoft Copilot Studio peut respecter ses tests unitaires tout en devenant moins fiable à mesure que ses outils, ses instructions et ses connaissances s’accumulent. L’objectif de cet audit est de repérer cette dette d’architecture, puis de décider ce qui doit rester dans l’agent principal, passer dans un workflow ou être confié à un agent spécialisé.
Au-delà de 25 à 30 outils, l’architecture doit être revue
L’orchestrateur génératif accepte jusqu’à 128 outils par agent, mais Microsoft Learn recommande de rester entre 25 et 30 outils pour obtenir de meilleurs résultats. Ce nombre n’est pas un seuil automatique de découpage : un agent de quinze outils aux descriptions presque identiques peut être plus ambigu qu’un agent de trente outils clairement délimités.
La difficulté apparaît lorsque plusieurs capacités semblent répondre à la même demande. Un agent d’intégration de fournisseurs peut progressivement réunir la recherche ERP, les contrôles fiscaux et bancaires, le filtrage des sanctions, les contrats, les approbations, la messagerie et le reporting. Une instruction telle que « intègre ce fournisseur » ouvre alors plusieurs chemins plausibles.

L’audit doit rechercher quatre symptômes :
- Sélection incertaine : plusieurs outils, sources ou agents connectés pourraient traiter la même intention.
- Contexte encombré : les instructions générales contiennent des règles utiles à une seule tâche.
- Exécution variable : l’agent multiplie les appels, les reprises ou les changements de stratégie.
- Gouvernance diffuse : aucun propriétaire ne maîtrise l’ensemble des permissions et dépendances.
Gary Pretty précise que la recherche d’outils exploite les noms, les descriptions et les métadonnées des paramètres. Ces métadonnées influencent donc la découverte de l’outil, puis sa sélection finale.
Le nombre d’outils est un signal, pas un verdict
Auditer l’agent sans modifier la production
L’audit de conception doit être réalisé avec un accès en lecture aux définitions de l’agent et la participation de ses propriétaires fonctionnels. Il ne justifie pas, à lui seul, l’attribution d’un rôle permettant de modifier ou de publier l’agent.
Délimiter le périmètre et les propriétaires
Recensez l’agent principal, ses outils, ses connaissances, ses workflows et ses agents connectés. Pour chaque élément, notez un propriétaire métier, un propriétaire technique et le système auquel il accède.
Documenter chaque capacité comme une décision
Décrivez ce que la capacité fait, dans quel cas elle doit être sélectionnée et ce qu’elle ne doit jamais traiter. Le document JSON suivant illustre une fiche directement réutilisable dans un référentiel interne.
1{2 "capabilityName": "Rechercher un fournisseur dans l’ERP",3 "capabilityType": "tool",4 "owner": "Équipe ERP",5 "useWhen": "La demande contient une raison sociale ou un numéro fiscal",6 "doNotUseWhen": "La demande porte sur un contrôle bancaire ou une sanction",7 "inputs": ["raisonSociale", "numeroFiscal"],8 "expectedOutput": "Identifiant ERP unique ou absence de résultat",9 "securityBoundary": "Données fournisseurs ERP"10}Tester les intentions ambiguës et négatives
Ne testez pas seulement les demandes évidentes. Ajoutez des formulations incomplètes, des demandes pouvant correspondre à deux outils et des cas qui ne doivent déclencher aucune action.
1[2 {3 "prompt": "Recherche le fournisseur Contoso dans l’ERP",4 "expectedOwner": "Outil de recherche ERP",5 "expectedAction": "Recherche fournisseur"6 },7 {8 "prompt": "Vérifie les coordonnées bancaires de Contoso",9 "expectedOwner": "Contrôle bancaire",10 "expectedAction": "Ne pas appeler la recherche ERP"11 },12 {13 "prompt": "Prépare une synthèse sans créer le fournisseur",14 "expectedOwner": "Agent principal",15 "expectedAction": "Aucune écriture dans l’ERP"16 }17]Repérer les collisions de métadonnées
Comparez les noms, les descriptions et les paramètres. Fusionnez les doublons et remplacez les intitulés génériques comme « rechercher » par une description du système visé, des critères acceptés et du résultat retourné.
Attribuer chaque responsabilité au composant minimal
Classez chaque capacité dans l’une des catégories suivantes : outil, workflow, skill, agent connecté ou orchestration principale. Documentez la raison du choix et les dépendances introduites.
Le résultat attendu n’est pas nécessairement une architecture multi-agents. Il s’agit d’une carte de responsabilités montrant ce qui doit être conservé, fusionné, retiré ou déplacé.
Choisir entre outil, workflow, skill et agent connecté
Chaque composant répond à un problème distinct. Transformer systématiquement un outil en agent spécialisé augmente les transferts, la consommation de jetons et le nombre de points de défaillance.
| Responsabilité | Composant recommandé | Critère de décision |
|---|---|---|
| Action ou recherche bornée | Outil | Entrées, sortie et système cible clairement définis |
| Séquence fixe ou approbation | Workflow | Les étapes doivent rester prévisibles et répétables |
| Instructions spécialisées | Skill | Consignes utiles uniquement pendant une tâche précise |
| Domaine autonome | Agent connecté | Contexte, propriétaire ou frontière de sécurité distincts |
| Coordination et exceptions | Agent principal | La prochaine étape demande une appréciation contextuelle |

Les skills agentiques ne sont disponibles que pour les agents propulsés par le harnais GitHub Copilot. Microsoft précise qu’ils sont différents des skills Azure Bot Service du harnais standard : les deux concepts ne doivent pas être traités comme interchangeables.
Le choix du harnais est irréversible pour l’agent
Le harnais est choisi lors de la création. Un agent GitHub Copilot ne peut pas être converti vers le harnais standard, ni l’inverse. Consultez notre analyse des deux architectures Copilot Studio avant de créer l’agent cible.
Validez le harnais avant de reconstruire l’agent
Les agents A2A, Microsoft Foundry et Copilot Studio peuvent être connectés dans les deux harnais. Dans le harnais GitHub Copilot, la recherche d’outils limite les définitions chargées à la demande, mais elle ne corrige pas des responsabilités qui se chevauchent.
Découper uniquement sur une frontière vérifiable
Reprenons l’illustration de l’intégration d’un fournisseur. La validation des champs, la recherche de doublons, les contrôles obligatoires, la création de l’enregistrement et l’approbation forment une séquence stable : elle relève d’un workflow. L’agent principal collecte les informations, déclenche cette séquence et gère les exceptions.
Un agent spécialisé devient pertinent si les contrôles de conformité disposent de connaissances, d’un propriétaire et d’exigences d’accès indépendants. À l’inverse, créer un agent séparé uniquement parce que le composant contient beaucoup d’instructions déplace la complexité sans nécessairement la réduire.
Points forts
- Contexte spécialisé chargé seulement quand il est utile
- Responsabilité et permissions attribuables à une équipe
- Évaluation indépendante de chaque domaine
Limites
- Chaque transfert ajoute des jetons et de la latence
- Un agent connecté constitue un point de défaillance supplémentaire
- La publication et la gouvernance portent sur davantage de composants

Chaque composant doit également disposer d’un propriétaire et d’une identité gouvernée. Microsoft Entra Agent ID fournit des identités d’agents interrogeables par Microsoft Graph. Les API de gestion des packages d’agents restent signalées en préversion dans les éléments fournis et nécessitent une licence Microsoft Agent 365 ; cette exigence ne doit pas être généralisée sans vérification aux autres points de terminaison.
Au Québec, une décision fondée exclusivement sur un traitement automatisé peut relever de l’article 12.1 de la Loi sur la protection des renseignements personnels dans le secteur privé. Si un agent décide plutôt que de préparer une recommandation, faites valider le scénario par le responsable de la protection des renseignements personnels. Cette mise en relation constitue une lecture de conformité, pas un avis juridique.
Intégrer les crédits Copilot dans l’audit
La taille de l’agent ne détermine pas directement sa facture. En revanche, davantage d’appels, d’actions et de transferts peuvent augmenter la consommation. La grille Microsoft des crédits Copilot indique les valeurs suivantes :
1{2 "meteringBaseline": [3 { "interactionType": "Réponse classique", "copilotCredits": 1 },4 { "interactionType": "Réponse générative", "copilotCredits": 2 },5 { "interactionType": "Action d’agent", "copilotCredits": 5 },6 { "interactionType": "Ancrage sur le graphe du locataire", "copilotCredits": 10 }7 ]8}Ces usages sont sans frais pour un utilisateur disposant d’une licence Microsoft 365 Copilot. Lorsqu’un environnement n’a plus de crédits, les nouvelles exécutions de flux d’agent sont bloquées, sauf si l’environnement est associé à un plan pay-as-you-go.
La documentation de licences Copilot Studio publie un tarif de 0,01 dollar par crédit pour le compteur pay-as-you-go, facturé à terme échu. Un pack de 25 000 crédits coûte 200 dollars par mois et par locataire, avec une facturation annuelle. Notre guide des licences, crédits et agents Copilot complète cette lecture par modèle de consommation.
Pendant l’audit, associez donc chaque scénario de test à son type d’interaction. Ne promettez pas d’économie à partir du seul nombre d’agents : un transfert vers un agent connecté ajoute lui-même du contexte et un appel supplémentaire.
Mise en œuvre : inventorier les identités d’agents
Le script suivant réalise un inventaire en lecture seule des identités Microsoft Entra Agent ID enregistrées dans le locataire.
- Module requis :
Microsoft.Graph. Aucune version minimale ni commande d’installation n’est fournie par les références vérifiées ; utilisez la procédure validée par votre organisation. - Permission déléguée minimale :
AgentIdentity.Read.All. - Modification du locataire : aucune.
- Sortie attendue : un tableau trié contenant
displayName,idetappId. - Propagation : aucun délai chiffré n’est indiqué. Si une identité créée ou migrée manque, vérifiez son état puis relancez la lecture.
1# Inventaire en lecture seule des identités d’agents Microsoft Entra Agent ID2# Module requis : Microsoft.Graph3# Permission déléguée minimale : AgentIdentity.Read.All4 5# Ouvre une session Microsoft Graph avec le seul scope de lecture nécessaire6Connect-MgGraph -Scopes "AgentIdentity.Read.All"7 8# Interroge le point de terminaison v1.0 des identités d’agents9$uri = "https://graph.microsoft.com/v1.0/servicePrincipals/microsoft.graph.agentIdentity"10$reponse = Invoke-MgGraphRequest -Method GET -Uri $uri11 12# Affiche les propriétés utiles à l’inventaire, triées par nom13$reponse.value |14 Select-Object displayName, id, appId |15 Sort-Object displayName |16 Format-Table -AutoSizeUne exécution réussie affiche une ligne par identité visible. Une sortie vide ne prouve pas que l’environnement ne contient aucun agent : elle doit être rapprochée de l’inventaire Copilot Studio et de l’état d’enregistrement des identités.
| Symptôme | Cause probable | Résolution |
|---|---|---|
| La connexion refuse la lecture | Le scope AgentIdentity.Read.All n’est pas accordé | Rétablir la connexion avec Connect-MgGraph -Scopes AgentIdentity.Read.All et faire valider le consentement requis |
| Le tableau est vide | Aucune identité visible ou enregistrement incomplet | Comparer le résultat avec l’inventaire Copilot Studio avant de conclure |
| Un agent attendu est absent | Identité non migrée, non enregistrée ou propagation en cours | Vérifier son état puis relancer le script, aucun délai chiffré n’étant publié ici |
| Le nombre d’identités dépasse l’inventaire connu | Composants sans propriétaire identifié | Attribuer un propriétaire et enquêter avant toute suppression |
Pour produire un rapport HTML optionnel, le projet AgentIdentityInventory fournit un outil PowerShell en lecture seule avec ses prérequis et ses exemples d’utilisation.
Questions fréquentes
Faut-il découper automatiquement un agent qui dépasse 30 outils ?
Non. Microsoft recommande 25 à 30 outils pour de meilleurs résultats, tandis que la limite technique atteint 128. Le découpage doit répondre à une frontière réelle de contexte, de sécurité, de propriété ou de responsabilité.
Chaque agent enfant peut-il gérer ses propres outils ?
Oui. Avec l’orchestration multi-agents, chaque agent enfant possède sa propre orchestration et peut gérer jusqu’à 128 outils. Cette capacité ne supprime pas la recommandation de limiter et différencier les outils.
Peut-on convertir un agent standard vers le harnais GitHub Copilot ?
Non. Le choix du harnais intervient à la création et aucun passage d’un harnais à l’autre n’est pris en charge. Il faut donc valider les fonctionnalités requises avant de reconstruire l’agent.
Un agent connecté réduit-il nécessairement les coûts ?
Non. Il peut réduire le contexte porté par l’agent principal, mais chaque transfert consomme des jetons et ajoute un point de défaillance. Le gain doit être vérifié avec des scénarios représentatifs et la consommation de crédits correspondante.
Plan d’action avant le redéploiement
Contrôles à terminer
- Compter les outils et signaler tout agent approchant la plage de 25 à 30
- Réécrire les noms, descriptions et paramètres qui se chevauchent
- Déplacer les séquences fixes vers des workflows
- Réserver les agents connectés aux frontières réelles de domaine ou de sécurité
- Vérifier la compatibilité du harnais cible avant de créer un nouvel agent
- Associer un propriétaire métier, technique et sécurité à chaque composant
- Exécuter l’inventaire Microsoft Entra Agent ID et rapprocher les résultats
- Rejouer les tests directs, ambigus et négatifs après chaque modification
- Mesurer les crédits consommés avant et après le découpage
Si votre agent reste sous 25 outils mais sélectionne régulièrement la mauvaise capacité, commencez par les métadonnées et les doublons. S’il porte plusieurs domaines avec des propriétaires ou des droits différents, concevez d’abord les frontières, puis seulement les agents spécialisés.
Pour aller plus loin
- Add tools to custom agents - Copilot Studio — limites d’outils et critères utilisés par l’orchestrateur.
- Agents powered by the GitHub Copilot Harness overview — comparaison des fonctionnalités des deux harnais.
- Billing rates and management - Copilot Studio — barème des crédits et comportement en cas d’épuisement.
- Copilot Studio Licensing Guidance — tarifs pay-as-you-go et packs de crédits.
- Design and configure agents in Copilot Studio - Training — parcours consacré aux coûts, aux skills et aux agents connectés.
