Dans la version la plus simple, le schéma ressemble à ceci.
- L'agent orchestrateur collecte et structure le contexte.
- Le deuxième agent propose une solution ou un brouillon de modifications.
- Le troisième vérifie le résultat : où sont les risques, ce qui a été oublié et ce qu'il faut vérifier manuellement.
- Si nécessaire, l'orchestrateur surveille l'ordre des étapes et décide quand le résultat peut être transmis à un humain.
Dans les cas plus complexes, des rôles spécialisés apparaissent. Par exemple, un agent ne regarde que la sécurité, un autre les risques d'exploitation, un troisième la documentation.
Résumé de l'approche multi-agentLe multi-agent n'est pas apparu hier, et il existe déjà aujourd'hui des approches élaborées par la communauté pour construire ce type de systèmes.
La première est plan-and-execute. L'idée est simple : avant de lancer les exécutants, quelqu'un doit découper la tâche en étapes et dépendances. Sinon, l'exécution se transforme presque immédiatement en allers-retours chaotiques entre logs, fichiers, hypothèses et corrections. C'est là qu'apparaît le rôle d'orchestrateur.
La deuxième approche importante est ReAct. Elle définit les règles de travail de l'agent exécutant : d'abord une hypothèse, puis une action, puis l'observation du résultat. Il regarde un fichier, lance une commande, voit la sortie, puis ajuste l'étape suivante.
La troisième concerne le travail avec le contexte. Tous les agents n'ont pas besoin de tout le contexte. Plus encore, les modèles actuels ne sont pas capables de garder efficacement trop d'informations dans le contexte. Le système fonctionne donc mieux lorsque le contexte est chargé de manière dosée : uniquement les fichiers nécessaires, uniquement les instructions nécessaires, uniquement les faits pertinents. Sinon, le système commence à se noyer dans son propre bruit avant même d'avoir eu le temps d'apporter de la valeur.
La quatrième approche est le critic séparé comme rôle isolé. Le critic doit être du même niveau que le rôle principal, ou plus fort. L'isolation est importante ici. Si le critic reçoit tout le bavardage interne, les doutes précédents et les raisonnements de l'auteur, il commence très vite à vérifier non pas le résultat, mais la logique dont il a déjà été contaminé. Il est donc important que le critic voie la tâche, les critères et le résultat, mais pas la chaîne de raisonnement de l'exécutant.
La cinquième approche est une rubric explicite pour la critique. C'est un schéma concret de travail du critic. Sans cela, le critic se transforme très vite en rôle flou de type « je n'aime pas ». Quand il existe des catégories claires comme blocker, warning et suggestion, la vérification fonctionne nettement mieux. Cela apporte de la clarté aux résultats du critic, ce qui améliore leur interprétation par les autres agents.
La sixième couche est Reflexion et une bonne gestion de la fin des itérations. Il est important que le système tienne compte non seulement du contexte, mais aussi des itérations précédentes de son propre travail. Sinon, il tournera simplement en rond en brûlant des tokens. En même temps, le nombre d'itérations doit être limité. À un moment donné, le système doit être capable de dire qu'un humain est nécessaire.
Il existe aussi des amplificateurs supplémentaires. Le RAG est utile lorsque la connaissance importante se trouve hors du dialogue courant : dans la documentation, des paquets de connaissances, des standards ou des bases internes. Tree of Thoughts et Skeleton-of-Thought aident lorsque l'orchestrator doit d'abord construire le squelette d'une solution ou faire émerger plusieurs variantes de plan. Multi-Agent Debate et Mixture of Agents sont pertinents lorsqu'une seule vérification ne suffit plus et qu'il faut soit confronter des positions, soit faire passer le résultat par plusieurs niveaux d'affinage. Spec-Driven Development est utile dans les tâches où il faut d'abord se mettre d'accord sur la spécification, puis seulement ensuite passer à l'implémentation. Mais cela relève déjà d'un réglage fin selon les besoins et préférences d'un projet ou d'une personne donnée.
Comment configurer tout cela ?Il est déjà clair qu'un système multi-agent ne peut pas reposer sur un seul gros prompt. L'industrie a déjà développé des approches pour organiser logiquement le travail de plusieurs agents.
La première chose à connaître est AGENTS.md. Il se trouve à la racine du dépôt et joue le rôle de carte du projet. Il est pratique d'y conserver le contexte de référence : ce que contient le dépôt, comment lancer le projet, où se trouvent les zones sensibles, quelles commandes existent, quelles limites et frontières de travail s'appliquent. Ce fichier est le premier lu par l'agent, comme stockage de contexte.
Des fichiers de prompt séparés pour chaque agent sont nécessaires pour la même raison que l'on sépare les rôles. L'orchestrator, l'executor et le critic ne doivent pas vivre dans un seul long texte. Ils ont des tâches différentes, des ensembles d'outils différents et une manière différente de regarder le résultat. Si l'on met tout cela dans un seul prompt, l'executor commencera à absorber une logique de vérification qui n'est pas la sienne, le critic recevra du bruit inutile, et le fichier deviendra rapidement difficile à maintenir. En pratique, un schéma où chaque rôle dispose de son propre fichier avec son contrat fonctionne beaucoup plus durablement.
Une couche séparée est celle des skills, généralement sous forme de SKILL.md. Ils sont nécessaires lorsque la connaissance se répète et ne doit être connectée qu'en cas de besoin : sécurité, documentation, patterns d'architecture, spécificités d'une stack donnée. La pratique montre que si l'on gonfle trop le prompt d'un agent, celui-ci commence à perdre le sens des mots au milieu du prompt. Il vaut donc mieux décrire dans le prompt principal les règles de connexion des skills que de tout jeter dans un seul bloc.
Au-dessus, il existe généralement une couche commune de règles. Par exemple, des workspace instructions ou copilot-instructions.md contiennent ce qui doit s'appliquer à tous les rôles à la fois : contraintes générales, exigences de qualité, comportement de base. C'est un autre type d'information. Il est également utile de le conserver séparément afin de ne pas dupliquer les mêmes éléments dans chaque prompt d'agent.
Des fichiers de vue d'ensemble comme llms.txt peuvent aussi être utiles, ainsi que, parfois, des fichiers .prompt.md séparés pour les scénarios répétables. Le premier aide à entrer rapidement dans le projet sans longue lecture. En substance, il répète AGENTS.md, mais sous une forme moins lisible pour l'humain. Les seconds sont utiles lorsqu'une même tâche se répète souvent et qu'il est plus pratique de la formaliser comme un bloc de prompt réutilisable plutôt que de la réécrire manuellement dans chaque agent.
Ensuite viennent les artefacts du travail du système. Dès que les agents font plus d'une étape, une question apparaît presque immédiatement : où stocker le contexte de la tâche courante et comment comprendre ensuite ce que les agents ont réellement fait dans son cadre ?
C'est pourquoi, à côté des fichiers permanents, apparaît presque toujours une couche de contexte de session. Il peut s'agir d'un TASK_CONTEXT.md séparé ou d'un autre fichier de travail dans lequel s'accumulent la formulation de la tâche, les contraintes acceptées, les découvertes importantes, les tentatives précédentes échouées et le statut courant. Le sens est très simple : le passage suivant sur la tâche ne doit pas recommencer à zéro. Si l'executor s'est déjà retrouvé dans une impasse, si le critic a déjà trouvé un point faible et si l'orchestrator a déjà réduit le périmètre, cela doit être sauvegardé explicitement quelque part, et non vivre uniquement dans la mémoire du dernier dialogue.
Par-dessus cela apparaît généralement une trace des étapes des agents. En règle générale, elle sert au débogage : qui a commencé la tâche, quelle était l'itération, qui a exécuté quoi, quand le critic a renvoyé ses remarques, où l'escalade vers un humain s'est produite et à quelle étape le processus s'est bloqué.
Au final, au-delà de l'idée même de multi-agent, l'industrie moderne dispose déjà d'un certain nombre d'approches pratiques pour la mettre en oeuvre. Et tout cela évolue activement ici et maintenant.
À quoi ressemble le schéma de travail finalSi l'on rassemble ces approches en un circuit de travail normal, il ressemblera à peu près à ceci.