IKEA-KI

Nachdem Kathrin Passig in Bezug auf LLM-gestützes Programmieren lange Zeit als pragmatische Optimistin aufgetreten war, ist sie nun auf ein bekanntes und sehr frustrierende Phänomen gestoßen, dass LLMs beim gemeinsamen vibe coding große Probleme mit der vollständigen Zielerreichung haben:

Das .tex-Ergebnis sieht dem Ergebnis des bisherigen Skripts schon ziemlich ähnlich, als ich merke, dass die Tags zu den Blogbeiträgen fehlen (sie bilden im PDF das Stichwortverzeichnis). Und die lassen sich dann trotz stundenlanger gemeinsamer Mühen nicht beschaffen. Codex macht Vorschläge, ich setze die Vorschläge um und sage nope, still the same, no tags.

Irgendwann muss ich Codex ermahnen, dass es jetzt aber mal Zeit für systematisches Debugging statt Rumprobieren wäre. Dann machen wir das, dabei kommt auch nach langer Suche raus, an welcher Stelle und warum die Tags verschwinden, aber trotzdem lassen sie sich nicht wieder zum Vorschein bringen. Von Codex nicht und auch von mir nicht, denn ich verstehe den schönen, neuen, schlauen Code nicht.

Ich glaube, das liegt nicht nur an mir. Er ist, obwohl ich sehr explizit darum gebeten habe, kaum kommentiert (ich müsste Codex offenbar bei jeder neuen Frage wieder daran erinnern), und die Abfolge der verschiedenen Text-Transformationen kommt mir nicht viel weniger verworren vor als in meiner eigenen Version. Die Dateien haben zwar schöne Namen wie Parser.pm, Normalizer.pm, Transformer.pm, Renderer.pm", aber bei vielen Vorgängen lässt sich nicht so genau sagen, in welche dieser Schubladen sie gehören, und andere stehen vielleicht in der falschen Datei, weil sie dort in einer logischeren Nähe zu verwandten oder zeitlich aufeinanderfolgenden Codeteilen sind. Vielleicht habe ich auch nur eine unrealistische Vorstellung davon, wie aufgeräumt Code überhaupt sein kann, und das, was Codex da produziert, ist schon das Optimum.

Die Verwirrung von Codex hat, soweit ich das erkennen kann, die gleiche Ursache wie meine eigene Verwirrung beim Betrachten des alten Codes: Es ist schwer zu überblicken, ob das, wonach man sucht, in diesem Moment überhaupt noch existiert oder schon in einem früheren Arbeitsschritt geändert oder gelöscht wurde. Codex führt immer mehr Zwischenstände wie $dom_without_titles, $html_with_authors, $without_footnotes, $raw_tags ein und verheddert sich irgendwann zwischen ihnen. Glaube ich.

Jedenfalls verstehe ich – gradually, and then suddenly –, worüber sich die Leute beschweren, deren traurige Beiträge über gescheitertes Codeschreiben mit LLMs ich in den letzten Monaten gelesen habe.

Nach insgesamt etwa acht Stunden Arbeit werfe ich alles hin. Meine alte Version ist kompliziert und scheiße, aber ich glaube nicht mehr daran, dass eine neue weniger kompliziert und scheiße sein wird.

KI taugt für Billy-Regale, aber nicht für Maßküchen.