Guide Professeur â Session 7 : Multi-agents & MCP
Programme : Applied AI â Niveau IntermĂ©diaire Instructeur : Yann Isola DurĂ©e : 2 heures (120 minutes) Module couvert : Module 5 â Multi-agents & MCP (Model Context Protocol)
1. Vue dâensemble de la session
Objectifs pédagogiques
Ă la fin de cette session, chaque participant doit ĂȘtre capable de :
- Expliquer pourquoi dĂ©couper un agent monolithique en plusieurs agents spĂ©cialisĂ©s : sĂ©paration des responsabilitĂ©s â chaque agent a son prompt systĂšme, ses outils, ses garde-fous.
- Nommer et reconnaßtre les 4 patrons multi-agents : orchestrateur/exécutants (orchestrator/worker), pipeline (chaßne), débat/consensus, superviseur.
- Choisir le bon patron pour un cas métier donné, et justifier ce choix en une phrase.
- Décrire les 3 modes de communication entre agents : mémoire partagée, passage de messages, architecture en tableau noir (blackboard).
- DĂ©finir MCP (Model Context Protocol, protocole de contexte de modĂšle) : un standard universel pour connecter des modĂšles dâIA (intelligence artificielle) Ă des outils et sources de donnĂ©es.
- Dessiner lâarchitecture MCP : HĂŽte (votre application) â Client (Ă lâintĂ©rieur de lâhĂŽte) â Serveur (qui fournit outils et ressources).
- Distinguer les 3 primitives MCP : Tools (actions invoquĂ©es par le modĂšle), Resources (donnĂ©es contrĂŽlĂ©es par lâapplication), Prompts (modĂšles rĂ©utilisables).
- Citer les 2 transports MCP : stdio (standard input/output, entrĂ©e/sortie standard â pour le local) et HTTP+SSE (HyperText Transfer Protocol + Server-Sent Events, Ă©vĂ©nements envoyĂ©s par le serveur â pour le distant).
- Expliquer lâanalogie « USB de lâIA » : un protocole unique pour brancher nâimporte quel modĂšle sur nâimporte quel fournisseur dâoutils, au lieu de NĂM intĂ©grations sur mesure.
- Esquisser un serveur MCP maison : exposer sa logique mĂ©tier sous forme dâoutils standardisĂ©s.
Prérequis
- Sessions 5 (Outils & Tool Calling) et 6 (Boucle agentique) indispensables. Cette session gĂ©nĂ©ralise : Session 5 = un outil, Session 6 = un agent, Session 7 = plusieurs agents et un standard pour les outils. Si un participant a manquĂ© la 6, faites-lui redessiner la boucle percevoir â rĂ©flĂ©chir â agir â observer en 3 minutes avant de dĂ©marrer.
- Savoir lire du JSON (JavaScript Object Notation, format dâĂ©change de donnĂ©es).
- Notion dâAPI (Application Programming Interface, interface de programmation applicative) et de client/serveur.
Matériel nécessaire
- Vidéoprojecteur + slides (
slides/slides.md). - Page web interactive (
webpage/index.html) â hors ligne : (1) visualiseur dâarchitectures multi-agents avec glisser-dĂ©poser des agents dans les patrons et flux de messages animĂ©s ; (2) explorateur du protocole MCP avec diagramme HĂŽte â Client â Serveur cliquable et les 3 primitives dĂ©taillĂ©es. - Feuilles dâexercices (
exercises/exercises.md). - Quiz (
quiz/quiz.md). - Idéalement un portable pour deux participants (manipulation du visualiseur en Séquence C et E).
Message central de la session
« Un agent seul, câest un employĂ© qui fait tout. Une Ă©quipe dâagents spĂ©cialisĂ©s, câest une entreprise : chacun son rĂŽle, ses outils, ses limites. Et MCP, câest la prise USB qui permet Ă nâimporte quel employĂ© de brancher nâimporte quel outil â sans refaire le cĂąblage Ă chaque fois. »
Répétez cette double idée (équipe + prise universelle) au moins trois fois sous des formes différentes.
Fil conducteur narratif : NewsRoom đ°
Toute la session sâappuie sur un exemple filĂ© : NewsRoom, un systĂšme de veille et de rĂ©daction pour une Ă©quipe finance. La mission type :
« Chaque matin, produis une synthĂšse de 500 mots sur lâactualitĂ© des stablecoins : sourcĂ©e, vĂ©rifiĂ©e, relue, et publiĂ©e sur le canal interne. »
Les agents de NewsRoom :
- đ Chercheur â outils : recherche web, lecture dâarticles. Prompt systĂšme : « Trouve des sources fiables, cite tout. »
- âïž RĂ©dacteur â aucun outil externe. Prompt systĂšme : « RĂ©dige clair et structurĂ©, 500 mots. »
- đ”ïž VĂ©rificateur â outils : recherche web (relecture croisĂ©e). Prompt systĂšme : « Traque les erreurs factuelles, sois impitoyable. »
- đŁ Publieur â outil : publication sur le canal interne. Action irrĂ©versible â garde-fou humain.
NewsRoom illustre chaque patron : en pipeline (Chercheur â RĂ©dacteur â VĂ©rificateur â Publieur), en orchestrateur (un chef dâĂ©dition distribue), en dĂ©bat (deux RĂ©dacteurs proposent, un juge tranche), en superviseur (un contrĂŽleur surveille et reprend la main). Puis, en seconde heure, MCP rĂ©pond Ă la question : « comment tous ces agents accĂšdent-ils Ă leurs outils sans que je code 12 intĂ©grations ? »
2. Déroulé minute par minute
| Horaire | Durée | Séquence | Support |
|---|---|---|---|
| 0:00 â 0:05 | 5 min | Accueil, rappel Session 6 (la boucle), objectifs | Slides 1â3 |
| 0:05 â 0:20 | 15 min | SĂ©quence A â Pourquoi plusieurs agents ? La sĂ©paration des responsabilitĂ©s | Slides 4â7 |
| 0:20 â 0:40 | 20 min | SĂ©quence B â Les 4 patrons : orchestrateur, pipeline, dĂ©bat, superviseur | Slides 8â13 |
| 0:40 â 0:55 | 15 min | SĂ©quence C â Manipulation : visualiseur dâarchitectures (glisser-dĂ©poser + flux animĂ©s) | Webpage (onglet 1) |
| 0:55 â 1:05 | 10 min | â Pause | â |
| 1:05 â 1:15 | 10 min | SĂ©quence D â Communication entre agents : mĂ©moire partagĂ©e, messages, tableau noir | Slides 14â16 |
| 1:15 â 1:35 | 20 min | SĂ©quence E â MCP : le problĂšme NĂM, lâarchitecture HĂŽte/Client/Serveur, les 3 primitives | Slides 17â24 + webpage (onglet 2) |
| 1:35 â 1:45 | 10 min | SĂ©quence F â Construire son propre serveur MCP + Ă©cosystĂšme existant | Slides 25â27 |
| 1:45 â 1:55 | 10 min | Exercice flash en binĂŽmes (Exercice 1) | Exercices |
| 1:55 â 2:00 | 5 min | Quiz express oral, exit tickets, annonce Session 8 | Quiz + slides 28â29 |
â±ïž Marge de sĂ©curitĂ© : la SĂ©quence F peut ĂȘtre compressĂ©e Ă 5 minutes (le catalogue de serveurs MCP est dans la webpage). Ne sacrifiez jamais la SĂ©quence E : si les participants repartent sans comprendre HĂŽte â Client â Serveur, la session a ratĂ© sa seconde moitiĂ©. En cas de gros retard, lâExercice 1 devient un devoir maison.
3. Notes détaillées par séquence
SĂ©quence A â Pourquoi plusieurs agents ? (15 min)
Objectif : faire Ă©merger le besoin multi-agent Ă partir des limites dâun agent unique.
Accroche (3 min). Repartez de la Session 6 : « Vous savez construire un agent. Alors construisons NewsRoom en UN seul agent : un prompt systĂšme gĂ©ant qui dit âcherche, rĂ©dige, vĂ©rifie, publieâ, avec les 4 familles dâoutils. Quâest-ce qui va mal se passer ? » Laissez la salle chercher. RĂ©ponses attendues (ou Ă souffler) :
- Le prompt systÚme devient un monstre : des instructions de recherche, de style, de vérification et de publication se contredisent (« sois exhaustif » vs « sois concis »).
- Tous les outils pour tout le monde : lâĂ©tape de rĂ©daction nâa aucun besoin de lâoutil de publication â mais elle y a accĂšs. Risque inutile.
- Impossible à déboguer : quand la synthÚse est mauvaise, était-ce la recherche, la rédaction ou la vérification ? Tout est mélangé dans une seule exécution.
- Le contexte explose : recherches + brouillons + relectures dans une seule fenĂȘtre de contexte â lâagent se noie.
Le principe (5 min). Ănoncez la sĂ©paration des responsabilitĂ©s (separation of concerns) : chaque agent aâŠ
- Son prompt systĂšme â une mission unique, claire, sans contradictions.
- Ses outils â uniquement ceux dont il a besoin (rappel Session 5 : principe du moindre privilĂšge).
- Ses garde-fous â le Publieur a un point de contrĂŽle humain ; le RĂ©dacteur nâen a pas besoin.
Analogie filĂ©e : lâentreprise. On nâembauche pas une seule personne pour faire comptabilitĂ© + ventes + juridique + informatique. Pas parce que câest impossible â parce que câest fragile. Un spĂ©cialiste par domaine, chacun ses accĂšs (la comptable a la clĂ© du coffre, pas le stagiaire marketing).
Nuance importante (4 min). Comme en Session 6 (« lâagentivitĂ© est une propriĂ©tĂ© du systĂšme »), insistez : les 4 agents de NewsRoom peuvent tourner sur le mĂȘme modĂšle (mĂȘme Claude, mĂȘme GPT). Ce qui change entre eux : le prompt systĂšme, la liste dâoutils, les garde-fous. Multi-agent â multi-modĂšle. (On peut mĂ©langer les modĂšles â petit modĂšle rapide pour le Chercheur, gros modĂšle pour le RĂ©dacteur â câest un raffinement, pas la dĂ©finition.)
Contre-point Ă installer tĂŽt (3 min). Le multi-agent nâest pas gratuit : plus dâappels au modĂšle (coĂ»t, latence), plus de coordination, plus de points de dĂ©faillance. RĂšgle dâor, symĂ©trique de la Session 6 : si un agent suffit, nâen mettez pas quatre. On y revient en fin de session.
SĂ©quence B â Les 4 patrons multi-agents (20 min)
Objectif : que chaque participant sache dessiner les 4 patrons et citer un cas dâusage pour chacun.
Pour chaque patron : dessin au tableau (ou slide), dĂ©roulĂ© avec NewsRoom, cas dâusage typique, limite principale. Environ 5 min par patron, dĂ©bat/consensus et superviseur peuvent ĂȘtre regroupĂ©s si le temps file.
1. Pipeline / chaĂźne (le plus simple).
Chercheur â RĂ©dacteur â VĂ©rificateur â Publieur
- Chaque agent reçoit la sortie du précédent, la transforme, la passe au suivant. Flux linéaire et prévisible.
- Cas dâusage : traitement de documents (extraction â normalisation â validation), gĂ©nĂ©ration de contenu, ETL (Extract-Transform-Load, extraction-transformation-chargement) intelligent.
- Limite : rigide. Si le VĂ©rificateur trouve une erreur, il faut prĂ©voir un retour en arriĂšre (renvoyer au RĂ©dacteur) â et dĂ©jĂ , le pipeline pur ne suffit plus.
- Ă dire : « Câest la chaĂźne de montage. Efficace quand les Ă©tapes sont connues dâavance. »
2. Orchestrateur / exĂ©cutants (orchestrator/worker â le plus courant).
ââââââââââââââââââ
â ORCHESTRATEUR â (dĂ©compose, distribue, assemble)
ââââŹâââââŹâââââŹââââ
⌠⌠âŒ
Chercheur Rédacteur Vérificateur
- Un agent central décompose la mission, délÚgue aux spécialistes (en parallÚle si possible), assemble les résultats. Les exécutants ne se parlent pas entre eux : tout passe par le chef.
- Cas dâusage : tĂąches complexes Ă dĂ©composition variable â recherche approfondie, analyse multi-source, gĂ©nĂ©ration de rapport Ă sections indĂ©pendantes.
- Limite : lâorchestrateur est un goulot dâĂ©tranglement et un point de dĂ©faillance unique. Sâil dĂ©compose mal, tout le reste rate.
- Ă dire : « Câest le chef de projet. Puissant quand la dĂ©composition nâest pas connue dâavance â câest lâorchestrateur qui la dĂ©cide Ă lâexĂ©cution. » Contraste clĂ© avec le pipeline : pipeline = Ă©tapes fixĂ©es par le dĂ©veloppeur ; orchestrateur = Ă©tapes dĂ©cidĂ©es par le modĂšle.
3. Débat / consensus.
RĂ©dacteur A âââ
ââââ¶ JUGE âââ¶ meilleure version (ou synthĂšse)
RĂ©dacteur B âââ
- Plusieurs agents produisent des rĂ©ponses indĂ©pendantes (ou sâaffrontent en plusieurs tours dâarguments), puis un juge tranche ou un vote fait consensus.
- Cas dâusage : dĂ©cisions Ă fort enjeu, rĂ©duction des erreurs (une hallucination a peu de chances dâĂȘtre commise Ă lâidentique par deux agents indĂ©pendants), revue critique (un agent « avocat du diable »).
- Limite : coût multiplié par le nombre de débatteurs. à réserver aux décisions qui le méritent.
- Exemple parlant pour ce public : validation dâune analyse de risque rĂ©glementaire â deux agents analysent indĂ©pendamment, les divergences remontent Ă un humain. Les convergences donnent confiance ; les divergences donnent de lâinformation.
4. Superviseur.
ââââââââââââââââ
â SUPERVISEUR â (observe, valide, interrompt, rĂ©assigne)
ââââââââŹââââââââ
surveille
âââââââââŒââââââââââ
⌠⌠âŒ
Agent 1 Agent 2 Agent 3 (qui travaillent, éventuellement en pipeline)
- Un agent (ou un composant) surveille lâexĂ©cution des autres : vĂ©rifie les sorties, dĂ©tecte les dĂ©rives (boucles infinies, hors-sujet, violation de rĂšgles), peut interrompre ou rĂ©assigner.
- DiffĂ©rence avec lâorchestrateur : lâorchestrateur distribue le travail ; le superviseur contrĂŽle la qualitĂ© et la sĂ©curitĂ©. Les deux se combinent souvent.
- Cas dâusage : environnements Ă conformitĂ© forte (finance, santĂ©, juridique) â le superviseur est la couche de contrĂŽle permanente.
- Ă dire : « Lâorchestrateur est le chef de projet ; le superviseur est le contrĂŽle qualitĂ© + le responsable conformitĂ©. »
SynthÚse (2 min). Tableau récapitulatif (slide 13) :
| Patron | Qui décide du flux ? | Force | Faiblesse |
|---|---|---|---|
| Pipeline | Le développeur (fixe) | Simple, prévisible, débogable | Rigide |
| Orchestrateur | Lâorchestrateur (dynamique) | Flexible, parallĂ©lisable | Goulot central |
| DĂ©bat | Le juge / le vote | FiabilitĂ© par recoupement | CoĂ»t ĂN |
| Superviseur | Les agents + contrÎle continu | Sécurité, conformité | Complexité |
SĂ©quence C â Manipulation du visualiseur (15 min)
Objectif : ancrer les patrons par la manipulation.
Ouvrez webpage/index.html, onglet « Architectures multi-agents ». Les participants (en binÎmes si portables disponibles, sinon vous au vidéoprojecteur avec la salle qui guide) :
- Choisissent un patron (pipeline, orchestrateur, dĂ©bat) â le plateau affiche les emplacements du patron.
- Glissent les agents de NewsRoom (Chercheur, Rédacteur, Vérificateur, Publieur, Juge, Orchestrateur) dans les emplacements.
- Lancent lâanimation : les messages circulent le long des flĂšches, avec le contenu de chaque message affichĂ© dans le journal (« Chercheur â RĂ©dacteur : 5 sources trouvĂ©es⊠»).
- Bouton « Injecter une erreur » : le VĂ©rificateur rejette le brouillon â observez comment chaque patron gĂšre le retour en arriĂšre (le pipeline le montre explicitement).
Consigne à donner : « Placez les agents pour le patron pipeline, lancez, puis répondez : à quel moment le Publieur reçoit-il quelque chose ? Que se passe-t-il si le Vérificateur rejette ? » Puis refaire en orchestrateur et comparer le nombre de messages échangés.
DĂ©brief (3 min) : faites verbaliser la diffĂ©rence pipeline/orchestrateur par un participant. La bonne formulation attendue : « dans le pipeline, le chemin est fixĂ© dâavance ; avec lâorchestrateur, câest un agent qui dĂ©cide du chemin. »
SĂ©quence D â Communication entre agents (10 min)
Objectif : connaßtre les 3 mécanismes par lesquels les agents échangent, avec leurs compromis.
1. Passage de messages (message passing). Chaque agent envoie explicitement des messages Ă dâautres agents (comme des e-mails internes). Câest le mĂ©canisme naturel du pipeline et de lâorchestrateur.
- Traçable (chaque message peut ĂȘtre journalisĂ©), dĂ©couplĂ©.
- â Il faut dĂ©finir qui parle Ă qui â la topologie.
- NewsRoom : lâorchestrateur envoie « mission : trouve 5 sources » au Chercheur, qui rĂ©pond « voici les 5 sources ».
2. MĂ©moire partagĂ©e (shared memory). Tous les agents lisent et Ă©crivent dans un espace commun (lâhistorique complet, une base, un document partagĂ©).
- Simple : tout le monde voit tout.
- â Le contexte gonfle vite ; risques dâinterfĂ©rences (un agent Ă©crase ou pollue ce quâun autre utilise) ; pas de cloisonnement â contradictoire avec la sĂ©paration des responsabilitĂ©s si on nây prend pas garde.
- NewsRoom : un dossier partagĂ© oĂč le Chercheur dĂ©pose ses sources et oĂč le RĂ©dacteur pioche.
3. Tableau noir (blackboard). Raffinement structurĂ© de la mĂ©moire partagĂ©e : un espace commun organisĂ© (sections, statuts) oĂč chaque agent dĂ©pose ses contributions et se dĂ©clenche quand une information qui le concerne apparaĂźt.
- IdĂ©al quand lâordre des contributions nâest pas connu dâavance ; chacun contribue quand il peut.
- â Plus complexe Ă mettre en place (qui se dĂ©clenche quand ?).
- Analogie : le tableau blanc de salle de crise â chacun vient y Ă©crire ce quâil sait, et rĂ©agit Ă ce que les autres y ont Ă©crit. NewsRoom : un tableau avec les sections « sources », « brouillon », « objections », « statut publication » ; le VĂ©rificateur se rĂ©veille dĂšs quâun brouillon apparaĂźt.
Ă dire pour synthĂ©tiser : « Messages = les e-mails de lâentreprise. MĂ©moire partagĂ©e = le dossier rĂ©seau commun. Tableau noir = le tableau blanc de la salle de crise. Les trois existent dans vos organisations humaines â câest exactement pareil pour les agents. »
Transition vers MCP (1 min, importante) : « Nous savons faire parler les agents entre eux. Reste un problĂšme : chaque agent doit aussi parler Ă ses outils â la base de donnĂ©es, la recherche web, GitHub, Slack. Et lĂ , historiquement, câest le chaos. Voyons pourquoi, et voyons le standard qui y met fin. »
SĂ©quence E â MCP : le standard universel (20 min) â cĆur de la seconde heure
Objectif : architecture HĂŽte â Client â Serveur comprise et les 3 primitives distinguĂ©es.
1. Le problĂšme NĂM (4 min). Au tableau : Ă gauche, 3 modĂšles/applications (Claude, GPT, votre app interne) ; Ă droite, 4 outils (base de donnĂ©es, recherche web, GitHub, Slack). Tracez toutes les flĂšches : 3 Ă 4 = 12 intĂ©grations Ă coder, maintenir, sĂ©curiser â chacune avec son format, son authentification, ses bugs. Ajoutez un modĂšle : +4 intĂ©grations. Ajoutez un outil : +3. Câest le problĂšme NĂM.
Rappel historique parlant : avant lâUSB (Universal Serial Bus, bus sĂ©rie universel), chaque pĂ©riphĂ©rique avait sa prise propriĂ©taire â port souris, port imprimante, port clavier. LâUSB a imposĂ© une prise, un protocole : nâimporte quel pĂ©riphĂ©rique sur nâimporte quel ordinateur. MCP (Model Context Protocol, protocole de contexte de modĂšle) est lâUSB de lâIA : proposĂ© fin 2024 â par Anthropic, adoptĂ© depuis par les principaux acteurs de lâĂ©cosystĂšme â . Avec MCP : N + M connecteurs au lieu de N Ă M.
2. Lâarchitecture HĂŽte â Client â Serveur (8 min). Le trio Ă connaĂźtre par cĆur â projetez le diagramme (slide 20) et ouvrez lâonglet 2 de la webpage :
âââââââââââââââââââââââââââââââââ ââââââââââââââââââââââââ
â HĂTE (host) â â SERVEUR MCP â
â = votre application â â = fournit outils, â
â (Claude Desktop, IDE, â â ressources, promptsâ
â votre app NewsRoomâŠ) â â (ex. serveur GitHub) â
â âââââââââââââââââââââ â â â
â â CLIENT MCP ââââââââ¶â â â
â â = connecteur dans â 1 â 1 â â â
â â l'hĂŽte â â â â
â âââââââââââââââââââââ â ââââââââââââââââââââââââ
âââââââââââââââââââââââââââââââââ
- HĂŽte (host) : lâapplication oĂč vit le modĂšle â Claude Desktop, un IDE (Integrated Development Environment, environnement de dĂ©veloppement intĂ©grĂ©), votre application NewsRoom. Câest lui qui dĂ©cide quels serveurs brancher et applique les autorisations.
- Client (client) : le composant Ă lâintĂ©rieur de lâhĂŽte qui gĂšre la connexion avec un serveur (relation 1â1 : un client par serveur). LâhĂŽte qui parle Ă 3 serveurs contient 3 clients.
- Serveur (server) : le programme qui expose des capacitĂ©s â outils, ressources, prompts. Exemple : le serveur MCP « GitHub » expose
crĂ©er_issue,lire_fichierâŠ
Analogie complĂšte Ă donner : lâhĂŽte est lâordinateur, le client est le port USB, le serveur est le pĂ©riphĂ©rique. Autre formulation qui aide : le serveur MCP est un adaptateur posĂ© devant un service existant (GitHub, votre baseâŠ) qui traduit ce service dans le langage standard MCP.
PiÚge n° 1 à désamorcer : « serveur » ne veut PAS dire « grosse machine dans un datacenter ». Un serveur MCP est souvent un petit programme local de quelques centaines de lignes, lancé sur votre propre poste. Le mot désigne un rÎle dans le protocole (celui qui fournit), pas une infrastructure.
PiĂšge n° 2 : le serveur MCP ne contient pas de modĂšle dâIA. Il expose des capacitĂ©s ; lâintelligence reste cĂŽtĂ© hĂŽte.
3. Les deux transports (2 min). Comment client et serveur se parlent-ils concrĂštement ?
- stdio (standard input/output, entrĂ©e/sortie standard) : le serveur est un processus local lancĂ© par lâhĂŽte, dialogue par les canaux dâentrĂ©e/sortie du systĂšme. Simple, rapide, tout reste sur la machine. Cas type : serveur filesystem sur votre poste.
- HTTP+SSE (HyperText Transfer Protocol + Server-Sent Events, Ă©vĂ©nements envoyĂ©s par le serveur) : le serveur est distant, accessible par le rĂ©seau ; SSE permet au serveur de pousser des Ă©vĂ©nements vers le client. Cas type : serveur MCP dâentreprise partagĂ© par toutes les Ă©quipes. â Le transport distant Ă©volue (variantes « streamable HTTP ») â retenez lâidĂ©e : stdio = local, HTTP = distant.
4. Les trois primitives (6 min). Ce quâun serveur peut exposer â faites cliquer les trois cartes dans la webpage :
| Primitive | Qui dĂ©cide de lâutiliser ? | Câest quoi | Exemple (serveur GitHub) |
|---|---|---|---|
| Tools (outils) | Le modĂšle (model-invoked) | Des actions exĂ©cutables â le tool calling de la Session 5, standardisĂ© | crĂ©er_issue(titre, corps) |
| Resources (ressources) | Lâapplication (app-controlled) | Des donnĂ©es en lecture que lâhĂŽte injecte dans le contexte | le contenu de README.md |
| Prompts (invites) | Lâutilisateur (via lâhĂŽte) | Des modĂšles dâinvites prĂȘts Ă lâemploi, paramĂ©trables | « analyse cette pull request » |
Le point qui diffĂ©rencie tout : qui a la main. Tools â le modĂšle dĂ©cide dâagir (avec les garde-fous des Sessions 5â6). Resources â lâapplication dĂ©cide quoi montrer au modĂšle (comme le RAG, Session 4 : on donne Ă lire). Prompts â lâutilisateur choisit un modĂšle dâinvite dans un menu. Trois primitives, trois « dĂ©clencheurs » diffĂ©rents.
Boucle complĂšte Ă dĂ©rouler oralement (avec NewsRoom) : le Chercheur (dans lâhĂŽte) veut chercher â lâhĂŽte demande au client la liste des tools du serveur « recherche web » â le modĂšle choisit recherche_web(requĂȘte) â le client transmet lâappel au serveur â le serveur exĂ©cute et renvoie le rĂ©sultat â le rĂ©sultat revient dans la boucle de lâagent (lâĂ©tape « observer » de la Session 6 !). Rien de nouveau dans la boucle â seul le branchement est standardisĂ©.
SĂ©quence F â ĂcosystĂšme & construire son serveur (10 min)
Objectif : rendre MCP concret et actionnable dĂšs demain.
LâĂ©cosystĂšme existant (4 min). Serveurs MCP disponibles sur Ă©tagĂšre â (lâĂ©cosystĂšme grandit chaque semaine) : filesystem (lire/Ă©crire des fichiers locaux), bases de donnĂ©es (PostgreSQL, SQLiteâŠ), recherche web, GitHub (issues, PR, code), Slack (lire/poster), navigateur, calendriers⊠Le rĂ©flexe Ă installer : avant de coder une intĂ©gration, cherchez sâil existe dĂ©jĂ un serveur MCP.
Construire le sien (5 min). Quand votre logique mĂ©tier nâexiste pas sur Ă©tagĂšre (ex. : votre CRM â Customer Relationship Management, gestion de la relation client â interne), vous Ă©crivez un serveur MCP qui lâexpose. Squelette conceptuel (pas de code Ă Ă©crire en sĂ©ance, montrez le pseudo-code du slide 26) :
serveur = nouveau ServeurMCP("crm-interne")
serveur.tool("chercher_client",
description: "Recherche un client par nom ou e-mail",
schéma: { requete: string },
exécution: (args) => crm.chercher(args.requete))
serveur.resource("crm://clients/actifs",
description: "Liste des clients actifs",
lecture: () => crm.listeActifs())
serveur.démarrer(transport: stdio)
Trois messages Ă marteler :
- Chaque
tool= exactement la dĂ©finition dâoutil de la Session 5 (nom, description, schĂ©ma dâentrĂ©e) â vous savez dĂ©jĂ faire. - Ăcrire le serveur une fois â tous vos hĂŽtes (Claude Desktop, vos agents NewsRoom, lâIDE) en profitent. Câest le gain N+M.
- La sĂ©curitĂ© ne change pas : moindre privilĂšge, validation humaine pour lâirrĂ©versible â le standard ne dispense dâaucun garde-fou.
Boucler la boucle (1 min) : « PremiĂšre heure : des agents spĂ©cialisĂ©s qui collaborent. Seconde heure : une prise universelle pour leurs outils. NewsRoom complet, câest : 4 agents en pipeline supervisĂ©, chacun branchĂ© sur ses serveurs MCP. Vous avez maintenant toutes les piĂšces dâun systĂšme multi-agents professionnel. »
4. Questions fréquentes des participants (et réponses)
« Multi-agent, câest plusieurs modĂšles diffĂ©rents ? » Non â souvent le mĂȘme modĂšle avec des prompts systĂšmes, outils et garde-fous diffĂ©rents. On peut varier les modĂšles (Ă©conomie : petit modĂšle pour les tĂąches simples), mais ce nâest pas la dĂ©finition.
« Pourquoi ne pas tout mettre dans un seul gros prompt ? » Ăa marche⊠jusquâĂ un certain point. Instructions contradictoires, contexte saturĂ©, dĂ©bogage impossible, outils sur-exposĂ©s. Le multi-agent est au prompt gĂ©ant ce que les fonctions sont au script de 3 000 lignes.
« MCP remplace-t-il le tool calling ? » Non, il le standardise. Le tool calling (Session 5) reste le mĂ©canisme ; MCP normalise la façon de dĂ©couvrir et brancher les outils. Analogie : lâUSB nâa pas remplacĂ© les claviers â il a normalisĂ© la prise.
« Un serveur MCP, câest un service cloud ? » Pas nĂ©cessairement â câest mĂȘme souvent un petit processus local (transport stdio). « Serveur » dĂ©signe le rĂŽle (fournisseur de capacitĂ©s), pas une infrastructure.
« Quelle différence entre Resource et Tool en lecture seule ? »
Le dĂ©clencheur. Un tool lire_fichier est invoquĂ© par le modĂšle quand il le juge utile. Une resource est injectĂ©e par lâapplication (ou choisie par lâutilisateur). MĂȘme donnĂ©e, contrĂŽle diffĂ©rent â et le contrĂŽle, câest toute la question en production.
« Le dĂ©bat multiplie les coĂ»ts par deux ou trois â ça vaut le coup ? » Uniquement pour les dĂ©cisions Ă fort enjeu oĂč le coĂ»t dâune erreur dĂ©passe largement le coĂ»t des appels. Pour une synthĂšse quotidienne : non. Pour valider une analyse rĂ©glementaire avant envoi Ă un rĂ©gulateur : oui.
« MCP est-il propre Ă Anthropic ? » Le protocole a Ă©tĂ© initiĂ© par Anthropic (fin 2024 â ) mais publiĂ© en standard ouvert ; il est adoptĂ© au-delĂ dâAnthropic â . LâintĂ©rĂȘt dâun standard est prĂ©cisĂ©ment de nâappartenir Ă personne en pratique.
5. PiÚges pédagogiques à éviter
- Empiler les 4 patrons sans les contraster. Ce qui reste en tĂȘte, câest le tableau comparatif « qui dĂ©cide du flux ». Passez-y du temps.
- PrĂ©senter MCP comme une techno de plus. Câest un standard â la valeur est dans la mutualisation (N+M), pas dans une fonctionnalitĂ©. Sans le problĂšme NĂM dâabord, MCP paraĂźt gratuit.
- Laisser « serveur » évoquer un datacenter. Dites explicitement : « un serveur MCP tient dans un petit script local ». Sinon la moitié de la salle imagine du cloud.
- Noyer la salle dans les 3 primitives. Lâessentiel : Tools = le modĂšle dĂ©cide, Resources = lâapp dĂ©cide, Prompts = lâutilisateur choisit. Le reste est du dĂ©tail.
- Vendre le multi-agent partout. Symétrique de la Session 6 : un agent (voire un prompt) suffit souvent. Un formateur crédible dit quand ne PAS multiplier les agents.
- Oublier le pont avec les Sessions 5â6. Chaque nouveautĂ© doit ĂȘtre raccrochĂ©e : tool MCP = dĂ©finition dâoutil S5 ; rĂ©sultat dâoutil = « observer » S6. Les participants doivent sentir une continuitĂ©, pas un nouveau monde.
6. Exit tickets (5)
à distribuer dans les 5 derniÚres minutes. Une phrase de réponse suffit.
-
Pourquoi découper un agent monolithique en plusieurs agents spécialisés ? (un argument suffit) (Attendu, un parmi : prompts systÚmes sans contradictions ; outils limités au besoin de chacun / moindre privilÚge ; garde-fous ciblés ; débogage par agent ; contexte maßtrisé.)
-
Citez les 4 patrons multi-agents vus aujourdâhui. (Attendu : pipeline (chaĂźne), orchestrateur/exĂ©cutants, dĂ©bat/consensus, superviseur.)
-
Que signifie MCP et quel problĂšme rĂ©sout-il ? (Attendu : Model Context Protocol, protocole de contexte de modĂšle â un standard universel qui Ă©vite de coder NĂM intĂ©grations entre modĂšles et outils : « lâUSB de lâIA ».)
-
Dans lâarchitecture MCP, qui sont lâHĂŽte, le Client et le Serveur ? (Attendu : HĂŽte = lâapplication oĂč vit le modĂšle ; Client = le connecteur dans lâhĂŽte, un par serveur ; Serveur = le programme qui expose outils/ressources/prompts.)
-
Quelle est la diffĂ©rence entre un Tool et une Resource MCP ? (Attendu : le Tool est invoquĂ© par le modĂšle (action) ; la Resource est contrĂŽlĂ©e par lâapplication (donnĂ©e injectĂ©e en lecture).)
7. Pont vers la suite
- Acquis aprĂšs cette session : lâarchitecture dâĂ©quipes dâagents (4 patrons + 3 modes de communication) et le standard universel de connexion aux outils (MCP : HĂŽte/Client/Serveur, Tools/Resources/Prompts, stdio/HTTP+SSE).
- Prochaine session (Session 8) : selon le programme â mise en production, Ă©valuation et observabilitĂ© des systĂšmes agentiques. Accroche suggĂ©rĂ©e : « Vous savez maintenant construire un systĂšme multi-agents. La semaine prochaine : comment savoir sâil marche vraiment â mesurer, surveiller, amĂ©liorer. Dâici lĂ , un dĂ©fi : repĂ©rez dans votre mĂ©tier une tĂąche qui mĂ©riterait une Ă©quipe dâagents plutĂŽt quâun seul, et notez quel patron vous choisiriez. On ouvrira la sĂ©ance avec vos cas. »