APPLIED AI — NIVEAU INTERMÉDIAIRE — SESSION 7

Multi-agents & MCP

De l'agent solitaire à l'équipe — et la prise universelle qui branche tout · Yann Isola

Consigne. Choisissez un patron d'architecture, puis glissez les agents de NewsRoom 📰 dans les emplacements en pointillés cuivre. Quand tous les rôles sont pourvus, lancez l'animation pour voir les messages circuler. Le bouton « 💥 Injecter une erreur » montre comment chaque patron gère un rejet du Vérificateur.
« 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. »

1. Choisissez un patron

2. Placez les agents

Agents disponibles — glissez-les sur le plateau

Journal des messages

À comparer entre les patrons

  • Qui décide du chemin ? Pipeline : le développeur (fixe). Orchestrateur : l'agent central (dynamique). Débat : le juge tranche à la fin.
  • Nombre de messages : comptez-les dans le journal — l'orchestrateur en échange davantage (tout passe par le chef).
  • Gestion d'erreur : le pipeline doit prévoir un retour en arrière ; l'orchestrateur réassigne ; le débat relance un tour.
  • Le superviseur (4ᵉ patron, non simulé ici) s'ajoute par-dessus n'importe lequel des trois : il observe, valide, interrompt. Orchestrateur = distribue le travail ; superviseur = contrôle qualité & sécurité.
MCP = Model Context Protocol (protocole de contexte de modèle) : un standard universel pour connecter les modèles d'IA (intelligence artificielle) à leurs outils et sources de données — « l'USB de l'IA ». Proposé fin 2024 ⚠ par Anthropic, publié en standard ouvert. Cliquez sur chaque composant du diagramme, puis explorez les 3 primitives.
Sans standard : N modèles × M outils = N × M intégrations sur mesure. Avec MCP : N + M connecteurs. Comme l'USB (Universal Serial Bus) : une prise, un protocole, tout se branche.

1. L'architecture : Hôte ↔ Client ↔ Serveur (cliquez sur chaque bloc)

🖥️

HÔTE (host)

Votre application — là où vit le modèle
🔌

CLIENT MCP

Le connecteur — 1 client ↔ 1 serveur
🧰

SERVEUR MCP

Expose : Tools · Resources · Prompts
(ex. serveur GitHub, filesystem…)

👆 Cliquez sur un bloc du diagramme

Analogie complète : l'hôte est l'ordinateur, le client est le port USB, le serveur est le périphérique.

2. Les 3 primitives — qui a la main ? (cliquez sur chaque carte)

🔧 Tools (outils)

Invoqués par LE MODÈLE
Cliquez pour le détail…
Des actions exécutables — c'est le tool calling de la Session 5, standardisé. Le modèle décide quand les appeler, pendant sa boucle (Session 6).
  • Exemple (serveur GitHub) : créer_issue(titre, corps)
  • Exemple (serveur base de données) : exécuter_requête(sql)
  • ⚠️ Garde-fous obligatoires pour les actions irréversibles (Sessions 5–6) : le standard n'en dispense d'aucun.

📚 Resources (ressources)

Contrôlées par L'APPLICATION
Cliquez pour le détail…
Des données en lecture que l'hôte choisit d'injecter dans le contexte du modèle — l'esprit du RAG (Retrieval-Augmented Generation, génération augmentée par récupération, Session 4).
  • Exemple : le contenu de README.md d'un dépôt
  • Exemple : la liste des clients actifs du CRM (Customer Relationship Management, gestion de la relation client)
  • Différence clé avec un Tool en lecture : ici, c'est l'application qui décide quoi montrer, pas le modèle.

📋 Prompts (modèles d'invite)

Choisis par L'UTILISATEUR
Cliquez pour le détail…
Des invites prêtes à l'emploi, paramétrables, que l'utilisateur sélectionne dans un menu de l'hôte.
  • Exemple : « Analyse cette pull request selon nos standards »
  • Exemple : « Analyse cette réclamation client selon notre grille conformité »
  • Intérêt : capitaliser les bonnes invites de l'équipe, au lieu que chacun réinvente la sienne.
Le point qui différencie tout : qui a la main. Tools → le modèle décide d'agir · Resources → l'application décide quoi montrer · Prompts → l'utilisateur choisit dans un menu. Trois primitives, trois déclencheurs.

3. Les deux transports

TransportOù ?Comment ?Cas type
stdio (standard input/output, entrée/sortie standard)LocalLe serveur est un processus lancé par l'hôte ; dialogue par l'entrée/sortie du systèmeServeur filesystem sur votre poste
HTTP+SSE (HyperText Transfer Protocol + Server-Sent Events, événements envoyés par le serveur)DistantPar le réseau ; le serveur peut pousser des événements vers le clientServeur MCP d'entreprise, partagé par les équipes

⚠ Le transport distant évolue (variantes « streamable HTTP »). Mnémotechnique stable : stdio = local · HTTP = distant.

4. L'écosystème : servez-vous avant de coder ⚠

Serveurs MCP disponibles sur étagère (liste indicative — l'écosystème grandit chaque semaine ⚠) :

📁 filesystem🗄️ PostgreSQL / SQLite🔍 recherche web 🐙 GitHub💬 Slack🌐 navigateur📅 calendriers📧 e-mail

Et pour VOTRE logique métier : écrivez votre serveur

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)

Chaque tool = exactement la définition d'outil de la Session 5 (nom, description, schéma). Écrit une fois → tous vos hôtes en profitent : c'est le gain N+M.

Vérifiez vos acquis — 4 questions éclair. Cliquez sur une réponse pour voir la correction immédiatement.