Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le protocole Agent2Agent (A2A) est un standard ouvert pour la communication et la collaboration entre les assistants.
Vous pouvez connecter votre agent personnalisé à un autre agent qui prend en charge le protocole A2A. Copilot Studio utilise le protocole A2A pour orchestrer avec cet agent en réponse à une demande utilisateur ou à un déclencheur.
Qu’est-ce que le protocole Agent2Agent (A2A) ?
Le protocole Agent-to-Agent (A2A) définit un contrat standard pour la communication de l’agent. Il permet à un orchestrateur ou un agent de :
- Envoyer des tâches à des agents externes.
- Fournissez des métadonnées enrichies et structurées.
- Recevoir les réponses de l’agent dans un format prévisible.
Voici comment le protocole A2A se compare à une connexion HTTP traditionnelle pour la communication entre agents :
| Caractéristique | Protocole A2A | Connecteur HTTP |
|---|---|---|
| Conçu pour les flux de travail d’agent | ✓ | ✗ |
| Prend en charge les interactions multiturm | ✓ | ✗ |
| Fournit des métadonnées contextuelles enrichies | ✓ | Limité |
| Interopérable entre les frameworks | ✓ | Varie |
En utilisant A2A, Copilot Studio peut déléguer des tâches à un autre agent, pas seulement appeler des API.
Quand utiliser des connexions A2A
Utilisez une connexion A2A lorsque vous souhaitez intégrer des agents qui implémentent déjà le protocole Agent-à-Agent. Cette approche fonctionne bien pour les agents qui sont :
- Basé sur des frameworks externes.
- Hébergé en dehors de Copilot Studio.
- Équipé de leur propre raisonnement ou flux de travail propres à un domaine.
Utilisez d’autres modèles d’intégration si nécessaire :
| Besoin d’intégration | Approche recommandée |
|---|---|
| Se connecter aux API ou aux services HTTP de base | Connecteurs personnalisés / outils HTTP |
| Utiliser les outils ou ressources MCP | Serveurs MCP |
| Intégrer des agents créés avec Microsoft 365 Agents SDK | Protocole d’activité |
Vous pouvez combiner plusieurs modèles d’intégration dans le même agent Copilot Studio.
Connecter votre agent à un autre agent via le protocole A2A
Accédez à la page Agents de votre agent principal, puis sélectionnez Ajouter un agent.
Sélectionnez Se connecter à un agent> externeAgent2Agent.
Entrez l’URL du point de terminaison de votre assistant A2A. L’URL du point de terminaison doit être le point de terminaison pour la communication avec l’assistant et non l’URL de la carte de l’assistant.
Une fois que vous avez entré votre URL de point de terminaison, si votre agent a une carte d’agent valide sur l’URL standard
.well-known, Copilot Studio extrait automatiquement le nom et la description de votre agent à partir de la carte et les remplit dans le formulaire pour vous.Note
Si un nom et une description ne sont pas renseignés automatiquement pour votre assistant, il est possible que votre assistant n’ait pas de carte d’assistant, que la carte se trouve sur une URL différente de celle attendue, ou qu´il y ait un problème de communication avec la carte. Tout d’abord, vérifiez que le point de terminaison de votre assistant est correct. Si c’est le cas, vous pouvez entrer manuellement un nom et une description appropriés pour votre assistant SDK. La description doit décrire l’objectif de votre assistant, afin que votre assistant principal puisse comprendre quand le deuxième assistant doit être utilisé. En savoir plus sur l’écriture de métadonnées effectives. Vous pouvez également essayer de naviguer vers la carte de votre agent dans votre navigateur (située sur l'endpoint de votre agent +
/.well-known/agent.json).Sélectionnez la méthode d’authentification appropriée, en fonction de la configuration de votre agent sdk, dans la liste déroulante Authentification . Les options sont les suivantes :
- Aucun : sélectionnez cette option si votre agent ne nécessite pas d’authentification ou si vous utilisez l’exemple d’agent fourni dans cette documentation, qui n’a pas d’authentification activée.
- Clé API : sélectionnez cette option si votre agent a besoin d’une clé API pour l’authentification. Vous devez fournir le nom de l’en-tête dans lequel la clé API doit être incluse ou le paramètre de requête.
- OAuth 2.0 : Sélectionnez cette option si votre agent utilise OAuth 2.0 pour l’authentification. Vous devez fournir l’ID client, le secret client, l’URL d’autorisation, l’URL du jeton et l’URL d’actualisation.
Si vous sélectionnez un type d’authentification autre que Aucun, vous devez également compléter les autres détails d’authentification.
Cliquez sur Créer.
Sélectionnez la connexion souhaitée dans la liste des connexions disponibles ou créez une connexion entre votre agent A2A et votre agent Copilot Studio.
Sélectionnez Ajouter et configurer.
Note
Vous êtes responsable d’examiner et de tester soigneusement les agents connectés dans le contexte de vos cas d’usage spécifiques et de prendre toutes les décisions et personnalisations appropriées. Lorsque vous vous connectez à des agents en dehors de Copilot Studio, vous êtes responsable de l'utilisation de ces agents. Les considérations incluent la garantie de :
- Les flux de données, la gestion des données et le partage des données entre agents sont adaptés à votre cas d’usage et respectent les exigences et lois pertinentes
- Les agents respectent des normes appropriées de qualité, de fiabilité, de sécurité et de confiance.
- Les autorisations, les limites et les approbations appropriées sont fournies, si cela est judicieux pour votre cas d'utilisation.
- Une observabilité, une identité et une traçabilité appropriées, ainsi que des fonctions de surveillance humaine sont en place
Exemple de connexion A2A
Dans ce guide de démarrage rapide, vous allez configurer un agent compatible A2A et le connecter à un agent Copilot Studio. Lorsque vous effectuez les étapes, vous
- Exécutez un exemple d’agent avec A2A localement ou utilisez un agent A2A existant que vous avez déjà.
- Exposez l’agent en toute sécurité via HTTPS à l’aide de Dev Tunnels ou d’une autre option d’hébergement.
- Connectez l’agent externe à un agent Copilot Studio via une connexion A2A.
- Validez la connexion en appelant l’agent à partir de Copilot Studio avec une tâche en langage naturel, par exemple : « Quelle plante a besoin d’une plante de tomate plus légère ou d’une plante de fraise ?
Après avoir configuré la connexion, vous voyez :
- Une connexion A2A réussie établie à partir de Copilot Studio.
- Journaux d’activité de l’agent externe confirmant qu’il a reçu et traité la tâche déléguée.
- La charge utile A2A complète, y compris les autres métadonnées que Copilot Studio envoie avec chaque requête.
Prerequisites
Pour suivre l’exemple de scénario, vous avez besoin des éléments suivants :
- Une ressource OpenAI Azure avec :
- URL de point de terminaison
- Nom du déploiement
- Clé API
- .NET 10 SDK ou version ultérieure
- Un environnement Copilot Studio avec des autorisations pour :
- Modifier les agents
- Configurer des connexions
- Méthode permettant d’exposer publiquement l’agent local :
- Dev Tunnels (recommandé pour le développement)
- Ou un environnement hébergé tel que Azure App Service ou conteneur
Si vous disposez déjà d’un agent compatible A2A, accédez à Createz la connexion A2A dans Copilot Studio.
Étape 1 : Cloner et configurer l’exemple d’agent A2A
Clonez l’exemple de référentiel d’agent A2A :
git clone https://github.com/microsoft/CopilotStudioSamples.git
cd CopilotStudiosamples/A2ASamples/Simple_A2A_Agent
Définissez les paramètres Azure OpenAI requis.
-
AZURE_OPENAI_ENDPOINT: URL de point de terminaison OpenAI de votre Azure -
AZURE_OPENAI_DEPLOYMENT_NAME: nom de votre déploiement OpenAI Azure -
AZURE_OPENAI_API_KEY: votre clé API OpenAI Azure
Vous pouvez configurer ces paramètres en tant que variables d’environnement ou en les enregistrant dans appsettings.json ou appsettings.Development.json.
Option A : Configurer en tant que variables d’environnement
$env:AZURE_OPENAI_ENDPOINT="https://YOUR-RESOURCE.openai.azure.com"
$env:AZURE_OPENAI_DEPLOYMENT_NAME="YOUR-DEPLOYMENT"
$env:AZURE_OPENAI_API_KEY="YOUR-KEY"
Option B : Configurer dans appsettings.json
{
"AzureOpenAI": {
"Endpoint": "https://YOUR-RESOURCE.openai.azure.com",
"DeploymentName": "YOUR-DEPLOYMENT",
"ApiKey": "YOUR-KEY"
}
}
Étape 2 : Construire, exécuter et exposer l’agent
Restaurer et générer des dépendances :
dotnet restore
dotnet build
Exécutez l’agent :
dotnet run
La console affiche l’URL de point de terminaison A2A locale.
Exposer le point de terminaison
Note
Pour les scénarios de production, déployez l’agent en tant qu’application web sécurisée ou service conteneurisé à l’aide de l’authentification appropriée. Utilisez Dev Tunnels uniquement à des fins de développement et de démonstration locales.
Si vous utilisez Visual Studio Code et prévoyez d'exposer le point de terminaison à l'aide de Dev Tunnels, exposez un nouveau port de tunnel de développement. Choisissez le port A2A affiché dans la console. Cliquez avec le bouton droit et rendez le port public ; sinon, il n’est pas visible en ligne.
Dev Tunnels vous donne une URL publique, telle que : https://xyz123-9000.dev.tunnels.ms/. Notez cette URL comme point de terminaison de base pour pouvoir l’utiliser lors de la configuration de la connexion A2A dans Copilot Studio.
Étape 3 : Créer la connexion A2A dans Copilot Studio
Une fois l’agent A2A accessible publiquement, créez la connexion A2A dans Copilot Studio.
- Ouvrez Copilot Studio et sélectionnez votre agent principal.
- Sélectionnez Agents.
- Sélectionnez Ajouter un agent, puis choisissez Agent A2A.
- Entrez les valeurs de configuration requises :
- Nom : nom descriptif, tel que l’agent botanique.
-
URL du point de terminaison : Utilisez l’URL du tunnel de développement public suivie du point de terminaison de message A2A, par exemple :
https://xyz123-5073.dev.tunnels.ms/a2a/botanical/v1/message:stream - Authentification : sélectionnez Aucun si vous utilisez l’exemple d’agent (aucune authentification n’est appliquée).
- Sélectionnez Enregistrer pour valider et établir la connexion.
Lorsque la configuration est valide, Copilot Studio confirme que l’agent A2A est correctement connecté.
Conseil / Astuce
Étant donné que les connexions A2A utilisent l’infrastructure de connecteur personnalisée, vous pouvez également les utiliser pour vous connecter à des agents A2A s’exécutant localement ou dans un réseau virtuel.
Étape 4 : Envoyer une tâche de Copilot Studio à l’agent A2A
Après avoir créé la connexion, vérifiez l’intégration en envoyant une tâche.
- Ouvrez votre agent principal dans Copilot Studio et accédez au canevas Test.
- Entrez une directive qui doit être déléguée à l’agent A2A. Par exemple : « Quelle plante a besoin de plus de lumière — une plante de tomate ou une plante de fraise ? »
- L’orchestrateur de l’agent évalue l’entrée de l’utilisateur et délègue la tâche à l’agent A2A.
- L’agent externe traite la requête et retourne une réponse, qui apparaît dans la conversation de test.
Dans les journaux de l’agent externe, vous voyez :
- Tâche A2A reçue.
- Demande de langage naturel.
- Réponse générée retournée à Copilot Studio.
Étape 5 : Inspecter la charge utile et les métadonnées A2A
Les messages A2A incluent des métadonnées structurées qui fournissent un contexte supplémentaire. Ces métadonnées peuvent aider l’agent à adapter les réponses, à gérer le routage ou à maintenir la continuité entre les tournures de l’utilisateur.
Une charge utile de message A2A classique comprend :
- Un unique
contextId - ID de message
- Informations sur les paramètres régionaux
- Historique complet des conversations, pas seulement l’énoncé utilisateur le plus récent
- Parties de contenu de message (texte, appels d’outils ou autres métadonnées)
Exemple d’extrait de charge utile :
{
"method": "message/send",
"params": {
"message": {
"contextId": "ee1e68ee-75fc-42bb-83d7-25fd26e559c3",
"metadata": {
"copilotstudio.microsoft.com/a2a/chathistory": [
{
"From": "agent",
"Locale": "en-US",
"Text": "Hello, I'm A2A Agent Demo...",
"Timestamp": "2025-11-26T23:19:28.764Z"
},
{
"From": "user",
"Locale": "en-US",
"Text": "Which plant needs more sunlight...",
"Timestamp": "2025-11-26T23:20:21.484Z"
}
]
}
}
}
}
Vous pouvez utiliser ces métadonnées pour n’importe quelle logique en aval implémentée par votre agent A2A.
Prochaines étapes
Après avoir établi la connexion A2A de base, vous pouvez :
- Ajoutez de nouvelles compétences ou connaissances de domaine à votre agent A2A.
- Utilisez les métadonnées de la charge utile A2A pour implémenter la logique de routage et de personnalisation.
- Ajoutez l’authentification pour sécuriser votre point de terminaison A2A et mettez à jour les paramètres Copilot Studio en conséquence.
- Connectez d’autres agents compatibles A2A à l’aide de la même approche de configuration.
Points clés à prendre
- Copilot Studio peut orchestrer des agents externes à l’aide du protocole A2A.
- A2A permet des flux de travail mult-agent avec des métadonnées contextuelles enrichies.
- L’exemple d’agent illustre l’aller-retour complet : Copilot Studio -> agent A2A -> Copilot Studio.
- Les messages A2A incluent des métadonnées détaillées qui supportent le comportement des agents sensibles au contexte.