Gemini CLI introduit les sous-agents
(developers.googleblog.com)- Gemini CLI prend désormais officiellement en charge une architecture multi-agents capable de déléguer les tâches complexes et répétitives à des sous-agents spécialisés
- Chaque sous-agent dispose d’une fenêtre de contexte indépendante, d’instructions système personnalisées et d’un ensemble d’outils dédié, et s’exécute dans un environnement isolé
- Des sous-agents personnalisés peuvent être définis via des fichiers Markdown et du YAML frontmatter, puis partagés à l’échelle globale ou d’un projet avec une équipe
- Il est possible d’exécuter plusieurs sous-agents en parallèle, ce qui réduit fortement le temps total nécessaire pour des tâches multiples comme la recherche ou le refactoring
- Avec les agents intégrés par défaut (generalist, cli_help, codebase_investigator), la délégation explicite via la syntaxe @agent permet d’assurer la scalabilité des workflows de développement en CLI
Concept des sous-agents et principaux avantages
- Les sous-agents sont des agents spécialisés qui fonctionnent avec la session principale de Gemini CLI ; lorsqu’une tâche complexe arrive, Gemini CLI joue le rôle d’orchestrateur stratégique et délègue les sous-tâches au sous-agent le plus adapté
- Chaque sous-agent possède ses propres tools, serveurs MCP, instructions système et fenêtre de contexte, et s’exécute de manière totalement isolée
- L’exécution complète d’un sous-agent (y compris des dizaines d’appels d’outils, des recherches de fichiers et l’exécution de tests) est consolidée en une seule réponse puis renvoyée à l’agent principal
- Cela évite de saturer la fenêtre de contexte principale et préserve la rapidité ainsi que l’efficacité en coût des interactions suivantes
- Trois avantages majeurs :
- L’agent principal peut se concentrer sur l’objectif global, la prise de décision et la réponse finale
- Des sous-agents spécialisés peuvent être exécutés en parallèle pour la recherche, l’exploration de code, l’analyse, les tests, etc., afin d’accélérer le travail
- Les sous-agents renvoient des résumés ou des réponses formatées, ce qui évite le context rot et la context pollution dans la session principale
Création de sous-agents personnalisés
- Les sous-agents personnalisés sont définis dans un fichier Markdown (
.md) à l’aide du YAML frontmatter - Placés dans
~/.gemini/agents, ils sont enregistrés comme agents globaux pour un workflow personnel ; s’ils sont commités dans.gemini/agentsdu dépôt, ils peuvent être partagés avec l’équipe au niveau du projet - Il est aussi possible de les inclure comme partie d’une extension en ajoutant les fichiers de définition d’agent dans le répertoire
agents/de Gemini CLI extensions - Exemple de configuration fourni pour l’agent
frontend-specialist:- Le frontmatter définit
name,description,tools(read_file, grep_search, glob, list_directory, web_fetch, google_web_search),model: inherit, etc. - Les instructions système lui attribuent le rôle de Senior Frontend Specialist et UI/UX Architect
- Les principes clés précisent la conception d’architectures modulaires, l’optimisation des performances basée sur les Core Web Vitals et le respect de l’accessibilité WCAG 2.1+
- Les guidelines incluent la priorité aux API natives du navigateur, la conception de composants Atomic, le feedback visuel selon l’état (chargement, skeleton, erreur, état vide, succès), le Progressive Enhancement et une conception orientée maintenabilité
- Le rôle de cet agent se limite à l’analyse et aux propositions d’amélioration, et il ne modifie pas directement le code
- Le frontmatter définit
- Une fois le fichier placé dans
.gemini/agents/frontend-specialist.md, Gemini CLI reconnaît immédiatement ce nouvel expert
Exécution en parallèle
- Gemini CLI prend en charge l’exécution parallèle de sous-agents, ce qui permet de lancer simultanément plusieurs sous-agents ou plusieurs instances d’un même sous-agent
- Lorsqu’il faut faire de la recherche sur 5 sujets différents ou refactorer plusieurs composants distincts, le fait de dispatcher plusieurs agents en même temps réduit fortement le temps total nécessaire
- Exemple de demande explicite : "Run the frontend-specialist on each package in parallel."
- Points d’attention :
- L’usage de sous-agents en parallèle pour de larges opérations d’édition de code peut provoquer des conflits et des risques d’écrasement de code entre agents
- Comme les requêtes sont envoyées simultanément en exécution parallèle, on peut atteindre plus vite les limites d’usage (usage limits)
Sous-agents intégrés et utilisation
- Trois sous-agents sont fournis par défaut dans Gemini CLI :
- generalist : agent généraliste ayant accès à tous les outils, adapté aux tâches intensives en tours comme le refactoring par lots ou l’exécution de commandes à sortie massive (il s’agit d’une copie de l’agent Gemini CLI classique utilisée comme sous-agent)
- cli_help : agent expert de Gemini CLI lui-même, avec accès direct à la documentation Gemini CLI pour répondre aux questions sur ses fonctionnalités
- codebase_investigator : spécialisé dans l’exploration de codebase, la cartographie d’architecture, l’analyse des causes racines de bugs et la compréhension des dépendances à l’échelle du système
- Gemini CLI effectue un routage automatique sur la base de la description des sous-agents, mais il est aussi possible de déléguer explicitement une tâche à un agent précis avec la syntaxe @agent
- Exemple :
@frontend-specialistdemande de revue de l’application et signalement des points à améliorer - Exemple :
@generalistmise à jour des en-têtes de licence sur l’ensemble du projet - Exemple :
@codebase_investigatorcartographie du flux d’authentification
- Exemple :
- En ajoutant le nom du sous-agent après le symbole @, la tâche est traitée dans la fenêtre de contexte isolée de cet agent
- Pour voir tous les sous-agents actuellement configurés, exécutez la commande
/agentsdans Gemini CLI
Aucun commentaire pour le moment.