Les sous-agents permettent à l’agent principal de lancer des agents de travail indépendants pour prendre en charge des sous-tâches. Un sous-agent partage les outils et le contexte de la base de code avec le parent, mais fonctionne dans son propre fil de conversation — il n’hérite pas de l’historique des conversations du parent. Cela est utile pour les tâches qui bénéficient d’un travail ciblé et indépendant — comme l’exploration d’une base de code, l’exécution de tests ou l’implémentation d’une fonctionnalité en parallèle. Vous pouvez demander explicitement à l’agent d’utiliser des sous-agents (p. ex. « étudie le fonctionnement de l’authentification dans un sous-agent »), ou l’agent peut décider de déléguer de lui-même lorsqu’il estime qu’une tâche bénéficierait d’un travail indépendant. D’après nos mesures, les sous-agents améliorent à la fois les performances globales de développement et réduisent les coûts.Documentation Index
Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
Use this file to discover all available pages before exploring further.
Fonctionnement des sous-agents
Premier plan
S’exécute directement dans votre session. L’agent parent se met en pause et attend que le sous-agent ait terminé avant de continuer. Vous pouvez approuver ou refuser les appels aux outils au fur et à mesure.
Arrière-plan
S’exécute en parallèle pendant que l’agent parent continue de travailler. L’agent parent est automatiquement informé lorsque le sous-agent a terminé. Les outils non approuvés sont automatiquement refusés.
Vous ne voyez pas directement la sortie brute du sous-agent. Lorsqu’un sous-agent termine, l’agent parent lit le résultat et vous en résume les principaux constats et actions.
Profils de sous-agent
| Profil | Description | Accès aux outils |
|---|---|---|
subagent_explore | Exploration de la base de code et recherche en lecture seule | Outils de la base de code en lecture seule, plus recherche web ; ne peut pas modifier de fichiers ni récupérer des URL arbitraires (au premier plan comme en arrière-plan) |
subagent_general | Tâches générales, y compris les modifications de code | Accès complet aux outils (premier plan) ou uniquement aux outils préapprouvés (arrière-plan) |
L’agent choisit automatiquement le profil approprié en fonction de la tâche. Les sous-agents d’exploration sont idéaux pour la recherche et la compréhension, tandis que les sous-agents généraux peuvent apporter des modifications.
Autorisations des outils
- Les sous-agents au premier plan se comportent comme l’agent principal — vous êtes invité à autoriser ou refuser les appels aux outils comme d’habitude.
- Les sous-agents en arrière-plan héritent de toutes les autorisations d’outils que vous avez déjà accordées au cours de la session actuelle. Tout outil qui n’a pas été préautorisé est automatiquement refusé. Les sous-agents en arrière-plan ne peuvent pas vous demander de nouvelles autorisations.
Suivi des sous-agents
Indicateur de sous-agent
Panneau des sous-agents
Basculer entre le premier plan et l’arrière-plan
- Mettre en arrière-plan un sous-agent au premier plan : Appuyez sur Ctrl+B pendant l’exécution d’un sous-agent au premier plan. Le sous-agent continue de travailler en arrière-plan, et l’agent parent reprend.
- Mettre au premier plan un sous-agent en arrière-plan : Ouvrez le panneau des sous-agents et appuyez sur f sur un sous-agent en arrière-plan en cours d’exécution. La sortie du sous-agent s’affichera directement dans le fil.
Lorsque vous déplacez un sous-agent en arrière-plan, l’appel d’outil de l’agent parent a déjà renvoyé son résultat ; l’agent parent continue donc indépendamment. Le résultat du sous-agent ne sera pas réinjecté dans le pipeline actuel du parent, mais vous serez averti lorsqu’il aura terminé.
Annulation des sous-agents
- Depuis le panneau des sous-agents : Ouvrez le panneau et appuyez sur x sur un sous-agent en cours d’exécution.
- Sous-agent au premier plan : Appuyez sur Ctrl+C ou Esc pour annuler le sous-agent au premier plan en cours d’exécution.
Reprendre des sous-agents
- Un sous-agent en arrière-plan a échoué parce qu’un outil requis a été refusé — reprenez-le au premier plan pour accorder les autorisations nécessaires.
- Un sous-agent s’est terminé, mais vous souhaitez qu’il effectue un travail de suivi supplémentaire en fonction de ses résultats.
- Un sous-agent a été annulé prématurément et vous souhaitez qu’il continue.
Profondeur d’imbrication
run_subagent et read_subagent) sont désactivés au sein d’un sous-agent afin d’éviter une imbrication sans limite.
Cependant, les profils de sous-agent personnalisés peuvent autoriser l’imbrication en définissant le champ max-nesting dans leur frontmatter. Cette valeur déroge à la profondeur maximale par défaut et permet aux sous-agents de créer des agents enfants tant que l’arborescence reste dans cette limite.
Par exemple, max-nesting: 3 autorise la chaîne suivante :
Sous-agents personnalisés
subagent_explore et subagent_general, vous pouvez définir vos propres profils de sous-agents personnalisés. Les sous-agents personnalisés vous permettent de créer des agents spécialisés avec leurs propres prompts système, restrictions d’outils, dérogations de modèle et autorisations, adaptés à des tâches spécifiques dans votre workflow.
Création d’un sous-agent personnalisé
AGENT.md placés dans un répertoire nommé sous agents/. Le nom du répertoire devient l’identifiant du profil.
- Spécifique au projet
- Global
Format d’AGENT.md
AGENT.md utilise le même frontmatter YAML que les skills, suivi du prompt système du sous-agent :
Champs du frontmatter
| Champ | Type | Par défaut | Description |
|---|---|---|---|
name | chaîne | nom du répertoire | Identifiant du profil (ne doit pas entrer en conflit avec les profils intégrés) |
description | chaîne | aucune | Affiché à l’agent lors de la sélection d’un profil |
model | chaîne | modèle de sous-agent par défaut | Redéfinit le modèle utilisé par ce sous-agent |
allowed-tools | liste | tous les outils | Restreint les outils que le sous-agent peut utiliser |
permissions | objet | hériter | Dérogations aux autorisations (allow, deny, ask) |
max-nesting | entier | aucune | Redéfinit la profondeur d’imbrication maximale, ce qui permet à ce sous-agent de créer ses propres sous-agents |
Comment sont utilisés les sous-agents personnalisés
subagent_explore, subagent_general) sont ignorés, avec un avertissement.
Importation depuis d’autres outils
| Source | Modèle de fichier |
|---|---|
.claude/agents/*.md | Chaque fichier .md devient un profil de sous-agent |
Les fichiers d’agent de Claude Code utilisent
tools au lieu de allowed-tools dans leur frontmatter. Les deux formats sont pris en charge automatiquement.