Topics

Essayez l'agent de codage Google « Jules »

  • column

« L'IA qui écrit du code, c'est la fin du travail, non ? » Plaisanterie qui n'en est plus une ! GitHub Copilot et CodeX écrivent déjà du code pour nous, mais Jules, lancé par Google, semble vraiment différent.

Avec le dernier AI Gemini 2.0 de Google, le point clé de Jules cette fois, c'est qu'il est autonome !

Il se peut que le jour arrive où Jules fasse tout à notre place. C'est tout ce qu'on peut espérer ! Nous avons voulu voir ce qu'il pouvait faire.

Ce que Jules peut faire

Jules est un agent IA qui exécute autonomement des tâches de codage. Au-delà de la simple génération de code, il permet des automatisations avancées comme :

  • Décomposition et planification de tâches complexes : il décompose les tâches données en petites étapes et établit un plan d'implémentation.
  • Génération et modification de code : il peut générer du code à travers plusieurs fichiers sources ou modifier du code existant.
  • Correction de bugs et débogage : identifier et corriger les bugs du code.
  • Création et exécution de tests : exécuter les tests existants ou créer de nouveaux tests pour vérifier que les modifications fonctionnent correctement.
  • Récupération et clonage du référentiel : récupérer le code depuis un référentiel comme GitHub et le cloner sur la machine virtuelle pour commencer à travailler.
  • Création d'une demande de fusion : une fois les modifications du code terminées, les proposer sous forme de demande de fusion.
  • Travail asynchrone : poursuivre les tâches de codage en arrière-plan pendant que l'utilisateur effectue d'autres tâches.
  • Résumé audio (CodeCast) : créer un résumé audio de l'activité de code récente.

Quelle est la différence avec la nouvelle fonctionnalité de ChatGPT, Codex ?

À propos de Codex

Codex est équipé d'un grand modèle de langage propriétaire développé par OpenAI, « codex-1 ». Basé sur le dernier modèle « o3 » et optimisé pour le développement logiciel, c'est un modèle intelligent qui intègre les styles de codage et les connaissances d'ingénieurs seniors expérimentés.

Fonctionnalités

  • Complétion de code, suggestions, génération (en temps réel)
  • Génération de code à partir de commentaires
  • Suggestion de fonctions et méthodes à partir du code existant
  • Points forts dans les corrections et améliorations du code existant

Codex/Copilot fonctionne principalement comme un « assistant à la saisie », offrant une aide en temps réel lors de l'écriture ou de la modification du code existant. Il joue le rôle d'un partenaire de programmation par IA (outil d'assistance au codage).

En revanche, Jules se positionne comme un « développeur délégué », avec pour principale différence sa capacité à exécuter de manière autonome une gamme plus large de tâches, du démarrage à la fin du projet. Par conséquent, Jules peut potentiellement gérer la construction de la phase initiale d'un nouveau projet à partir de zéro, et se concentre davantage sur l'« automatisation des tâches de développement ».

  • Possibilité de créer de nouveaux projets : Jules peut créer de zéro les fichiers et la structure de répertoires nécessaires, et générer le code en fonction des tâches assignées par l'utilisateur (par exemple : « créer une application web basique »).
  • Intégration profonde avec les dépôts GitHub : Jules clone le dépôt GitHub spécifié par l'utilisateur dans un environnement virtuel et y effectue son travail. Cela lui permet non seulement de modifier des fichiers isolés, mais aussi de manipuler l'ensemble du projet, notamment les changements structurels dans le dépôt entier, l'ajout de nouveaux fichiers et la suppression de fichiers existants.
  • Travail autonome : Du paramétrage initial du projet à la création de fichiers, la génération de code, l'exécution de tests et la création de demandes de tirage, Jules progresse de manière autonome à travers l'ensemble du processus.

Jules offre une autonomie bien plus élevée et peut se voir confier des tâches de développement dans leur intégralité, comme un véritable « programmeur délégué » !

L'avoir testé en action !

Comment utiliser Jules

Jules fonctionne principalement en envoyant des instructions via une interface de chat.

1. Accéder à Jules : vous pouvez y accéder depuis jules.google.com.

2. Connecter votre référentiel GitHub : sélectionnez le référentiel et la branche GitHub sur lesquels vous souhaitez travailler. Nous avons préparé le référentiel « jules-test » pour ce test.

3. Instructions via prompt : pas de problème en japonais ! Cette fois, nous avons implémenté une horloge en JavaScript.

4. Approbation du plan d'implémentation : Jules présente d'abord un plan d'implémentation. L'utilisateur l'examine et l'approuve. C'est très clair car Jules établit le processus de travail !

5. Exécution du codage et suivi de la progression : une fois le plan approuvé, Jules lance automatiquement le codage et signale la progression du travail.
Cela prend un peu de temps, mais les fichiers index.html, script.js et style.css ont été générés !

6. Révision et approbation des modifications : une fois les modifications terminées, Jules crée une demande de fusion avec les différences (diff). L'utilisateur l'examine et l'approuve pour intégrer les modifications au référentiel.

Les messages de commit, c'est étonnant comme on peut avoir du mal à en rédiger ? Jules les crée en les résumant !

Un clic sur le bouton « publish branch » en bas à droite pousse les modifications vers la branche tokyo-clock.

Après avoir tiré la branche... les fichiers sont générés dans l'éditeur !

Voici à quoi ressemble l'aperçu du navigateur !

Avec les fonctionnalités AI précédentes, lorsque vous écrivez une invite comme « Implémenter une horloge en JavaScript », elles vous donnaient simplement les étapes d'implémentation ou le contenu du code. Mais celle-ci effectue toute une série de tâches, de la création de fichiers à l'intégration avec git !

Cependant, pour une implémentation simple comme celle-ci, il semble sûr de la confier entièrement à l'outil, mais je me demande réellement quelle est l'envergure des implémentations qu'on peut vraiment lui confier...

Essayons maintenant d'ajouter une demande supplémentaire : « Rendre la décoration plus élégante ».

Il a proposé plusieurs options, et j'ai décidé de lui faire confiance.

Il a changé l'arrière-plan en dégradé !

Créer simplement un référentiel, générer des fichiers à partir de zéro, écrire le code, puis pousser vers git... c'est vraiment comme avoir un programmeur mandataire !

Cependant, il est actuellement fourni en tant que version bêta avec des limitations d'utilisation (par exemple, 5 tâches par jour).

De plus, la création de fichiers et l'implémentation de programmes prennent un certain temps, et il y a eu des cas où les champs de saisie présentaient des bugs et ne reflétaient pas correctement les données.

Par ailleurs, lorsque Jules rencontre une erreur, les travaux à ce stade ne sont pas validés, de sorte que même si vous souhaitez une différence de travail partiel, elle peut ne pas être reflétée.

Cette fois, j'ai demandé à convertir l'implémentation d'une horloge JavaScript en Next.js, et Jules a réussi à la convertir et à mettre en place l'environnement de développement. Cependant, en raison d'une erreur en cours de route, je n'ai pas pu récupérer les fichiers Next.js en local... Bien que pratique, j'ai réalisé qu'il y avait aussi des inconvénients considérables.

Conclusion

À mesure que Jules devient de plus en plus intelligent, on pourrait déléguer les tâches fastidieuses et répétitives à Jules et consacrer beaucoup de temps à l'apprentissage de nouvelles technologies et à des loisirs !

Jules pourrait bien transformer les conventions de développement en tant que compagnon des ingénieurs !

Source de l'image : Site web Jules

Auteur de cet article

Je me concentre principalement sur le balisage, et je développe le frontend en utilisant JavaScript, React et Next.js. Je suis toujours ravi quand un site auquel j'ai participé est lancé avec succès ! Mon hobby est de jouer de la guitare. J'aime les chats et les patates douces🐱🍠

Hira

Ingénieur frontend / Embauché en 2022

Voir les articles de ce membre

Notre équipe fiable et nos capacités de réactivité font notre fierté

Chez Liberogic, nos équipes expérimentées sont reconnues pour diriger activement les projets et sont hautement appréciées par nos clients.
Nous assignons correctement un chef de projet et un directeur, et veillons à assurer le déroulement fluide de l'ensemble du projet. Nous évitons une augmentation inutile des coûts en engagements complets, en allouant les ressources de manière optimale. Notre approche est réputée pour sa rapidité dans la compréhension des besoins, la création et la soumission des devis.

* Veuillez noter que nous n'engageons pas activement de missions d'intégration type SES.

Slack, Teams, Redmine, Backlog, Asana, Jira, Notion, Google Workspace, Zoom, Webex, et pratiquement tous les principaux outils de gestion de projet et de communication que vous utilisez.

Consultez-nous pour toute question ou préoccupation concernant le web.

Études de cas