«KI schreibt Code, also fallen bald alle Jobs weg?» – was früher nur Scherz war, wird immer mehr zur Realität. GitHub Copilot und CodeX generieren bereits Code, aber Jules, das neue Tool von Google, scheint auf einer ganz anderen Ebene zu spielen.
Mit Googles neuester KI Gemini 2.0 ausgestattet, liegt das Besondere bei Jules in seiner Autonomie!
Vielleicht kommt ja bald der Tag, an dem diese KI alles für uns erledigt? Wir freuen uns schon darauf! Wir haben getestet, was alles möglich ist.
Was Jules alles kann
Jules ist ein autonomer KI-Agent, der Coding-Aufgaben eigenständig ausführt. Es geht weit über reine Code-Generierung hinaus – folgende hochgradige Automatisierungen sind möglich:
- Zerlegung komplexer Aufgaben und Planerstellung: Erhaltene Aufgaben werden in kleine Schritte zerlegt und ein Implementierungsplan erstellt.
- Code-Generierung und -Korrektur: Generiert Code über mehrere Quelldateien hinweg oder korrigiert bestehenden Code.
- Fehlerbehebung und Debugging: Wir identifizieren und beheben Fehler im Code.
- Tests erstellen und ausführen: Führen Sie vorhandene Tests aus oder erstellen Sie neue Tests, um zu überprüfen, dass die Änderungen ordnungsgemäß funktionieren.
- Repository abrufen und klonen: Code aus Repositorys wie GitHub abrufen, in die virtuelle Maschine klonen und mit der Arbeit beginnen.
- Pull Request erstellen: Nach Abschluss der Codeänderungen werden diese als Pull Request vorgeschlagen.
- Asynchrone Arbeit: Codierungs-Aufgaben können im Hintergrund ausgeführt werden, während Benutzer andere Aufgaben verwalten.
- Audio-Zusammenfassung (CodeCast): Sie können Audio-Zusammenfassungen der aktuellen Code-Aktivitäten erstellen.
Wie unterscheidet sich ChatGPT von der neuen Funktion „Codex"?
Was ist Codex?
Codex ist mit einem speziellen großen Sprachmodell „codex-1" ausgestattet, das von OpenAI entwickelt wurde. Dabei handelt es sich um ein intelligentes Modell, das auf dem neuesten Modell „o3" basiert und für die Softwareentwicklung optimiert ist und die Codierungsstile und Erkenntnisse erfahrener Senior Engineers berücksichtigt.
Möglichkeiten
- Code-Vervollständigung, Vorschläge, Generierung (Echtzeit)
- Code-Generierung aus Kommentaren
- Vorschläge für Funktionen und Methoden im bestehenden Code
- Stärken bei Fixes und Erweiterungen für bestehende Codebasen
Codex/Copilot hilft hauptsächlich als "Eingabehilfe" in Echtzeit beim Schreiben oder Ändern von bestehendem Code. Es fungiert als ein KI-Pair-Programmer (Coding-Assist-Tool).
Jules hingegen agiert als "Substitute-Entwickler" – der große Unterschied liegt darin, dass Jules eigenständig eine breite Palette von Aufgaben vom Projektstart bis zum Projektende ausführen kann. Das bedeutet, dass Jules sogar die Anfangsphase eines völlig neuen Projekts von Grund auf aufbauen kann, weshalb der Fokus mehr auf der "Automatisierung von Entwicklungsaufgaben" liegt.
- Erstellung neuer Projekte möglich: Jules kann auf Basis von Anweisungen des Benutzers (z. B. "Erstelle eine grundlegende Webanwendung") die erforderliche Datei- und Verzeichnisstruktur von Grund auf erstellen und Code generieren.
- Tiefe Integration mit GitHub-Repositories: Jules klont das vom Benutzer angegebene GitHub-Repository in eine virtuelle Umgebung und arbeitet darin. Dies ermöglicht nicht nur Änderungen an einzelnen Dateien, sondern strukturelle Änderungen im gesamten Repository, das Hinzufügen neuer Dateien und das Löschen vorhandener Dateien – Jules kann das gesamte Projekt manipulieren.
- Autonome Arbeit: Jules führt den gesamten Prozess selbstständig durch – von der Initialeinrichtung des Projekts über die Dateierstellung, Code-Generierung, Testausführung bis zur Erstellung von Pull Requests.
Jules besitzt ein hohes Maß an Autonomie und kann die gesamten Entwicklungsaufgaben übernehmen – praktisch wie ein "Substitute-Programmer"!
Probiert es selbst aus!
So funktioniert Jules
Jules funktioniert hauptsächlich über eine Chat-basierte Benutzeroberfläche, über die man Anweisungen erteilt.
1. Zugriff auf Jules: Sie können darauf zugreifen von jules.google.com.
2. GitHub-Repository verbinden: Wählen Sie das GitHub-Repository und den Branch aus, an dem Sie arbeiten möchten. Für diesen Test haben wir ein "jules-test"-Repository vorbereitet.
3. Anweisungen per Prompt: Auch auf Deutsch geht es! Dieses Mal implementieren wir eine digitale Uhr in JavaScript.
4. Implementierungsplan genehmigen: Jules präsentiert zunächst einen Implementierungsplan. Der Benutzer überprüft diesen und gibt die Genehmigung. Das Erstellen eines strukturierten Arbeitsablaufs macht das Ganze sehr verständlich!
5. Codierung ausführen und Fortschritt überprüfen: Sobald der Plan genehmigt ist, beginnt Jules automatisch mit dem Codieren und meldet den Fortschritt.
Es braucht zwar ein bisschen Zeit, aber die Dateien index.html, script.js und style.css wurden generiert!
6. Änderungen überprüfen und genehmigen: Sobald die Änderungen abgeschlossen sind, erstellt Jules einen Pull Request mit den Unterschieden (Diff). Der Benutzer überprüft ihn und genehmigt ihn, um die Änderungen ins Repository zu übernehmen.
Commit-Nachrichten sind oft schwer zu formulieren, oder? Jules erstellt eine Zusammenfassung automatisch!
Wenn ich den Branch pullen... werden die Dateien im Editor generiert!
Die Browser-Vorschau sieht so aus!
Bei bisherigen AI-Funktionen war es so: Wenn man einen Prompt wie „Implementiere eine Uhr mit JavaScript" eingab, erhielt man nur Erklärungen zu Implementierungsschritten und Code-Inhalten. Diese Funktion hier führt jedoch die gesamte Arbeit durch – von der Dateierstellung bis zur Integration mit Git!
Allerdings, bei einer so einfachen Implementierung wie dieser scheint es kein Problem zu sein, sie komplett auszulagern. Aber ich frage mich wirklich, wie groß die Implementierungen sein können, die man tatsächlich komplett abgeben kann...
Lassen Sie mich also zusätzlich anfragen, die Verzierungen „prächtiger zu gestalten".
Sie haben mir einige Vorschläge gemacht, aber ich vertraue mich Ihnen an.
Er hat den Hintergrund in einen Farbverlauf geändert!
Es erstellt einfach durch die Erstellung eines Repositoriums Dateien von Grund auf, führt das Coding durch und pushed alles bis zu Git – das ist wirklich ein Ersatz-Programmierer!
Derzeit wird es jedoch als Betaversion angeboten und es gibt Nutzungsbeschränkungen (z. B. 5 Aufgaben pro Tag).
Darüber hinaus brauchten die Erstellung von Dateien und die Programmumsetzung etwas Zeit, und die Eingabefelder hatten Fehler, die verhinderten, dass die Eingaben korrekt widergespiegelt wurden.
Wenn Jules auf einen Fehler trifft, werden die Änderungen bis zu diesem Punkt nicht committed, sodass Arbeitsdifferenzen bis dahin möglicherweise nicht berücksichtigt werden.
Ich bat darum, die JavaScript-Uhrenimplementierung diesmal zu Next.js zu portieren, und das funktionierte wunderbar – die Konvertierung zu Next.js und das Setup der Umgebung waren erfolgreich. Allerdings trat während des Prozesses ein Fehler auf, und die Next.js-Dateien konnten letztendlich nicht lokal abgerufen werden. Trotz aller Bequemlichkeit wurde mir bewusst, dass Next.js durchaus erhebliche Nachteile mit sich bringt.
Fazit
Wenn Jules immer intelligenter wird, könnten wir lästige Routineaufgaben an Jules delegieren und hätten viel mehr Zeit für das Erlernen neuer Technologien und unsere Hobbys!
Jules könnte sich durchaus als die perfekte Begleitung für Entwickler entpuppen und gängige Entwicklungspraktiken grundlegend verändern!
Ich konzentriere mich auf Markup und entwickle Frontends mit JavaScript, React und Next.js. Es freut mich immer, wenn die Websites, an denen ich mitgearbeitet habe, erfolgreich veröffentlicht werden! Mein Hobby ist Gitarrespielen. Ich mag Katzen und gebackene Süßkartoffeln 🐱🍠
Hiraicchi
Frontend-Engineer / Eintritt 2022