🤖 Agents IA

multi-agent-orchestrator

Conception de systèmes multi-agents avec patterns d'orchestration (supervisor, swarm, hierarchy, voting). Coordination entre agents spécialisés.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- multi-agent-orchestrator --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } multi-agent-orchestrator -Launch"

🚀 Déjà installé ?

claude "/multi-agent-orchestrator"

Ou tapez /multi-agent-orchestrator dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

multi-agentorchestrationsupervisor agentswarmagent coordinationagent hierarchyagents qui collaborentrépartir entre agents

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/agent-skills/multi-agent-orchestrator ~/.claude/skills/

Source : agent-skills/multi-agent-orchestrator

📖 Manuel

Multi-Agent Orchestrator

Quand utiliser ce skill

Utilise ce skill lorsque tu dois concevoir un système où plusieurs agents IA collaborent pour résoudre une tâche complexe. Il s'applique dès qu'une tâche bénéficie d'une décomposition en sous-tâches spécialisées, d'un routage intelligent entre agents, ou d'un mécanisme de consensus/vote. Idéal pour les architectures supervisor/worker, les pipelines de recherche parallèle et les systèmes de débat multi-agents.

Workflow

  1. Analyse du problème — Décompose la tâche principale en sous-tâches atomiques et indépendantes. Identifie les spécialisations requises (recherche, rédaction, validation, exécution de code, etc.) et les dépendances entre sous-tâches pour déterminer ce qui peut s'exécuter en parallèle.
  1. Design des agents — Définis le rôle, les capabilities et les limites de chaque agent. Rédige un system prompt spécialisé pour chacun. Maintiens des agents focused (un agent = une responsabilité claire) plutôt que des agents généraux.
  1. Pattern de coordination — Choisis le pattern adapté : supervisor/router (un agent central distribue et consolide), peer-to-peer (agents qui se contactent directement), hierarchical (niveaux d'agents), swarm (agents autonomes avec règles locales), debate (agents contradicteurs + arbitre).
  1. Communication inter-agents — Implémente le mécanisme d'échange : shared state (dictionnaire commun), message passing (queue de messages), blackboard (tableau d'affichage partagé), ou event-based (pub/sub). Standardise le format des messages entre agents.
  1. Routing et dispatch — Implémente la logique de sélection d'agent : semantic routing (embedding de la requête vs profils agents), intent classification (LLM classifier), capability matching (tags/métadonnées). Exemple en Python :

```python def route_task(task: str, agents: list[Agent]) -> Agent: scores = [(agent, cosine_sim(embed(task), agent.embedding)) for agent in agents] return max(scores, key=lambda x: x[1])[0] ```

  1. Gestion des conflits — Prévois une stratégie quand des agents produisent des résultats contradictoires : vote majoritaire, vote pondéré par confiance, consensus LLM (un agent arbitre), priority rules (agent de référence), ou escalade humaine. Documente les règles de tie-breaking.
  1. State management partagé — Maintiens un état global (task graph, statut de chaque sous-tâche, résultats intermédiaires, contexte de conversation). Utilise un objet thread-safe en mémoire pour les systèmes synchrones, Redis ou une base de données pour les systèmes distribués.
  1. Error handling distribué — Gère les pannes d'agents : timeout avec valeur par défaut, retry exponentiel, circuit breaker (désactiver un agent défaillant), fallback vers un agent généraliste. Loggue chaque erreur avec l'identifiant d'agent, la tâche et le contexte.

```python async def safe_agent_call(agent, task, retries=3): for attempt in range(retries): try: return await asyncio.wait_for(agent.run(task), timeout=30) except asyncio.TimeoutError: if attempt == retries - 1: return agent.fallback_response(task) ```

  1. Scaling — Exécute les agents indépendants en parallèle (asyncio.gather ou ThreadPoolExecutor). Implémente un agent pool pour réutiliser les instances coûteuses. Utilise une queue de travail (Celery, RQ) pour les tâches longues en arrière-plan.
  1. Monitoring — Instrumente chaque agent : temps d'exécution, taux de réussite, coût en tokens, nombre de retries, fréquence d'utilisation. Identifie les goulots d'étranglement (agent le plus lent) et les agents sous-utilisés. Mets en place des alertes sur les taux d'erreur.

Règles