J'aimerais examiner les points suivants sur la PR actuelle (cette branche vs main). Générez un agent par point, attendez qu'ils soient tous terminés, et résumez le résultat pour chaque point.
- Problème de sécurité
- Qualité du code
- Bugs
- Conditions de course
- Instabilité des tests
- Maintenabilité du code
Dans ce scénario, Codex lancerait probablement six sous-agents distincts, chacun spécialisé dans l'un des points de revue énumérés. Une fois que chaque agent aurait terminé son analyse, Codex compilerait les résultats en un rapport unique et structuré, offrant une vue d'ensemble holistique de la pull request. Cela illustre l'efficacité gagnée en distribuant la charge de travail entre des entités d'IA spécialisées.
## Gérer et Sécuriser Votre Écosystème de Sous-agents
Une gestion efficace et une sécurité robuste sont des considérations clés lors de l'utilisation de sous-agents. Codex fournit des outils et des mécanismes pour superviser les activités des sous-agents et garantir des opérations sécurisées dans leurs environnements sandbox.
Dans les sessions CLI interactives, les développeurs peuvent utiliser la commande `/agent` pour basculer entre les threads d'agents actifs, inspecter les processus en cours ou diriger un sous-agent particulier. Ce contrôle granulaire permet des ajustements en temps réel et la surveillance de la progression des agents individuels. Vous pouvez également demander explicitement à Codex d'arrêter un sous-agent en cours d'exécution ou de fermer les threads terminés pour gérer les ressources et vous concentrer.
La sécurité est primordiale, et les sous-agents héritent de la politique de sandbox actuelle de la session Codex principale. Cela garantit que leurs opérations respectent les règles de sécurité et d'accès prédéfinies. Lorsque des demandes d'approbation émanent de threads d'agents inactifs, en particulier dans les sessions CLI interactives, Codex les présente intelligemment à l'utilisateur. Une superposition d'approbation indiquera le thread source, vous permettant d'appuyer sur 'o' pour ouvrir et inspecter ce thread avant de prendre une décision éclairée d'approuver, de rejeter ou de répondre à la demande. Cela empêche les approbations aveugles et maintient la supervision du développeur.
Pour les flux non interactifs ou les situations où une nouvelle approbation ne peut pas être présentée, toute action nécessitant une nouvelle approbation échouera automatiquement, Codex signalant l'erreur au workflow parent. Ce mécanisme de sécurité empêche les actions non autorisées dans des contextes automatisés. De plus, Codex réapplique les overrides d'exécution en direct de la session parente — tels que les modifications effectuées via `/approvals` ou l'indicateur `--yolo` — aux enfants générés, assurant des postures de sécurité cohérentes dans la hiérarchie des agents. Pour les utilisateurs avancés, il est également possible de remplacer la configuration du sandbox pour des [agents personnalisés](#définir-des-sous-agents-personnalisés-pour-des-tâches-adaptées) individuels, permettant un contrôle précis de leurs permissions, par exemple, en marquant un agent comme 'lecture seule'.
## Définir des Sous-agents Personnalisés pour des Tâches Adaptées
Bien que Codex fournisse plusieurs agents intégrés, tels que l'agent `default` à usage général, l'agent `worker` pour les tâches axées sur l'exécution et l'agent `explorer` pour l'exploration de bases de code gourmandes en lecture, la véritable puissance du système de sous-agents réside dans son extensibilité. Les développeurs peuvent définir leurs propres **agents personnalisés** pour répondre à des exigences hautement spécialisées, en adaptant le comportement de l'IA à des contextes de projet uniques.
Les agents personnalisés sont définis à l'aide de fichiers TOML autonomes. Ces fichiers peuvent être placés dans `~/.codex/agents/` pour les agents personnels ou `.codex/agents/` pour les agents spécifiques au projet. Chaque fichier TOML agit essentiellement comme une couche de configuration, permettant aux agents personnalisés de remplacer les paramètres qui seraient autrement hérités de la session parente. Cela inclut des paramètres critiques comme le modèle d'IA utilisé, son effort de raisonnement, le mode sandbox et même des configurations de compétences spécifiques.
Chaque fichier d'agent personnalisé autonome *doit* définir les champs suivants :
* **`name`**: L'identifiant unique de l'agent, que Codex utilise lors de sa génération ou de sa référence.
* **`description`**: Des conseils lisibles par l'homme qui aident Codex à comprendre quand déployer cet agent.
* **`developer_instructions`**: L'ensemble principal d'instructions qui dictent le comportement et la logique opérationnelle de l'agent.
Des champs facultatifs comme `nickname_candidates`, `model`, `model_reasoning_effort`, `sandbox_mode`, `mcp_servers` et `skills.config` peuvent également être inclus. S'ils sont omis, ces paramètres hériteront de la session parente, simplifiant la configuration lorsque les valeurs par défaut sont acceptables. Pour les meilleures pratiques en ingénierie d'invites, qui influence directement les instructions de l'agent, reportez-vous à des ressources comme le [Guide d'invites Codex](/fr/codex-prompting-guide).
Le champ `name` est l'identifiant définitif d'un agent personnalisé. Bien que la correspondance du nom de fichier avec le nom de l'agent soit une convention courante et recommandée, le champ `name` dans le fichier TOML est la source de vérité ultime. Le champ `nickname_candidates` est un ajout utile pour l'expérience utilisateur, permettant à Codex d'attribuer des noms d'affichage plus lisibles aux agents générés, ce qui est particulièrement utile dans les scénarios multi-agents complexes.
## Paramètres Globaux et Configuration Avancée des Sous-agents
Au-delà des définitions individuelles d'agents personnalisés, Codex offre des paramètres de configuration globaux pour gérer le comportement général des flux de travail des sous-agents. Ces paramètres se trouvent généralement sous la section `[agents]` de votre fichier de configuration principal, offrant un contrôle centralisé sur l'allocation des ressources et les paramètres opérationnels.
Voici une ventilation des principaux paramètres globaux des sous-agents :
| Champ | Type | Obligatoire | Objectif |
| :--------------------------- | :----- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `agents.max_threads` | nombre | Non | Limite le nombre de threads d'agents ouverts simultanément. Par défaut à `6` si non défini. |
| `agents.max_depth` | nombre | Non | Limite la profondeur d'imbrication des agents générés (la session racine commence à 0). Par défaut à `1`. Empêche la délégation récursive au-delà des enfants immédiats pour gérer l'utilisation des jetons et la latence. |
| `agents.job_max_runtime_seconds` | nombre | Non | Définit le délai d'attente par défaut par travailleur pour les tâches `spawn_agents_on_csv`. Si non défini, par défaut à `1800` secondes (30 minutes). |
Le paramètre `agents.max_threads`, qui est de `6` par défaut, constitue une protection contre la consommation excessive de ressources en limitant le nombre de sous-agents pouvant fonctionner simultanément. Le paramètre `agents.max_depth`, avec sa valeur par défaut de `1`, est particulièrement important. Bien qu'une imbrication plus profonde puisse sembler attrayante pour une délégation complexe, l'augmentation de cette valeur peut entraîner une augmentation significative de l'utilisation des jetons, de la latence et de la consommation de ressources locales en raison d'une prolifération répétée. Il est généralement recommandé de maintenir la valeur par défaut, sauf si un modèle de délégation récursive spécifique est absolument nécessaire et géré avec soin.
Les fichiers d'agents personnalisés peuvent également inclure d'autres clés `config.toml` prises en charge, étendant leur configurabilité au-delà des seuls champs obligatoires. Cette approche de configuration modulaire et en couches garantit que les développeurs ont un contrôle précis sur leurs agents IA, leur permettant d'optimiser les performances, les coûts et la sécurité adaptés à leurs besoins de développement spécifiques. En comprenant et en tirant parti de ces puissantes capacités de sous-agents, les développeurs peuvent repousser les limites du codage assisté par l'IA et améliorer considérablement leurs flux de travail de développement.
Source originale
https://developers.openai.com/codex/subagents/Questions Fréquentes
What are Codex subagents and how do they enhance AI development workflows?
Codex subagents are specialized AI agents that can be spawned in parallel by a primary Codex instance to tackle complex, multi-faceted tasks. They significantly enhance AI development workflows by enabling the division of labor across different agents, each focusing on a specific aspect of a task. This parallel processing capability is particularly beneficial for computationally intensive or intricate operations like comprehensive codebase exploration, implementing large-scale multi-step feature plans, or conducting extensive code reviews. By distributing the workload, subagents help in accelerating development cycles, improving the quality of outputs, and managing complexity more effectively than a single agent could.
How does Codex manage the orchestration of multiple subagents?
Codex excels at orchestrating subagent workflows by managing the entire lifecycle from spawning new agents to consolidating their results. When a complex task is initiated, Codex can intelligently route follow-up instructions to the appropriate subagents, monitor their progress, and await the completion of all requested tasks. Once all subagents have finished their assignments and returned their respective outputs, Codex then aggregates these results into a unified, consolidated response. This seamless orchestration ensures that even highly parallelized tasks remain coherent and deliver a comprehensive solution, simplifying complex project management for developers.
What are the security considerations and controls for Codex subagents?
Security for Codex subagents is a critical aspect, with several mechanisms in place to ensure safe operation. Subagents inherently inherit the current sandbox policy of the parent session, ensuring a consistent security posture. For interactive command-line interface (CLI) sessions, approval requests stemming from inactive agent threads can be surfaced to the user, allowing for informed decisions before actions are taken. In non-interactive environments or when immediate approval isn't feasible, actions requiring new approval will fail, preventing unauthorized operations. Developers can also apply runtime overrides for sandbox and approval choices, and even configure individual custom agents with specific sandbox modes, such as 'read-only', for fine-grained control over their operational scope and access.
How can developers create and utilize custom agents within Codex?
Developers can define custom agents in Codex to tailor AI behavior to specific needs. This is achieved by creating standalone TOML configuration files under `~/.codex/agents/` for personal agents or `.codex/agents/` for project-scoped ones. Each TOML file defines a single custom agent and acts as a configuration layer, allowing developers to override default settings like model choice, reasoning effort, or sandbox mode. Essential fields such as 'name', 'description', and 'developer_instructions' are mandatory, guiding the agent's identity and core behavior. This flexibility enables the creation of highly specialized agents for unique development tasks, further enhancing the adaptability of the Codex system.
What global settings are available for managing subagent behavior in Codex?
Codex provides several global settings to manage subagent behavior, primarily located under the `[agents]` section in the configuration file. Key settings include `agents.max_threads`, which controls the maximum number of concurrent open agent threads (defaulting to 6); `agents.max_depth`, which limits the nesting depth of spawned agents (defaulting to 1 to prevent excessive recursion and resource consumption); and `agents.job_max_runtime_seconds`, which sets a default timeout for workers in `spawn_agents_on_csv` jobs (defaulting to 1800 seconds if not specified). These settings are crucial for balancing performance, resource usage, and control over complex agent workflows, helping developers prevent unintended fan-out and manage token consumption effectively.
What are the primary advantages of using subagents for complex tasks?
The primary advantages of using subagents for complex tasks within Codex lie in their ability to parallelize and specialize operations. By breaking down a large task into smaller, manageable subtasks and assigning each to a specialized agent, development teams can achieve significant speed improvements and higher quality outcomes. For instance, in a large codebase review, one subagent might focus on security vulnerabilities, another on code quality, and a third on performance bottlenecks simultaneously. This concurrent processing not only accelerates the overall task but also allows for deeper, more focused analysis in each area, leading to more robust and comprehensive solutions than a single, monolithic AI agent could provide.
Restez informé
Recevez les dernières actualités IA dans votre boîte mail.
