- Selbst wenn man ein Projekt mit generativer KI fertigstellt, ist es schwer, das Erfolgserlebnis „Ich habe das gemacht“ zu empfinden, wenn die Person, die es in Auftrag gegeben hat, und die eigentliche ausführende Instanz nicht identisch sind
- Prompts erfordern Vision, Urteilsvermögen, Kommunikation und technisches Können, ähneln aber eher einer Fähigkeit, ein anderes Wesen mit der Herstellung zu beauftragen als der Fähigkeit, etwas direkt selbst zu machen
- Ein selbst geschriebenes, 177 Zeilen langes Spanisch-Flashcard-System dauerte etwa 50-mal länger als mit Claude, gab aber mehr Stolz als jeder von KI erzeugte Code
- Compiler, Assembler und Hammer fühlen sich wie Werkzeuge des Machers an, während eine auf menschliche Sprache reagierende KI wie eine angewiesene Person wirkt und so die Grenze zwischen Werkzeug und stellvertretendem Hersteller verwischt
- Auch Generierung mit KI kann ein schöpferischer Akt sein, aber ein Ergebnis fertigzustellen und es selbst zu machen sind in Bezug auf persönliche Erfüllung nicht dasselbe; auch diese Grenze ist schwer klar zu definieren
Wie KI-Entwicklung das Erfolgserlebnis verändert
- Entwickler, die generative KI und LLMs nutzen, erleben zugleich gegensätzliche Veränderungen
- Sie können Handwerkskunst beim manuellen Coden, Low-Level-Problemlösung und Spaß daran verlieren
- Zugleich kann High-Level-Problemlösung zunehmen, aufgeschobene Projekte werden fertig, und neuer Spaß kann entstehen
- Über diese Gewinne und Verluste hinaus ist die zentrale Frage, ob man ein von KI stellvertretend fertiggestelltes Ergebnis als etwas empfinden kann, das man selbst gemacht hat
- Ausgangspunkt ist die Erfahrung eines Entwicklers, der seit der Mikrocomputer-Ära der 1980er Jahre codet, 20 Jahre in der Branche gearbeitet hat und heute Informatik unterrichtet
- Auf der Skala zwischen KI-Utopie und Untergang verortet er sich selbst zu 65 % auf der Untergangsseite
- Er nutzt Claude Code und codet zugleich weiterhin selbst
Mit KI-Ergebnissen inszenierte „Vielseitigkeit“
- In der Einleitung erscheinen mehrere Ergebnisse, die so wirken, als seien sie selbst gemacht
- Der SF-Roman The Vorrkai Interval mit Kampfszenen
- Der pastellfarbene Holzschnitt Mirrors of the Machine
- Ein neu gebautes Eingangsdeck aus Zedernholz
- Code für ein TUI-Adventure-Roguelike in Rust
- Tatsächlich wurden Roman, Bild und Code von KI erzeugt, und das Deck wurde von bezahlten Facharbeitern gebaut
- Die eigene Rolle bestand darin, die Herstellung anzustoßen und Anforderungen zu übermitteln; deshalb fühlt es sich unangenehm an, zu sagen, man habe diese Dinge selbst gemacht
Warum es schwer ist, „Ich habe das gemacht“ zu sagen
- Bei einem von anderen gebauten Deck hält er es für genauer, zwischen „ich habe es eingebaut“ und „ich habe es einbauen lassen“ zu unterscheiden
- Auch bei von Claude erzeugtem Code sagt er nicht „ich habe ihn gemacht“, sondern „ich habe ihn für mich machen lassen“
- Auch dabei, einem KI-Erzeugnis ohne Arbeitsverhältnis eine MIT-Lizenz unter dem eigenen Namen zu geben, fühlt er sich unwohl und verwendet daher Unlicense
- Auch als Manager sagte er nicht „ich habe das Produkt gebaut“, sondern „unser Team hat es gebaut“; hätte er LLMs gemanagt, würde er sagen: „meine Agenten haben es gebaut“
- Ein Projekt abzuschließen ist an sich gut, aber wenn jemand anderes ein von einem selbst begonnenes Projekt fertigstellt, ist die Erfüllung deutlich geringer als beim direkten Herstellen
- Verloren geht nicht nur Coding-Können oder der Spaß an Problemlösung, sondern die Erfahrung, etwas selbst zu machen
Ein handgemachtes Flashcard-System mit 177 Zeilen
- Seine Frau bat um ein einfaches Spanisch-Lernsystem, bei dem sie gewünschte Wörter in ein Spreadsheet eintragen und als Flashcards ansehen kann
- Die Implementierung übernahm er selbst und wies Claude an, keinen Code zu generieren; er fragte nur nach Basisinformationen wie dem einfachsten Weg, Daten aus Google Sheets zu holen
- Verwendet wurde der CSV-Endpunkt von Google Sheets
- Geschrieben wurden vier Dateien mit insgesamt 177 Zeilen: 112 Zeilen JavaScript, 33 Zeilen CSS und 32 Zeilen HTML
- Es dauerte etwa 50-mal länger als mit Claude, aber er kann seinen Namen daran setzen und sagen, dass er es selbst gemacht hat
- Auch wenn der Code weder groß noch bahnbrechend ist, empfindet er darauf deutlich mehr Stolz als auf jeden von Claude geschriebenen Code
- So wie seine Frau, die die Anforderung angestoßen hat, nicht sagt, sie habe das Flashcard-System geschrieben, ist der Auftraggeber nicht automatisch der Hersteller
Prompting als eigene Fähigkeit
- Effektive Prompts benötigen eindeutig menschlichen Beitrag
- Man muss Vision einbringen
- Man muss Ergebnisse beurteilen
- Man braucht Kommunikations- und Prompting-Fähigkeiten
- Nicht alle Prompts und nicht alle KI-Nutzer sind gleich effizient; daher steckt im Prompting eine wichtige Fähigkeit
- Allerdings ähnelt sie weniger der Fähigkeit, etwas direkt herzustellen, als der Fähigkeit, effektiv darum zu bitten, dass das Gewünschte hergestellt wird
- Auch Software-Prompting fühlt sich eher danach an, eine andere Instanz mit der Herstellung zu beauftragen, als selbst Software zu machen
Die Grauzone zwischen Compiler und KI
- Wenn man ein C- oder Rust-Programm schreibt, schreibt man nicht selbst den tatsächlich ausgeführten Maschinencode, hat aber dennoch das Gefühl, das Programm geschrieben zu haben
- Die Umwandlung von C-Code in Maschinencode ist weitgehend ein mathematisch präziser Prozess, doch einige Fragen bleiben
- Clang und GCC erzeugen unterschiedliche Instruktionen, daher ist das Ergebnis nicht streng eindeutig bestimmt
- Auch wenn der Maschinencode je nach Plattform anders ist, bleibt der C-Code portabel
- Selbst wenn man nur unter Linux gebaut hat, kann man ein unter Windows laufendes Programm als von einem selbst geschrieben ansehen
- Als er Claude bat, ein rekursives Fibonacci-Programm in C in x86_64-Linux-Assembly zu übersetzen, wurde Code erzeugt, der sich bauen und ausführen ließ
- Die Ausgabe zeigte die korrekte Fibonacci-Folge von
0: 0bis9: 34 - Zum Setzen des Exit-Status 0 wurde auch XOR verwendet
- Die Ausgabe zeigte die korrekte Fibonacci-Folge von
- Da er den ursprünglichen C-Code selbst geschrieben hatte, fühlt es sich für ihn so an, als habe er das Programm geschrieben, auch wenn Claude die Assembly erzeugte
- Die Umwandlung von Assembly in Maschinencode ist ein strenger, nicht-intelligenter Prozess; er empfindet das wie den Einsatz eines Hammers beim Einschlagen eines Nagels, also als Werkzeugnutzung, die den Herstellungsakt nicht wegnimmt
Kriterien für die Grenze zwischen Werkzeug und stellvertretendem Hersteller
- Zu den Dingen, die man direkt tut, gehören: C-Code schreiben und ausführen, mit einem Hammer einen Nagel einschlagen, Assembly mit einem Assembler in Maschinencode umwandeln
- Zu den Dingen, die man per Anweisung anderen überlässt, gehören: Software schreiben lassen, ein Deck bauen lassen, ein Bild erstellen lassen
- Bei einem von ChatGPT erzeugten Bild hat man nicht das Gefühl, es selbst gezeichnet zu haben; bei einem Hammer oder Compiler hat man jedoch nicht das Gefühl, jemanden um stellvertretende Arbeit zu bitten
- Der Fall, Claude um das Kompilieren von C-Code zu bitten, liegt zwischen beiden Kategorien
- Man kann es als Ausführen selbst geschriebenen C-Codes sehen
- Man kann es auch als Bitte an eine KI sehen, Software zu schreiben
- Dasselbe Ergebnis könnte auch nur aus englischen Anforderungen erzeugt werden
- Weil KI unpräzise menschliche Sprache versteht und menschenähnlich antwortet, kann sie sich eher wie eine Beziehung zwischen Manager und Mitarbeiter anfühlen als wie ein Compiler oder Hammer
- Wenn man einen Hammer mit eingebauter KI bitten würde, einen Nagel einzuschlagen, hätte man zwar am Schaffensprozess teilgenommen, könnte aber schwer sagen, man habe selbst gehämmert
- Je genauer man die Grauzone betrachtet, desto stärker wird die Vorstellung, dass das Beauftragen von KI mit Herstellung ebenfalls ein schöpferischer Akt sein kann; dennoch bleibt unklar, wo die Grenze dessen verläuft, was man „selbst gemacht“ nennen kann
Der tatsächlich eingebrachte Beitrag zu den Ergebnissen
- Für die SF-Szene wurde ein Prompt verwendet, der drei Absätze und einen Romantitel erzeugen sollte, in denen der Held und zwei Flüchtlinge vom Laserangriff des Feindes eingeschlossen werden und einen Fluchtweg finden
- Für das Bild wurde verlangt, zwei zaubererartige Hacker, die einander gegenübersitzen und konzentriert auf Computer schauen, als Holzschnitt in Pastellfarben zu gestalten und auf beiden Seiten gegensätzliche, aber komplementäre Farben zu verwenden
- Für das Spiel wurde ein Fantasy-TUI-Spiel ähnlich Ultima I angefordert
- Verlangt wurden 3×3 Zeichen pro Karten-Zelle, 7×7 Karten-Zellen pro Bildschirm und Wasseranimation
- Enthalten sein sollten eine prozedurale Welt auf Basis von Perlin Noise, zufällig umherziehende vordefinierte Monster und D&D-artige Attribute
- Es sollte einen gewöhnlichen Spieler ohne Klasse verwenden, in Rust und Ratatui implementiert sein und UI von Spiellogik trennen
- Bei der Holzarbeit lautete die Bitte „Bitte ersetze das Eingangsdeck“, aber einen Nagel in einem Holzstück, das für das Einleitungsfoto gebraucht wurde, schlug er tatsächlich selbst ein
- Der im Text verwendete Em Dash wurde bewusst gewählt; der Vim-Digraph ist
^K-M
1 Kommentare
Meinungen auf Hacker News
Auch wenn ich mit einem LLM keine einzige Zeile Code selbst geschrieben habe, kann ich trotzdem stolz auf das Ergebnis, das ich geschaffen habe, sein
Ich will nicht behaupten, ein großartiger Programmierer zu sein, aber Coding war von Anfang an nur ein Mittel, um ein fertiges Produkt zu bauen
Es ist so, als würde ich Zufriedenheit mit einem Garten empfinden, den ich entworfen habe, auch wenn ich ihn nicht selbst angelegt, sondern eine Landschaftsbaufirma beauftragt habe
Mein mit Vibe Coding gebauter Gitarren-Tabulatur-Editor löst mit Funktionen, die andere Software nicht hat, ein reales Problem, und neben Job, Familie und Hobbys hätte ich ihn ohne AI niemals bauen können
Selbst wenn man etwas ohne viel Kreativität direkt selbst erledigt, wie ein Erdnussbutter-Gelee-Sandwich, sagt man, man habe es gemacht; und dasselbe gilt, wenn man Werkzeuge wie eine Kreissäge benutzt, die Handarbeit ersetzen
Aber es ist etwas anderes, im Web
Articulated dragon.stlherunterzuladen und nur auf Drucken zu klicken, als es selbst zu entwerfen und auszudruckenAuch der Betrieb von CNC und 3D-Druckern erfordert Wissen und Fähigkeiten, die sich von Handarbeit unterscheiden, aber je einfacher die Werkzeuge werden, desto unschärfer wird die Grenze
Es gibt vielleicht keine klare Linie, aber irgendwo zwischen „alles von Hand machen, weil neue Werkzeuge Betrug seien“ und „ein Sandwich bestellen und warten“ liegt sie wohl
Wenn ich ein Projekt an jemand anderen delegiert hätte, könnte ich sagen, dass ich es gemanagt oder Teile entworfen habe, aber es wäre schwer, die Lorbeeren dafür einzustreichen, es selbst umgesetzt zu haben
Auch wenn man die eigentliche Herstellung nicht selbst gemacht hat, kann man durchaus stolz darauf sein, Richtung und Vision für die Problemlösung vorgegeben zu haben
makinghat stärker die Bedeutung des aktiven, direkten Herstellens, währendproducingstärker das Beaufsichtigen und Koordinieren meintSeit ich in der Spieleentwicklung mit Produzenten arbeite, ist mir dieser Unterschied noch klarer geworden
Bei Side Projects, deren wesentliche Teile ich zuletzt mit Claude geschrieben habe und die trotzdem die gewünschten Funktionen ausführen, hatte ich ein seltsam entkoppeltes Gefühl gegenüber dem Ergebnis, und das hat mich darüber nachdenken lassen, wie ich AI in meiner Freizeit nutzen sollte
Ein Compiler liefert auf präzise Anweisungen deterministische und konsistente Ergebnisse, aber Claude leitet aus weniger präzisen Anweisungen als Code etwas ab, produziert jedes Mal andere Resultate, fügt nicht angefordertes Verhalten hinzu und trifft Entscheidungen anstelle des Nutzers
Man kann mit umfangreichen Markdown-Spezifikationen oder detaillierten Tests strikte Anweisungen geben, aber wenn man schon so viel Zeit ins Schreiben steckt, unterscheidet sich das womöglich nicht mehr stark vom direkten Coden
AI ist großartig, wenn sie festgefahrene Probleme löst oder Konzepte personalisiert erklärt, aber in dem Moment, in dem man ihr Entscheidungen überlässt, priorisiert man Ergebnisse über das Schaffen selbst
Side Projects, die man macht, weil man das Schaffen selbst liebt, stehen eher der Kunst als dem Produkt nahe, daher passt AI vielleicht zu Produkten, aber nicht zu Kunst
Im Tech-Bereich gibt es Menschen, die Details mögen, und Menschen, die Systeme mögen; systemorientierte Menschen empfinden LLMs als spannend und befriedigend, während detailorientierte Menschen oft das Gegenteil empfinden
Ein Bekannter, der vor neuronalen Netzen im Computer Vision bekannt war, sagte, früher habe er unzählige Dinge als Erster gelöst, aber inzwischen bestehe der Großteil der Softwareentwicklung nur noch daraus, Dinge zusammenzusetzen, die man bereits kennt, und das langweile ihn
LLMs scheinen diesen Trend noch zu beschleunigen
Mit LLMs Skripte herauszuschütten fühlt sich für mich ähnlich an, wie in Sudoku zufällig Zahlen einzutragen, bis die App sagt, dass es richtig ist
Ich möchte auf Hacker News keine von LLMs erzeugten Einreichungen sehen
Es hat Spaß gemacht zu sehen, wie menschliche Originalität tatsächlich eingesetzt wird, auch wenn daraus kein erfolgreiches Produkt wurde
So wie ich mir kein Schach zwischen Computern anschaue, brauche ich eine einfache Möglichkeit, von AI geschaffene Software und Kunst zu erkennen und zu meiden
Der Unterschied liegt darin, in welchem Maß man nachvollziehen kann, wie Änderungen an der Eingabe das beobachtbare Verhalten der Ausgabe beeinflussen
Wenn eine von einem Compiler erzeugte ausführbare Datei nicht wie beabsichtigt funktioniert, liegt das zu 99,99 % in meiner Verantwortung, und ich kann das Ergebnis aus dem Quellcode vorhersagen und Fehlverhalten analysieren
Zwischen einem Vibe-Coding-Programm und dem generierenden Prompt besteht keine vergleichbare Beziehung
Wenn ein vollautonomer Mähroboter die Arbeit exakt erledigt hat, dann hat der Roboter den Rasen gemäht; wenn ich aber darauf sitze und fahre oder ihn mit einem Joystick steuere, dann habe ich den Rasen gemäht
Wer entscheidet, wo gemäht wird, bestimmt das Gefühl von Besitz und Zugehörigkeit
Auch bei Vibe-Coding-Projekten empfindet man unterschiedliche Stufen von Ownership, je nachdem, wie viel Aufmerksamkeit und Tiefe des Verständnisses man investiert hat
Manche entscheiden nur, wann ein Prozess gestartet wird und ob das Ergebnis gut oder schlecht ist, haben aber nicht die Fähigkeit, es wirklich zu beurteilen, und vertrauen darauf, dass der Ausführende alle Unterelemente schon richtig behandelt hat
Ein Compiler erzeugt fast immer das korrekte Binärprogramm aus einem Programm und meldet klar, wenn etwas fehlschlägt; für die Korrektheit des Algorithmus bleibt aber der Nutzer verantwortlich, sodass die Grenze klar ist
Dagegen ist die Verantwortungsgrenze von LLMs unklar, und sie können nicht alle Elemente, die nicht ausdrücklich im Prompt stehen, verlässlich behandeln
Das unterscheidet sich auch von menschlicher Zusammenarbeit: Wenn ich einen professionellen Maler bitte, Batman zu zeichnen, muss ich nicht auch noch Zehen oder die Zahl der Arme kontrollieren
Ich benutze LLMs, weil sie schneller sind, aber dadurch macht es mir nicht mehr so viel Spaß wie früher
Geschwindigkeit muss nicht immer Vorrang vor Freude haben, und ich muss lernen, mich wieder auf das direkte Schreiben zu konzentrieren, ohne es als „ineffizient“ zu sehen
Ich möchte das Gefühl zurückhaben, mit 13 mitten in der Nacht zu coden, und Beejs Texte beeindrucken mich immer
Wenn man Schreiben, Code oder Musik nur noch per Prompt erzeugt, verschwindet genau dieser Prozess
Etwa zwei Monate lang hatte ich auf nichts Lust, nicht einmal auf Fernsehen, außer aufs Trinken, aber seit ich seit ein paar Wochen nüchtern bleibe, scheint die Lust am Schaffen langsam zurückzukommen
Ich habe selbst Kameras und kleine autonome Fahrroboter entworfen und gebaut, und sogar eine Kamera, die im Auto herumgerollt war und kaputtging, endlich repariert
Für jedes Vintage-C-Mount-Objektiv habe ich zwar Videos gemacht, dann aber das Interesse verloren, sodass nur noch eine Kiste voller Objektive und Kameras als Deko übrig blieb, doch dank dieser Hardware-Projekte habe ich zwei Jobs als Softwareingenieur bekommen
Wenn ich bei einem Projekt, für das Claude Code den Code erzeugt hat, sage „Das habe ich gemacht“, sinkt der Respekt meist sofort, aber am Ende geht es um Geld und Freiheit, und ich möchte mir ebenfalls Freiheit sichern und dann das tun, was ich mag
Falls du es noch nicht überprüft hast, lohnt es sich vielleicht auch, ADHS oder andere Faktoren in Betracht zu ziehen
Menschen sind keine Maschinen, sondern komplexe biologische Wesen; die eigenen Eigenschaften zu verstehen hilft sehr dabei, sich wieder in die richtige Richtung zu bewegen
Bei Arbeiten, die ich in letzter Zeit der AI überlassen habe, fällt es mir schwer, mich auch nur an grobe Details zu erinnern, während ich eine Codebasis mit über 100.000 Zeilen, die ich vor Jahren geschrieben habe, noch heute im Kopf größtenteils nachvollziehen kann
Aber ein Projekt, das ich erst vor zwei Wochen mit AI erstellt habe, bleibt als verschwommener Block zurück: „Jemand schrieb einen Prompt, und dann kam Code heraus.“
Als ich Student an der OSU war und mir praktisches System Programming selbst beigebracht habe, habe ich jeden Tag
Beej's Guide to Network ProgrammingbenutztIch fand es schade, dass diese kostenlose Website viel nützlicher war als eine teure Universität, und nun zu hören, dass Beej an der OSU lehrt, ist ein großartiger Kreis, der sich schließt, und eine hervorragende Einstellung
Der Fokus soll auf systemnahem Design, aktivem Einsatz von AI sowie größeren Projekten und Teams liegen
Programmieren zu lernen bleibt weiterhin unverzichtbar, aber Software-Engineering-Kompetenzen, die man früher erst im Berufsalltag lernte, müssen nun schon viel früher in die Ausbildung rücken
Man denkt schon, es wäre okay gewesen, wenn LLMs erst etwa 15 Jahre später aufgetaucht wären
Le Corbusier und Frank Lloyd Wright haben Gebäude nicht selbst errichtet, sondern entworfen, und dennoch werden diese Gebäude ohne Zweifel als ihre Werke anerkannt
Auch Steve Jobs hat weder Leiterplatten entworfen noch selbst programmiert, und doch hat er den Mac, den iPod und das iPhone gemacht, und Renaissance-Maler betrieben ebenfalls Werkstätten, in denen Lehrlinge arbeiteten
Software zu schaffen bedeutet mehr als Code zu schreiben: den Markt und die Bedürfnisse zu verstehen, Marketing und Texte zu entwickeln, zu entscheiden, was man baut und verwirft, und die endgültige Form zu entwerfen
Die Handwerker, die Wrights Häuser gebaut haben, können stolz sagen, dass sie das Dach, die Wände oder den Wasserfall geschaffen haben, aber das ganze Haus ist eindeutig Wrights Werk
Das heutige Klagen kommt eher einer berechtigten Angst vor dem Verlust des technischen Monopols gleich
So wie erfahrene Tischler sich nach der Verdrängung handgefertigter Möbel durch IKEA auf den gehobenen Markt konzentrierten, mag sich auch hier etwas verschieben, aber bei Programmierung sind die Kunden meist Unternehmen, und das Kriterium für das Bestehen ist der binäre Maßstab: „Funktioniert es?“