Les rédacteurs techniques et les professionnels ESL s’appuient souvent sur des invites complexes pour peaufiner notre travail. Cependant, à mesure que les invites se transforment en murs de texte monolithiques, elles deviennent fragiles, difficiles à déboguer et coûteuses à exécuter. La modularité répond à ce défi.
Dans cet article, je passe d'une seule commande personnalisée à une extension Gemini CLI modulaire et portable implémentée comme un ensemble de compétences d'agent spécialisées.
Avant de commencer, assurez-vous d'avoir les éléments suivants :
Installez la CLI Gemini globalement.
npm install -g @google/gemini-cliPour accéder globalement à votre extension et à la clé API, créez un.envfichier dans le~/.geminiespace de travail global et ajoutez la clé API à l'espace de travail.envdéposer comme suit :
# Votre clé API Google AI Studio GEMINI_API_KEY=J'utilise le~/.geminichemin, qui est standard pour les systèmes macOS/Linux. Le public utilise ou est familier avec un environnement de type Unix.
Gemini CLI charge automatiquement les variables dès le premier.envfichier qu'il trouve, en recherchant dans le répertoire courant, puis dans~/.gemini/.envou~/.env.
Lorsque la CLI charge le GEMINI_API_KEY à partir du.gemini/.envfichier, il fonctionne automatiquement dans les projets. De plus, il agit comme une source unique de vérité pour la rotation des clés. Lorsque la clé expire, les utilisateurs n'ont besoin de mettre à jour qu'un seul fichier, plutôt que de rechercher plusieurs copies dispersées dans les projets.
Bien que les compétences d'agent et les commandes personnalisées ajoutent des fonctionnalités à la CLI Gemini, elles remplissent des rôles architecturaux fondamentalement différents. Une commande personnalisée est un raccourci qui peut s'exécuter dans un terminal ou dans une discussion Gemini CLI. D'un autre côté, une compétence d'agent agit comme un plugin ou un expert de domaine pour fournir une expertise au modèle d'IA.
Il existe quatre différences clés entre les commandes personnalisées et les compétences d'agent.
| Fonctionnalité | Commande personnalisée | Compétence d'agent |
|---|---|---|
| Activation | Explicite (commande Slash) | Automatique (modèle décidé) |
| Structure | Célibataire.tomldéposer | Annuaire avecCOMPÉTENCE.md& actifs |
| Contexte | Invite chargée immédiatement | Instructions chargées à la demande |
| Cas d'utilisation | Transformation en un seul coup | Workflow en plusieurs étapes/avec état |
Les commandes personnalisées sont des commandes slash que les utilisateurs doivent saisir explicitement dans le terminal. Le modèle d’IA ne les utilise pas à moins que l’utilisateur ne les demande explicitement. En revanche, le modèle analyse une invite utilisateur pour identifier le déficit de compétences et active une compétence basée sur la description de la compétence. Cela s'appuie sur les capacités d'appel de fonctions de Gemini pour sélectionner de manière autonome le bon outil.
Une commande personnalisée est unTOMLfichier contenant une description et une invite. Lorsqu'un utilisateur place une commande dans lecommandesdossier du global.Gémeauxdossier, il est disponible après le redémarrage de la CLI Gemini. Une compétence d'agent est un répertoire autonome avec unCOMPÉTENCE.mdFichier Markdown, instructions, métadonnées et ressources externes telles que des scripts, des modèles ou des exemples de données. Lorsque le répertoire est placé dans lecompétencesdossier du global.Gémeauxdossier, il est disponible après le redémarrage.
Lorsqu'un utilisateur exécute une commande personnalisée, le modèle charge l'invite à partir duTOMLfichier dans son contexte actuel. La CLI charge le nom et la description de toutes les compétences dans le contexte du modèle. Cela garantit que le modèle connaît les outils sans consommer de jetons de contexte sur leurs instructions jusqu'à ce qu'ils soient réellement invoqués. Les instructions et ressources externes sont chargées dans la fenêtre contextuelle lorsque le modèle appelle explicitement une compétence spécifique. Cela permet aux utilisateurs de disposer de centaines de compétences spécialisées sans épuiser la limite de jetons.
Une commande personnalisée est principalement utilisée pour les transformations ponctuelles. Les utilisateurs fournissent les entrées et la commande personnalisée appelle l'invite pour générer les résultats. Une compétence d'agent est conçue pour un flux de travail procédural en plusieurs étapes. Une compétence peut définir un processus de pensée complexe ou une série d'actions pour résoudre un problème complexe. Il représente une fonctionnalité avec état plutôt qu'un raccourci texte.
Dans leblog-review.tomlfichier, j'ai initialement défini la description et une invite qui demande au modèle de lire un article de blog et d'auditer le contenu par rapport aux neuf domaines d'intervention.
J'ai extrait chaque zone d'intervention dans une compétence d'agent distincte qui pouvait être exécutée individuellement ou dans le cadre de la commande personnalisée.
J'ai créé un nouveau projet d'extension CLI pour regrouper la commande personnalisée et les compétences. Ensuite, j'ai installé l'extension dans leCLI Gémeaux.
J'ai commencé avec une invite unique et exhaustive qui détectait chaque erreur linguistique dans un fichier Markdown.
description = "Comprehensive Markdown Prose Auditor : analyse la grammaire, la syntaxe, le ton et la clarté technique avec des rapports basés sur des listes et un tableau récapitulatif." prompt = """ Vous êtes un rédacteur technique senior. Votre objectif est d'identifier et de fournir des correctifs spécifiques aux erreurs linguistiques et structurelles dans le contenu Markdown sans réécrire l'intégralité du document. ### VOTRE MISSION : Effectuer un audi...
[Courte citation de 8% de l'article original]