Scary but fun
Okay, es gibt diesen alten Song von Grace Jones namens "Scary But Fun". Kennt vermutlich keiner. Musste trotzdem an den denken. Denn die guten LLMs können jetzt auch richtige große Umbauten fehlerfrei. ChatGPT 4o war an so etwas noch krachend gescheitert.
Ich bastle ja an diesem Backgammon-Trainings-Quiz. Das habe ich erst mal für mich entwickelt. Ganz einfach. Man speichert alle Quiz-Positionen in einer Textdatei. Man speichert seinen User und Passwort für DailyGammon einfach in einer Textdatei. Es gibt auch nur einen User, mich.
Das wollte ich jetzt ändern, ein Produkt aus einem Prototyp machen. Sowas ist Aufwand. Auch konzeptueller, hirnfordernder Aufwand. Man muss eine Datenbank etablieren. Man muss allen Code, der die Textdateien liest oder schreibt, auf die Datenbank umändern. Man muss sich darum kümmern, dass die Daten der verschiedenen User sauber getrennt sind. Man muss einen Login-Screen und ein Authentifizierungskonzept machen. Man muss - in meinem Beispiel - dafür sorgen, dass nicht 20 User gleichzeitig Gnu Backgammon starten (was meinen kleinen virtuellen Server überlasten würde).
Ihr seht, da kann man viel falsch machen.
Also, einen etwa 30 Zeilen langen Prompt, also eher ein Spezifikationsdokument geschrieben. Es dabei nicht übertrieben - eine solche Änderung kann man auch in 200 Zeilen spezifizieren. Und in Cursor die AI mit dem wunderschön einfachen Namen GPT-5.1 codex (high) gestartet.
Die AI hat dann irgendwo zwischen 15 und 30 Minuten gewerkelt. Mein Job war: ab und zu okay klicken.
Danach war die App umgebaut. Perfekt. Makellos. Mit kleiner Datenbank. Mit Login. Mit einer User-Warteschlange auf DailyGammon Analysen (die im UI auch gezeigt wird).
Bin beeindruckt.
Scary but not fun at all
Doch irgendetwas stimmte nicht. Die Quiz-Positionen, die ich angeblich falsch gespielt hatte, habe ich im Quiz praktisch immer korrekt erraten. Entweder spiele ich im echten Leben extrem unkonzentriert, oder die App macht immer noch was falsch - ich hatte vor Wochen eine lange und unerfreuliche Debug-Session, weil die AI einfach die sogenannte Gnu ID - ein 70-Zeichen String, der eine erst binär und dann base64-codierte Position beschreibt, nicht korrekt erzeugen wollte.
"Nicht schon wieder" dachte ich, aber es half nix. Die AI zeigte sich wieder hilflos, also musste ich selbst den vom LLM generierten Code debuggen. Und der Code war gar nicht so schlecht. Immer wieder mal gibt es ja "No Code" Frameworks, wo ein Normalo ein Programm graphisch beschreibt, und daraus eine Maschine algorithmisch Code erzeugt. Grauenvollen Code. Code, den kein Mensch debuggen müssen sollte. Kannst dir ja mal das HTML anschauen, das graphische Editoren erzeugen. So in etwa.
Aber der Code fühlte sich an, wie von einem Menschen gebaut, Debuggen war gar nicht so schlimm.
Am Ende stellte sich heraus: anders als im Schach wird im Backgammon der Anziehende ausgewürfelt. Es gibt also Partien, die anfangen mit
- Erster Zug Spieler 1, erster Zug Spieler 2
- Zweiter Zug Spieler 1, zweiter Zug Spieler 2
Und solche, die anfangen mit
1. ---- , erster Zug Spieler 2
2. Erster Zug Spieler 1, zweiter Zug Spieler 2
An das hatte das LLM nicht gedacht, und interpretierte die zweite Zugliste als
1. erster Zug Spieler 1, ----
2. zweiter Zug Spieler 1, erster Zug Spieler 2
Was dann zu falschen Stellungen führte.
Nachdem ich den Fehler gefunden hatte, hat die AI (diesmal das geniale Claude Opus 4.5) ihn sofort makellos behoben.
Und jetzt?
Wieder gelernt: manchmal muss man selber ran. Und das muss man können. Für mehr als ganz einfache Apps sind auch die neusten AIs immer noch nicht weit genug, zumal wenn es um ein exotisches Thema wie Backgammon-Apps geht, von denen Github nicht voll ist.