Ce plugin Claude Code écrit 94 % de code en moins (ponytail)

BBetter Stack
Computing/SoftwareSmall Business/StartupsManagement

Transcript

00:00:00Vous le connaissez. Queue de cheval, lunettes ovales, il est dans l'entreprise depuis plus longtemps que le contrôle de version.
00:00:06Vous lui montrez 50 lignes, il les regarde, ne dit rien et les remplace par une seule.
00:00:11C'est la description épique de cette nouvelle bibliothèque appelée Ponytail, ce qui, je suppose, est assez
00:00:17facile à identifier. Nous connaissons tous ce développeur 10x qui correspond parfaitement à cette description. Mais Ponytail
00:00:23est en fait un outil vraiment cool. Il fait en sorte que votre agent de codage IA pense comme le développeur senior le plus paresseux
00:00:29de la pièce. Et c'est en fait un compliment. Donc, dans cette vidéo, nous allons examiner Ponytail,
00:00:35voir comment il fonctionne, et faire quelques démos amusantes pour découvrir si ce type est vraiment à la hauteur.
00:00:41Ça va être très amusant, alors plongeons dedans.
00:00:48La mission de Ponytail est donc simple. Garder tout très concis, éliminer le superflu que les agents IA produisent habituellement
00:00:55et essayer de trouver la solution la plus simple possible à un problème.
00:01:00C'est un peu similaire à Caveman, qui était la bibliothèque qui faisait en sorte que les agents de codage IA parlent moins,
00:01:06dépensant ainsi moins de jetons, ce sur quoi James a également fait une excellente vidéo ici. Donc l'idée principale
00:01:12derrière cela est d'adopter le principe YAGNI, qui signifie “you ain't gonna need it” (vous n'en aurez pas besoin). C'est en fait une
00:01:18idée de génie logiciel des années 90. Et l'idée centrale est de ne pas construire quelque chose avant d'en
00:01:25avoir réellement besoin. N'ajoutez pas de couche d'abstraction, n'installez pas de bibliothèque, n'écrivez pas la classe.
00:01:31Si le problème peut être résolu sans cela, alors résolvez-le simplement sans cela. Et Ponytail intègre cela directement
00:01:37dans votre agent en lui donnant une échelle de décision qu'il doit gravir avant d'écrire quoi que ce soit. Est-ce que cela a besoin
00:01:43d'exister ? Une bibliothèque standard peut-elle le gérer ? Existe-t-il une fonctionnalité native de la plateforme pour cela ? Y a-t-il
00:01:50déjà une dépendance installée qui fait cela ? Cela peut-il être une ligne de code ? Seulement si chacune de ces
00:01:57réponses est non, alors il écrit réellement du nouveau code. Et même alors, il le garde au minimum requis
00:02:04pour le faire fonctionner.
00:02:05Et si nous regardons certains de leurs exemples, en particulier l'exemple de la boîte de dialogue modale, nous obtenons une image claire de
00:02:11cette méthodologie. Un agent normal, lorsqu'on lui demande d'ajouter une boîte de dialogue modale pour la confirmation de suppression,
00:02:18cherchera immédiatement à installer une bibliothèque Radix UI comme le dialogue React et vous donnera une
00:02:25dépendance et un portail, une superposition, une racine, un déclencheur, un wrapper de contenu, juste pour afficher une boîte avec deux
00:02:34boutons. Mais Ponytail regarde cela et dit, hé, le navigateur a déjà un élément de dialogue. Il capture
00:02:41le focus automatiquement. Et il se ferme sur échap, affiche une toile de fond avec un seul sélecteur CSS,
00:02:49et il est pris en charge dans tous les principaux navigateurs depuis 2022. Donc, au lieu de 30 lignes dans un paquet NPM,
00:02:58vous obtenez huit lignes et zéro dépendance. Et ce petit commentaire Ponytail ici
00:03:04vous dit exactement ce qu'il a sauté et pourquoi il l'a fait. Donc, si un jour vous décidez réellement de mettre à niveau
00:03:11vers la version Radix ou quelque chose de plus sophistiqué, vous savez où aller et où cela a été différé.
00:03:16Donc, c'est paresseux, mais ce n'est pas irresponsable. Et en embrassant cette paresse, Ponytail prétend être capable
00:03:22de réduire vos coûts de 47 à 77 %. Et ils donnent réellement des références derrière cette affirmation. Alors regardons-les
00:03:29un instant. Nous avons trois méthodes ici : sans compétence, avec Caveman, et avec Ponytail.
00:03:36Et trois modèles et cinq tâches quotidiennes. Dix exécutions par cellule et pour chacune d'elles le résultat médian. Et
00:03:43crucialement, ils vérifient aussi l'exactitude. Une ligne de code cassée qui obtient un bon score sur les lignes de code échouera sur
00:03:50l'exactitude. Donc, il ne s'agit pas juste d'écrire moins de choses, cela doit réellement fonctionner. Et il y a aussi une intéressante
00:03:56mise en garde qui mérite d'être notée. Le coût reflète les appels en une seule fois qui renvoient la compétence à chaque fois. En d'autres termes,
00:04:03le benchmark fonctionne en envoyant un nouvel appel API pour chaque test. Et chaque fois qu'il fait cela, il inclut
00:04:10l'ensemble des règles de Ponytail dans l'invite. Donc, dans le benchmark, Ponytail est pénalisé pour le coût de
00:04:16ses propres instructions sur chaque test. Dans la vraie vie, vous payez pour ces instructions environ une fois
00:04:22par session. Et après cela, elles sont mises en cache. Cela signifie que le chiffre de 47 à 77 % moins cher est en fait
00:04:29en dessous de la réalité. Dans une session de travail réelle répartie sur plusieurs invites, l'avantage de coût est encore plus grand
00:04:36parce que ce coût d'injection de compétence est amorti sur l'ensemble de la conversation. Cela dit, il y a une
00:04:42critique légitime qui mérite d'être mentionnée. Un article de blog récemment publié par Colin Eberhardt souligne
00:04:48que si vous remplacez réellement Ponytail par trois mots simples, “follow Yagni principles” (suivre les principes Yagni), les résultats
00:04:55de cela correspondent presque parfaitement au score de référence de Ponytail. Et en élaborant à sept mots, “follow Yagni
00:05:03principles and one liner solutions” (suivre les principes Yagni et les solutions en une ligne), il a en fait battu le benchmark. Alors est-ce que Ponytail est magique ou est-ce juste une invite bien emballée ?
00:05:11Honnêtement, c'est une question juste. Mais je dirais que l'emballage est le produit. Vous obtenez les bonnes règles
00:05:18injectées automatiquement à travers différents agents avec des commandes, des outils d'audit, et un registre de profondeur en plus. De plus,
00:05:25Ponytail a d'autres fonctionnalités cool. “Follow Yagni” dans votre invite système ne vous donne pas la
00:05:31fonctionnalité d'audit Ponytail ou la fonctionnalité de revue Ponytail. Mais testons maintenant avec un exemple simple.
00:05:37Donc ici, j'ai deux instances de Cloud Code ouvertes et sur l'une d'elles, je vais installer le plugin Ponytail
00:05:44pour la portée locale uniquement. Et l'autre sera une simple instance Cloud Code par défaut sans
00:05:49plugins activés. Je vais leur donner à tous les deux la même invite pour construire une application de tableau de bord météo qui détecte l'emplacement de l'utilisateur
00:05:56et affiche les conditions météorologiques actuelles ainsi que d'autres fonctionnalités. Et je vais exécuter la même
00:06:02invite sur les deux instances, à la seule exception que sur celle de Ponytail, je vais aussi lui demander
00:06:08d'utiliser la compétence Ponytail car parfois elle ne la prend pas automatiquement. Donc après quelques
00:06:12moments, nous voyons que la version Ponytail a déjà terminé la tâche en moins d'une minute, tandis que la
00:06:18version par défaut est toujours en train de calculer. Et aussi nous voyons un aperçu très concis de ce qu'elle a construit et ce que Ponytail
00:06:25a choisi de ne pas faire pour une efficacité maximale. Et comme nous pouvons le voir ici, elle a choisi d'avoir tout dans un seul fichier HTML.
00:06:34Pendant ce temps, sur la fenêtre par défaut, la tâche a été terminée en deux minutes et 30 secondes. Et nous pouvons déjà voir que cette
00:06:41version est beaucoup plus lourde. Nous avons trois fichiers séparés et cette version est exécutée en utilisant un serveur Python.
00:06:48Donc, bien que ce ne soit en aucun cas un mauvais résultat, c'est beaucoup plus sur-ingénieré que la première version.
00:06:54Mais regardons comment ils fonctionnent. Donc d'abord, voici la version sans Ponytail.
00:07:00Et bien que l'application soit superbe et que l'interface utilisateur soit magnifique et que l'API récupère les informations comme prévu,
00:07:07je suis assez déçu qu'il n'ait pas détecté mon emplacement automatiquement comme je l'ai demandé.
00:07:12Et au lieu de cela, il me montre Londres comme résultat par défaut. Mais maintenant, si nous passons à la version Ponytail,
00:07:19ici nous pouvons clairement voir qu'à l'ouverture, il demande à obtenir mon emplacement actuel, puis affiche la météo
00:07:25correspondant à cet emplacement. Donc, bien que l'interface utilisateur ne soit peut-être pas aussi fantaisiste et que l'application soit peut-être plus sommaire,
00:07:33elle a suivi les instructions plus précisément que la version par défaut, ce qui est assez surprenant, pour être honnête.
00:07:39Et enfin, regardons l'utilisation. Et ici, nous pouvons voir que oui, en effet, la version avec Ponytail
00:07:45a fini par être 50 % moins chère que la version par défaut. Et elle a aussi produit beaucoup moins de lignes de code.
00:07:52Et comme nous venons de le voir, elle était même meilleure en termes de fonctionnalité que la version par défaut.
00:07:58Donc, cela prouve que Ponytail fonctionne bien comme prévu, et produit effectivement un code plus léger.
00:08:04Donc, puisque ce test a été si réussi, j'ai décidé de faire quelque chose d'encore plus intéressant.
00:08:09Que se passe-t-il si je combine Caveman et Ponytail ensemble pour une efficacité maximale ? Qu'est-ce que cela nous donnera ?
00:08:17Donc cette fois, j'ai activé les deux plugins dans un nouveau répertoire et j'ai réexécuté la même invite.
00:08:22Et une fois de plus, la tâche a été terminée en moins d'une minute et la sortie était assez similaire.
00:08:28Et j'avais toutes les mêmes fonctionnalités. Donc ça a fonctionné comme prévu.
00:08:32Mais si nous regardons la sortie, elle ne différait pas trop de la version Ponytail et le combo Caveman
00:08:37plus Ponytail a fini par être même légèrement plus cher que la version Ponytail autonome.
00:08:44Donc, cela montre que les combiner ne vous donne pas vraiment d'amélioration majeure.
00:08:49Donc, vous pouvez vous contenter d'utiliser Caveman ou mieux, opter pour Ponytail.
00:08:54Si nous pouvons croire leurs benchmarks qu'il est effectivement meilleur que Caveman.
00:08:58Voilà, les amis. C'est Ponytail en résumé.
00:09:02Je suis honnêtement et sincèrement impressionné par la sortie positive que Claude a pu produire
00:09:07avec la compétence Ponytail tout en réduisant le superflu et en maintenant la qualité en même temps.
00:09:13Je suppose que cela montre simplement qu'une grande partie de nos solutions de codage sont probablement sur-ingénierées
00:09:19et parfois, moins c'est en effet mieux si vous l'utilisez de la bonne façon.
00:09:23Donc, je vais certainement garder Ponytail comme plugin dans ma configuration Claude Code
00:09:29et probablement l'utiliser pour de futurs projets.
00:09:31Mais que pensez-vous de Ponytail ? L'avez-vous essayé ?
00:09:34Allez-vous l'utiliser ? Faites-le-nous savoir dans la section des commentaires ci-dessous.
00:09:37Et les amis, si vous aimez ce genre de analyses techniques,
00:09:40veuillez me le faire savoir en écrasant ce bouton “like” sous la vidéo.
00:09:44Et n'oubliez pas non plus de vous abonner à notre chaîne.
00:09:47C'était Andrus de BetterStack et je vous verrai dans les prochaines vidéos.

Key Takeaway

Ponytail optimise le processus de codage des agents IA en appliquant strictement le principe YAGNI, réduisant le volume de code produit jusqu'à 94 % et les coûts associés jusqu'à 77 %.

Highlights

  • Ponytail permet aux agents de codage IA de réduire les coûts opérationnels de 47 % à 77 % en éliminant les dépendances et le code superflu.

  • L'outil applique le principe YAGNI (« You Ain't Gonna Need It ») en forçant l'IA à évaluer systématiquement les alternatives natives avant de générer du code ou d'ajouter une bibliothèque.

  • Dans un test de création d'un tableau de bord météo, la version utilisant Ponytail a terminé la tâche en moins d'une minute, contre 2 minutes et 30 secondes pour une instance standard.

  • L'utilisation de Ponytail a permis de remplacer une solution lourde avec trois fichiers séparés par une implémentation plus légère dans un seul fichier HTML.

  • Les tests ont démontré que la combinaison de Ponytail et Caveman n'apporte pas d'amélioration de performance par rapport à l'utilisation isolée de Ponytail.

Timeline

Principes et méthodologie de Ponytail

  • Ponytail adopte le principe de génie logiciel YAGNI des années 90 pour limiter le code superflu.
  • L'outil impose une hiérarchie décisionnelle stricte à l'IA avant toute écriture de code.
  • La génération de code est conditionnée par l'absence de solutions natives ou de dépendances déjà installées.

L'agent de codage est configuré pour penser comme un développeur senior minimaliste. Il vérifie systématiquement si une fonctionnalité peut être réalisée avec des outils standards, des fonctions natives de la plateforme ou du code minimal avant d'ajouter une nouvelle dépendance ou une abstraction complexe.

Benchmarks et efficacité opérationnelle

  • L'utilisation de Ponytail pour une boîte de dialogue modale réduit le code de 30 lignes à 8 lignes sans aucune dépendance externe.
  • Le benchmark montre une économie de coûts de 47 % à 77 % en incluant l'amortissement des instructions dans les appels API.
  • La comparaison suggère que les performances de Ponytail peuvent être égalées par une directive système bien formulée sur les principes YAGNI.

Le remplacement de bibliothèques lourdes comme Radix UI par des éléments HTML natifs illustre la méthodologie de l'outil. Bien que des invites spécifiques puissent parfois imiter ces résultats, Ponytail offre l'avantage d'intégrer automatiquement des règles, des outils d'audit et un registre de profondeur dans les agents.

Démonstration pratique et tests comparatifs

  • Ponytail surpasse une instance standard en rapidité d'exécution et en précision des fonctionnalités lors de la création d'une application météo.
  • La combinaison de Ponytail avec d'autres outils comme Caveman n'offre aucun gain significatif de performance ou de coût.
  • L'adoption de Ponytail dans les futurs projets est validée par sa capacité à maintenir la qualité tout en réduisant le code inutile.

Lors d'un test direct, la version avec Ponytail a généré une solution plus légère et plus précise, notamment sur la détection automatique de l'emplacement utilisateur, contrairement à la version par défaut. Les résultats confirment que le regroupement de plugins d'efficacité est redondant et que Ponytail suffit à maximiser la légèreté du code produit.

Community Posts

View all posts