Agents personnalisés
Définir des agents personnalisés permet de mettre en place des configurations de sous-agents aux rôles distincts.
Dans la version Laravel, cela se configure via customAgents dans SessionConfig.
Pour orchestrer plusieurs sous-agents en parallèle, voir Fleet Mode.
Utilisation de base
Vous pouvez aussi spécifier ceci sous forme de tableau.
Paramètres
Plus la description est précise, plus la sélection automatique est fiable.
Hooks déclaratifs par agent
Dans hooks d’un agent personnalisé, vous pouvez indiquer des noms d’événements comme clés et des tableaux d’actions déclaratives comme valeurs.
Les actions sont transmises au CLI avec la définition de l’agent concerné et ne sont actives que pour cet agent.
C’est utile par exemple pour restreindre l’exécution d’outils pour un agent spécifique uniquement.
customAgents[*].hooks sont des actions déclaratives transmises au CLI.
Indiquez le contenu des actions dans le format accepté par Copilot CLI.
- Les
hooks au niveau supérieur de SessionConfig constituent une fonctionnalité distincte qui enregistre des callbacks PHP et s’applique à toute la session. Pour plus de détails, consultez Hooks de session.
- Le chargement des hooks basés sur des fichiers dans
.github/hooks/ se contrôle séparément avec enableFileHooks.
Choisir un agent spécifique au démarrage de la session
En spécifiant agent, vous activez dès le premier tour un agent personnalisé donné.
Désactiver la sélection automatique (infer: false)
Pour les agents effectuant des opérations à risque, il est plus sûr de désactiver la sélection automatique et de les invoquer explicitement.
Masquer des outils à l’agent par défaut
defaultAgent.excludedTools permet de masquer certains outils uniquement à l’agent principal.
Cela facilite la délégation vers un agent personnalisé disposant de ces outils.
Observer les événements des sous-agents
Pendant l’exécution d’un sous-agent, des événements subagent.* sont émis.
Vous pouvez les observer via onEvent ou $session->on().
Bonnes pratiques
- Séparez un
researcher (principalement en lecture) d’un editor (chargé des modifications)
- Restreignez
tools au strict nécessaire pour limiter les permissions
- Rédigez une
description précise pour améliorer la délégation automatique
- Interceptez
subagent.failed pour prévoir un retry ou un fallback
Voir aussi
Dernière modification le 19 octobre 2026