NE GASPILLEZ PLUS VOS TOKENS ! PI CODING AGENT vs OPENCODE avec le même LLM local.

LLuigi Tech
컴퓨터/소프트웨어게임/e스포츠AI/미래기술

Transcript

00:00:00Bonjour à tous, voici une démo de Agent vs Open Code et nous allons tester ces
00:00:09deux environnements sur cet exemple. C'est un jeu que j'ai codé en direct dans ma
00:00:20vidéo précédente, celle-ci. Et oui, dans cette vidéo, j'aimerais tester comment corriger ce jeu
00:00:29car il y a quelques bugs. Par exemple, comme vous pouvez le voir, le marqueur X a gagné le
00:00:38match mais les cases ne sont pas surlignées, donc nous allons essayer de faire ce genre de correction
00:00:51avec un LLM local qui est Qwen 2.5 3B qui est, à mon avis, le meilleur modèle
00:01:04que vous pouvez faire tourner sur votre ordinateur actuellement. Essayons d'abord avec Pi, donc
00:01:16voici Pi et je vais l'exécuter dans ce répertoire où se trouvent les sources dans
00:01:30des fichiers séparés. J'ai donc index.html, game.js et style.js et nous allons essayer
00:01:42le même prompt dans les deux environnements pour comparer les résultats. Je vais également
00:01:55utiliser un minuteur pour voir combien de temps prendra la tâche. Voici donc le prompt. Le
00:02:11prompt est : rendez les cubes des cases plus visibles et ajoutez de l'espace entre eux
00:02:19car comme vous pouvez le voir ici, les cubes sont très proches les uns des autres, et ensuite nous avons
00:02:28la deuxième tâche qui est d'améliorer la logique de victoire, les marqueurs gagnants devraient
00:02:37devenir verts. C'est un autre problème car on ne voit pas où le
00:02:46joueur a gagné avec les marqueurs. Et voilà, il a commencé à suivre mon prompt et c'est
00:02:59Pi, il commence donc à analyser le répertoire actuel et ici vous pouvez voir le
00:03:09contexte utilisé. Mais il est peut-être plus intéressant de voir le temps passé à
00:03:20corriger le jeu. Oui, il travaille, et ensuite nous ferons la même tâche avec
00:03:30Open Code et je réinitialiserai le dépôt pour faire le même genre de test. Maintenant je vais
00:03:41mettre la vidéo en pause un moment et on se retrouve quand il aura fini de corriger le jeu.
00:04:00Ok, c'est fait. Il est encore en train d'écrire le rapport des modifications et ensuite nous testerons les
00:04:20résultats. Ok, terminé. Mettons sur pause, 7 minutes et 44 secondes avec Qwen 2.5, testons donc
00:04:38les résultats. Voici donc le rapport, c'est ce qui s'est passé techniquement dans le
00:04:47code. Comme vous pouvez le voir, il a partiellement lu game.js plusieurs fois dans
00:04:58plusieurs parties. C'est aussi un diff, donc comme vous pouvez le voir, il a dû beaucoup modifier
00:05:09le fichier. Au total, 9,4 K jetons envoyés et 2,8 K reçus, donc c'est
00:05:23le résultat de l'utilisation du contexte. Testons le résultat, je recharge et comme vous
00:05:35pouvez le voir maintenant, les cubes des cases sont plus espacés, plus séparés les uns des autres. Essayons
00:05:44le jeu, je vais commencer par la case centrale, ok. Et ok, je vais le laisser
00:06:00gagner, ok parfait. L'ordinateur a gagné et comme vous pouvez le voir, nous avons les cubes plus
00:06:11espacés et aussi les marqueurs gagnants mis en évidence, donc ça marche. C'était avec
00:06:20l'agent de codage Pi. Maintenant nous allons faire le même test avec Open Code, le même
00:06:30modèle et le même code. Je vais donc réinitialiser le code, ok. Maintenant les changements sont revenus à
00:06:50la version buggée comme ceci. Maintenant nous allons essayer le même prompt avec
00:07:00Open Code pour les cases et pour la logique de victoire, et j'utiliserai le même modèle avec
00:07:11le Basico. Le Basico est un agent personnalisé que j'ai créé, et je commence aussi, et j'ai
00:07:27créé l'agent Basico car il est beaucoup plus simple que l'agent de codage par défaut.
00:07:36L'agent Basico c'est ceci.
00:07:56C'est juste un simple fichier markdown : “vous êtes Basico, un agent minimaliste”. Et oui, je n'ai
00:08:07pas spécifié grand-chose ici, juste d'utiliser un outil de recherche web
00:08:15que nous n'utiliserons pas dans ce cas d'utilisation. C'est donc un agent très simple, juste pour voir,
00:08:24juste pour recréer des conditions similaires pour Open Code. Nous utilisons déjà
00:08:3412 K du contexte. Il a commencé par index.html, game.js et oui, ici aussi nous
00:08:47verrons le résultat final après la pause vidéo. Il tourne toujours avec peu
00:08:58de retour d'information ici. Je voulais aussi dire que j'ai essayé le même test
00:09:07avec Gemma 2 27B mais il n'était pas capable de faire l'appel d'outil sur
00:09:20ce genre de projet. Gemma 2 était capable de recréer le jeu de morpion 3D mais ensuite
00:09:30il n'était pas capable de faire les appels d'outils pour modifier ces fichiers. J'ai donc fait ce test uniquement
00:09:38avec Qwen 2.5 parce que je pense que c'est le meilleur pour des scénarios locaux comme celui-ci.
00:09:48Oui, intéressant parce qu'il remplit les tâches à faire. Il y a deux tâches, l'une est
00:09:58de rendre les cubes des cases plus visibles et l'autre est de corriger la logique, donc il aura un
00:10:07peu plus de surcharge par rapport à l'agent Pi. Mais oui, l'agent Pi était capable de faire
00:10:17ce genre de tâche aussi sans liste de tâches intermédiaire. Mais peut-être que dans des situations
00:10:26plus complexes, il pourrait être utile d'avoir une liste. Mais oui, c'est le modèle LLM
00:10:35qui fait la plus grande différence à mon avis et non l'environnement, mais nous allons
00:10:44voir.
00:10:56vous
00:11:27Ok, presque fini. Les deux tâches ont été complétées mais il doit encore lire et
00:11:40ensuite écrire dans le fichier.
00:11:52Ok, il écrit le rapport. J'espère qu'ensuite il finira. Nous en sommes à 12
00:12:05minutes, c'est plus long, mais ok c'est fini. Pause, et comme vous pouvez le voir,
00:12:15le contexte utilisé est d'environ 23 K avec Open Code, et ils rapportent probablement
00:12:26les jetons utilisés de manière différente, mais il semble que Pi utilise la moitié des jetons pour
00:12:36corriger les problèmes. Voici le rapport technique, il a ouvert plusieurs fois
00:12:46game.js pour faire les corrections. Essayons le jeu pour voir si les corrections
00:12:57fonctionnent réellement. Je recharge et ça semble similaire à la version Pi. La case centrale, ok.
00:13:19Essayons de gagner la partie. Ok, j'ai gagné, et comme vous pouvez le voir nous avons le même résultat
00:13:32qu'avec Pi mais avec plus de jetons et plus de temps passé pour
00:13:43les solutions. Dans ce cas, Open Code qui a généralement de nombreuses fonctionnalités
00:13:55comme des garde-fous et plus de réglages de prompt a eu les mêmes solutions que ce que nous avons eu avec
00:14:06Pi mais avec moins de temps et moins de jetons. En conclusion, à mon avis comme je
00:14:18l'ai dit avant, le LLM utilisé est la partie la plus pertinente et importante. L'environnement
00:14:28est utile et important, mais la qualité des données mises dans le contexte est plus importante,
00:14:36et dans cette situation avec l'agent de codage Pi nous
00:14:47avons moins de surcharge et nous avons obtenu un bon résultat aussi sans un très gros prompt dans
00:14:58le LLM. Dites-moi dans les commentaires quel est votre environnement d'agent de codage open source
00:15:06préféré et à bientôt dans une autre vidéo, salut.

Key Takeaway

L'agent de codage Pi surpasse OpenCode en rapidité et en efficacité de jetons en utilisant le modèle local Qwen 2.5 3B pour corriger des fichiers sources.

Highlights

  • L'agent Pi corrige les bugs de logique d'un jeu de morpion 3D en 7 minutes et 44 secondes.

  • OpenCode nécessite 12 minutes et 5 secondes pour effectuer les mêmes modifications avec le même modèle local.

  • L'exécution via l'agent Pi consomme 12,2 K jetons au total contre environ 23 K jetons pour OpenCode.

  • Le modèle Qwen 2.5 3B surpasse Gemma 2 27B pour les appels d'outils et la modification de fichiers en local.

  • L'agent Pi génère un code fonctionnel qui sépare les cubes de la grille et surligne les marqueurs gagnants en vert.

Timeline

Configuration et choix du modèle local

  • Le modèle Qwen 2.5 3B est le choix optimal pour le développement logiciel sur un ordinateur personnel.
  • Le projet de test consiste en un jeu de morpion 3D composé de fichiers HTML, JS et CSS distincts.
  • Le bug principal réside dans l'absence de retour visuel lors d'une victoire.

L'environnement de test s'appuie sur une base de code existante comprenant index.html, game.js et style.js. Qwen 2.5 3B est sélectionné pour sa supériorité technique par rapport aux autres modèles de taille similaire. L'objectif est d'améliorer la visibilité des cubes et d'automatiser le changement de couleur des marqueurs lors d'un gain.

Performance de l'agent de codage Pi

  • Pi traite la demande de modification en 7 minutes et 44 secondes.
  • La consommation totale s'élève à 9,4 K jetons en entrée et 2,8 K jetons en sortie.
  • Les modifications s'appliquent via des diffs précis dans le fichier game.js.

Pi analyse l'arborescence du répertoire pour identifier les fichiers pertinents avant d'appliquer les corrections. Le résultat final montre des cubes de grille correctement espacés et une logique de victoire fonctionnelle où les X ou O deviennent verts. Cette approche minimise la surcharge de contexte tout en produisant un rapport technique des changements.

Comparaison avec OpenCode et Basico

  • L'agent personnalisé Basico dans OpenCode met plus de 12 minutes pour terminer la même tâche.
  • Le contexte utilisé par OpenCode atteint 23 K jetons, soit presque le double de l'agent Pi.
  • Le modèle Gemma 2 27B échoue totalement à exécuter les appels d'outils nécessaires sur ce projet.

Bien que l'agent Basico soit conçu pour être minimaliste, OpenCode introduit une latence plus élevée et une consommation de jetons plus importante. Les tâches intermédiaires créent une surcharge de travail pour le LLM. Malgré ce temps supplémentaire, le résultat final du code est identique à celui produit par Pi.

Analyse de l'influence de l'environnement sur le LLM

  • La qualité du modèle de langage reste le facteur le plus déterminant pour la réussite du codage.
  • L'agent Pi offre une meilleure gestion du contexte et moins de processus superflus que OpenCode.
  • Les outils avec moins de réglages de prompt prédéfinis obtiennent des résultats plus rapides.

L'efficacité d'un agent de codage dépend de la clarté des données insérées dans le contexte. Pi démontre qu'une structure légère permet au modèle Qwen de travailler plus efficacement sans sacrifier la précision. La comparaison souligne que les fonctionnalités de sécurité et les prompts complexes d'OpenCode ralentissent l'exécution pour des tâches de correction simples.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video