Construire un maître du jeu (de rôle) multi-agents avec Strands

Article rédigé par Nathan FERRY

…ou quand l’IA peut orchestrer des parties de Donjons & Dragons !

La genAI au service de la créativité ludique

Comment transformer l’expérience du jeu de rôle sur table grâce aux agents IA ? Après le talk de Sébastien Stormarcq au meetup de l’AWS User Group Bordeaux, Olivier Leplus, Developer Advocate AWS, est monté sur scène pour démontrer comment construire un assistant maître du jeu (MJ ou GM, Game Master, en anglais) multi-agents avec Strands, le framework open source d’AWS. Une plongée technique très intéressante dans l’univers des agents autonomes qui collaborent pour proposer un service ludique.

Strands : une architecture multi-agents pensée pour la production

Un SDK Python pour orchestrer l’intelligence

Strands se positionne comme un SDK de construction d’agents développé en interne chez AWS depuis plusieurs années et récemment open-sourcé. Sa philosophie : permettre aux agents IA d’être véritablement autonomes tout en communiquant efficacement entre eux.

Cette approche diffère des chatbots classiques par sa capacité à décomposer des tâches complexes entre agents spécialisés, chacun maîtrisant un domaine précis.

Architecture fondamentale :

  • Agents autonomes : chaque agent prend un input et décide automatiquement des actions à entreprendre.
  • Protocole MCP intégré : Model Context Protocol, standard émergent pour la communication entre LLMs et outils externes.
  • Support A2A : Agent-to-Agent Protocol pour l’orchestration distribuée.
  • Écosystème Python : installation simple via pip install strands-agent

Le Model Context Protocol : la clé de voûte des interactions

Le MCP (Model Context Protocol) représente l’innovation majeure de cette approche. Spécifiquement conçu pour optimiser les interactions entre LLMs et systèmes externes, il permet aux agents IA de communiquer avec des APIs tierces et des outils externes de manière standardisée. Cette standardisation évite le vendor lock-in et facilite l’interopérabilité entre différents fournisseurs d’IA.

L’intégration est native dans Strands, permettant aux agents de :

  • Appeler des services externes comme des APIs REST, bases de données, systèmes de fichiers.
  • Partager des fonctionnalités via des serveurs MCP réutilisables entre agents.
  • Collaborer avec d’autres agents en mode distribué et asynchrone.

La boucle principale d’un agent :

Schéma de fonctionnement d'un agent IA

Vue d’ensemble de MCP :

Schéma de fonctionnement du Model Context Protocol (MCP)
Source : Charles Shen

Démonstration pratique : un maître du jeu AD&D multi-agents

Architecture de la solution

La démonstration d’Olivier illustre parfaitement la puissance de cette approche avec un système composé de :

Agent principal – Gestion des règles :

  • Connecté à un système RAG contenant les règles de Donjons & Dragons (un PDF dans un bucket S3, concrètement).
  • Responsable de l’arbitrage et de la cohérence narrative.
  • Interface avec les joueurs pour l’expérience de jeu.

Agent spécialisé – Lanceur de dés :

  • Service dédié aux calculs de jets de dés et probabilités de réussite.
  • Fonction métier spécifique et réutilisable.
  • Exposé via serveur MCP pour les autres agents.

Agent de gestion des personnages :

  • Gestion des fichiers de caractéristiques.
  • Système de « character management ».
  • Utilisation possible de RAG pour une base de données de personnages.

Implémentation technique détaillée

Code de base minimaliste :

En Python :

from strands import Agent

agent = Agent()
agent("Salut, ça va ?")

agent = Agent(
    model="claude-3-sonnet", # ou modèle local
    temperature=0.7,
    tools=["web_search", "file_ops"]
)

# Interaction avec outils MCP
response = agent("Lance 2d6 pour une attaque",
                use_tools=True)

Cette simplicité apparente cache une architecture sophistiquée :

  • Configuration LLM flexible : choix du modèle backend (local ou cloud).
  • Paramètres de tuning : température, top-k, top-p configurables.
  • Outils intégrés : package agent-tools avec fonctions utilitaires (heure, requêtes HTTP, écriture disque, graphiques).

Développement d’outils métier spécifiques

Création d’une fonction de lancement de dés :

L’exemple montre comment étendre les capacités avec des outils métiers. Le développement s’appuie sur Kiro (l’IDE intégré) pour générer la fonction de jet de dés, puis l’intégrer comme outil utilisable par l’agent.

Exposition via serveur MCP :

Le framework FastMCP simplifie l’exposition des fonctions :

  • Découverte automatique : enregistrement automatique des fonctions décorées.
  • Sérialisation JSON : sérialisation transparente des paramètres et valeurs de retour.
  • Documentation OpenAPI : génération automatique des spécifications.

Orchestration A2A : Agent-to-Agent

Le protocole A2A (Agent to Agent) structure les interactions :

  • Modèle Request/Response : communication synchrone ou asynchrone selon les besoins.
  • Discovery dynamique : les agents peuvent découvrir les capacités disponibles.
  • Load balancing : répartition automatique des requêtes entre instances.

Perspectives techniques et enjeux d’entreprise

Écosystème et alternatives

Strands s’inscrit dans un paysage concurrentiel avec des frameworks comme LangChain, CrewAI, ou AutoGen. Parmi ses avantages, on peut compter :

  • Maturité opérationnelle : fruit de l’expérience AWS en développement d’agents en production.
  • Standardisation MCP : adoption native d’un protocole émergent vs intégrations propriétaires.
  • Écosystème hybride : combinaison open source + services AWS managés.
  • Positionnement technique : contrairement aux frameworks centrés sur les chaînes de prompts, Strands privilégie l’autonomie des agents et la communication inter-agents, se rapprochant davantage d’une architecture microservices appliquée à l’IA.

Exemple de fonctionnement multi-agents avec Bedrock :

Schéma de fonctionnement multi-agents avec Bedrock
Source : AWS

Défis de sécurité dans les architectures multi-agents

Complexité exponentielle : Avec N utilisateurs, M agents et P services MCP, l’authentification devient rapidement ingérable (N×M×P combinaisons potentielles).

Nouveaux vecteurs d’attaque :

  • Agent compromis : propagation latérale à travers le maillage MCP.
  • Prompte injection distribuée : manipulation d’agents distants via communications inter-agents.
  • Protocol poisoning : exploitation du protocole MCP pour injecter des requêtes malveillantes…

Gouvernance complexifiée : L’audit trail et l’application du principe du moindre privilège deviennent critiques avec la découverte dynamique de services.

Recommandations : Adoption d’une approche Zero Trust avec PKI dédiée, orchestration centralisée des permissions et monitoring comportemental des agents…

Cas d’usage au-delà du jeu…

Bien que la démonstration porte sur le jeu de rôle qui nous parle à tous, les applications de ce genre d’architecture sont nombreuses :

  • Automatisation de processus métier complexes nécessitant plusieurs spécialisations.
  • Systèmes de support client avec agents spécialisés par domaine.
  • Orchestration de workflows dans des environnements distribués.
  • Assistants de développement collaboratifs pour des projets complexes etc.

L’expertise Daveo dans l’orchestration d’agents

Cette démonstration révèle des opportunités stratégiques concrètes. Chez Daveo, nous accompagnons les entreprises dans :

  • Conception d’architectures multi-agents : identification des cas d’usage pertinents et design de systèmes distribués sécurisés
  • Développement sur mesure : implémentation sur Strands/alternatives avec patterns MCP réutilisables
  • Sécurisation et monitoring : stratégies d’authentification, observabilité des workflows et résilience des systèmes

Notre expertise AWS permet une intégration native avec vos écosystèmes existants pour maximiser le ROI de ces nouvelles architectures.

Vers l’intelligence artificielle collaborative

La démonstration de Strands réalisée par Olivier illustre parfaitement l’évolution de l’IA vers des systèmes collaboratifs intelligents. Au-delà de l’aspect ludique du maître du jeu D&D, cette technologie préfigure une nouvelle génération d’applications où plusieurs IA spécialisées collaborent pour résoudre des problèmes complexes.

L’approche multi-agents représente un paradigme puissant : plutôt qu’un système monolithique tentant de tout faire, on orchestre des intelligences spécialisées selon leurs domaines d’expertise.

Article Précedent

L’avenir des développeurs à l’ère de la GenAI : vers une redéfinition du métier ?

Articles associés

Shopping Basket