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 !

핵심 요약

L'outil open-source Graft résout la surconsommation de jetons et la lenteur des agents IA en remplaçant la recherche textuelle par un graphe de connaissances JSON qui cartographie les dépendances du projet.

하이라이트

  • Les agents de codage augmentent la fenêtre de contexte et ralentissent en effectuant des recherches textuelles répétitives pour trouver les fichiers.

  • L'outil open-source Graft construit un graphe de connaissances sous forme de fichier JSON pour cartographier les connexions du projet.

  • L'utilisation de Graft réduit le temps de tâche de 60 %, diminue l'utilisation des outils de 46 % et baisse les coûts de 32 % en moyenne sur 162 exécutions.

  • Graft fonctionne avec Claude Code et Codex via une commande de terminal ou le protocole MCP sans nécessiter de clé API séparée.

  • La visionneuse intégrée de Graft affiche les nœuds et les arêtes pour permettre à l'agent de repérer instantanément les impacts d'une modification.

타임라인

Le problème des jetons et de la recherche de fichiers

  • Les modèles haut de gamme consomment rapidement les limites d'utilisation en raison de recherches répétitives dans les terminaux.
  • Chaque recherche textuelle renvoie toute l'historique de la conversation au modèle pour identifier le fichier cible.
  • La fenêtre de contexte grandit continuellement, ce qui ralentit l'agent et dégrade la qualité des résultats.

Les modèles performants comme Opus, GPT 5.6 ou Fable 5.1 s'épuisent rapidement car ils multiplient les tours de commande pour localiser des portions de code spécifiques. Chaque étape envoie l'ensemble des échanges précédents au modèle, saturant la mémoire et augmentant le coût d'utilisation.

Les limites de la recherche vectorielle

  • La recherche vectorielle convertit le code en nombres pour évaluer la similarité sémantique des requêtes.
  • Cette méthode ignore les connexions logiques et structurelles entre les différentes parties de l'application.
  • Le choix erroné d'un composant similaire mais opposé s'avère extrêmement coûteux pour un agent de codage.

Les outils actuels utilisent souvent des vecteurs pour comparer le code à la question posée par l'utilisateur. Toutefois, cette approche par similarité textuelle échoue à identifier la relation exacte entre les fonctions connectées, ce qui pousse les agents de codage à écarter cette technique.

Fonctionnement et avantages de Graft

  • Graft installe une commande de terminal pour cartographier le projet sous forme de graphe de connaissances.
  • L'outil s'appuie sur l'abonnement existant sans exiger de clé API séparée pour un modèle tiers.
  • Les benchmarks enregistrent une réduction de 60 % du temps d'exécution et de 32 % des coûts totaux.

L'outil open-source Graft lit directement le code pour structurer un réseau de nœuds et d'arêtes qui relient les composants entre eux. Les tests sur 162 exécutions démontrent une baisse de 42 % des jetons consommés et une diminution de 46 % des appels aux outils par rapport au fonctionnement par défaut.

Architecture de la carte et intégration aux agents

  • Graft enregistre la carte du projet dans un fichier JSON exploitable via une visionneuse de navigateur.
  • La configuration CLI associe automatiquement jusqu'à trois emplacements pertinents dès la réception de l'invite.
  • L'option MCP délenche la recherche uniquement lorsque l'agent émet une requête explicite.

Le système stocke l'architecture du code dans un fichier JSON pour la rendre lisible et modifiable. En mode CLI, Graft anticipe les besoins de l'agent en analysant les mots de l'invite, tandis que le protocole MCP permet à l'agent d'interroger directement la carte selon ses besoins spécifiques.

Installation, configuration et cas pratique

  • La commande d'initialisation installe les scripts de suivi et configure l'agent sélectionné.
  • L'utilisation conjointe d'un fichier PRD et de consignes strictes maintient l'agent concentré sur ses objectifs.
  • Graft met automatiquement à jour la carte après chaque modification de fichier sans solliciter le modèle.

L'intégration s'effectue via une commande init dans le terminal qui insère des instructions adaptées pour l'agent de code choisi, tel que Claude Code. Lors de la construction d'une application de réservation avec Fable 5.1, l'utilisation de Graft réduit le temps de réalisation et limite l'encombrement de la fenêtre de contexte.

커뮤니티 글

아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!

이 영상에 대해 글쓰기