For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale

Sous-agents

Utilisez des sous-agents dans ChatGPT et Codex, et configurez des agents Codex personnalisés

ChatGPT Work et Codex peuvent exécuter des flux de travail de sous-agents en lançant des agents spécialisés en parallèle, puis en regroupant leurs résultats dans une seule réponse. Cette approche peut être particulièrement utile pour les tâches complexes qui se prêtent largement au parallélisme, comme l’exploration d’une base de code ou l’implémentation d’un plan de fonctionnalité en plusieurs étapes.

Dans les clients Codex locaux, vous pouvez également définir des agents personnalisés avec différentes configurations de modèle et instructions selon les tâches.

Disponibilité

Les versions actuelles de Codex activent par défaut les flux de travail de sous-agents. Leur activité apparaît dans l’application de bureau ChatGPT, Codex CLI et l’extension IDE.

Comme chaque sous-agent effectue ses propres opérations avec le modèle et les outils, les flux de travail de sous-agents consomment plus de tokens que des exécutions comparables avec un seul agent.

Demandez à Codex, dans une discussion de l’App, de déléguer des parties indépendantes du travail à des sous-agents. Les versions locales actuelles de Codex délèguent le travail lorsque vous le demandez directement ou que des instructions AGENTS.md ou de skill applicables le demandent. L’App affiche chaque fil de sous-agent afin que vous puissiez examiner son travail et le résumé renvoyé à la discussion principale.

Pourquoi utiliser des flux de travail de sous-agents

Même avec de grandes fenêtres de contexte, les modèles ont leurs limites. Si vous surchargez la discussion principale, où vous définissez les exigences, les contraintes et les décisions, avec des sorties intermédiaires parasites telles que des notes d’exploration, des journaux de test, des traces de pile et des sorties de commande, la session peut perdre en fiabilité au fil du temps.

Ce phénomène est souvent décrit ainsi :

  • Pollution du contexte : les informations utiles sont noyées dans des sorties intermédiaires parasites.
  • Dégradation du contexte : les performances diminuent à mesure que la discussion se remplit de détails moins pertinents.

Pour en savoir plus, consultez l’article de Chroma sur la dégradation du contexte.

Les flux de travail de sous-agents réduisent ce problème en transférant les tâches parasites hors du fil principal :

  • Gardez l’ agent principal concentré sur les exigences, les décisions et les résultats finaux.
  • Exécutez des sous-agents spécialisés en parallèle pour l’exploration, les tests ou l’analyse des journaux.
  • Récupérez des résumés des sous-agents plutôt que leurs sorties intermédiaires brutes.

Ils permettent également de gagner du temps lorsque le travail peut s’exécuter indépendamment en parallèle, et facilitent la gestion des tâches de grande ampleur en les divisant en éléments aux limites bien définies. Par exemple, Codex peut décomposer l’analyse d’un document de plusieurs millions de tokens en problèmes plus petits, puis renvoyer une synthèse des principaux enseignements au fil principal.

Pour commencer, utilisez des agents en parallèle pour les tâches qui nécessitent beaucoup de lecture, comme l’exploration, les tests, le triage et la synthèse. Soyez plus prudent avec les flux de travail parallèles qui impliquent beaucoup d’écriture, car la modification simultanée du code par plusieurs agents peut créer des conflits et alourdir la coordination.

Termes essentiels

Codex emploie plusieurs termes associés dans les flux de travail de sous-agents :

  • Flux de travail de sous-agents : flux de travail dans lequel Codex exécute des agents en parallèle et combine leurs résultats.
  • Sous-agent : agent délégué que Codex lance pour effectuer une tâche précise.
  • Fil d’agent : fil dans lequel un sous-agent effectue son travail. Les clients compatibles vous permettent d’ouvrir ces fils pour examiner la progression ou les résultats.

Déclencher des flux de travail de sous-agents

Demandez directement des sous-agents ou un travail en parallèle par plusieurs agents. Codex peut également déléguer lorsque des instructions de projet ou de skill applicables le demandent.

En pratique, un déclenchement manuel consiste à utiliser des instructions directes telles que « lance deux agents », « délègue ce travail en parallèle » ou « utilise un agent par point ». Les flux de travail de sous-agents consomment plus de tokens que des exécutions comparables avec un seul agent, car chaque sous-agent effectue ses propres opérations avec le modèle et les outils.

Un bon prompt de sous-agent doit expliquer comment répartir le travail, indiquer si Codex doit attendre tous les agents avant de poursuivre, et préciser le résumé ou le résultat à renvoyer.

Review this branch with parallel subagents. Spawn one subagent for security risks, one for test gaps, and one for maintainability. Wait for all three, then summarize the findings by category with file references.

Choisir les modèles et le niveau de raisonnement

Les agents n’ont pas tous besoin des mêmes paramètres de modèle et de raisonnement.

Si vous ne configurez ni le modèle d’un sous-agent ni model_reasoning_effort, le sous-agent hérite du modèle et de l’effort de raisonnement de l’agent parent. Si une demande explicite de lancement ou une valeur par défaut [agents] sélectionne un modèle sans effort de raisonnement explicitement indiqué ou configuré, le sous-agent utilise l’effort de raisonnement par défaut de ce modèle. Pour équilibrer l’intelligence, la vitesse et le prix pour chaque tâche, demandez un modèle ou un effort de raisonnement précis dans votre prompt, configurez les valeurs par défaut [agents] dans config.toml, ou définissez model et model_reasoning_effort directement dans le fichier de l’agent personnalisé. Par exemple, utilisez gpt-5.6-terra pour des analyses rapides ou une configuration gpt-5.6 avec un effort de raisonnement supérieur pour les raisonnements plus exigeants.

Pour la plupart des tâches dans Codex, commencez par gpt-5.6. Utilisez gpt-5.6-terra si vous recherchez une option plus rapide et moins coûteuse pour les tâches légères confiées à des sous-agents.

Choix du modèle

  • gpt-5.6 : commencez par ce modèle pour les agents confrontés à des tâches exigeantes. Il est particulièrement performant pour les travaux ambigus en plusieurs étapes qui nécessitent de planifier, d’utiliser des outils, de valider les résultats et d’assurer le suivi dans un contexte étendu.
  • gpt-5.6-terra : utilisez ce modèle pour les agents qui privilégient la vitesse et l’efficacité plutôt que la profondeur, par exemple pour l’exploration, les analyses nécessitant beaucoup de lecture, la revue de fichiers volumineux ou le traitement de documents complémentaires. Il convient bien aux agents parallèles qui renvoient des résultats synthétisés à l’agent principal.
  • gpt-5.6-luna : utilisez ce modèle pour les agents rapides au périmètre restreint qui traitent des tâches claires, répétitives ou volumineuses.

Effort de raisonnement (model_reasoning_effort)

  • ultra : utilisez ce niveau pour le raisonnement le plus approfondi lorsque le modèle sélectionné le prend en charge.
  • max et xhigh : utilisez ces niveaux pour les raisonnements particulièrement exigeants lorsque le modèle sélectionné les prend en charge.
  • high : utilisez ce niveau lorsqu’un agent doit suivre une logique complexe, vérifier des hypothèses ou étudier des cas limites, par exemple pour des agents chargés de la revue ou spécialisés dans la sécurité.
  • medium : niveau par défaut équilibré pour la plupart des agents.
  • low : utilisez ce niveau lorsque la tâche est simple et que la vitesse est prioritaire.

Un effort de raisonnement supérieur augmente le temps de réponse et la consommation de tokens, mais peut améliorer la qualité des tâches complexes. Pour en savoir plus, consultez Modèles, Principes de configuration et Référence de configuration.

Orchestration et gestion des fils

ChatGPT ou Codex gère l’orchestration entre les agents, notamment le lancement de nouveaux sous-agents, l’acheminement des instructions de suivi, l’attente des résultats et la fermeture des fils d’agents.

Lorsque de nombreux agents sont en cours d’exécution, Codex attend que tous les résultats demandés soient disponibles, puis renvoie une réponse consolidée.

Les versions locales actuelles de Codex lancent des agents après une demande directe ou en réponse à une instruction de projet ou de skill applicable.

Pour voir ce mécanisme en action, essayez le prompt suivant sur votre projet :

I would like to review the following points on the current PR (this branch vs main). Spawn one agent per point, wait for all of them, and summarize the result for each point.
1. Security issue
2. Code quality
3. Bugs
4. Race
5. Test flakiness
6. Maintainability of the code

Gérer les sous-agents

  • Depuis l’activité affichée dans le fil principal, ouvrez le fil d’un sous-agent pour examiner son travail.
  • Demandez directement à Codex d’orienter un sous-agent en cours d’exécution, de l’arrêter ou de fermer les fils de sous-agents ayant terminé.

Approbations et contrôles du bac à sable

Les sous-agents héritent de votre politique de bac à sable actuelle.

Les sous-agents héritent du mode d’autorisation sélectionné sous la zone de saisie. Choisissez le mode d’autorisation du tour parent avant de demander à Codex de déléguer le travail.

Vous pouvez également remplacer la configuration du bac à sable pour certains agents personnalisés, par exemple en indiquant explicitement qu’un agent doit fonctionner en lecture seule.

Agents personnalisés

Codex inclut les agents intégrés suivants :

  • default : agent de repli polyvalent.
  • worker : agent axé sur l’exécution, pour l’implémentation et les correctifs.
  • explorer : agent d’exploration du code source privilégiant la lecture.

Pour définir vos propres agents personnalisés, ajoutez des fichiers TOML autonomes dans ~/.codex/agents/ pour les agents personnels ou dans .codex/agents/ pour les agents propres au projet.

Chaque fichier définit un agent personnalisé. Codex charge ces fichiers comme des couches de configuration pour les sessions créées, ce qui permet aux agents personnalisés de remplacer les mêmes paramètres qu’une configuration normale de session Codex. Cette approche peut sembler plus lourde qu’un manifeste d’agent dédié, et le format peut évoluer à mesure que les fonctions de création et de partage gagnent en maturité.

Chaque fichier autonome d’agent personnalisé doit définir :

  • name
  • description
  • developer_instructions

Si un fichier d’agent personnalisé définit model ou model_reasoning_effort, la valeur indiquée dans ce fichier prévaut. Avant d’appliquer le fichier, Codex détermine chaque paramètre à partir d’une valeur explicitement indiquée lors de la création, puis de la valeur par défaut correspondante de [agents], puis de la valeur de l’agent parent. Si une demande de création explicite ou une valeur par défaut de [agents] sélectionne un modèle et qu’aucune des deux ne précise l’effort de raisonnement, Codex utilise l’effort par défaut de ce modèle. Un fichier d’agent personnalisé qui définit uniquement model conserve cet effort déterminé précédemment. Définissez également model_reasoning_effort dans le fichier si le modèle sélectionné ne prend pas en charge cet effort ou si vous souhaitez en utiliser un autre. Les autres paramètres de session, comme sandbox_mode, mcp_servers et skills.config, sont hérités de l’agent parent lorsque le fichier d’agent personnalisé ne les définit pas.

Paramètres globaux

Les paramètres globaux des sous-agents se trouvent toujours dans la section [agents] de votre configuration.

ChampTypeObligatoireObjectif
agents.enabledbooléenNonActivez ou désactivez les outils multi-agents.
agents.max_concurrent_threads_per_sessionnombreNonLimitez le nombre de fils d’agents créés pouvant être ouverts simultanément, hors fil principal.
agents.default_subagent_modelchaîneNonDéfinissez le modèle par défaut des agents créés.
agents.default_subagent_reasoning_effortchaîneNonDéfinissez l’effort de raisonnement par défaut des agents créés.
agents.interrupt_messagebooléenNonConsignez un message visible par le modèle lorsque le tour d’un agent est interrompu.

Remarques :

  • La valeur par défaut de agents.enabled est true. Définissez ce paramètre sur false pour désactiver les outils multi-agents.
  • Si vous ne définissez pas agents.max_concurrent_threads_per_session, Codex choisit la valeur par défaut. Les configurations existantes peuvent continuer à utiliser agents.max_threads comme alias historique.
  • Les valeurs explicitement définies lors de la création remplacent agents.default_subagent_model et agents.default_subagent_reasoning_effort.
  • La valeur par défaut de agents.interrupt_message est true. Définissez ce paramètre sur false pour omettre du contexte de l’agent le message d’interruption visible par le modèle.
  • Si le nom d’un agent personnalisé correspond à celui d’un agent intégré tel que explorer, votre agent personnalisé prévaut.

Schéma du fichier d’agent personnalisé

ChampTypeObligatoireObjectif
namechaîneOuiNom que Codex utilise lorsqu’il crée cet agent ou y fait référence.
descriptionchaîneOuiIndications destinées aux utilisateurs précisant dans quels cas Codex doit utiliser cet agent.
developer_instructionschaîneOuiInstructions principales qui définissent le comportement de l’agent.

Vous pouvez également inclure dans un fichier d’agent personnalisé d’autres clés de config.toml prises en charge, comme model, model_reasoning_effort, sandbox_mode, mcp_servers et skills.config.

Codex identifie l’agent personnalisé grâce à son champ name. La convention la plus simple consiste à donner au fichier le même nom qu’à l’agent, mais c’est le champ name qui fait foi.

Exemples d’agents personnalisés

Les meilleurs agents personnalisés sont spécialisés et reposent sur des choix clairement définis. Attribuez à chacun une mission précise, un ensemble d’outils adapté à cette mission et des instructions qui l’empêchent de se disperser sur des tâches connexes.

Exemple 1 : revue de PR

Cette approche répartit la revue entre trois agents personnalisés spécialisés :

  • pr_explorer cartographie le code source et rassemble des éléments probants.
  • reviewer recherche les risques liés au bon fonctionnement, à la sécurité et aux tests.
  • docs_researcher consulte la documentation du framework ou de l’API par l’intermédiaire d’un serveur MCP dédié.

Configuration du projet (.codex/config.toml) :

[agents]
max_concurrent_threads_per_session = 8

.codex/agents/pr-explorer.toml :

name = "pr_explorer"
description = "Read-only codebase explorer for gathering evidence before changes are proposed."
model = "gpt-5.3-codex-spark"
model_reasoning_effort = "medium"
sandbox_mode = "read-only"
developer_instructions = """
Stay in exploration mode.
Trace the real execution path, cite files and symbols, and avoid proposing fixes unless the parent agent asks for them.
Prefer fast search and targeted file reads over broad scans.
"""

.codex/agents/reviewer.toml :

name = "reviewer"
description = "PR reviewer focused on correctness, security, and missing tests."
model = "gpt-5.6-terra"
model_reasoning_effort = "high"
sandbox_mode = "read-only"
developer_instructions = """
Review code like an owner.
Prioritize correctness, security, behavior regressions, and missing test coverage.
Lead with concrete findings, include reproduction steps when possible, and avoid style-only comments unless they hide a real bug.
"""

.codex/agents/docs-researcher.toml :

name = "docs_researcher"
description = "Documentation specialist that uses the docs MCP server to verify APIs and framework behavior."
model = "gpt-5.6-luna"
model_reasoning_effort = "medium"
sandbox_mode = "read-only"
developer_instructions = """
Use the docs MCP server to confirm APIs, options, and version-specific behavior.
Return concise answers with links or exact references when available.
Do not make code changes.
"""

[mcp_servers.openaiDeveloperDocs]
url = "https://developers.openai.com/mcp"

Cette configuration convient bien aux prompts tels que :

Review this branch against main. Have pr_explorer map the affected code paths, reviewer find real risks, and docs_researcher verify the framework APIs that the patch relies on.

Exemple 2 : débogage de l’intégration frontend

Cette approche est utile en cas de régressions de l’interface utilisateur, de parcours de navigation instables ou de bugs d’intégration touchant à la fois le code de l’application et le produit en cours d’exécution.

Configuration du projet (.codex/config.toml) :

[agents]
max_concurrent_threads_per_session = 6

.codex/agents/code-mapper.toml :

name = "code_mapper"
description = "Read-only codebase explorer for locating the relevant frontend and backend code paths."
model = "gpt-5.6-luna"
model_reasoning_effort = "medium"
sandbox_mode = "read-only"
developer_instructions = """
Map the code that owns the failing UI flow.
Identify entry points, state transitions, and likely files before the worker starts editing.
"""

.codex/agents/browser-debugger.toml :

name = "browser_debugger"
description = "UI debugger that uses browser tooling to reproduce issues and capture evidence."
model = "gpt-5.6-terra"
model_reasoning_effort = "high"
sandbox_mode = "workspace-write"
developer_instructions = """
Reproduce the issue in the browser, capture exact steps, and report what the UI actually does.
Use browser tooling for screenshots, console output, and network evidence.
Do not edit application code.
"""

[mcp_servers.chrome_devtools]
url = "http://localhost:3000/mcp"
startup_timeout_sec = 20

.codex/agents/ui-fixer.toml :

name = "ui_fixer"
description = "Implementation-focused agent for small, targeted fixes after the issue is understood."
model = "gpt-5.3-codex-spark"
model_reasoning_effort = "medium"
developer_instructions = """
Own the fix once the issue is reproduced.
Make the smallest defensible change, keep unrelated files untouched, and validate only the behavior you changed.
"""

[[skills.config]]
path = "/Users/me/.agents/skills/docs-editor/SKILL.md"
enabled = false

Cette configuration convient bien aux prompts tels que :

Investigate why the settings modal fails to save. Have browser_debugger reproduce it, code_mapper trace the responsible code path, and ui_fixer implement the smallest fix once the failure mode is clear.