Orchestrer une équipe d'agents avec OpenVibe
Un objectif, un plan, une branche et un worktree par agent, des budgets de temps et une fusion dans une branche de mission. Voici ce que fait l'orchestrateur, étape par étape, et quand t'en passer.
- Un manager, pas un codeur. L'orchestrateur est une session Claude Code qui découpe, distribue et surveille ;
Edit,Write,NotebookEditetBashlui sont refusés. - Chaque agent sur sa branche. Une branche et un worktree par agent, fusionnés dans
openvibe/<mission>; rien n'est poussé, rien n'arrive sur ta branche. - Le temps est surveillé, pas imposé. Au budget, l'orchestrateur est prévenu ; au double, tu l'es aussi. Personne n'est arrêté automatiquement.
Lancer quatre agents sur la même tâche, c’est facile. Les faire travailler ensemble sans qu’ils se marchent dessus, c’est un autre problème : qui fait quoi, sur quelle branche, en combien de temps, et qui assemble à la fin. Dans OpenVibe, c’est le rôle de l’orchestrateur.
Cet article suit une mission du début à la fin : le lien avec un groupe, le plan, le feu vert, les branches, les budgets de temps et la fusion. Il dit aussi quand un orchestrateur n’apporte rien.
Ce qu’est l’orchestrateur
L’orchestrateur est une session Claude Code qui joue le rôle de manager d’équipe. Il ne code pas : il lit le dépôt, découpe l’objectif, confie les sous-tâches et assemble les résultats. Ses outils d’écriture lui sont retirés : Edit, Write, NotebookEdit et Bash sont refusés dans sa session, et il ne reçoit que les outils d’OpenVibe. Si ces réglages ne peuvent pas lui être donnés, il ne démarre pas, et son nœud dit pourquoi.
Il échange avec OpenVibe par un serveur MCP local, qui n’écoute que sur 127.0.0.1 et demande un jeton propre à chaque session. Les principaux outils :
| Outil | À quoi il sert |
|---|---|
mission, team |
Lire l’état de la mission et de chaque agent : sous-tâche, étapes, temps passé, compte rendu |
propose_plan |
Proposer le plan, qui attend ton feu vert |
add_tasks, queue |
Mettre des tâches en file, au-delà du nombre d’agents |
read_output, write |
Lire la fin du terminal d’un agent, lui écrire une précision |
extend, interrupt, reassign |
Prolonger un budget, interrompre un tour, confier une sous-tâche à un autre |
merge, finish |
Fusionner les branches terminées, clore la mission |
remote_control |
Activer le Remote Control de Claude Code pour l’équipe |
Côté agents, trois outils suffisent : declare_steps, step et report.
Avant de lancer
Il te faut un dépôt git avec au moins un commit, puisqu’une mission travaille sur des branches. Si le dépôt n’en a pas encore, OpenVibe le dit au lieu d’afficher l’erreur de git.
Relie ensuite un orchestrateur à un groupe, depuis le menu du groupe : Relier un orchestrateur. Les agents d’une mission sont des agents Claude Code : ceux du groupe relié, ou de nouveaux que l’orchestrateur crée pour l’occasion. Si tu as plusieurs groupes, donne à chacun une spécialité, une ligne depuis son menu (par exemple « API et base de données »). L’orchestrateur reçoit le groupe et la spécialité de chaque agent, et s’en sert pour confier chaque sous-tâche au bon groupe.
Le panneau de mission, sous l’orchestrateur, porte trois réglages :
- Budget global : du temps réel depuis le feu vert, partagé par les agents qui travaillent en parallèle.
- Agents max : 4 par défaut, 8 au plus.
- Routeur de modèles : il choisit le modèle de chaque agent, voir plus bas.
Décris enfin l’objectif dans le terminal de l’orchestrateur, en langage courant. Tu peux aussi partir d’un Kanban : Planifier avec l’orchestrateur, dans le menu d’une colonne, lui envoie ses cartes.
Le plan et le feu vert
L’orchestrateur propose un plan avec propose_plan. Chaque sous-tâche a un titre, une consigne, un responsable (un agent relié, ou un nouveau), un budget en minutes et, au besoin, un niveau de difficulté. Une sous-tâche par agent ; ce qui dépasse le nombre d’agents peut aller dans une file, que les agents reprendront à mesure qu’ils finissent.
Le plan s’affiche dans le panneau de mission, avec le total des minutes d’agents. Rien ne part tant que tu n’as pas cliqué Lancer la mission. Si le plan ne te va pas, dis-le à l’orchestrateur dans son terminal : il en propose un autre, qui remplace le premier.
Au feu vert, OpenVibe forme l’équipe et confie à chaque agent sa sous-tâche dès que son terminal est prêt. Si la session Claude d’un agent ne s’ouvre pas au bout d’une minute, sa sous-tâche n’est pas envoyée, et l’orchestrateur en est prévenu.
Une branche et un worktree par agent
Au lancement, OpenVibe crée la branche de mission openvibe/<mission> à partir de ton commit courant, puis une branche et un worktree par agent, à partir de la branche de mission. Les worktrees vont dans un dossier voisin de ton dépôt :
projets/
├── boutique/ ton dépôt et ta branche, intacts
└── boutique.worktrees/
├── auth/ openvibe/auth (branche de mission)
├── auth-athena/ openvibe/auth-athena
└── auth-hermes/ openvibe/auth-hermes
Chaque agent travaille et commite dans son propre dossier : deux agents ne modifient jamais la même copie d’un fichier. Un worktree neuf n’a pas ses dépendances, et l’agent en est prévenu dans sa consigne (node_modules et le reste ne sont pas installés).
C’est aussi le seul cas où OpenVibe répond à ta place à une question de Claude Code : la confiance dans le dossier, et seulement dans les worktrees qu’il a créés lui-même.
Étapes, comptes rendus et budgets
Chaque agent Claude déclare ses étapes, qui s’affichent en frise sous son terminal, et les marque au fil du travail. Il peut confier une partie de son travail à ses propres sous-agents. Quand il a fini, il rend compte avec report : un résumé, un statut (terminé, bloqué ou échec) et, s’il y a lieu, ce que tu devras vérifier à la main.
Pour le temps, la règle est simple :
| Moment | Ce qui se passe |
|---|---|
| Budget atteint | L’orchestrateur est prévenu et décide : écrire à l’agent, prolonger, interrompre ou réattribuer |
| Double du budget | Tu reçois une notification, et la barre de l’agent passe au rouge |
| Budget global écoulé | La file ne donne plus de tâche, et l’orchestrateur est invité à terminer avec ce qui est fait |
Personne n’est arrêté automatiquement. Un agent qui dépasse est peut-être en train de finir ; c’est à l’orchestrateur, ou à toi, d’en juger. extend ajoute des minutes, dans la limite du budget global. interrupt arrête le tour en cours, comme une pause. reassign confie la sous-tâche à un autre agent, qui reçoit le compte rendu et la branche du précédent.
La fusion dans la branche de mission
Quand des agents ont rendu compte « terminé », l’orchestrateur appelle merge. OpenVibe fusionne leurs branches dans la branche de mission, dans le worktree de la mission. Ce qui n’est pas commité dans le worktree d’un agent n’est pas fusionné, et c’est signalé. En cas de conflit, la fusion est annulée et les fichiers en cause sont listés : à l’orchestrateur de décider de la suite, ou à toi.
Deux choses n’arrivent jamais dans les étapes d’une mission : un push, et une fusion dans ta propre branche. Quand l’orchestrateur appelle finish, son résumé s’affiche dans le panneau et la branche de mission t’attend. Tu la relis (le bouton diff de chaque agent ouvre la revue des changements), puis tu la fusionnes toi-même, par exemple :
git switch main
git merge openvibe/auth
Nettoyer la mission retire ensuite les worktrees dont la branche est fusionnée. Rien n’est forcé : un worktree qui garde des changements reste, et les branches restent.
Une limite à garder en tête : la fenêtre git d’OpenVibe ne pousse que sur ton clic, mais un agent qui lance des commandes dans un terminal n’est limité que par ses permissions.
Le routeur de modèles
Active Routeur de modèles dans le panneau, et chaque sous-tâche doit porter un niveau. Ce niveau choisit le modèle de l’agent :
| Niveau | Modèle |
|---|---|
low (faible) |
Claude Haiku 5.5 |
medium (moyen) |
Claude Sonnet 5.5 |
high (élevé) |
Claude Opus 5.5 |
extreme (extrême) |
Claude Fable 5.1 |
C’est l’orchestrateur qui fixe les niveaux en proposant le plan ; tu les vois avant de donner le feu vert, et tu peux lui demander d’en changer. Routeur éteint, OpenVibe ne choisit aucun modèle : c’est le réglage habituel de ton Claude Code qui s’applique.
Quand ne pas utiliser d’orchestrateur
- Une tâche courte ou très liée. Si le travail tient dans une session, un seul agent ira plus vite qu’un plan, plusieurs worktrees et une fusion.
- Des sous-tâches qui touchent les mêmes fichiers. Les worktrees évitent les collisions pendant le travail, pas à la fusion : tu récupères des conflits à résoudre.
- Pas de dépôt git. Une mission en a besoin, avec au moins un commit.
- Des agents autres que Claude Code. Les missions, la frise d’étapes et le routeur reposent sur Claude Code. Pour un groupe Codex ou Aider, la barre de consigne et la revue restent les bons outils.
- Tu explores, tu ne livres pas. Pour comparer des idées, poser la même question à
@touset lire les réponses côte à côte suffit souvent. - Ton forfait est presque épuisé. Chaque agent de l’équipe consomme sur ton abonnement Claude ; le compteur de la barre de titre te dit où tu en es.
Essaie OpenVibe sur tes propres agents
Gratuit, open source, sans compte. Il lance les agents déjà installés sur ta machine.