Cet outil tendance sur GitHub vient de résoudre le plus grand problème des agents IA
AAI LABS
컴퓨터/소프트웨어
스크립트
00:00:00si vous travaillez avec de bons modèles comme Opus et GPT 5.6, vous obtenez généralement de bons résultats, mais ces modèles
00:00:06consomment aussi beaucoup de jetons, et c'est encore pire avec les modèles haut de gamme comme GPT Astra
00:00:11et Fable 5.1, car vous atteignez votre limite d'utilisation beaucoup plus rapidement qu'avec d'autres modèles.
00:00:16Ils sont également très lents, ce qui fait que vous attendez longtemps qu'une seule tâche se termine. Pour résoudre
00:00:21ce problème précis, il existe un outil qui fait le buzz sur GitHub dernièrement, appelé Graft. Il corrige la façon
00:00:26dont ces agents gèrent les projets par défaut. Non seulement il vous fait économiser des jetons, mais il rend aussi l'agent
00:00:31beaucoup plus rapide que lorsqu'il travaille seul, et il fonctionne d'une manière vraiment intéressante qui
00:00:36résout la cause profonde de ce problème. Ce n'est pas comme s'il n'existait pas déjà
00:00:40d'outils conçus pour résoudre ce problème, mais ils ont tous une lacune majeure, et c'est exactement ce que cet outil corrige.
00:00:46Si vous venez pour la première fois, nous sommes une entreprise de logiciels et voici notre chaîne AI Labs. Dans cette
00:00:51vidéo, nous allons vous montrer exactement comment Graft permet d'utiliser ces modèles à moindre coût. Mais avant d'entrer
00:00:56dans les détails de Graft, vous devez comprendre pourquoi votre agent utilise autant de jetons. Avant de modifier quoi que ce soit dans
00:01:02votre application, la méthode par défaut que des agents comme Claude Code et Codex utilisent pour trouver des fichiers pose un problème.
00:01:07Lorsque vous demandez à l'agent d'ajouter quoi que ce soit à l'application sur laquelle vous travaillez, il doit d'abord trouver les parties
00:01:12de votre application où il doit écrire cette modification. Pour trouver ces parties, il utilise différentes commandes dans le
00:01:17terminal qui recherchent des mots liés à ce que vous voulez ajouter. Les modèles ne trouvent généralement pas ce qu'ils
00:01:23cherchent du premier coup, ils doivent utiliser plusieurs outils pour affiner précisément ce qu'ils
00:01:28rechent, et chaque fois que le modèle doit décider quel outil utiliser ensuite, l'agent
00:01:32envoie au modèle toute votre conversation jusqu'à présent, y compris les réponses des outils qu'il a
00:01:37déjà utilisés. Le modèle lit ensuite tout cela pour décider de sa prochaine étape, afin d'atteindre le bon fichier
00:01:42après plusieurs tours, et chacun de ces tours vous coûte de l'utilisation. Par exemple, lorsque vous demandez à l'agent de rendre
00:01:47un bouton vert, il doit d'abord trouver quel fichier contient le code de ce bouton, il recherche donc
00:01:53le fichier contenant ce bouton et les résultats sont envoyés au modèle avec votre message. Ensuite, l'agent
00:01:58utilise un autre outil pour lire les lignes de code spécifiques de ce fichier, et ce n'est qu'après qu'il effectue
00:02:04effectivement la modification. Ce va-et-vient est la façon dont chaque modification que vous demandez est effectuée. Étant donné que tous vos
00:02:08messages et résultats d'outils sont envoyés encore et encore, la fenêtre de contexte ne cesse de grandir. Non seulement cela vous coûte
00:02:14du contexte, mais cela ralentit également le modèle car, de cette façon, le modèle utilise plusieurs tours
00:02:19pour affiner la recherche du fichier requis, de sorte que chaque nouvelle recherche ajoute plus d'informations et le modèle doit utiliser
00:02:25des jetons pour décider quoi en faire. C'est en fait l'une des raisons pour lesquelles vous atteignez votre limite d'utilisation lorsque
00:02:30vous travaillez avec des agents sur de nombreuses tâches au cours d'une même session. Atteindre la limite d'utilisation n'est qu'une
00:02:36conséquence, vous obtenez également des résultats de moins bonne qualité car il y a tellement de choses dans la fenêtre de contexte que
00:02:41l'agent ne peut pas se concentrer sur une seule chose à la fois. Maintenant, comme c'est un problème connu, il existe déjà des outils
00:02:46sur le marché qui essaient de le résoudre. Une approche courante que ces outils utilisent consiste à transformer des sections de votre
00:02:51code en nombres appelés vecteurs afin que le modèle puisse les comparer facilement. Lorsque vous posez une question, l'
00:02:56outil de recherche transforme également la question en vecteurs, puis trouve les sections qui correspondent le mieux,
00:03:02ce qu'on appelle la recherche vectorielle, ce qui signifie essentiellement trouver des informations en fonction de la similarité de leur sens
00:03:07par rapport à ce que vous avez demandé. Mais la seule similarité ne vous indique pas comment les parties de votre application se connectent ; par
00:03:12exemple, le code pour créer un compte et celui pour supprimer un compte peuvent tous deux correspondre à une question sur
00:03:17les comptes, mais ils font deux choses opposées, donc choisir le mauvais serait vraiment coûteux.
00:03:21C'est pourquoi cette recherche n'est pas aussi efficace et la plupart des agents de codage ne l'utilisent pas du tout.
00:03:26Mais avant de passer à l'outil, ce serait formidable si vous vous abonniez à la chaîne et cliquiez sur le bouton
00:03:30J'aime. Ce petit geste de soutien compte beaucoup pour nous. Maintenant, Graft est en fait une commande de terminal
00:03:36que vous installez sur votre ordinateur et qui est conçue pour modifier la méthode par défaut qu'utilise votre agent de codage,
00:03:41afin qu'il n'ait pas à chercher son chemin dans votre projet avant chaque modification. Il le fait en
00:03:46construisant un graphe de connaissances, qui est essentiellement une carte de toutes les parties de votre projet et montre comment
00:03:51les différentes parties se connectent. L'agent utilise cette carte pour trouver le code dont il a besoin et vérifier quelles autres parties
00:03:57en dépendent. C'est en fait gratuit et open-source, et le point principal est que cela n'utilise pas de modèles
00:04:02avec une clé API séparée, de sorte que cela fonctionne sur votre abonnement habituel. Il y a aussi une étape facultative qui utilise
00:04:07un modèle pour écrire des pages simples sur votre application, qui expliquent ce que fait chaque partie du code et comment les
00:04:12parties s'emboîtent. Vous n'en avez pas vraiment besoin car la carte indique déjà à l'agent ce qui se connecte à
00:04:17quoi, cette étape ajoute simplement une explication de ce que fait le code. Ainsi, grâce à ces pages, l'agent apprend
00:04:22ce que fait chaque partie au lieu d'ouvrir chaque fichier. Lorsque l'équipe derrière Graft a testé cet outil, ils
00:04:28ont constaté qu'il rendait les agents quatre fois moins chers en termes d'utilisation de jetons, et c'est leur meilleur cas.
00:04:33Dans leur propre benchmark sur 162 exécutions, les tâches ont pris 60 % de temps en moins en moyenne, l'agent a utilisé ses outils 46 % de fois en moins
00:04:42et 42 % de jetons en moins, et le coût est ressorti 32 % plus bas en moyenne. Et comme l'économie
00:04:48provient de toutes les recherches que l'agent n'a plus à faire, cela devient rentable sur un projet plus important, car
00:04:53sur un petit projet, il n'y a pas beaucoup de recherches à économiser au départ. Graft fonctionne avec Claude Code
00:04:58et Codex ainsi qu'avec d'autres agents de codage qui utilisent des commandes de terminal ou MCP, mais la carte qu'il construit
00:05:04n'est pas comme la recherche vectorielle dont nous avons parlé plus tôt, car Graft ne transforme pas votre code en chiffres et
00:05:09ne fait pas de correspondance par similarité : il lit le code et note quelle partie utilise réellement laquelle. Ainsi, lorsque vous
00:05:14modifiez une partie, l'agent peut voir exactement ce que cette modification pourrait briser d'autre, et lorsque votre code change,
00:05:20il met simplement à jour les parties qui ont changé au lieu de tout reconstruire, de sorte que la carte reste à jour
00:05:25d'elle-même et que l'agent ne travaille jamais sur une ancienne version de votre projet. Mais d'abord, écoutons un
00:05:30mot de notre sponsor Hydra. Nous ajoutions une fonctionnalité de génération par IA à notre application, ce qui signifiait auparavant
00:05:35de gérer soi-même les modèles, l'infrastructure et les files d'attente de tâches. C'est là qu'intervient l'API d'Hydra : ils ont construit
00:05:41toute l'infrastructure d'exécution et l'API derrière leurs modèles, de sorte qu'au lieu de mettre en place toute cette infrastructure vous-même,
00:05:46toute cette couche est déjà gérée pour vous. Nous avons fait un seul appel réel depuis notre code et, au lieu qu'un actif apparaisse simplement,
00:05:51nous avons récupéré un véritable travail que nous pouvions suivre, et nous l'avons regardé passer de en file d'attente à en cours de traitement puis à
00:05:56terminé avant que le média ne revienne. Cet affichage de l'état est la partie qui compte car c'est ainsi que vous savez
00:06:02que cela peut gérer un véritable travail de production. Il ne faut qu'un peu de code pour l'intégrer dans votre propre application, et il y a
00:06:07une CLI et un SDK également pour que vous puissiez travailler directement depuis votre terminal ou votre éditeur. C'est le genre de chose qu'un développeur solo
00:06:13ne pouvait tout simplement pas construire auparavant. Essayez Hydra gratuitement sur hydra.com et utilisez notre code pour 50 % de réduction sur
00:06:19votre premier mois. Le lien et le code sont dans la description ci-dessous. Avant d'installer quoi que ce soit, vous devez voir
00:06:24comment Graft fabrique réellement cette carte. Lorsque vous l'utilisez pour construire la carte, Graft lit le code sur votre
00:06:29ordinateur et note chaque partie qu'il trouve avec son nom et son emplacement dans le projet,
00:06:34puis il note quelles parties sont connectées à quelles autres. Chaque partie de cette carte est appelée un nœud et
00:06:39chaque connexion entre deux parties est appelée une arête. Ainsi, lorsque l'agent demande ce qui utilise une partie particulière
00:06:44de votre application, Graft suit ces arêtes et lui fournit le code qui est connecté à ce qu'il cherchait,
00:06:49afin qu'il puisse voir si cette modification affecte autre chose, ce qui est exactement ce que la recherche vectorielle
00:06:53ne pouvait pas faire. Graft enregistre cette carte sur votre ordinateur sous forme de fichier JSON. La raison pour laquelle il l'enregistre en JSON
00:06:59est que ce format vous permet d'écrire quelque chose dans une structure correcte avec des détails qui y sont rattachés. Il
00:07:04dispose également d'une visionneuse qui s'ouvre dans votre navigateur où vous pouvez voir la carte et explorer les connexions. Lorsque
00:07:10Graft est connecté à Claude Code, il fournit au modèle les instructions pour utiliser la carte au début de
00:07:15chaque session. Ensuite, chaque fois que vous envoyez une invite, Graft vérifie les mots de votre message par rapport à la carte et
00:07:20y associe jusqu'à trois emplacements correspondants, de sorte que le modèle sait déjà quels fichiers et lignes lire
00:07:26avant d'utiliser le moindre outil. Le code lui-même n'entre dans le contexte que lorsque l'agent lit ces lignes,
00:07:32le modèle atteint donc le bon fichier en moins de tours et beaucoup moins de choses sont ajoutées à la fenêtre de contexte,
00:07:37c'est donc plus rapide et cela consomme moins de votre limite. Il existe également une option MCP, et la différence réside dans qui
00:07:43lance la recherche. Avec la configuration que nous venons de voir, Graft devine à partir de votre invite et associe ces emplacements
00:07:48à chaque message, que l'agent en ait besoin ou non. Avec le MCP, rien n'est attaché à vos
00:07:53invites et l'agent ne demande Graft que lorsqu'il a réellement besoin de quelque chose. Dans les propres tests de Graft, la
00:07:58version MCP a obtenu un peu plus de bonnes réponses que la version CLI, et la version CLI était plus rapide. Lorsque vous
00:08:04l'installez, vous obtenez en fait les deux, et au fur et à mesure que vous modifiez votre application, Graft maintient la carte à jour de lui-même. Avant
00:08:10de répondre à une question, il vérifie si le code a changé depuis la construction de la carte, et si c'est le cas, il
00:08:15met d'abord à jour la carte sans utiliser le modèle. Maintenant, pour installer Graft, vous devez aller sur leur site,
00:08:20que nous mettrons en lien dans la description, et à partir de là, vous pouvez soit copier la commande d'installation, soit copier l'invite de configuration
00:08:25pour l'agent de codage que vous utilisez, et coller cela directement dans l'agent. Cette invite de configuration
00:08:30contient toutes les commandes dont l'agent a besoin pour installer Graft et le configurer dans votre projet. Et si vous préférez
00:08:35faire cette partie vous-même, vous pouvez le faire en copiant la commande d'installation du site et en l'exécutant dans le
00:08:40terminal depuis n'importe quel dossier. Une fois installé, la CLI est prête à l'emploi. Pour l'utiliser dans un projet, vous
00:08:46devez configurer Graft dans ce projet en exécutant la commande init. Cette commande doit s'exécuter dans le terminal
00:08:52car il ajoute des instructions pour ce projet dans le dossier
00:08:57qui seraient perdues ailleurs. Quand vous l'exécutez, il demande quel agent de code vous utilisez
00:09:02car chaque agent a besoin de sa propre configuration. Comme nous utilisions Claude Code, nous l'avons sélectionné et
00:09:07avons poursuivi l'installation. Une fois fait, vous verrez une compétence graft dans le dossier de votre projet
00:09:11qui indique à l'agent comment utiliser graft et quelles commandes il possède. Il installe également des hooks, et si vous
00:09:16ne savez pas ce qu'est un hook, c'est un petit script qui s'exécute seul à un moment précis. Ces hooks obligent
00:09:22l'agent à suivre le flux de travail graft. Plusieurs hooks sont installés : l'un donne au
00:09:26modèle des instructions pour utiliser la carte au démarrage d'une session, un autre associe les emplacements correspondants à chaque
00:09:31invite que vous envoyez, et le dernier s'exécute après que Claude a modifié un fichier pour que la carte reste à jour. Ensuite,
00:09:37si vous configurez cela dans un projet sur lequel vous travaillez déjà, vous devez exécuter la commande graft build
00:09:41dans ce même dossier pour que graft parcoure tout le code existant et
00:09:46en construise la carte. Si vous commencez dans un dossier vide, il n'y a encore rien à cartographier, donc
00:09:50la compétence demande à Claude de la créer dès que des fichiers apparaissent. Ensuite, vous exécutez simplement Claude Code normalement et
00:09:56la visionneuse de cartes affiche les nœuds et les arêtes créés par graft. Dans un dossier vide, la carte commence à zéro nœud et
00:10:01graft les ajoute au fur et à mesure que les fichiers sont créés. Nous avons testé graft en créant une application
00:10:06de réservation et de planification similaire à Calendly mais pour les prestataires indépendants avec Fable 5.1. Comme ce modèle consomme des jetons
00:10:13très rapidement, nous ne voulions pas qu'il gaspille des efforts sur de mauvaises tâches. C'est pourquoi nous avons suivi une série
00:10:18d'étapes avant de travailler avec : nous avons d'abord rédigé un PRD, qui est le document définissant ce que l'application
00:10:23est censée faire afin qu'il connaisse chaque fonctionnalité requise. Nous avons aussi ajouté un fichier claude.md contenant
00:10:29des instructions adaptées à ce modèle pour lui permettre de tourner longtemps sans s'écarter de l'objectif.
00:10:34Ce fichier claude.md est celui que nous avons téléchargé comme modèle dans notre communauté AI Labs Pro, nous avons donc utilisé ce même
00:10:40modèle. Nous lui avons d'abord demandé de combler les lacunes de ce claude.md à partir du PRD, car le fichier n'était
00:10:46qu'un modèle. Si vous n'avez pas de PRD, vous pouvez simplement lui dire dans votre invite ce que vous construisez.
00:10:51Une fois le claude.md mis à jour, nous avons basculé le modèle sur Fable 5.1 et lui avons donné l'invite pour construire
00:10:57l'application de réservation ainsi que les outils avec lesquels nous voulions qu'elle soit bâtie. Vous devez dire explicitement à ce modèle
00:11:02qu'il travaille seul, ce que nous avons abordé dans notre précédente vidéo sur Fable 5.1. Nous lui avons donc dit
00:11:07de ne pas s'arrêter pour demander la permission. Avec graft, la construction a pris 39 minutes et a consommé environ 31 % de la
00:11:14fenêtre de contexte. Sans graft, la même construction a pris 47 minutes et a utilisé environ 35 %, et les deux applications
00:11:20avaient pratiquement les mêmes fonctionnalités. Lors de cette première construction, la différence a donc été minime car le
00:11:25graphe n'était pas encore construit, mais elle s'est accentuée lorsque nous avons commencé à faire des changements, car graft
00:11:30possédait déjà une carte de tout le projet pour effectuer des recherches. Une refonte complète de la page d'accueil a pris moins de
00:11:35deux minutes, alors que sans graft, le même changement aurait pris beaucoup plus de temps. Après la modification,
00:11:40graft a mis à jour la carte avec les nouveaux fichiers et a affiché sa propre estimation des jetons économisés
00:11:46durant cette opération. Il y a une dernière chose à savoir : lorsque vous travaillez sur un projet réel,
00:11:50il ne se compose pas seulement de code, mais contient aussi d'autres fichiers donnant aux agents un contexte sur ce qui est
00:11:56construit. Cela inclut le PRD, tous vos fichiers spécifiques à une zone, le fichier learnings.md et bien d'autres, mais
00:12:03graft ne cartographie que le code et ignore le PRD ou les notes, ce qui signifie que l'agent utilise la méthode
00:12:09par défaut habituelle pour les lire. En dehors de cela, beaucoup de gens comme nous utilisent Claude Code
00:12:14pour de nombreuses tâches autres que le code. Pour que l'outil s'adapte également à celles-ci, nous l'avons un peu modifié
00:12:20afin de pouvoir l'utiliser dans nos projets réels où nous avons plusieurs fichiers de plan, et nous avons ajouté
00:12:25cette version dans AI Labs Pro, qui est notre communauté. Si ce que nous faisons vous plaît et que vous souhaitez
00:12:31soutenir la chaîne, c'est le meilleur moyen de le faire, le lien est dans la description. Ceci nous amène à la fin de
00:12:36cette vidéo. Si vous souhaitez soutenir la chaîne et nous aider à continuer à faire des vidéos comme celle-ci, vous pouvez le faire
00:12:41en utilisant le bouton Super Thanks ci-dessous. Comme toujours, merci d'avoir regardé et à la prochaine !
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기