Vous passez probablement à côté du vrai potentiel des compétences d'agent !

AAcademind
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Lorsque vous travaillez avec Cloud Code, Codex ou tout autre outil d'ingénierie agentique, un concept
00:00:05vraiment important, pris en charge par tous ces outils, que vous devriez comprendre et utiliser,
00:00:12est celui des compétences d'agent (agent skills). Il est facile de les ignorer car il ne s'agit que
00:00:18de fichiers Markdown ou parce que leur configuration peut sembler fastidieuse, mais d'après mon expérience,
00:00:24cela en vaut la peine. Il y a quelques jours, un membre de l'équipe Cloud Code, donc quelqu'un d'Anthropic,
00:00:31a publié un message partageant les différents types de compétences qu'ils utilisent en interne.
00:00:37Car en effet, on peut différencier les types de compétences que l'on souhaite créer. Au final,
00:00:42ce ne sont que des fichiers Markdown, même si on peut y ajouter d'autres éléments, j'y reviendrai.
00:00:49Bien sûr, le contenu de ce fichier Markdown peut varier considérablement. Cette image ici et ce post
00:00:56peuvent paraître accablants et vous décourager, car vous pourriez vous dire : "Si je dois passer une semaine"
00:01:02à configurer des compétences, je préfère ne pas les utiliser du tout. C'est pourquoi je propose une alternative.
00:01:08Je pense qu'il suffit de se concentrer sur trois types de compétences clés pour obtenir de meilleurs résultats.
00:01:15Au fait, comme je l'ai mentionné, tous ces outils supportent les compétences. J'explique comment les configurer,
00:01:20comment les invoquer activement et comment les créer pour Cloud Code ou Codex dans mes cours respectifs.
00:01:26Si vous voulez accéder à ces cours ou à l'ensemble de mes formations, y compris les futures,
00:01:31je propose actuellement une promotion sur l'abonnement annuel qui vous donne un accès illimité
00:01:35pour un prix très bas. Le lien est ci-dessous. Concernant ces compétences, ce sont
00:01:41simplement des fichiers Markdown stockés dans un endroit spécifique, qui dépend de l'outil utilisé.
00:01:46En fin de compte, ils servent de modèles de prompts (prompts templates) ou de morceaux de contexte
00:01:52supplémentaires qui peuvent être injectés dans vos sessions d'ingénierie agentique. Le premier type
00:02:01de compétence est la compétence de documentation ou de connaissance. Qu'est-ce que j'entends par là ?
00:02:09Ici, je suis dans mon projet academy.com, le projet de mon site web. J'y ai un ensemble
00:02:15de compétences d'agent qui sont en fait des types de documentation ou de savoir que j'expose à l'agent IA.
00:02:25Par exemple, des connaissances sur TypeScript, ou sur des fonctionnalités plus avancées
00:02:33de TypeScript, peut-être des nouveautés comme le mot-clé "satisfies" qui n'existe pas
00:02:40depuis dix ans. Ce sont des choses dont je veux que l'agent soit conscient ou qu'on lui rappelle,
00:02:50car ce ne sont peut-être pas les premières solutions vers lesquelles il se tournera, n'en ayant pas vu autant
00:02:58dans ses données d'entraînement. C'est donc quelque chose que l'on pourrait trouver
00:03:04dans la documentation officielle de TypeScript. Le problème est que, à moins de lui demander explicitement,
00:03:11l'agent n'ira probablement pas consulter cette documentation. Je préfère donc avoir ma propre compétence.
00:03:17Et cette compétence possède des métadonnées. Celles-ci sont cruciales car l'idée est que
00:03:24toutes les compétences disponibles ne sont pas chargées dans la fenêtre de contexte à chaque fois.
00:03:30Au lieu de cela, seules les métadonnées sont chargées, puis l'agent IA peut décider de lire
00:03:37une compétence plus en détail en fonction de votre prompt et de la tâche confiée. Vous pouvez aussi
00:03:43les invoquer activement selon l'outil, mais l'idée principale est que l'agent les charge seul
00:03:47grâce aux métadonnées. Ici, j'ai des métadonnées pour donner à l'agent une idée du moment
00:03:55opportun pour utiliser cette compétence. C'est donc le premier type de compétence : fournir de la documentation
00:04:02ou des connaissances supplémentaires que l'agent n'a peut-être pas. Peut-être travaillez-vous avec
00:04:08une bibliothèque flambant neuve absente des données d'entraînement, ou dont l'agent sait peu de choses
00:04:13et vous voulez qu'il en soit informé. Voilà pour le premier type de compétence.
00:04:18Le deuxième type concerne les comportements, les bonnes pratiques et les approches. L'idée est
00:04:29qu'évidemment, sur un projet, vous pouvez avoir certaines préférences concernant le style de code
00:04:37ou la manière de réaliser certaines tâches. Par exemple, j'ai cette compétence "code React propre et moderne"
00:04:45qui ne sert pas tant à documenter les fonctionnalités de React qu'à établir des règles
00:04:50que l'agent doit suivre lorsqu'il écrit du code React, afin de s'assurer que certains
00:04:59anti-patterns soient moins fréquents. Pour l'instant, les agents IA ont tendance à générer
00:05:08un code qui n'est pas toujours de la plus haute qualité. On peut débattre de l'importance
00:05:13de cette qualité de code ; j'ai d'ailleurs fait une vidéo séparée à ce sujet sur une autre chaîne.
00:05:18Je dirais que c'est important, car la qualité facilite la révision du code. Cela peut avoir
00:05:23des conséquences sur les performances, sur la maintenabilité ou l'extensibilité du code. Donc,
00:05:29c'est important. Et si vous avez des comportements ou des schémas spécifiques que vous voulez imposer,
00:05:36alors une compétence comportementale expliquant comment écrire du bon code React, par exemple
00:05:43en évitant l'usage de "useEffect" et comment s'en passer, peut être très intéressante.
00:05:50Ici, il ne s'agit pas de fournir du savoir supplémentaire, mais plutôt de dicter des comportements.
00:05:55Ce qui est intéressant avec cette compétence, c'est que j'ai des fichiers liés, comme un fichier
00:06:02donnant plus de détails sur "useEffect". Comme ces fichiers sont chargés de manière paresseuse (lazy loading),
00:06:09on peut, dans une compétence, référencer un autre fichier comme ce "useEffect.md" situé dans le dossier
00:06:15des références. L'IA peut alors décider de charger ce fichier uniquement lorsqu'elle sait qu'elle
00:06:21travaille sur "useEffect" ou qu'elle manipule ce concept. J'y ai mis plus de détails sur les
00:06:27anti-patterns à surveiller. Mettre en place ces compétences vaut vraiment le coup, car
00:06:33je peux les copier dans n'importe quel projet React sans avoir à tout réécrire, et cela permet d'obtenir
00:06:39un meilleur code. C'est le deuxième type de compétence que je recommande. Vous n'avez pas
00:06:45besoin de penser à tous les schémas possibles d'un coup. Procédez plutôt étape par étape.
00:06:52Si vous remarquez que l'agent IA fait systématiquement quelque chose que vous ne voulez pas,
00:06:58ajoutez une compétence avec une bonne description pour maximiser les chances qu'elle soit chargée
00:07:04au bon moment, puis insérez-y vos instructions pour corriger le problème. Au fil du temps,
00:07:11vous vous bâtirez une bibliothèque de compétences avec vos propres bonnes pratiques et comportements,
00:07:17réutilisable dans vos futurs projets. Ne voyez pas cela comme une tâche initiale énorme
00:07:22et intimidante, mais construisez cette base progressivement. Maintenant, le troisième type,
00:07:29bien différent, ce sont les compétences axées sur les fonctionnalités. Jusqu'ici, nous avons parlé
00:07:37de documentation et de comportements. Mais ces outils d'ingénierie agentique, comme Cloud Code ou Codex,
00:07:43peuvent faire énormément de choses. Ils écrivent du code, certes, mais vous ne vous limitez pas
00:07:49à l'écriture de code. Puisqu'ils peuvent coder, ils peuvent tout faire sur votre ordinateur si vous le voulez.
00:07:55Vous pouvez les utiliser pour analyser des documents PDF, par exemple. J'ai aussi des compétences globales
00:08:03sur mon système qui ne sont pas spécifiques à la programmation. Vous pourriez créer une compétence
00:08:09qui explique à un agent comment générer une image. Qu'est-ce que je veux dire par là ?
00:08:16Il existe divers services ou API pour générer des images ou des vidéos avec l'IA, comme Fal.ai.
00:08:24Cette vidéo n'est pas sponsorisée, d'ailleurs. Il y a aussi Replicate et d'autres services. Bien sûr,
00:08:29si vous voulez générer une image, par exemple une image factice pour votre site web ou
00:08:34quelque chose de totalement différent à imprimer pour votre mur, vous pouvez utiliser ces
00:08:41services. Vous pourriez utiliser Codex, Cloud Code ou l'agent CLI que j'aime beaucoup, et lui demander
00:08:49de générer une image. Par défaut, il échouera probablement car ces outils n'ont pas
00:08:54de capacités de génération d'images intégrées. Mais si vous lui donnez la bonne compétence,
00:09:00qui reste un simple fichier Markdown, vous pouvez y décrire comment interagir avec
00:09:06une API tierce pour générer cette image. Décrire l'interaction est une chose, mais vous pouvez
00:09:12aller plus loin. Vos compétences peuvent aussi inclure des scripts. Ce n'est pas toujours nécessaire, mais
00:09:18ma compétence "générer image" en possède un. Ce script a d'ailleurs été écrit par une IA,
00:09:26par "vibe coding". À l'intérieur, j'ai des scripts qui interagissent avec l'API de Fal,” le service
00:09:34de génération d'images. En gros, j'ai pris leur documentation, je l'ai mise dans un prompt
00:09:40et j'ai dit à l'agent IA de m'écrire un outil capable de communiquer avec l'API de Fal
00:09:49pour générer des images. Un petit outil CLI a été créé ici, un script qui peut appeler l'API
00:09:56avec différents paramètres. Ensuite, le fichier Markdown de la compétence explique comment utiliser
00:10:02ce script : il pointe vers lui et indique à l'agent comment l'exécuter et quels paramètres passer.
00:10:08J'ai aussi un fichier ".env" avec ma clé Fal. Quand ce script est invoqué via Bun,
00:10:18comme je l'indique à l'IA dans le fichier Markdown, le fichier ".env" est chargé automatiquement.
00:10:23Je n'ai pas besoin de donner ma clé à l'agent, ni de lui dire : "Génère une image, voici la clé".
00:10:29Je lui demande simplement de générer l'image. Grâce à la description, il chargera
00:10:34cette compétence au besoin et apprendra qu'il doit juste exécuter un script.
00:10:39Il n'a pas à se soucier des détails d'implémentation. C'est un autre type de compétence
00:10:45que je trouve intéressant, et pas seulement pour la programmation. Vous pourriez avoir
00:10:52une compétence pilotée par script pour formater du code, par exemple. De manière générale,
00:10:57comme on peut utiliser ces agents pour bien plus que coder, c'est une catégorie
00:11:02à connaître. Dans l'ensemble, ne compliquez pas trop les choses, mais ne les négligez pas non plus.
00:11:08Bâtissez votre bibliothèque de compétences pas à pas. Il est à noter qu'il existe
00:11:14des registres comme skills.sh où vous pouvez explorer les compétences créées par d'autres.
00:11:21Deux points importants cependant : cela peut être très utile, mais je ne dirais pas : "OK, je crée"
00:11:29un projet React avec Tailwind et Better Auth, donc je vais chercher toutes les compétences
00:11:35potentiellement intéressantes et toutes les installer dans mon projet. Ce serait
00:11:40contre-productif, car vous chargeriez trop de métadonnées dans votre fenêtre de contexte,
00:11:47et certaines compétences n'auraient aucune importance. C'est une chose à surveiller.
00:11:53N'essayez pas d'ajouter toutes les compétences théoriquement possibles. Soyez sélectif et ciblez
00:11:57ce que l'IA rate systématiquement ou les points nécessitant une documentation supplémentaire.
00:12:04L'autre point concernant ces registres est que vous incluez des compétences écrites par autrui.
00:12:09Ces compétences, on l'a vu, ne sont que des prompts. S'il y a quelque chose de malveillant
00:12:16dans l'un de ces prompts, cela peut poser problème et mener à une attaque par injection de prompt.
00:12:22Il faut en être conscient. Certains registres comme skills.sh effectuent, à ma connaissance,
00:12:28des analyses pour réduire ce danger, mais on n'est jamais en sécurité à 100 %.
00:12:36C'est donc un point de vigilance. Dès que vous utilisez une compétence écrite par quelqu'un d'autre,
00:12:40lisez-la. Prenez le temps de vérifier s'il n'y a rien de malveillant à l'intérieur.
00:12:47C'était juste une mise en garde. Pour le reste, utilisez les compétences. Ne vous sentez pas obligé
00:12:54de construire un système ultra complexe dès le début. Expérimentez et gardez en tête
00:13:00ces trois types de compétences clés.

Key Takeaway

L'optimisation de l'ingénierie agentique repose sur la création progressive d'une bibliothèque de compétences Markdown structurées en trois catégories : documentation, comportement et fonctionnalités étendues.

Highlights

Les compétences d'agent (agent skills) sont des fichiers Markdown servant de modèles de prompts ou de contextes injectables dans les outils comme Cloud Code ou Codex.

L'utilisation de métadonnées est cruciale car elle permet à l'IA de charger intelligemment les compétences nécessaires sans saturer la fenêtre de contexte.

Le premier type de compétence concerne la documentation et le savoir spécifique, comblant les lacunes des données d'entraînement de l'IA sur des bibliothèques récentes.

Le deuxième type se focalise sur les comportements et les bonnes pratiques, permettant d'imposer un style de code ou d'éviter des anti-patterns comme l'usage excessif de useEffect.

Le troisième type, les compétences fonctionnelles, permet d'étendre les capacités de l'agent à des tâches externes comme la génération d'images via des APIs tierces.

Il est recommandé de bâtir sa bibliothèque de compétences de manière incrémentale plutôt que d'essayer de créer un système complexe dès le départ.

La prudence est de mise lors de l'utilisation de registres publics de compétences pour éviter les risques d'injections de prompts malveillants.

Timeline

Introduction aux compétences d'agent

L'auteur introduit le concept fondamental des compétences d'agent, souvent négligé mais essentiel pour exploiter pleinement les outils comme Cloud Code ou Codex. Il explique que ces compétences sont techniquement des fichiers Markdown servant de modèles de prompts ou de fragments de contexte supplémentaires. Bien que leur configuration puisse sembler fastidieuse, elles permettent d'améliorer considérablement les résultats de l'IA. L'intervenant mentionne que même les ingénieurs d'Anthropic utilisent diverses catégories de compétences en interne pour leurs propres flux de travail. L'objectif de la vidéo est de simplifier cette approche en se concentrant sur trois types de compétences clés plutôt que de se laisser submerger par la complexité.

Premier type : Compétences de documentation et de connaissance

Cette section détaille l'importance de fournir à l'agent IA des connaissances spécifiques qu'il ne possède pas forcément dans ses données d'entraînement initiales. L'auteur prend l'exemple de fonctionnalités TypeScript modernes, comme le mot-clé "satisfies", que l'IA pourrait ne pas utiliser spontanément. En créant une compétence de documentation, on s'assure que l'agent a accès aux dernières nouveautés ou aux spécificités d'une bibliothèque propriétaire. Les métadonnées jouent ici un rôle pivot car elles permettent à l'IA de décider d'elle-même quand charger ces informations détaillées. Ainsi, le contexte n'est pas encombré inutilement, mais l'information reste disponible au moment opportun pour la tâche en cours.

Deuxième type : Compétences de comportement et bonnes pratiques

Le deuxième type de compétence se concentre sur l'imposition de styles de code, de schémas de conception et de règles de qualité spécifiques à un projet. L'auteur illustre cela avec une compétence dédiée au "code React propre", visant à éviter les anti-patterns fréquents que l'IA pourrait générer par défaut. Ces fichiers peuvent inclure des références liées, comme des guides sur l'utilisation correcte des hooks, chargés de manière paresseuse (lazy loading). L'intérêt majeur est la portabilité de ces compétences, qui peuvent être copiées d'un projet à l'autre pour garantir une cohérence technique. L'intervenant conseille d'adopter une approche itérative en ajoutant des instructions chaque fois qu'un comportement indésirable de l'IA est identifié.

Troisième type : Compétences axées sur les fonctionnalités et scripts

L'auteur explore ici les capacités étendues des agents qui dépassent la simple écriture de code, notamment par l'interaction avec le système d'exploitation et des APIs tierces. Il présente l'exemple d'une compétence permettant de générer des images via l'API de Fal.ai en utilisant un script écrit par l'IA elle-même. La compétence Markdown décrit alors à l'agent comment exécuter ce script CLI et quels paramètres lui passer sans exposer directement les clés API sensibles. Cette méthode transforme l'agent en un outil polyvalent capable de formater des fichiers ou de manipuler divers formats de documents. Cela démontre que les compétences peuvent servir de pont entre le langage naturel de l'utilisateur et des outils logiciels concrets et spécialisés.

Conseils pratiques, registres et sécurité

Pour conclure, l'auteur met en garde contre la surcharge de la fenêtre de contexte en évitant d'installer trop de compétences inutiles simultanément. Il mentionne l'existence de registres communautaires comme skills.sh, tout en soulignant les risques de sécurité liés aux injections de prompts malveillants. Il est impératif de lire et de vérifier le contenu de toute compétence provenant d'une source tierce avant de l'intégrer à son environnement. La philosophie finale reste la simplicité : ne pas chercher la perfection immédiate, mais expérimenter avec les trois catégories présentées. En bâtissant progressivement sa bibliothèque, l'utilisateur optimise son flux de travail sans se laisser décourager par la complexité technique initiale.

Community Posts

View all posts