Topics

Probeer Google's codeeringsagent "Jules"

  • column

"AI schrijft code, dus ik verlies mijn baan?" — wat eens een grap was, voelt steeds realistischer. GitHub Copilot en CodeX genereren al code, maar Google's Jules tilt dit naar een ander niveau.

Met de nieuwste AI, Gemini 2.0, onder de motorkap, is het grote verschilpunt van Jules: autonomie!

Het zou zomaar kunnen dat de dag komt waarop Jules alles voor ons doet. We kunnen niet wachten! Laten we kijken wat het allemaal kan.

Wat kan Jules doen

Jules is een autonome AI-agent die coderingstaken zelfstandig uitvoert. Het gaat verder dan alleen code genereren en maakt geavanceerde automatisering mogelijk, zoals:

  • Complexe taken ontleden en plannen: taken worden in kleinere stappen opgedeeld en er wordt een implementatieplan opgesteld.
  • Code genereren en aanpassen: code kan worden gegenereerd en aangepast over meerdere bronbestanden heen.
  • Bugfixes en debugging: we identificeren bugs in je code en repareren deze.
  • Tests maken en uitvoeren: we voeren bestaande tests uit of creëren nieuwe tests om te verifiëren dat wijzigingen correct functioneren.
  • Repository ophalen en klonen: we halen code op uit repositories zoals GitHub en klonen deze naar een virtuele machine om aan te werken.
  • Pull request aanmaken: wanneer de codewijzigingen klaar zijn, dienen we deze in als pull request.
  • Asynchroon werken: we kunnen coderingstaken op de achtergrond uitvoeren terwijl jij andere dingen doet.
  • Samenvatting via spraak (CodeCast): we kunnen een spraaksamenvatting creëren van recente codeactiviteiten.

Hoe verschilt dit van ChatGPT's nieuwe functie "Codex"?

Over Codex

Codex is voorzien van een speciaal groot taalmodel "codex-1" ontwikkeld door OpenAI. Dit is gebaseerd op het nieuwste model "o3" en is geoptimaliseerd voor softwareontwikkeling. Het is een intelligent model dat de codeerstijl en kennis van ervaren senior engineers incorporeert.

Wat het kan doen

  • Code completion, suggesties en generatie (real-time)
  • Code generatie uit opmerkingen
  • Suggesties voor functies en methoden in bestaande code
  • Sterk in correcties en uitbreidingen op bestaande codebases

Codex/Copilot helpt vooral als 'invoerhulp', waarbij je in real-time ondersteuning krijgt bij het schrijven of aanpassen van bestaande code. Het is eerder een AI-pairprogrammer (coderingshulptool).

Aan de andere kant is Jules een 'vervangingsontwikkelaar' met als groot verschil dat het autonome taken kan uitvoeren over de volledige levenscyclus van een project, van begin tot eind. Hierdoor kan Jules ook de initiële opbouw van gloednieuwe projecten vanaf nul aanpakken, en ligt de nadruk meer op 'automatisering van ontwikkelingstaken'.

  • Creatie van nieuwe projecten mogelijk: Jules kan van nul af aan de benodigde bestanden en mapstructuur aanmaken en code genereren op basis van taken die door de gebruiker worden opgegeven (bijvoorbeeld: 'een basiswebapplicatie maken').
  • Diepe integratie met GitHub-repositories: Jules kan door de gebruiker opgegeven GitHub-repositories naar een virtuele omgeving klonen en daar werken. Dit stelt het in staat niet alleen afzonderlijke bestanden te wijzigen, maar structurele wijzigingen aan te brengen over het hele repository heen, nieuwe bestanden toe te voegen, bestaande bestanden te verwijderen en het gehele project te manipuleren.
  • Autonoom werk: Van initiële projectconfiguratie tot bestandscreatie, code generatie, testuitvoering en pull request aanmaken – het voert de volledige reeks processen autonoom uit.

Jules heeft een veel hoger niveau van autonomie en kan de volledige ontwikkelingstaak aan – het is eigenlijk een 'vervangingsprogrammeur'!

Uitgebreid getest!

Jules gebruiken

Jules werkt voornamelijk via een chat-gebaseerde interface.

1. Krijg toegang tot Jules: U kunt het openen via jules.google.com.

2. GitHub-repository verbinden: Selecteer de GitHub-repository en branch waaraan u wilt werken. We hebben de repository 'jules-test' voorbereid voor deze proefversie.

3. Instructies geven via prompt: U kunt ook Nederlands gebruiken! Deze keer implementeren we een klok in JavaScript.

4. Implementatieplan goedkeuren: Jules presenteert eerst een implementatieplan. U beoordeelt dit en keurt het goed. Het is handig dat het proces voor u wordt uitgewerkt!

5. Codering uitvoeren en voortgang controleren: Zodra het plan is goedgekeurd, begint Jules automatisch met coderen en rapporteert de voortgang.
Het duurt even, maar de index.html-, script.js- en style.css-bestanden zijn gegenereerd!

6. Wijzigingen beoordelen en goedkeuren: Wanneer de codering is voltooid, maakt Jules een pull-request met de verschillen (diff). U beoordeelt en keurt deze goed, waarna de wijzigingen in de repository worden doorgevoerd.

Vindt u het lastig om commitberichten samen te stellen? Jules vat ze voor u samen en maakt ze aan!

Klik op 'publish branch' rechtsonder om naar de tokyo-clock branch te pushen.

Als je de branch pulled, zijn de bestanden gegenereerd in de editor!

Het browservoorbeeld ziet er als volgt uit!

Tot nu toe gaven AI-functies bij prompts als "Implementeer een klok in JavaScript" alleen uitleg over implementatiestappen of code, maar dit doet de volledige werkstroom: het creëert bestanden, schrijft code en pushed alles naar git!

Voor eenvoudige implementaties zoals deze kun je alles delegeren, maar de vraag blijft: hoe groot mag een opdracht zijn voordat je het kan overdragen?

Laten we het nu verzoeken om de decoratie eleganter te maken.

Er werden verschillende suggesties gedaan, maar we laten het als een voorstel.

De achtergrond is nu een verloop!

Gewoon een repository aanmaken en het genereert bestanden vanaf nul, schrijft code en pushed naar git! Dit is echt een vervangend programmeur.

Het wordt momenteel als bètaversie aangeboden met gebruiksbeperkingen (bijvoorbeeld 5 taken per dag).

Bovendien kostte het aanmaken van bestanden en programmering enige tijd, en de invoervelden hadden soms bugs waardoor gegevens niet correct werden weergegeven.

Daarnaast lijkt het erop dat wanneer Jules een fout tegenkomt, het werk op dat moment niet wordt gecommit, dus zelfs als je de tussenliggende werkdifferenties wilt, worden deze mogelijk niet weergegeven.

In dit geval vroegen we of Jules de JavaScript-klokimplementatie kon converteren naar Next.js, en dat lukte uitstekend – de conversie naar Next.js en omgevingsopstelling werkten prima. Door een fout onderweg konden we de Next.js-bestanden echter niet lokaal ophalen. Hoewel Jules handig is, realiseerden we ons dat er ook aanzienlijke nadelen zijn.

Samenvatting

Naarmate Jules steeds intelligenter wordt, kunnen we monotone, repetitieve taken aan Jules overlaten en meer tijd besteden aan het leren van nieuwe technologieën en hobby's!

Jules zou wel eens de vaste assumptie van softwareontwikkeling fundamenteel kunnen veranderen en een echte partner voor engineers kunnen zijn!

Afbeeldingsbron: Jules-website

Auteur van dit artikel

Ik concentreer me op markup en ontwikkel frontends met JavaScript, React en Next.js. Het geeft me veel voldoening als een website waaraan ik heb gewerkt succesvol wordt gepubliceerd! Mijn hobby's zijn gitaar spelen. Ik ben dol op katten en zoete aardappelen🐱🍠

Hiracchi

Frontend-engineer / aangenomen in 2022

Artikelen van deze medewerker bekijken

Ons sterke punt is ons betrouwbare teamstructuur en snelle responsiviteit

Bij Liberogic worden ervaren teamleden actief ingezet voor projectvoering, wat door klanten zeer wordt gewaardeerd.
We wijzen vakbekwaam projectmanagers en directors aan en streven ernaar projecten soepel te laten verlopen. We voorkomen onnodig kostenverhogingen door volledig inzet te vermijden en wijzen middelen toe waar ze het meest geschikt zijn. Onze snelheid bij taakanalyse en bij het opmaken en indienen van offertes is goed bekend.

* Wij voeren niet actief SES-achtige permanente werkzaamheden uit, dus graag van tevoren dank voor uw begrip.

U kunt vrijwel alle grote projectmanagementtools en chattoolsgebruiken, zoals Slack, Teams, Redmine, Backlog, Asana, Jira, Notion, Google Workspace, Zoom en Webex.

Neem contact met ons op voor advies over uw webvragen.

Casestudies