Mit Claude 3.5 ist der Spass am Programmieren dahin

Die neue KI von An­thropic rotzt ohne mit der Wimper zu zucken den Quell­code für ein Com­puter­spiel hin, an dem ich stun­den­lang ge­tüf­telt habe. Ich bin be­geistert – und traurig, so brutal in den Schat­ten ge­stellt wor­den zu sein.

Meine Güte, wie grossartig ist das denn! Und wie schrecklich gleichzeitig!

Claude 3.5 Sonnet: Das ist das neue Sprachmodell, das Anthropic Ende letzter Woche lancierte hat¹. Da ich auf Twitter hohes Lob über die Code-Generierung gelesen habe, wollte ich genau das ausprobieren. Wird Claude dieses Mal den Erwartungen gerecht, nachdem ich beim letzten Update eher enttäuscht war²?

Im Test, der diese Frage klären soll, will ich eine Javascript-Variante meines Spiels Clickomania. Ich gebe Claude keinerlei Vorgaben oder Hinweise zu den Spielregeln. Die Instruktionen umfassen lediglich diese zwei Sätze: «Do you know the game Clickomania? Can you provide me the javascript code to play it in the browser?»

Claude liefert zum Quellcode die Erklärung gleich mit

Claude legt sofort los und erzeugt um die 130 Zeilen Javascript-Code. Er ergänzt auch zwei CSS-Anweisungen, mit denen das Spielfeld und die einzelnen Spielsteine (Tiles) formatiert werden.

Und er liefert eine Erklärung, was der Code tut: Er erzeugt erstens das Spielfeld und zeigt es an. Er reagiert zweitens auf Klicks und stellt fest, welche Steine eine Gruppe bilden. Beim Klick entfernt er die Gruppe mit den gleichfarbigen Steinen und ordnet die restlichen neu an. Und der Code merkt, wenn das Spiel zu Ende ist.

Jetzt bin ich natürlich sehr gespannt. Ich bastle eine HTML-Seite mit Code und Javascript und öffne sie im Browser. Ich sehe ein Spielfeld und den Knopf New Game, aber keine Spielsteine. Also kopiere ich meinen HTML-Code ins Eingabefenster und frage, ob das in Ordnung sei.

Claude klopft mir auf die Schulter

Claude lobt mich: «Du hast das Clickomania-Spiel mit dem von mir zur Verfügung gestellten Code hervorragend umgesetzt!» Er nimmt aber auch die Gelegenheit wahr, mich dezent auf ein Versäumnis hinzuweisen: «Die wichtigste Änderung, die ich vorgenommen habe, besteht darin, den Initialisierungscode in einen DOMContentLoaded-Ereignis-Listener zu verpacken. Dadurch wird sichergestellt, dass das DOM vollständig geladen ist, bevor wir versuchen, auf Elemente zuzugreifen und das Spiel zu starten.»

Und siehe da: Mit dieser Änderung funktioniert es. Ihr könnt euch hier gern selbst davon überzeugen:

Alles in allem dauert diese Arbeit kaum eine halbe Stunde. Es könnte noch viel schneller gehen, wenn ich auswendig wüsste, wo und wie im HTML-Code die Style-Deklaration und der Scriptcode platziere.

Jetzt fehlen mir in der Tat die Worte. Ich fühle mich zurückversetzt ins Jahr 1997, als ich versuchte, die allererste, rudimentäre Version con Clickomania zum Laufen zu bringen. Es war ein Feiertagsprojekt, das ich zwischen Weihnachten und Neujahr 1997 in Angriff genommen habe, um mich mit der Delphi-Programmierumgebung vertraut zu machen. Ich weiss nicht mehr, wie lange ich gebraucht habe, bis es funktionierte. Aber ein, zwei Tage waren es sicherlich.

Ich brauchte zwei Tage, Claude ein paar Sekunden

Wie wäre es gewesen, wenn ich damals Claude 3.5 zur Verfügung gehabt hätte? Ich wäre viel schneller zum Ziel gekommen und es wäre mir erspart geblieben, mich durch dicke Bücher zu kämpfen, die mir die Syntax von Pascal, die Merkmale von Delphi und die Grundlagen der Windows-Programmierung erklärt haben. Aber garantiert wäre auch die Begeisterung nicht so gross gewesen, als mein Programm irgendwann tatsächlich das gemacht hat, was ich mir vorgestellt habe!

Das war ein Aha-Erlebnis. Es hat meine Begeisterung für Computer nicht geprägt, aber verfestigt.

So sieht es aus, wenn Claude auf eine kurze Frage gleich ein fixfertiges Game liefert. Gut zu erkennen hier das «Artifact» rechts mit dem Programmcode.

Es war erst im Februar, als ich mich hier im Blog mit der Frage beschäftigt habe, ob dank ChatGPT nun jeder ein Programmierer sein wird. Nach diesem Erlebnis stellt sich die Frage jetzt umgekehrt: Ist bald keiner mehr ein Programmierer? Weil Claude 3.5 den Job für uns macht?

Vermutlich wird es sein wie immer, wenn die KI sich eine neue Fähigkeit aneignet, die vorher das besondere Merkmal einer bestimmten Berufsgruppe war: Es wird sich zeigen, dass die menschliche Erfahrung nicht so leicht durch die KI zu ersetzen ist.

Die Profis werden Haare in der Suppe finden

Das wird bei der Softwareentwicklung sicherlich nicht anders sein: Wer die Entwicklung nicht bloss als Hobby betreibt, sondern zum Broterwerb, der wird Claude schnell an Grenzen treiben. Auch in diesem Feld wird sich zeigen, dass der KI die Rolle des Helfers und des Assistenten zusteht und für die kreative Leistung, die Liebe und das Feuer die menschlichen Cracks zuständig sind.

Und auch für mich ist es nicht unmöglich, Claudes Leistung zu relativieren. Es braucht nämlich nur eine einzige Google-Suche, um auf Javascript-Implementationen von Clickomania bzw. Same Game zu stossen.

Ein fieser Spielverderber!

Trotzdem fühle ich mich, als hätte mir Claude etwas weggenommen. Ich war nie ein grossartiger Programmierer, sondern eher Spaghetticode-Fabrikant. Trotzdem war das etwas, worauf ich mir etwas eingebildet habe.

Aber egal: Der wichtige Punkt ist doch, was dieser Entwicklungsschritt mit dem heutigen Nachwuchs macht. Hat der noch Spass daran, selbst Erfahrungen zu sammeln, sich auszuprobieren und in die Abgründe des Code-Schreibens und Debuggens abzutauchen, wenn Claude jegliche Einsteiger-Projekte schnell und nonchalant erledigt? Und ihnen auf die Schultern klopft, während er ihnen gnadenlos ihre Anfängerfehler aufdröselt?

Eben. Claude ist ein fieser Spielverderber.

Fussnoten

1) Dieses jüngste Update folgt dicht auf das vorherige. Claude 3 ist anfangs März erschienen und hat mich seinerzeit nicht überwältigt. Im Vergleich zu ChatGPT hat es mir meine Fragen durchs Band weg weniger präzis beantwortet und unverzeihliche Patzer fabriziert.

2) Längere Quellcode-Sequenzen und andere umfangreiche, eigenständige Inhalte erscheinen als sogenannte Artifacts. Das sind Informationen, die ausserhalb der Konversation in einem eigenen Bereich erscheinen.

Beitragsbild: Claude, wie er leibt und lebt (Jalal Ahmed, Pexels-Lizenz).

Kommentar verfassen