AI-Code und Software-Handwerkskunst
(alexwennerberg.com)- Von KI erzeugter minderwertiger Content, sogenannter „Slop“, breitet sich im gesamten Internet aus; ein ähnliches Phänomen zeigt sich neben Musik, Video und Text inzwischen auch im Softwarebereich
- Die Produktion von Inhalten konzentriert sich auf Optimierung mit dem alleinigen Ziel, Engagement und Erträge zu maximieren, während Handwerkskunst und Kreativität auf dem Rückzug sind
- Der Qualitätsverlust und technische Verfall bei großen Technologieunternehmen setzte schon vor dem Aufkommen von KI ein; eine enge Arbeitsteilung schwächt Können und Denkvermögen von Engineers
- KI-Agenten sind für klar definierte, wiederkehrende Aufgaben nützlich, haben aber grundlegende Grenzen: Sie halluzinieren, verstehen Code nicht richtig und erzeugen schlechten Code
- Wie bei der Arts-and-Crafts-Bewegung des 19. Jahrhunderts ist es an der Zeit, auch in der Software die Ideen des frühen Computings wiederherzustellen und eine menschenzentrierte Handwerkskultur zu beleben
Die Ausbreitung von AI Slop und der Begriff der Technik
- Seit der Veröffentlichung von KI-Modellen ist die Menge an minderwertigen KI-Inhalten, die als „Slop“ bezeichnet werden, in Audio, Video und Text stark angestiegen
- Trash-Content gab es schon immer, aber durch KI hat sich die dafür nötige Arbeit um ein Vielfaches verringert
- Bei Aufgaben ohne Urteilsvermögen oder bei denen Urteilsvermögen keine Rolle spielt hat KI ein Niveau erreicht, auf dem sie menschliche Arbeit ausreichend ersetzen kann
- Jacques Elluls Begriff der „technique“: eine Denkweise, die Tätigkeiten auf eine Menge effizienter Mittel zur Erreichung messbarer und definierter Ziele reduziert
- Instagram-Reels, YouTube-Videos und Blogposts gelten als „gute“ Ergebnisse, wenn sie mit minimalem Aufwand maximale Aufmerksamkeit erzeugen
- Die Fixierung auf Metriken und Leistung verdrängt immaterielle Werte wie Handwerkskunst, Schönheit und Freude
Vergleich von Musikplattformen: Bandcamp vs. Spotify
- Bandcamp: Fokus auf ganze Alben und persönliche Kuratierung
- Trug den Indie-Musikboom der 2010er- und 2020er-Jahre mit und half Artists wie Car Seat Headrest, Mitski, Alex G und Phoebe Bridgers beim Aufstieg
- Als Plattform, die die Musik selbst ins Zentrum stellt, verbietet sie KI-generierte Musik
- Spotify: ein Modell auf Basis von Playlists und algorithmischen Empfehlungen
- Der Fokus liegt stärker auf Metrik-Optimierung als auf der Musik selbst
- Verbreitung von glatter, auf Algorithmen zugeschnittener Muzak
- In einem Umfeld, in dem Handwerkskunst nicht zählt, kann KI massenhaft Content erzeugen, der in Sachen „Ertragsmaximierung“ viel vorteilhafter ist als von Menschen gemachte Musik
Qualitätsverlust in der Softwarebranche
- Schon vor dem Aufkommen von KI befand sich viel Software insgesamt in einem Zustand allgemein niedriger Qualität
- Software Engineering in großen Technologieunternehmen ist eher zu „plumbing“ geworden
- Die Arbeit beschränkt sich darauf, verschiedene Systeme zu verbinden, damit Daten fließen
- Richard Hammings Idee von „great work“, also etwas als Geschenk an die Menschheit zu schaffen, gilt in der heutigen Tech-Industrie als übermäßig idealistisch
- Viele große Softwaresysteme sind aufgebläht, schlecht entworfen und unzureichend dokumentiert
- Nutzerinnen und Nutzer befinden sich in einer dauernden Abwehrhaltung, um im Prozess der immer schlimmer werdenden „Enshittification“ von Plattformen nicht ausgenutzt zu werden
- Zustimmung zur Perspektive aus Jonathan Blows Vortrag Preventing the Collapse of Software Civilization
- Professionelle Engineers und große Softwareunternehmen haben vergessen, wie man Arbeit überhaupt richtig macht
- Durch Strukturen nicht-wettbewerblicher Monopole sind sie vor Marktdruck geschützt
- Softwarepraktiken werden lockerer
- Organisationen werden aufgebläht
- Die Gesamtqualität sinkt deutlich
- Big-Tech-Engineers erfüllen innerhalb großer Organisationen nur extrem begrenzte Rollen
- Breite Engineering-Fähigkeiten und Handwerkskunst verkümmern dadurch ganz natürlich
Humankapital und das Problem der Arbeitsteilung
- Was Unternehmen oder Gesellschaften mit Computern erreichen können, hängt vom Humankapital ab, also davon, wie viele Engineers mit breiten Fähigkeiten sie hervorbringen
- Die extreme Arbeitsteilung in großen Technologieunternehmen
- produziert eng spezialisierte Fachkräfte, die nur in bestimmten Bereichen fit sind
- verfestigt Personal, das nur innerhalb der heutigen Big-Tech-Organisationsstrukturen funktionieren kann
Zwei Entwicklungen zeigen sich darin, dass KI zu einer Bedrohung für Software Engineering wird
- 1. Die realistische Einsicht, dass KI-Agenten professionelles Software Engineering bedrohen
- Für Engineers, deren Rolle auf wiederholbare und eng umrissene Produktion minderwertiger Software reduziert wurde
- funktioniert KI tatsächlich als recht effektiver Ersatz
- 2. Die überzogene Verallgemeinerung der Fähigkeiten von KI-Agenten
- Die Behauptung, KI könne „das meiste, vielleicht alles“ im Software Engineering erledigen
- Die Analogie, sie sei wie ein Compiler, der menschliche Sprache in Code umsetzt
Grundlegende Grenzen von KI-Agenten
- Damit solche Behauptungen tragen, braucht es eine extrem verengte Sicht darauf, was Software ist
- So wie KI-generierte Musik nur aus einer Perspektive funktioniert, die Musik bloß als Konsum-Metrik betrachtet
- Software wird dann nur als Mittel zur Zweckerreichung gesehen, nach dem Motto: „gut genug ist gut genug“
- Aus direkten Experimenten mit KI-Agenten ergibt sich: Sie sind klar nützlich, haben aber deutliche Grenzen
- Sie tragen Falsches überzeugend vor, verstehen Kontext nicht richtig und erzeugen häufig minderwertigen Code
- In manchen Bereichen mag es Verbesserungen geben, aber wie bei Musik oder Text sind strukturelle Grenzen klar erkennbar
- KI-Agenten haben kein eigenständiges Denken und können nicht selbst herausfinden, was Nutzende eigentlich wollen
- Am besten funktionieren sie, wenn das Problem klar definiert ist
- Beispiel: „Schreibe Unit-Tests“, „Implementiere eine DB-Funktion in dieser Form“
- Versuche, ihre Fähigkeiten zu verallgemeinern, scheitern meist
- Oft produzieren sie monsterhaften Code, der zwar neu wirkt, sich aber schwer warten, verstehen und erweitern lässt
Die Probleme von „Vibe Coding“
- Anfangs wirkt es beeindruckend, doch mit der Zeit treten eigene Schwächen deutlich hervor
- unnötig weitschweifiger Code und liebloser Stil
- einfache Struktur, aber flaches und ästhetisch dürftiges Design
- wiederkehrende typische Spuren, die zunehmend störend wirken
- Wenn Probleme auftreten, wird Debugging zu einer frustrierenden Schleife aus Wiederholungsarbeit
- Man schaut nebenbei andere Videos oder scrollt durch Social Media und codet halbherzig weiter
- Dabei wiederholt man gegenüber dem Agenten immer wieder nur: „Da ist ein Bug, bitte nochmal reparieren“
- Häufige Merkmale von KI-generiertem Code
- übermäßig gepolsterte Buttons
- inkonsistente Abstände und Farben
- allgemeine ästhetische Flachheit
- UI-Elemente, deren Daseinszweck unklar ist
- die Tendenz, jedem Element unnötige Labels und Erklärungen hinzuzufügen
Systemische Probleme der Softwareindustrie und die Notwendigkeit von Handwerkskunst
- Es ist schwer zu bestreiten, dass der meiste Code nicht besonders gut ist, besonders in Umgebungen großer Unternehmen
- Mit KI lässt sich minderwertige Software noch schneller und effizienter weiterproduzieren
- Doch KI löst nicht die zentralen systemischen Probleme der Softwareindustrie
- Das Grundproblem ist, dass bis heute nicht geklärt ist, wie man in großem Maßstab wirklich gute Software baut
- Um dieses Problem zu lösen, braucht es nicht Automatisierung, sondern Handwerkskunst und kritisches menschliches Denken
Die Arts-and-Crafts-Bewegung und die Parallelen zur Software
- Aufmerksamkeit gilt der Arts-and-Crafts-Bewegung der Zweiten Industriellen Revolution
- John Ruskin und William Morris reagierten auf eine Zeit, in der die erstaunlichen Fähigkeiten von Maschinen und industrieller Produktion einzelne Handwerker verdrängten
- Sie sahen industrielle Produktion nicht einfach als Fortschritt, sondern erkannten, dass ihre Produkte und Arbeitsbedingungen einen eigenen „Stil“ hervorbringen
- Sie kritisierten, dass Arbeiter zunehmend zu Bestandteilen einer riesigen industriellen Maschine herabgesetzt wurden
- Sie wiesen darauf hin, dass es Bereiche gibt, die Maschinen nicht leisten können, und dass das damals wie heute gilt
- Als Inspirationsquelle strebten sie eine Wiederbelebung mittelalterlicher Handwerkskunst an
Ein ähnlicher Wandel ist in der Software nötig
- Auch im Softwarebereich braucht es einen ähnlichen Wandel und eine ähnliche Bewegung
- Die Arbeitsweisen und Denkformen des frühen Computings müssen erneut untersucht und wiederbelebt werden
- Es gibt eine reiche Schatzkammer von Ideen, die vom Mainstream ignoriert wurden, aber nie verschwunden sind
- Projekte, die auf andere Weise als heutige Software beeindruckend und schön waren
- Derzeit befinden wir uns auf einem sehr schmalen Ast der technologischen Entwicklung, nämlich auf dem Pfad von C/Unix zu Javascript/Web
- Jenseits davon gibt es viel mehr zu erkunden
- Schon bei einer etwas unkonventionellen Richtung verschwindet die Hilfe von KI fast vollständig
- Beim Versuch, Claude Forth schreiben zu lassen, war das Ergebnis eher hinderlich als hilfreich
- Als Ausgangspunkt wird das Permacomputing-Wiki empfohlen
Ausblick auf das Zeitalter des KI-Codes
- KI-Code könnte minderwertige Massenproduktions-Software noch alltäglicher machen
- Gleichzeitig könnte er für Engineers, die Handwerkskunst und kreativen Ausdruck wiederherstellen wollen, neue Räume öffnen
- Kein Pessimismus: Je seltener Handwerkskunst wird, desto wertvoller wird sie an sich
- In einem Moment, in dem Mainstream-Software ihre Grenzen zeigt, der Qualitätsverfall weitergeht und durch ein politisches Problembewusstsein der Wert zentralisierter Strukturen neu geprüft wird
- ist dies ein guter Zeitpunkt für experimentelle, von Menschen gemachte und in menschlichem Maßstab betriebene Software, um am Rand zu leuchten
1 Kommentare
Hacker-News-Kommentare
Mir gefiel der Verweis auf Jacques Ellul.
Er bringt einen dazu, erneut über das Wesen des technischen „Fortschritts“ nachzudenken: dass er Effizienz zum höchsten Wert erhebt.
Interessant ist, wie weitgehend dieser Wert nahezu unwidersprochen akzeptiert wurde. Ich glaube aber weiterhin, dass andere Entscheidungen möglich sind.
Effizienz geht ihrem Wesen nach auf Kosten von Anpassungsfähigkeit und Resilienz.
Handwerkskunst, Sorgfalt und Staunen hingegen lassen sich schwer messen. Meine Metrik sind die E-Mails echter Menschen, und die sind unregelmäßig und unvorhersehbar.
Ich denke, dass sich auch mit Coding-Agenten hochwertiger Code erzeugen lässt.
Es ist nichts, was mit einem einzigen Prompt erledigt ist; nötig ist ein orchestrierter Prozess aus Planung, Implementierung, Verifikation und Review.
Am Ende ist es immer noch Engineering-Arbeit, nur mit anderen Werkzeugen. Wie der Unterschied zwischen Handsäge und Kettensäge: Das Ergebnis ist gleich, aber der Prozess anders.
Enterprise-Software ist vor allem deshalb schlecht, weil sie an Manager verkauft wird, die sie nicht benutzen.
Consumer-Software ist dagegen oft benutzerfreundlicher, weil die Nutzer sie selbst auswählen.
Wenn man Code für sich selbst schreibt, implementiert man nur die Funktionen, die man braucht; dadurch ist er oft grob, funktioniert aber gut.
Coding-Agenten kann man wie einen Hochdruckreiniger verwenden, um ein Projekt zu säubern. Es ist keine Kunst, aber befriedigend.
Für filigranen Code sollte man sie allerdings nicht einsetzen. Aber die meisten Web-Apps sind gut getestet, und inzwischen gibt es kaum noch einen Grund, alles von Hand zu machen.
Das Ergebnis ist eine Flut von unnötigen Features und Toggles.
Manager wollen Datenkorrektheit, während Mitarbeiter sich darüber beschweren, dass die Eingabe lästig ist.
Oft gibt es kein Integrationsbudget oder nur Kurzzeitverträge, sodass nicht einmal eine CRM-Integration möglich ist.
Enterprise-Software wird dagegen durch die Fehlanreize zwischen Zahlern und Nutzern in seltsame Workflows verzerrt.
Die meisten Softwareingenieure haben sich schon vor AI eher auf Gehalt und Effizienz als auf Handwerkskunst konzentriert.
Deshalb ist auch der von AI erzeugte Code nur mittelmäßig.
Ich glaube nicht, dass AI die Handwerkskunst wiederbelebt, sondern vielmehr auch die letzten Spuren davon beseitigen wird.
So wie Elektrowerkzeuge das handwerkliche Holzarbeiten nicht ausgelöscht haben, wird es auch mit AI sein.
In Zukunft werden „IDE-Menschen“ und „Agenten-Prompt-Menschen“ nebeneinander existieren.
Ich habe mich gefreut, Forth erwähnt zu sehen. Ich benutze es oft.
Von LLMs erzeugter Forth-Code hat einen schlechten Stil, als wäre C übersetzt worden.
Standard-Forth sollte kurz und klar sein, aber LLMs erzeugen langen Code voller verschachtelter Bedingungen.
Ich lese gerade Turing’s Cathedral.
Das führt einem die Ingenieur-Handwerkskunst im Amerika der Nachkriegszeit noch einmal deutlich vor Augen.
Heute scheint man alles für selbstverständlich zu halten und vergessen zu haben, was echtes Engineering einmal war.
Der meiste Code war schon immer ziemlich schlecht.
In einer ergebnisorientierten Kultur wurde Qualität zur Nebensache, und Bugs wurden Teil der Geschäftskosten.
AI passt perfekt in dieses Umfeld. Sie gedeiht in einer ohnehin schon niedrig angesetzten Codekultur.
Ich denke, dass sich mit AI bessere Software bauen lässt.
Auch in AI-generiertem Code kann man Design, Patterns und Best Practices abbilden.
Das ähnelt dem Unterschied zwischen traditionellem Gitarrenbau und modernem CNC-basiertem Gitarrenbau.
Wenn man sich Ulrich Teuffels Video über Gitarrenbau ansieht, erkennt man, dass Technik und Kunst koexistieren können.
Natürlich ist Handwerkskunst teuer, daher entscheiden sich die meisten für industriell gefertigte Produkte.
Sie werden bereits in großen Projekten eingesetzt, aber die langfristigen Ergebnisse sind noch ungewiss.
Algorithmen, die ich früher selbst geschrieben habe, überlasse ich heute einem Agenten.
So wie ich statt manueller Fräsarbeit CNC nutze, entwickle ich meinen Tech-Stack weiter und erschaffe Werke von höherer Qualität.
Wenn man mit AI billiger schlechte Software herstellen kann, ist das in Ordnung.
Entscheidend ist, ob der Anteil guter Software steigt. AI erhöht diese Wahrscheinlichkeit.
AI gedeiht in Umgebungen, die Software auf „gut genug“ optimieren.
Sie ersetzt nicht in erster Linie hervorragende Ingenieure, sondern legt die bereits mechanische und metrikengetriebene Realität der Branche offen.
Je verbreiteter massenhaft erzeugter Code wird, desto mehr werden menschliche Urteilskraft und ästhetisches Empfinden zu wirklich knappen Ressourcen.