Jarvis — eine leistungsstarke KI für einen Programmierer

Nachdem ich Iron Man gesehen hatte, träumte ich seit der Kindheit davon, einen KI-Assistenten zu bauen: Mit Voice Commander richtete ich die Sprachsteuerung unter Windows 98 so ein, dass er die Maus bewegte und Programme startete, aber es wirkte eher eindrucksvoll als nützlich. Selbst Spracherkennung war damals eine gewaltige Aufgabe, und ein echtes Gespräch erwartete man nicht vor hundert Jahren.

Dann kam 2024.
Ich reifte als Programmierer, lernte Stacks und Frameworks und baute eigene Vorlagen, um beliebige Projekte schnell aufzusetzen. So bewegte ich mich langsam auf Startups zu und machte nebenher die übliche Auftragsarbeit.

Ich schrieb eine Menge Code mit ChatGPT und begriff, dass er auf meinen Vorlagen schreiben kann. Ich musste ihm nur sagen, wie alles aufgebaut ist.

Er kann mit meiner Datenbank arbeiten. Ich muss nur geschickt fragen und ihm Zugänge geben.

Routine gibt es reichlich, und GPT wirkte wie der ideale Weg, sie endlich loszuwerden.


Erste Version. Das ist der Kern der Anwendung: Sie nimmt Texteingabe, analysiert die Aufgabe, fragt GPT, was noch ergänzt werden muss, und schreibt es. Praktisch ist das der Copilot, der jetzt in viele IDEs kommt.

Als die ersten Ergebnisse im Code standen, war klar: Ich habe keine Codedateien, ich habe Projekte. Ich baute Projektunterstützung ein.

Ein Projekt ist nicht ein einzelner Ordner. Ich machte einen Ordnerscanner und einen Detektor dafür, was in dem Ordner liegt. In dieser Phase bekam Jarvis eine eigene Projektdatenbank. Bei unbekannten Ordnern fragte er, was das für ein Projekt ist und womit es sich beschäftigt, und setzte das in den Vor-Prompt, wenn etwas programmiert werden musste, weil er dann mehr über das Projekt wusste.

Datenbanksteuerung. Ich wollte schon lange, dass er die Datenbank selbst nach meiner Anfrage bedient, und das habe ich gebaut, samt Prüfung, ob der Code stimmt. Er kann nicht nur ein Feld anlegen, sondern alle Tabellen von Grund auf und sie füllen, wenn es nötig ist.

Dazu brachte ich ihm bei, mir Fragen zu stellen und sich am Rechner wie zu Hause zu fühlen: Er kennt die laufenden Prozesse, Fenster, Dateien und womit ich gerade beschäftigt bin, damit ich ihm nicht erklären muss, wo was zu tun ist.


Damit das Programmieren bequemer wird, bat ich Jarvis, mir ein VS-Code-Plugin zu schreiben, das Informationen fein abholt und sie zur Analyse an sich selbst zurückgibt. Und so habe ich es gemacht, ohne etwas vom Schreiben von Plugins zu verstehen.

Jarvis hat das für sich selbst getan.

Und nun hatte ich neben der Eingabeoberfläche eine enge Anbindung an die IDE.

Er zog Dateien aus VS Code, erkannte das laufende Projekt von selbst, holte Tabellenstrukturen und machte ein lokales Deployment.

ABER. Manchmal ist unklar, was er genau umgeschrieben hat. Ich gab ihm Git, damit man das Neue sieht und schnell zurückrollen kann. Nun legte Jarvis für seine Änderung einen eigenen Branch an und commitete die gelungenen selbst.


Es wurde Zeit, näher an meine Vorlagen zu kommen und das Nötige in Sekunden zu erzeugen.

Zuerst das Aufsetzen neuer Projekte: Ich habe alle meine Installationsskripte übernommen und sie mit Jarvis' Hilfe in C# neu geschrieben.

Ich habe Unterstützung für Vue 3 + TypeScript, Yii2, Bash und so weiter eingebaut, aber die Hauptsache ist mein automatischer Regenerator von Modellen aus Tabellen.

Jetzt kann Jarvis nicht nur die Datenbank anlegen, er richtet auch die Modelle selbst ein. Eine riesige Routine fiel von meinen Schultern. Er sollte noch die Migrationen nachziehen.


Arbeit

Jarvis war schon in mehreren meiner Projekte, und es bleiben immer weniger Stellen, die er nicht angefasst und mit seinem Git-Branch markiert hat, weil es einfach zu bequem ist.

Was kommt als Nächstes?

Wir werden sehen.