agents
.
Aperçu
Les sous-agents peuvent être définis de deux manières lors de l’utilisation du SDK :- Par programmation - En utilisant le paramètre
agents
dans vos optionsquery()
(recommandé pour les applications SDK) - Basé sur le système de fichiers - En plaçant des fichiers markdown avec frontmatter YAML dans des répertoires désignés (
.claude/agents/
)
agents
, qui fournit une expérience de développement plus intégrée pour les applications SDK.
Avantages de l’utilisation des sous-agents
Gestion du contexte
Les sous-agents maintiennent un contexte séparé de l’agent principal, évitant la surcharge d’informations et gardant les interactions focalisées. Cette isolation garantit que les tâches spécialisées ne polluent pas le contexte de conversation principal avec des détails non pertinents. Exemple : Un sous-agentresearch-assistant
peut explorer des dizaines de fichiers et pages de documentation sans encombrer la conversation principale avec tous les résultats de recherche intermédiaires - ne retournant que les découvertes pertinentes.
Parallélisation
Plusieurs sous-agents peuvent fonctionner simultanément, accélérant considérablement les flux de travail complexes. Exemple : Lors d’une révision de code, vous pouvez exécuter les sous-agentsstyle-checker
, security-scanner
, et test-coverage
simultanément, réduisant le temps de révision de minutes à secondes.
Instructions et connaissances spécialisées
Chaque sous-agent peut avoir des invites système adaptées avec une expertise spécifique, des meilleures pratiques et des contraintes. Exemple : Un sous-agentdatabase-migration
peut avoir des connaissances détaillées sur les meilleures pratiques SQL, les stratégies de rollback et les vérifications d’intégrité des données qui seraient du bruit inutile dans les instructions de l’agent principal.
Restrictions d’outils
Les sous-agents peuvent être limités à des outils spécifiques, réduisant le risque d’actions non intentionnelles. Exemple : Un sous-agentdoc-reviewer
pourrait n’avoir accès qu’aux outils Read et Grep, garantissant qu’il peut analyser mais ne jamais modifier accidentellement vos fichiers de documentation.
Création de sous-agents
Définition programmatique (Recommandée)
Définissez les sous-agents directement dans votre code en utilisant le paramètreagents
:
Configuration AgentDefinition
Champ | Type | Requis | Description |
---|---|---|---|
description | string | Oui | Description en langage naturel de quand utiliser cet agent |
prompt | string | Oui | L’invite système de l’agent définissant son rôle et comportement |
tools | string[] | Non | Tableau des noms d’outils autorisés. Si omis, hérite de tous les outils |
model | 'sonnet' | 'opus' | 'haiku' | 'inherit' | Non | Remplacement de modèle pour cet agent. Par défaut au modèle principal si omis |
Définition basée sur le système de fichiers (Alternative)
Vous pouvez également définir les sous-agents comme fichiers markdown dans des répertoires spécifiques :- Niveau projet :
.claude/agents/*.md
- Disponible uniquement dans le projet actuel - Niveau utilisateur :
~/.claude/agents/*.md
- Disponible dans tous les projets
agents
) ont la priorité sur les agents basés sur le système de fichiers avec le même nom.
Comment le SDK utilise les sous-agents
Lors de l’utilisation du SDK Claude Agent, les sous-agents peuvent être définis par programmation ou chargés depuis le système de fichiers. Claude va :- Charger les agents programmatiques depuis le paramètre
agents
dans vos options - Auto-détecter les agents du système de fichiers depuis les répertoires
.claude/agents/
(si non remplacés) - Les invoquer automatiquement basé sur la correspondance des tâches et la
description
de l’agent - Utiliser leurs invites spécialisées et restrictions d’outils
- Maintenir un contexte séparé pour chaque invocation de sous-agent
agents
) ont la priorité sur les agents basés sur le système de fichiers avec le même nom.
Exemples de sous-agents
Pour des exemples complets de sous-agents incluant des réviseurs de code, exécuteurs de tests, débogueurs et auditeurs de sécurité, voir le guide principal des Sous-agents. Le guide inclut des configurations détaillées et des meilleures pratiques pour créer des sous-agents efficaces.Modèles d’intégration SDK
Invocation automatique
Le SDK invoquera automatiquement les sous-agents appropriés basés sur le contexte de la tâche. Assurez-vous que le champdescription
de votre agent indique clairement quand il devrait être utilisé :
Invocation explicite
Les utilisateurs peuvent demander des sous-agents spécifiques dans leurs invites :Configuration d’agent dynamique
Vous pouvez configurer dynamiquement les agents basés sur les besoins de votre application :Restrictions d’outils
Les sous-agents peuvent avoir un accès restreint aux outils via le champtools
:
- Omettre le champ - L’agent hérite de tous les outils disponibles (par défaut)
- Spécifier les outils - L’agent ne peut utiliser que les outils listés
Combinaisons d’outils communes
Agents en lecture seule (analyse, révision) :Documentation connexe
- Guide principal des Sous-agents - Documentation complète des sous-agents
- Guide de configuration SDK - Aperçu des approches de configuration
- Paramètres - Référence du fichier de configuration
- Commandes Slash - Création de commandes personnalisées