1. Objectifs de l'atelier
Bienvenue dans la masterclass ADK : votre parcours dans les systèmes multi-agents
Vous êtes sur le point de découvrir le monde passionnant des agents d'IA. Oubliez les chatbots simples qui se contentent de répondre aux questions. Nous explorons en détail Agent Development Kit (ADK) pour créer des systèmes autonomes sophistiqués capables de raisonner, de planifier et d'utiliser des outils pour accomplir des tâches complexes.

À la fin de ce tutoriel, vous serez en mesure de :
- Créez votre premier agent d'IA : passez de zéro à un agent entièrement fonctionnel capable de comprendre les besoins d'un utilisateur, d'utiliser des outils comme la recherche Google et de générer des réponses détaillées et utiles.
- Construire des systèmes multi-agents : découvrez le modèle Agent-as-a-Tool, un concept révolutionnaire dans lequel les agents délèguent des tâches à d'autres agents spécialisés, créant ainsi une équipe d'experts en IA qui travaillent ensemble.
- Orchestrez des workflows complexes : allez au-delà de la simple délégation et maîtrisez les modèles avancés tels que les routeurs, les chaînes séquentielles, les boucles et l'exécution parallèle pour créer des applications robustes, efficaces et intelligentes capables de gérer presque toutes les requêtes.
- Donnez de la mémoire à vos agents : comprenez le rôle essentiel de la mémoire conversationnelle, qui permet à vos agents de répondre aux questions complémentaires, d'apprendre des commentaires et de gérer les tâches en plusieurs étapes de manière fluide.
- Se connecter à MCP : boîte à outils "Se connecter à MCP".
C'est parti ! 🚀
2. Configurer une clé API GCP et Gemini
Configurer votre projet GCP et votre clé API Gemini
Pour alimenter nos agents d'IA, nous avons besoin de deux éléments : un projet Google Cloud pour fournir la base et une clé API Gemini pour accéder aux puissants modèles de Google.
Étape 1 : Activez le compte de facturation
- Réclamez votre compte de facturation avec un crédit de 5 $, dont vous aurez besoin pour votre déploiement. Assurez-vous d'utiliser votre compte Gmail.
Étape 2 : Créer un projet GCP
- Accédez à la console Google Cloud et créez un projet.

- Accédez à la console Google Cloud et créez un projet.
- Ouvrez le panneau de gauche, cliquez sur
Billinget vérifiez si le compte de facturation est associé à ce compte GCP.

Si cette page s'affiche, cochez la case manage billing account, puis sélectionnez l'essai Google Cloud et associez-le.
Étape 3 : Trouvez votre ID de projet Google Cloud
👉 Cliquez sur "Activer Cloud Shell" en haut de la console Google Cloud (icône en forme de terminal en haut du volet Cloud Shell), 
👉 Cliquez sur le bouton "Ouvrir l'éditeur" (icône en forme de dossier ouvert avec un crayon). L'éditeur de code Cloud Shell s'ouvre dans la fenêtre. Un explorateur de fichiers s'affiche sur la gauche. 
👉 Trouvez votre ID de projet Google Cloud :
- Ouvrez la console Google Cloud : lien.
- Sélectionnez le projet que vous souhaitez utiliser pour cet atelier dans le menu déroulant en haut de la page.
- L'ID de votre projet est affiché dans la fiche "Informations sur le projet" du tableau de bord.

👉💻 Dans le terminal, vérifiez que vous êtes déjà authentifié et que le projet est défini sur votre ID de projet à l'aide de la commande suivante :
gcloud auth list
👉💻 Clonez le projet bootstrap depuis GitHub :
git clone https://github.com/cuppibla/adk_tutorial.git
👉💻 Exécutez le script d'initialisation. Il vous invitera à saisir l'ID de votre projet Google Cloud. Saisissez l'ID de projet Google Cloud que vous avez trouvé à la dernière étape lorsque le script setup_venv.sh vous y invite.
cd ~/adk_tutorial
./setup_venv.sh
gcloud services enable compute.googleapis.com \
artifactregistry.googleapis.com \
run.googleapis.com \
iam.googleapis.com \
aiplatform.googleapis.com \
cloudresourcemanager.googleapis.com
3. Session 1 : Votre premier agent dans ADK Web
Ouvrez ADK Web en exécutant la commande suivante :
cd ~/adk_tutorial
source .adk_env/bin/activate
adk web
Une fois les commandes exécutées, vous devriez voir dans votre terminal un résultat indiquant que le serveur Web ADK a démarré, comme ceci :
+-----------------------------------------------------------------------------+
| ADK Web Server started |
| |
| For local testing, access at http://localhost:8000. |
+-----------------------------------------------------------------------------+
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
👉 Ensuite, pour accéder à l'UI pour les développeurs d'ADK depuis votre navigateur :
Dans la barre d'outils Cloud Shell (généralement en haut à droite), cliquez sur l'icône Aperçu sur le Web (qui ressemble souvent à un œil ou à un carré avec une flèche), puis sélectionnez "Modifier le port". Dans la fenêtre pop-up, définissez le port sur 8000, puis cliquez sur Modifier et prévisualiser. Cloud Shell ouvre alors un nouvel onglet ou une nouvelle fenêtre de navigateur affichant l'UI pour les développeurs d'ADK.

👉 Votre rituel d'invocation est terminé et l'agent est maintenant en cours d'exécution. L'interface utilisateur de développement de l'ADK dans votre navigateur est votre connexion directe à Familiar.
Choisir l'agent de workflow parallèle : dans le menu déroulant en haut de l'UI, sélectionnez parallel_agent.
Vous pouvez sélectionner single_agent ici : 
Vous pouvez consulter le traçage ici : 
👉 Requête de test :
Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art.
4. Session 2 : Agent de workflow : agent séquentiel, agent parallèle, agent de boucle
Agent parallèle
Choisir l'agent de workflow parallèle : dans le menu déroulant en haut de l'UI, sélectionnez parallel_agent.
👉 Requête de test :
Plan my trip to San Francisco, I want to find some good concert, restaurant and museum.
Vous pouvez sélectionner parallel_agent ici : 
Vous pouvez consulter le traçage ici : 
Agent séquentiel
Choisissez l'agent de workflow séquentiel. Dans le menu déroulant en haut de l'UI, sélectionnez sequential_agent.
👉 Requête de test :
Find a good sushi near Standford and tell me how to get there.
Vous pouvez sélectionner sequential_agent ici : 
Vous pouvez consulter le traçage ici : 
Agent de boucle
Choisissez l'agent de workflow Loop : dans le menu déroulant en haut de l'UI, sélectionnez loop_agent.
👉 Requête de test :
Plan a trip from Sunnyvale to San Francisco today.
Vous pouvez sélectionner loop_agent ici : 
Vous pouvez consulter le traçage ici : 
5. Session 3 : Agent personnalisé
Une fois l'interface utilisateur Web de l'ADK ouverte, vous pouvez sélectionner l'agent Custom_Agent.
👉 Requête de test :
Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art. Make sure within budget of 100 dollars.
Vous pouvez sélectionner Custom_Agent ici : 
Vous pouvez consulter le traçage ici : 
6. Session 4 : Modèle d'orchestrateur – Agent de routage
Une fois l'interface utilisateur Web de l'ADK ouverte, vous pouvez sélectionner routing_agent.
👉 Requête de test :
Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.
Vous pouvez sélectionner routing_agent ici : 
Vous pouvez consulter le traçage ici : 
7. Session 5 : L'agent comme outil
Une fois l'interface utilisateur Web de l'ADK ouverte, vous pouvez sélectionner l'agent Agent_as_tool.
👉 Requête de test :
Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.
Vous pouvez sélectionner agent_as_tool ici : 
Vous pouvez consulter le traçage ici : 
8. Session 6 : Agent avec mémoire à long terme
👉💻 Testez votre mémoire à long terme en accédant au dossier et en utilisant le runner pour alimenter l'agent :
cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py
👉 Requête de test :
I like Art and Italian food.
Mettez ensuite fin à la session en appuyant sur "ctrl+C". Redémarrez la session :
cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py
👉 Requête de test :
Plan a trip to San Francisco based on my preference.
9. Session 7 : Renforcez votre agent avec le protocole MCP
Étape 1 : Préparez la base de données locale
👉💻 Exécutez la commande suivante dans votre terminal.
cd ~/adk_tutorial
source .adk_env/bin/activate
chmod +x setup_trip_database.py
./setup_trip_database.py
Étape 2 : Installez et exécutez le serveur MCP Toolbox
👉💻 Exécutez la commande suivante dans votre terminal.
cd ~/adk_tutorial/mcp_tool_box
export VERSION=0.16.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
une fois le téléchargement terminé, puis exécutez
chmod +x toolbox
Étape 3
Dans un terminal, exécutez la commande suivante :
cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/mcp_tool_box
./toolbox --tools-file "trip_tools.yaml" --port 7001
Dans un autre terminal, exécutez la commande suivante :
cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/g_agents_mcp
python main.py