Als ich begann, mit ChatGPT die ersten Skripte und Programme zu entwickeln, war alles sehr rudimentär. Oft war das Verständnis für den Code oder die gewünschte Funktion stark an den Zeilen limitiert. Einfache Python-Skripte waren ok, bei komplexen Sachen wurde es schnell schwierig. Man musste versuchen, alles sehr modular zu bauen. Waren mehrere Files enthalten, musste man Daten austauschen und Schnittstellen von Hand bauen.
Allerdings ging das schon richtig gut. Die ersten Projekte mit Flask (Python WebApp Server) waren möglich, und man bekam Dinge und Möglichkeiten vermittelt, die man sonst nur gelernt hätte oder bei YouTube gesehen hätte.
Dann kam unter macOS der erste integrierte Client, der in TextEdit z. B. mitlesen und schreiben konnte. Das vergrößerte den Wirkbereich vom Verständnis auf ungefähr 250 Zeilen Code. Es war immer noch nötig, komplexe Abhängigkeiten zu beschreiben, aber wenn man etwas den Rahmen abstecken konnte, ging das auch.
Es war ab dem Zeitpunkt möglich, mit viel Text im Verständnis zu arbeiten, auch wenn die Ausgaben stark limitiert waren. Mit iOS 18 dann die Integration in Xcode, von dem ich vorher zwar wusste, aber das Thema Swift war in weiter Ferne. Bis dato war ich immer bei Webanwendungen, plattformunabhängig mit mobiler Ansicht an Handy-Apps angelehnt. Dank Vue.js (JavaScript) auch absolut mobiltauglich.
Die Integration von ChatGPT in Xcode hatte ich mir angesehen, ohne vorher das richtige Verständnis zu haben, wie iOS-Apps aufgebaut sind. Aber da bin ich schnell reingekommen. Dass es keine Pfad-Abhängigkeiten der Dateien zueinander gibt, finde ich großartig. Eigenes Telefon, EntwicklerTools aktiviert, ein einfaches Programm geschrieben – zack, die eigene App lief auf dem Telefon.
Naja, nicht direkt. Erst mal musste ich feststellen, dass mein Telefon für das aktuelle iOS 18 viel zu alt ist. Man konnte aber im Projekt die Mindestanforderungen heruntersetzen, und somit konnte ich die App starten.
Einfache Sachen mit ChatGPT waren ok. Das Ungünstige war aber, dass die Integration in Xcode anders läuft als die Nutzung von ChatGPT im Allgemeinen. Drittanwendungen werden extra mit sogenannten Token bezahlt. Einfacher Chat ist einfach und günstig. Im Cent-Bereich, sagen wir mal 1500 Token für 250 Zeichen Dialog, liegt geschätzt bei 0,01 Cent. Eine Anfrage in Xcode konnte aber sehr schnell mal fast 100.000 Token erzeugen. Damit hat man das freie, Apple-gesponserte Kontingent ratzfatz aufgebraucht.
Und prepaid bezahlte Token zu verbrennen war nicht unbedingt die Idee. Ein weiterer Punkt war, dass man schnell gemerkt hat, wie klug oder dumm ChatGPT doch ist. Das hängt stark davon ab, mit welcher Qualität des Modells man zu tun hat. OpenAI differenziert, einfache Anfragen an kleine und dumme Modelle zu routen, seit ChatGPT o1.
Eine Alternative musste her. Claude – naja, die 4 Anfragen, die man da frei hat, sind ok, aber zu wenig. Der kleine Account liegt preislich bei um die 20 € im Monat, vergleichbar mit ChatGPT. Aber die Integration in Xcode ist deutlich besser funktionell. Man muss aufpassen, dass man nicht zu komplex wird, sonst crasht Xcode, aber die Ergebnisse sind gut. Und das Limit ist schnell aufgebraucht. Anders als bei OpenAI ist Claude auch im Bezahlmodell limitiert. Verbraucht man sein Volumen, muss man bis zu 5 h warten, bis man weitermachen darf.
Die Challenge sind kurze, prägnante Sessions und dann Pausen machen, TV oder Essen. Ok, also Account upgraden: Für 90 € pro Monat erhält man das 5-fache an Tokens. Das reicht aktuell gerade gut aus, um im Zyklus kontinuierlich zu arbeiten.
Jetzt kommt die Magie: Xcode verwendet Claude Sonnet 4, ist aber direkt in Xcode ansprechbar und kann den Code einbauen. Claude Web kann Sonnet 4.5 oder Opus, noch besser, aber frisst schnell Token, wobei Opus wie ein gefräßiger Tiger ist. Claude Web kann nicht auf lokale Ressourcen zugreifen, aber auf GitHub. Und hat deutlich mehr Kapazität, mit Projektfiles zu arbeiten. Bei ChatGPT sind es 25 Dateien, bei Claude sind bei 100 Dateien ca. 20 % Projektgröße erreicht.
Wenn man ChatGPT komplexe Fragen stellt, bekommt man meistens das große, intelligente Pro-Modell. Jetzt kommt der Orchestrator: Ich definiere ChatGPT mein Problem mit der Info, Quellen aus dem Internet einzubeziehen. Lasse mir ein grobes Konzept erstellen, was ich machen möchte, inklusive Standards der üblichen Praxis (RFC, das sind genormte Routinen). Mit dem groben Konzept lasse ich Sonnet 4.5 oder Opus 4.1 ein Feinkonzept erstellen. Das lasse ich von GPT-o1 validieren. Danach lasse ich die Projekt- oder Change-Phasen von Sonnet 4.5 ausarbeiten, inklusive Code Samples oder vollständiger Lösung.
Und diesen umfangreichen, detailliert beschriebenen Plan gebe ich dann an Sonnet 4 in Xcode zum Einarbeiten. Es kommt vor, dass trotzdem kleine Fehler in der Integration entstehen beim Kompilieren der Software. Das lasse ich Sonnet 4 lösen. Merklich schafft es die erste Lösung nicht. Wird das Projekt zu GitHub synchronisiert, dann zu Claude Web, erzeugt Sonnet 4.5 einen globalen, projektbezogenen Patch, und Sonnet 4 arbeitet den dann rein.
Stelle ich fest, dass ich nicht vorankomme oder im Kreis drehe, wird GPT-o1 zur Gegenprobe einbezogen und validiert alles. Die Erkenntnisse spiegle ich an Sonnet 4.5 zurück und lasse einen Patch/Fix für Sonnet 4 erarbeiten … hat bisher 100 % Lösung gebracht.

Leave a Reply