Topics

Probieren Sie „Jules“, den Coding-Agenten von Google, aus

  • column

„Wenn KI Code schreibt, sind wir bald alle arbeitslos, oder?“ Dieser Witz wird langsam nicht mehr ganz so witzig. GitHub Copilot oder CodeX schreiben bereits Code für uns, doch der neue Dienst von Google, Jules, scheint eine ganz andere Liga zu sein.

Basierend auf Googles neuestem KI-Modell Gemini 2.0, und das Besondere an Jules ist seine Autonomie!

Vielleicht ist der Tag nicht mehr fern, an dem uns so ein Tool sämtliche Arbeit abnimmt. Die Erwartungen sind jedenfalls hoch! Wir haben ausprobiert, was Jules alles kann.

Was Jules leisten kann

Jules ist ein KI-Agent, der Programmieraufgaben eigenständig ausführt. Über reine Codeerzeugung hinaus ermöglicht er eine Reihe fortgeschrittener Automatisierungen, darunter:

  • Zerlegung komplexer Aufgaben und Planung: Jules unterteilt eine vorgegebene Aufgabe in kleine Schritte und erstellt einen Implementierungsplan.
  • Codeerstellung und -anpassung: Jules kann Code über mehrere Quelldateien hinweg erzeugen und bestehenden Code überarbeiten.
  • Fehlerbehebung und Debugging: Jules spürt Fehler im Code auf und behebt sie.
  • Erstellung und Ausführung von Tests: Jules führt vorhandene Tests aus, erstellt neue und prüft, ob Änderungen korrekt funktionieren.
  • Repository abrufen und klonen: Code wird aus Repositorys wie GitHub abgerufen, auf eine virtuelle Maschine geklont und dort weiterbearbeitet.
  • Pull Request erstellen: Sobald die Codeänderungen abgeschlossen sind, werden sie als Pull Request vorgeschlagen.
  • Asynchrones Arbeiten: Während Nutzer andere Aufgaben erledigen, können Coding-Aufgaben im Hintergrund weiterlaufen.
  • Audio-Zusammenfassung (CodeCast): Es kann eine Audiodatei erstellt werden, die die jüngsten Code-Aktivitäten zusammenfasst.

Worin unterscheidet sich das neue ChatGPT-Feature „Codex“?

Was ist Codex?

Codex verfügt über ein eigenes großes Sprachmodell namens „codex-1“, das OpenAI entwickelt hat. Es basiert auf dem neuesten Modell „o3“ und wurde für die Softwareentwicklung optimiert. Es übernimmt den Programmierstil und das Wissen erfahrener Senior-Entwickler und ist dadurch ein besonders leistungsfähiges Modell.

Funktionen

  • Code-Vervollständigung, Vorschläge und Generierung (in Echtzeit)
  • Code-Generierung aus Kommentaren
  • Vorschläge für Funktionen und Methoden im bestehenden Code
  • Stärken bei der Überarbeitung und Erweiterung bestehender Codebasen

Codex und Copilot unterstützen vor allem bei der Eingabe („Autovervollständigung“) und helfen in Echtzeit beim Schreiben und Überarbeiten bestehenden Codes. Sie fungieren als KI-Pair-Programmer, also als Werkzeug zur Codierungsunterstützung.

Jules hingegen agiert als „Entwicklungsagent“ und kann Aufgaben über einen größeren Bereich eigenständig ausführen, vom Projektstart bis zum Abschluss. Damit ist der entscheidende Unterschied geschaffen. Jules könnte daher auch die frühe Aufbauphase eines neuen Projekts von Grund auf übernehmen und konzentriert sich stärker auf die Automatisierung von Entwicklungsaufgaben.

  • Auch die Erstellung neuer Projekte ist möglich: Auf Anweisung, etwa „Erstelle eine einfache Webanwendung“, kann Jules die benötigten Dateien und Verzeichnisstrukturen von Grund auf anlegen und Code generieren.
  • Tiefe Integration mit GitHub-Repositories: Jules klont das vom Nutzer angegebene GitHub-Repository in eine virtuelle Umgebung und arbeitet dort. Dadurch sind nicht nur Änderungen an einzelnen Dateien möglich, sondern auch strukturelle Änderungen am gesamten Repository, das Hinzufügen neuer Dateien oder das Löschen bestehender Dateien. So lässt sich das gesamte Projekt bearbeiten.
  • Eigenständige Arbeit: Von der initialen Projektkonfiguration über das Anlegen von Dateien, die Codegenerierung und das Ausführen von Tests bis zur Erstellung von Pull Requests treibt Jules den gesamten Prozess eigenständig voran.

Jules ist deutlich autonomer und lässt sich mit dem gesamten Entwicklungsprozess betrauen. Die Rolle entspricht eher einem „Entwicklungsagenten“!

Praxistest!

So nutzt man Jules

Jules erteilt Anweisungen hauptsächlich über eine Chat-basierte Benutzeroberfläche.

1. Jules aufrufen: Sie erreichen Jules unter jules.google.com.

2. GitHub-Repository verbinden: Wählen Sie das GitHub-Repository und den Branch aus, mit dem Sie arbeiten möchten. Für diesen Testlauf haben wir das Repository „jules-test“ vorbereitet.

3. Anweisung im Prompt: Sie können auch auf Japanisch schreiben! Dieses Mal setzen wir eine Uhr mit JavaScript um.

4. Freigabe des Implementierungsplans: Jules legt zunächst einen Implementierungsplan vor. Der Nutzer prüft diesen und gibt ihn frei. Da Jules einen klaren Arbeitsablauf festlegt, ist das sehr übersichtlich!

5. Codierung ausführen und Fortschritt prüfen: Sobald der Plan freigegeben ist, startet Jules die Codierung automatisch und meldet den Fortschritt.
Es dauert zwar etwas, aber die Dateien index.html, script.js und style.css wurden erstellt!

6. Änderungen prüfen und freigeben: Sobald die Änderungen abgeschlossen sind, erstellt Jules einen Pull Request mit den Unterschieden (Diff). Der Nutzer prüft diesen und gibt ihn frei, woraufhin die Änderungen ins Repository übernommen werden.

Fällt es Ihnen nicht auch oft schwer, passende Commit-Nachrichten zu formulieren? Jules fasst die Änderungen einfach zusammen und erstellt die Nachricht für Sie!

Ein Klick auf „Publish branch“ unten rechts pusht die Änderungen in den Branch tokyo-clock.

Wenn Sie den Branch pullen ... sind im Editor Dateien erstellt worden!

So sieht die Browservorschau aus!

Bisherige KI-Funktionen haben bei einem Prompt wie "Implementiere eine Uhr mit JavaScript" meist nur Implementierungsschritte oder Codeinhalte erklärt. Dieses Tool dagegen übernimmt bereits den gesamten Ablauf, von der Dateierstellung bis zur Anbindung an Git!

Bei einer so einfachen Implementierung wie dieser lässt sich die Aufgabe problemlos vollständig delegieren. Wie groß die Implementierungen sind, die man dem Tool tatsächlich überlassen kann, ist allerdings noch offen ...

Als Nächstes bitte ich es, zusätzlich um eine "aufwendigere Gestaltung".

Es hat mehrere Vorschläge gemacht, aber ich überlasse die Auswahl dem Tool.

Der Hintergrund wurde in einen Verlauf umgewandelt!

Es reicht, ein Repository anzulegen, und schon werden Dateien von Grund auf erstellt, Code geschrieben und sogar bis zum Git-Push umgesetzt. Ein wahrer KI-Programmierassistent!

Derzeit wird das Tool jedoch als Beta-Version angeboten und unterliegt Nutzungsbeschränkungen (z. B. 5 Aufgaben pro Tag).

Außerdem braucht die Erstellung von Dateien und die Programmierung einige Zeit, und das Eingabefeld hat teilweise Fehler, sodass Eingaben nicht richtig übernommen wurden.

Zudem wird bei einem Fehler in Jules der bis dahin geleistete Arbeitsstand nicht committet. Daher kann es vorkommen, dass Zwischenstände nicht übernommen werden, selbst wenn man sie gerne hätte.

Ich habe tatsächlich darum gebeten, die JavaScript-Uhrimplementierung von heute in Next.js umzusetzen. Die Umwandlung nach Next.js hat auch gut funktioniert, und die Umgebung ließ sich einrichten. Durch einen Fehler auf dem Weg kam ich jedoch nicht mehr dazu, die Next.js-Dateien lokal abzurufen ... Das ist praktisch, aber ich denke, es gibt durchaus auch einige Nachteile.

Fazit

Wenn Jules immer klüger wird, könnten Sie die lästigen Routineaufgaben an Jules delegieren und so mehr Zeit für das Erlernen neuer Technologien, Hobbys und ähnliche Dinge gewinnen!

Jules könnte als Partner für Entwickler die Art und Weise, wie wir programmieren, grundlegend verändern!

Bildquelle: Jules-Website

Über den Autor

Ich entwickle Frontend-Lösungen mit Schwerpunkt auf Markup sowie mit JavaScript, React und Next.js. Es freut mich besonders, wenn Websites, an denen ich mitgearbeitet habe, erfolgreich online gehen! In meiner Freizeit spiele ich gern Gitarre. Katzen und Süßkartoffeln mag ich sehr 🐱🍠

Hirattchi

Frontend-Entwickler / Eintritt 2022

Artikel dieses Teammitglieds ansehen

Verlässliches Team und schnelle Reaktionsfähigkeit sind unsere Stärken

Bei Liberogic werden wir von unseren Kunden hoch geschätzt, da unsere erfahrenen Mitarbeiter Projekte proaktiv vorantreiben.
Wir achten darauf, Projektmanager und Direktoren gezielt einzusetzen, damit das gesamte Projekt reibungslos verläuft. Um unnötige Kostensteigerungen durch Vollzeitbindung zu vermeiden, verteilen wir Ressourcen passgenau. Zudem sind wir für unsere Geschwindigkeit bekannt, vom Verständnis der Anforderungen bis zur Erstellung und Einreichung von Angeboten.

Hinweis: Wir bieten keine SES-typischen Vor-Ort-Einsätze an. Wir bitten um Ihr Verständnis.

Sie können nahezu alle gängigen Tools für Projektmanagement und Chat nutzen, darunter Slack, Teams, Redmine, Backlog, Asana, Jira, Notion, Google Workspace, Zoom, Webex und viele weitere.

Sprechen Sie uns gerne auf Ihre Herausforderungen im Web an.

Fallstudien