Une seule IA peut devenir une équipe d'experts. Voici comment créer des subagents spécialisés avec Codex pour traiter un problème en parallèle.
Quand on demande à Codex de résoudre une tâche, on imagine généralement un seul agent qui s'en charge tout seul. Mais quand la tâche est complexe et nécessite plusieurs types de travail différents, Codex peut la diviser en sous-tâches et créer des agents spécialisés pour chacune d'elles. Ces agents délégués s'appellent des subagents.
Chaque subagent travaille dans son propre fil d'exécution et se concentre sur une seule partie du problème initial. Pendant ce temps, l'agent principal coordonne leur travail et produit la réponse finale en combinant les résultats des subagents. Cette approche permet de traiter des problèmes bien plus complexes que ce qu'un seul agent pourrait gérer seul.
UNE TÂCHE, PLUSIEURS EXPERTS : COMMENT ÇA MARCHE ?
Prenons l'exemple d'un voyage à organiser. Planifier un voyage de quatre jours depuis Zurich, avec un budget de 1 200 francs suisses, en comparant Lisbonne, Prague et Copenhague, ce n'est pas une tâche simple. Il faut comparer les trajets, les budgets, les musées et la nourriture locale. Un seul agent aurait du mal à tout gérer efficacement.
Dans ce cas, Codex peut créer trois agents spécialisés : un pour la logistique de voyage, un pour l'analyse budgétaire, et un pour la Recherche d'expériences. Chaque agent évalue les trois destinations selon son domaine d'expertise. L'agent principal collecte ensuite leurs conclusions et recommande la meilleure option en tenant compte de tous les critères.
CRÉER SES PROPRES AGENTS SPÉCIALISÉS
Codex permet de définir des agents personnalisés pour un projet spécifique. Pour cela, il suffit d'ajouter des fichiers TOML dans le dossier .codex/agents/. Voici à quoi ressemble l'arborescence :
.codex/
├── config.toml
└── agents/
├── travel-logistics.toml
├── budget-analyst.toml
└── experience-researcher.toml
Chaque fichier de définition d'agent nécessite trois champs principaux :
name : le nom de l'agent. description : une brève description de son rôle. developer_instructions : les instructions détaillées pour l'agent.
DÉFINIR L'AGENT LOGISTIQUE DE VOYAGE
Voici comment est défini l'agent pour la logistique de voyage :
name = "travel_logistics"
description = "Travel specialist for comparing routes and journey convenience across candidate destinations."
developer_instructions = """
Evaluate every destination from a travel-logistics perspective.
Return concise, source-backed findings to the main agent.
"""
Cet agent a pour mission d'évaluer chaque destination du point de vue de la logistique de voyage et de retourner des conclusions concises et sourcées à l'agent principal.
DÉFINIR L'AGENT ANALYSTE BUDGÉTAIRE
L'agent chargé de l'analyse budgétaire est défini ainsi :
name = "budget_analyst"
description = "Budget specialist for comparing the likely trip cost across candidate destinations."
developer_instructions = """
Evaluate every destination from a trip-budget perspective.
Return concise, source-backed findings to the main agent.
"""
Il évalue chaque destination sous l'angle du budget du voyage et renvoie des résultats sourcés à l'agent principal.
DÉFINIR L'AGENT RECHERCHEUR D'EXPÉRIENCES
Le troisième agent, spécialisé dans la recherche d'expériences, est configuré comme suit :
name = "experience_researcher"
description = "Destination specialist for comparing how well each option fits the traveler's stated interests."
developer_instructions = """
Evaluate every destination against the traveler's stated interests.
Return concise, source-backed findings to the main agent.
"""
Il compare chaque destination en fonction des centres d'intérêt du voyageur et fournit des conclusions sourcées à l'agent principal.
CONFIGURER LE NOMBRE MAXIMUM DE THREADS CONCURRENTS
Pour permettre à plusieurs subagents de travailler en parallèle, il faut configurer le fichier config.toml situé à la racine du projet :
[agents]
maxconcurrentthreadspersession = 3
Cette configuration autorise jusqu'à trois threads de subagents à s'exécuter simultanément. Dans notre exemple, les trois agents spécialisés pourront donc travailler en même temps.
DÉFINIR LA TÂCHE À RÉSOUDRE
Une fois les agents spécialisés définis et configurés, on peut donner la tâche à l'agent principal. Voici comment formuler la demande :
Je planifie un voyage solo de quatre jours depuis Zurich du 15 au 18 octobre 2026. Mon budget total est de 1 200 francs suisses. Comparez Lisbonne, Prague et Copenhague. Je m'intéresse au confort des trajets, aux musées et à la nourriture locale. Utilisez les agents travel_logistics, budget_analyst et experience_researcher en parallèle. Chaque agent doit évaluer les trois destinations selon sa spécialité. Attendez que les trois agents aient terminé, puis recommandez une destination et expliquez les principaux compromis avec des liens sources.
Dans cette instruction, on demande explicitement à l'agent principal d'utiliser les agents spécialisés définis précédemment pour résoudre la tâche.
LANCER LE PROCESSUS AVEC LA RECHERCHE WEB
Pour exécuter ce cas pratique, il faut démarrer Codex depuis le répertoire du projet avec la recherche web activée :
codex --search
Il suffit d'activer la recherche web uniquement pour la session principale. Les trois subagents héritent de cette capacité quand Codex les crée.
OBSERVER LE TRAVAIL DES SUBAGENTS EN TEMPS RÉEL
Codex démarre les trois agents spécialisés en parallèle. On peut inspecter leur progression directement depuis l'interface en ligne de commande avec la commande :
/agent
Cette commande ouvre la vue des threads des agents, car chaque spécialiste dispose de son propre contexte, de ses outils et de ses résultats potentiels.
ANALYSER LES RÉSULTATS INDIVIDUELS
Une fois les trois agents terminés, leurs conclusions sont renvoyées à l'agent principal pour synthèse. Chaque subagent a donné une recommandation selon sa spécialité :
Les trois agents n'ont pas abouti à la même conclusion, ce qui montre bien que chacun a évalué les destinations selon des critères différents.
LA DÉCISION FINALE DE L'AGENT PRINCIPAL
L'agent principal collecte les réponses individuelles et recommande Lisbonne comme meilleur compromis entre confort des trajets, coût, musées et nourriture locale. Contrairement à une simple concaténation de rapports, l'agent principal compare activement les conclusions des subagents avec les exigences initiales avant de prendre sa décision.
Cette approche permet de traiter des tâches complexes en les divisant en sous-parties indépendantes, puis en combinant les résultats. L'agent principal orchestre le flux de travail, et une fois les subagents terminés, il peut synthétiser leurs conclusions pour produire la réponse finale.
PLUSIEURS FAÇONS D'UTILISER LES SUBAGENTS
Dans notre exemple, les trois subagents ont été appelés directement dans la demande initiale. C'est la méthode la plus simple pour une tâche ponctuelle, mais ce n'est pas la seule façon d'utiliser ce modèle.
On peut aussi spécifier ce modèle dans un fichier dédié AGENTS.md si on veut que Codex suive cette stratégie tout au long d'un projet. De plus, si le flux de travail concerne une tâche récurrente, on peut regrouper les instructions dans un fichier SKILL.md. Codex peut alors suivre les instructions de la compétence et déléguer les subagents en conséquence.
QUAND UTILISER LES SUBAGENTS ?
Le modèle des subagents est particulièrement utile quand une tâche contient plusieurs types de travaux différents qui peuvent être réalisés indépendamment puis combinés. L'agent principal coordonne le flux de travail, et une fois que les subagents ont terminé leurs tâches, il peut synthétiser leurs résultats pour produire la réponse finale.
Cette approche permet de résoudre des problèmes bien plus complexes que ce qu'un seul agent pourrait gérer seul, tout en gardant une structure claire et organisée. Chaque subagent se concentre sur une partie précise du problème, ce qui améliore la qualité et la pertinence des résultats.
EXEMPLE CONCRET : ORGANISER UN ÉVÉNEMENT
Imaginons qu'on veuille organiser un événement nécessitant la réservation d'une salle, la gestion des invitations et la coordination du traiteur. Au lieu de confier tout cela à un seul agent, on pourrait créer trois subagents : un pour la réservation de salle, un pour la gestion des invitations, et un pour la coordination du traiteur. L'agent principal collecterait ensuite leurs conclusions pour proposer un plan complet et cohérent.
LIMITES ET CONSIDÉRATIONS
Utiliser des subagents ajoute une couche de complexité à la configuration initiale. Il faut définir clairement les rôles de chaque agent, s'assurer qu'ils peuvent travailler en parallèle sans interférer, et prévoir comment leurs résultats seront combinés. De plus, chaque subagent consomme des ressources supplémentaires, ce qui peut impacter les coûts ou les performances si le nombre d'agents est trop élevé.
BÉNÉFICES DE L'APPROCHE PAR SUBAGENTS
Malgré ces défis, l'approche par subagents offre plusieurs avantages majeurs :
- Meilleure qualité des résultats : chaque agent se concentre sur un domaine précis, ce qui réduit les erreurs et améliore la pertinence des réponses.
- Parallélisation des tâches : les subagents travaillent en même temps, ce qui accélère le traitement global.
- Flexibilité : on peut facilement ajouter ou modifier des agents spécialisés selon les besoins du projet.
- Clarté : la séparation des rôles rend le processus plus compréhensible et plus facile à déboguer.
COMMENT DÉBUTER AVEC LES SUBAGENTS
Pour commencer à utiliser les subagents avec Codex, voici les étapes clés :
- Identifier les différentes parties d'une tâche complexe qui pourraient être traitées séparément.
- Créer un fichier TOML pour chaque subagent dans le dossier
.codex/agents/en définissant son rôle et ses instructions. - Configurer le fichier
config.tomlpour autoriser le bon nombre de threads concurrents. - Intégrer les subagents dans la demande initiale ou via un fichier
AGENTS.mdpour une utilisation récurrente. - Lancer Codex avec la recherche web activée et observer le travail des subagents en temps réel.
OUTILS COMPLÉMENTAIRES
Pour aller plus loin, on peut combiner les subagents avec d'autres fonctionnalités de Codex :
- Les compétences (skills) : pour automatiser des workflows récurrents.
- Les fichiers
AGENTS.md: pour définir des stratégies d'agents à utiliser tout au long d'un projet. - La recherche web : pour que les subagents puissent accéder à des informations actualisées.
CONSEILS POUR UNE UTILISATION OPTIMALE
Pour tirer le meilleur parti des subagents, voici quelques conseils :
- Définissez des rôles clairs et distincts pour chaque subagent afin d'éviter les chevauchements de responsabilités.
- Utilisez des instructions précises et détaillées pour guider chaque agent dans son travail.
- Testez et ajustez les configurations pour optimiser les performances et la qualité des résultats.
- Documentez bien vos agents et vos workflows pour faciliter la maintenance et les modifications futures.
EXEMPLE DE CODE COMPLET
Voici un exemple de configuration complète pour notre cas pratique :
.codex/
├── config.toml
└── agents/
├── travel-logistics.toml
├── budget-analyst.toml
└── experience-researcher.toml
Avec les fichiers TOML suivants :
# travel-logistics.toml
name = "travel_logistics"
description = "Travel specialist for comparing routes and journey convenience across candidate destinations."
developer_instructions = """
Evaluate every destination from a travel-logistics perspective.
Return concise, source-backed findings to the main agent.
"""
# budget-analyst.toml
name = "budget_analyst"
description = "Budget specialist for comparing the likely trip cost across candidate destinations."
developer_instructions = """
Evaluate every destination from a trip-budget perspective.
Return concise, source-backed findings to the main agent.
"""
# experience-researcher.toml
name = "experience_researcher"
description = "Destination specialist for comparing how well each option fits the traveler's stated interests."
developer_instructions = """
Evaluate every destination against the traveler's stated interests.
Return concise, source-backed findings to the main agent.
"""
Et le fichier de configuration :
# config.toml
[agents]
maxconcurrentthreadspersession = 3
POUR ALLER PLUS LOIN
Les subagents représentent une avancée majeure dans la capacité des IA à traiter des problèmes complexes. En divisant une tâche en plusieurs parties gérables, chaque agent peut se concentrer sur ce qu'il fait de mieux, ce qui améliore la qualité globale des résultats. Cette approche ouvre la porte à des applications bien plus ambitieuses, comme la gestion de projets complets, l'organisation d'événements complexes ou même la coordination de plusieurs équipes d'agents pour résoudre des problèmes à grande échelle.
Avec Codex, les subagents ne sont pas une simple fonctionnalité, mais une véritable révolution dans la façon dont on peut utiliser l'intelligence artificielle pour automatiser et optimiser des processus complexes.
CONCLUSION : L'IA EN ÉQUIPE POUR DES SOLUTIONS PLUS PERTINENTES
Les subagents transforment une IA unique en une véritable équipe d'experts, chacun spécialisé dans un domaine précis. Cette approche permet de traiter des problèmes bien plus complexes tout en gardant une structure claire et organisée. Que ce soit pour organiser un voyage, planifier un événement ou gérer un projet, les subagents offrent une solution puissante pour obtenir des résultats plus pertinents et mieux adaptés.
En maîtrisant cette technique, on peut exploiter tout le potentiel de Codex et de l'intelligence artificielle pour automatiser des tâches complexes avec une précision et une efficacité inégalées.
- Towards Data Science
L'indépendance de CLODCO est votre garantie.
Pour que l'actualité de l'IA reste sans filtre et sans concession, votre soutien est indispensable. Votre contribution est le seul moteur de notre liberté éditoriale.
Soutenir CLODCO


