Instructions et exigences de configuration de l'atelier
Protégez votre compte et votre progression. Utilisez toujours une fenêtre de navigation privée et les identifiants de l'atelier pour exécuter cet atelier.

Se connecter à des agents distants avec ADK et le SDK Agent2Agent (A2A)

Atelier 1 heure universal_currency_alt 7 crédits show_chart Avancé
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Ce contenu n'est pas encore optimisé pour les appareils mobiles.
Pour une expérience optimale, veuillez accéder à notre site sur un ordinateur de bureau en utilisant un lien envoyé par e-mail.

GENAI120

Google Cloud – Ateliers adaptés au rythme de chacun

Le protocole Agent2Agent (A2A) répond à un défi majeur dans le paysage de l'IA : permettre aux agents d'IA générative, conçus sur différents frameworks par diverses entreprises et fonctionnant sur des serveurs distincts, de communiquer et de collaborer efficacement, en tant qu'agents, et pas seulement en tant qu'outils. Il vise à fournir un langage commun aux agents pour favoriser un écosystème d'IA plus interconnecté, puissant et innovant.

Ce protocole repose sur un petit nombre de concepts fondamentaux qui le rendent puissant et flexible :

  • Communication standardisée : JSON-RPC 2.0 sur HTTP(S).
  • Découverte d'agents : les cartes d'agent présentent leurs capacités et leurs informations de connexion. Les agents peuvent ainsi se découvrir mutuellement et connaître leurs fonctionnalités respectives.
  • Échange de données enrichies : gère le texte, les fichiers et les données JSON structurées.
  • Interaction flexible : compatible avec les requêtes/réponses synchrones, le streaming (SSE) et les notifications push asynchrones.
  • Adapté aux entreprises : conçu dans un souci de sécurité, d'authentification et d'observabilité.

Objectifs

Au cours de cet atelier, vous allez :

  • déployer un agent ADK en tant que serveur A2A ;
  • créer une carte d'agent JSON pour décrire les capacités d'un agent A2A ;
  • autoriser un autre agent ADK à lire la carte d'agent de votre agent A2A déployé et à l'utiliser comme sous-agent.

Préparation

Avant de cliquer sur le bouton Start Lab (Démarrer l'atelier)

Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur le bouton "Start Lab" (Démarrer l'atelier), indique combien de temps les ressources cloud resteront accessibles.

Cet atelier pratique Qwiklabs vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud Platform le temps de l'atelier.

Conditions requises

Pour réaliser cet atelier, vous devez remplir les conditions suivantes :

  • Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
  • Vous devez disposer de suffisamment de temps pour réaliser l'atelier en une fois.

Remarque : Si vous possédez déjà un compte ou un projet GCP, veillez à ne pas l'utiliser pour réaliser cet atelier.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :

    • Le bouton "Ouvrir la console Google Cloud"
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).

    L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.

    Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.

    Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
  3. Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.

    {{{user_0.username | "Username"}}}

    Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".

  4. Cliquez sur Suivant.

  5. Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.

    {{{user_0.password | "Password"}}}

    Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".

  6. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  7. Accédez aux pages suivantes :

    • Acceptez les conditions d'utilisation.
    • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
    • Ne vous inscrivez pas à des essais sans frais.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche. Icône du menu de navigation et champ de recherche

Tâche 1 : Installer ADK et configurer votre environnement

Dans cet environnement d'atelier, les API Vertex AI et Cloud Run ont été activées pour vous. Si vous deviez suivre ces étapes dans votre propre projet, vous pourriez les activer en accédant à Vertex AI et en suivant l'invite.

Préparer un onglet dans l'éditeur Cloud Shell

  1. Dans la fenêtre de la console Google Cloud, ouvrez Cloud Shell en appuyant sur les touches G, puis S de votre clavier. Vous pouvez également cliquer sur le bouton Activer Cloud Shell (Activer Cloud Shell) en haut à droite de la console Cloud.

  2. Cliquez sur Continuer.

  3. Si vous êtes invité à autoriser Cloud Shell, cliquez sur Autoriser.

  4. En haut à droite du panneau du terminal Cloud Shell, cliquez sur le bouton Ouvrir dans une nouvelle fenêtre Bouton "Ouvrir dans une nouvelle fenêtre".

  5. Dans le terminal Cloud Shell, saisissez la commande suivante pour ouvrir l'éditeur Cloud Shell dans votre répertoire d'accueil :

    cloudshell workspace ~
  6. Fermez les éventuels tutoriels ou panneaux Gemini qui s'affichent sur le côté droit de l'écran pour donner plus de place à l'éditeur de code.

  7. Pour le reste de cet atelier, vous pouvez utiliser cette fenêtre comme IDE avec l'éditeur Cloud Shell et le terminal Cloud Shell.

Télécharger et installer ADK et les exemples de code pour cet atelier

  1. Installez ADK en exécutant la commande suivante dans le terminal Cloud Shell. Remarque : vous allez spécifier la version pour vous assurer que la version d'ADK que vous installez correspond à celle utilisée dans cet atelier.

    # Installer ADK et le SDK Python A2A cd ~ export PATH=$PATH:"/home/${USER}/.local/bin" python3 -m pip install google-adk==1.8.0 a2a-sdk==0.2.16 pip install --upgrade google-genai # Corriger une faute de frappe dans cette version sed -i 's/{a2a_option}"/{a2a_option} "/' ~/.local/lib/python3.12/site-packages/google/adk/cli/cli_deploy.py
  2. Collez les commandes suivantes dans le terminal Cloud Shell pour copier le code de l'atelier depuis un bucket Cloud Storage et le décompresser :

    gcloud storage cp gs://{{{project_0.project_id| YOUR_GCP_PROJECT_ID}}}-bucket/adk_and_a2a.zip ./adk_and_a2a.zip unzip adk_and_a2a.zip

    Cliquez sur Vérifier ma progression pour valider l'objectif. Installer ADK et configurer votre environnement

Tâche 2 : Explorer l'agent ADK que vous rendrez disponible à distance

Pour cet atelier, imaginez que vous travaillez pour une entreprise de maintenance de stades : Cymbal Stadiums. Lors d'un projet récent, vous avez développé un agent de génération d'images capable de créer des illustrations respectant les consignes relatives à votre marque. Aujourd'hui, différentes équipes de votre organisation souhaitent également s'en servir.

Si vous deviez copier le code pour qu'il soit utilisé en tant que sous-agent par de nombreux agents, il serait très difficile de gérer et d'améliorer toutes ces copies.

À la place, vous pouvez déployer l'agent une seule fois en tant qu'agent encapsulé dans un serveur A2A, et les agents des autres équipes pourront l'intégrer en l'interrogeant à distance.

  1. Dans le volet de l'explorateur de fichiers de l'éditeur Cloud Shell, accédez au répertoire adk_and_a2a/illustration_agent. Ce répertoire contient l'agent ADK que vous rendrez disponible à distance. Cliquez sur le répertoire pour l'ouvrir.

  2. Ouvrez le fichier agent.py dans ce répertoire, puis faites-le défiler jusqu'à la section # Tools.

  3. Notez la fonction generate_image(), qui sera utilisée comme outil par cet agent. Elle reçoit un prompt et effectue un processus en deux étapes. Tout d'abord, elle utilise le SDK Google Gen AI pour appeler generate_content(), qui renvoie les données brutes de l'image directement dans la réponse. Ensuite, cette fonction se sert de la bibliothèque Cloud Storage pour importer ces octets d'image dans un bucket GCS. Enfin, l'outil renvoie l'URL publique du fichier image qui vient d'être créé.

  4. Notez que les instructions fournies à root_agent indiquent à l'agent d'utiliser des prompts de génération d'images qui respectent les consignes relatives à la marque de l'entreprise. Par exemple, elles précisent les éléments suivants :

    • Un style d'illustration spécifique : (Corporate Memphis)
    • Une palette de couleurs (violets et verts sur des dégradés de coucher de soleil)
    • Des exemples d'images de stades/sports et de maintenance, car il s'agit d'une entreprise de maintenance de stades
  5. Pour en avoir un aperçu concret, vous devez d'abord créer un fichier .env et définir les variables d'environnement requises par les agents ADK. Exécutez la commande suivante dans le terminal Cloud Shell pour créer ce fichier dans ce répertoire :

    cd ~/adk_and_a2a cat << EOF > illustration_agent/.env GOOGLE_GENAI_USE_VERTEXAI=TRUE GOOGLE_CLOUD_PROJECT={{{project_0.project_id| YOUR_GCP_PROJECT_ID}}} GOOGLE_CLOUD_LOCATION=global MODEL={{{project_0.startup_script.gemini_flash_model_id | gemini_flash_model_id}}} IMAGE_MODEL={{{project_0.startup_script.gemini_flash_image_model_id | gemini_flash_image_model_id}}} EOF
  6. Exécutez la commande suivante pour copier le fichier .env dans un autre répertoire d'agent que vous utiliserez dans cet atelier :

    cp illustration_agent/.env slide_content_agent/.env
  7. Depuis le terminal Cloud Shell, lancez l'UI de développement d'ADK à l'aide de la commande suivante :

    adk web

    Résultat

    INFO: Started server process [2434] INFO: Waiting for application startup. +-------------------------------------------------------+ | ADK Web Server started | | | | For local testing, access at http://localhost:8000. | +-------------------------------------------------------+ INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
  8. Pour afficher l'interface Web dans un nouvel onglet, cliquez sur le lien http://127.0.0.1:8000 en bas de la sortie du terminal.

  9. L'UI de développement d'ADK s'ouvre dans un nouvel onglet du navigateur.

  10. Dans le menu déroulant Sélectionner un agent à gauche, sélectionnez illustration_agent.

  11. Interrogez l'agent avec du texte qui pourrait être utilisé dans une présentation de recrutement :

    En nous aidant les uns les autres, nous accomplissons de grandes choses !
  12. Au bout de 10 secondes environ, l'agent devrait fournir le prompt qu'il a généré et une URL permettant de prévisualiser l'image. Cliquez sur l'URL de l'image pour la prévisualiser, puis cliquez sur Back (Retour) dans votre navigateur pour revenir à l'UI de développement.

    Exemple de résultat

    Exemple de réponse générée par le modèle

    Exemple d'image

    Image générée

  13. Notez que le prompt que vous avez fourni à l'agent ne mentionnait ni le sport, ni les stades, ni les travaux de maintenance, mais l'agent a combiné votre texte avec les consignes relatives à la marque dans un seul prompt pour le modèle de génération d'images.

    Lorsque vous avez terminé d'explorer l'agent de base, fermez l'onglet du navigateur.

  14. Cliquez sur le volet du terminal Cloud Shell et appuyez sur CTRL+C pour arrêter le serveur.

    Cliquez sur Vérifier ma progression pour valider l'objectif. Explorer l'agent ADK

Tâche 3 : Déployer l'agent en tant que serveur A2A

Vous allez maintenant déployer cet agent en tant qu'agent A2A distant.

  1. Un agent A2A s'identifie et indique ses capacités en fournissant une carte d'agent. Exécutez la commande suivante pour créer un fichier agent.json :

    touch illustration_agent/agent.json
  2. Ouvrez le fichier agent.json dans le répertoire adk_and_a2a/illustration_agent et collez-y le contenu suivant :

    { "name": "illustration_agent", "description": "An agent designed to generate branded illustrations for Cymbal Stadiums.", "defaultInputModes": ["text/plain"], "defaultOutputModes": ["application/json"], "skills": [ { "id": "illustrate_text", "name": "Illustrate Text", "description": "Generate an illustration to illustrate the meaning of provided text.", "tags": ["illustration", "image generation"] } ], "url": "https://illustration-agent-{{{project_0.startup_script.project_number|Project Number}}}.{{{project_0.default_region| GCP_LOCATION}}}.run.app/a2a/illustration_agent", "capabilities": {}, "version": "1.0.0" }
  3. Enregistrez le fichier.

  4. Examinez les données JSON dans le fichier agent.json. Notez qu'il attribue un nom et une description à l'agent, et qu'il identifie certaines compétences. Il indique également une URL où l'agent lui-même peut être appelé.

    L'URL de l'agent est conçue pour être celle de son service Cloud Run une fois que vous l'avez déployé en suivant les instructions de cet atelier.

    Proche du terme skills, le paramètre capabilities sert à indiquer des capacités telles que le streaming.

  5. Exécutez la commande suivante pour créer un fichier requirements.txt dans le répertoire illustration_agent :

    touch illustration_agent/requirements.txt
  6. Sélectionnez le fichier, puis collez-y le contenu suivant :

    google-adk==1.8.0 a2a-sdk==0.2.16
  7. Enregistrez le fichier.

  8. Dans la commande suivante, vous allez utiliser adk deploy cloud_run avec le flag --a2a pour déployer votre agent sur Cloud Run en tant que serveur A2A. Pour en savoir plus à propos du déploiement d'agents sur Cloud Run, recherchez l'atelier "Déployer des agents ADK sur Cloud Run". Dans cette commande :

    • --project et --region définissent le projet et la région dans lesquels votre service Cloud Run sera déployé.
    • --service_name définit le nom du service Cloud Run.
    • Le flag --a2a indique que le service doit être hébergé en tant qu'agent A2A. Ce qui implique deux choses :
      • Votre agent sera encapsulé dans une classe qui fait le lien entre les agents ADK et A2A : A2aAgentExecutor. Cette classe traduit le langage des tâches et des messages du protocole A2A en langage d'événements pour un exécuteur ADK.
      • La carte d'agent sera également hébergée à l'adresse CLOUD_RUN_URL/a2a/AGENT_NAME/.well-known/agent.json. Remarque : cette version de la carte est bientôt utilisable, mais la réécriture dynamique de l'URL de l'agent ne fonctionne pas actuellement avec Cloud Run. Nous ne nous en servirons donc pas dans cette version de l'atelier.

    Déployez l'agent sur Cloud Run en tant que serveur A2A à l'aide de la commande suivante :

    adk deploy cloud_run \ --project {{{project_0.project_id| YOUR_GCP_PROJECT_ID}}} \ --region {{{project_0.default_region| GCP_LOCATION}}} \ --service_name illustration-agent \ --a2a \ illustration_agent
  9. Vous serez invité à autoriser les réponses non authentifiées pour ce conteneur. Pour les besoins du test de l'atelier, saisissez Y (pour "Yes" (Oui)) dans le terminal Cloud Shell, puis appuyez sur Entrée.

    Remarque : Le déploiement devrait prendre environ 5 à 10 minutes. Si vous rencontrez une erreur PERMISSION_DENIED, essayez d'exécuter à nouveau la commande ci-dessus.

    Résultat attendu :

    Vous verrez des étapes liées à la création d'un Dockerfile et au déploiement du conteneur, puis au déploiement du service, suivies du contenu suivant :

    Service [illustration-agent] revision [illustration-agent-00001-xpp] has been deployed and is serving 100 percent of traffic. Service URL: https://illustration-agent-{{{project_0.startup_script.project_number|Project Number}}}.{{{project_0.default_region| GCP_LOCATION}}}.run.app

    Cliquez sur Vérifier ma progression pour valider l'objectif. Déployer l'agent en tant que serveur A2A

Tâche 4 : Autoriser un autre agent ADK à appeler cet agent à distance

Dans cette tâche, vous allez permettre à un deuxième agent ADK d'identifier les capacités de votre agent d'illustration et de l'appeler à distance. Ce deuxième agent sera chargé de créer du contenu pour les diapositives. Il rédigera un titre et quelques phrases pour le corps du texte, puis les transférera à l'agent d'illustration pour générer une image illustrant ce texte.

  1. Dans le terminal Cloud Shell, exécutez la commande suivante pour copier le fichier JSON de la carte d'agent dans votre répertoire adk_and_a2a et renommez-le afin d'indiquer qu'il représente illustration_agent :

    cp illustration_agent/agent.json illustration-agent-card.json
  2. Dans le volet de l'explorateur de fichiers de l'éditeur Cloud Shell, accédez à adk_and_a2a/slide_content_agent et ouvrez le fichier agent.py.

    Consultez les instructions de cet agent pour vérifier qu'il prend en compte la suggestion d'un utilisateur pour une diapositive, rédige un titre et un corps de texte, puis les transfère à votre agent A2A dans le but d'illustrer la diapositive.

  3. Collez le code suivant sous l'en-tête # Agents pour ajouter l'agent distant à l'aide de la classe RemoteA2aAgent depuis ADK :

    illustration_agent = RemoteA2aAgent( name="illustration_agent", description="Agent that generates illustrations.", agent_card=( "illustration-agent-card.json" ), )
  4. Ajoutez illustration_agent en tant que sous-agent de root_agent en intégrant le paramètre suivant à root_agent :

    sub_agents=[illustration_agent]
  5. Enregistrez le fichier.

  6. Lancez l'UI depuis le terminal Cloud Shell avec la commande suivante :

    cd ~/adk_and_a2a adk web
  7. Cliquez à nouveau sur le lien http://127.0.0.1:8000 dans la sortie du terminal.

  8. L'UI de développement d'ADK s'ouvre dans un nouvel onglet du navigateur. Dans le menu déroulant Sélectionner un agent à gauche, sélectionnez slide_content_agent.

  9. Interrogez l'agent en lui demandant de vous donner une idée de diapositive :

    Crée le contenu d'une diapositive sur notre excellente formation en milieu professionnel.

Vous devriez obtenir le résultat suivant :

  • Titre et corps du texte rédigés par agent slide_content_agent lui-même
  • Appel à transfer_to_agent, indiquant un transfert vers illustration_agent
  • Réponse d'illustration_agent avec un lien sur lequel vous pouvez cliquer pour afficher la nouvelle image
L&#39;agent génère du texte, puis le transfère à illustration_agent pour générer une image.

Image générée

Cliquez sur Vérifier ma progression pour valider l'objectif. Autoriser un autre agent ADK à appeler l'agent à distance

Félicitations !

Dans cet atelier, vous avez déployé un agent ADK en tant que serveur A2A et créé une carte d'agent JSON pour décrire les capacités d'un agent A2A. Vous avez également autorisé un autre agent ADK à lire la carte d'agent de votre agent A2A déployé et à l'utiliser comme sous-agent.

Formations et certifications Google Cloud

Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.

Dernière mise à jour du manuel : 6 octobre 2025

Dernier test de l'atelier : 6 octobre 2025

Copyright 2020 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible

Un atelier à la fois

Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci

Utilisez la navigation privée pour effectuer l'atelier

Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.