- In letzter Zeit wiederholen Computernutzer unabhängig von ihrem eigenen Willen unzählige sinnlose Aufgaben und folgen dabei den Anweisungen des Computers
- LLMs beeinflussen die Art, wie Entwickler APIs entwerfen, und es gibt bereits Prognosen, dass Entwickler von KI vorgeschlagene Funktionen übernehmen und bald der Großteil des Codes von KI geschrieben wird
- Ein Beispiel: Soundslice hat eine Funktion tatsächlich hinzugefügt, die ChatGPT fälschlich beschrieben hatte
- Das liegt daran, dass LLMs zahlreiche APIs analysieren und intuitive Designs vorschlagen, die Entwicklern wahrscheinlich als Erstes einfallen würden
- Für neue Ideen oder ungewöhnliche Ansätze sind LLMs ungeeignet, aber in den meisten Fällen kann es effektiv sein, dem naheliegendsten Design zu folgen
- Wir treten nun in eine Ära ein, in der KI nicht nur die Nutzung von Tools, sondern auch deren Design bestimmt
Gaslight-driven development
Sinnlose Routineaufgaben im Alltag
- Wer in den letzten zehn Jahren einen Computer benutzt hat, musste immer wieder im Kern unnötige Aufgaben erledigen, etwa Registrierung, E-Mail-Bestätigung, Cookie-Einwilligung oder CAPTCHA-Eingabe
- Auch wenn Nutzer das gar nicht wollten, mussten sie tun, was der Computer verlangte
- Durch diese Wiederholungen haben wir uns bereits bis zu einem gewissen Grad an ein Leben gewöhnt, in dem wir den Anweisungen der Maschine folgen
Wie LLMs die Entwicklungsrealität verändern
Was dieses Phänomen bedeutet
- Es ist schwer zu beurteilen, ob diese Veränderung positiv oder negativ ist
- Einerseits haben LLMs unzählige APIs gelernt und schlagen deshalb aus Entwicklersicht den ‚intuitivsten‘ Weg vor
- Es ist auch eine neue Methode, APIs aus der Perspektive eines Einsteigers (newbie’s POV) zu testen
- Früher schlugen Entwickler bei Fehlern selbst in der Dokumentation nach und korrigierten sie; heute liefert das LLM fortlaufend fehlerhafte Nutzungsbeispiele, sodass auch Entwickler Probleme schneller erkennen können
Grenzen und offene Fragen
- Für innovative Arbeit ist dieser Ansatz ungeeignet
- Mit ungewohnten Mustern oder völlig neuen Konzepten können LLMs nicht gut umgehen
- Letztlich könnte in Bereichen wie APIs gerade das ‚Gewöhnliche‘ die beste Lösung sein
- In den meisten Situationen ist es vorteilhafter, statt kompliziert zu entwerfen, eine Form zu wählen, die sowohl KI als auch Entwickler intuitiv verstehen können
Fazit: der Beginn einer neuen Ära
- KI beschränkt sich nicht mehr nur darauf, gegebene Tools zu verwenden, sondern beginnt Vorstellungen davon zu entwickeln, wie die Tools selbst entworfen sein sollten
- Und diese Vorstellungen „gaslighten“ Entwickler und Organisationen oft so, als wäre es schon immer so gewesen
- Künftig dürfte Entwicklung, die sich an den Erwartungen und dem Verständnis von KI orientiert, zunehmend zum natürlichen Standard werden
6 Kommentare
Manchmal habe ich das Gefühl, dass in das große Konzept der Pfadabhängigkeit ein mächtiger Nagel namens LLM-Abhängigkeit eingeschlagen wird. Dass es sich von „weil wir es schon immer benutzt haben“ zu „weil es dem LLM gefällt“ verschiebt — wie wird das am Ende wohl ausgehen ...
Das benutzen wir schon seit früher, und das LLM hat darauf trainiert..
"Sie können den Computer jetzt ausschalten."
Eine perfekte Metapher!!
Hacker-News-Kommentare
421: Misdirected Requestzurückgeben; alternativ gäbe es auch den echten501: Not Implemented. Falls501den Ton nicht ganz trifft, schlage ich einen neuen Statuscode vor:513: Your Coding Assistant Is WrongSiehe Wikipedia zu HTTP-Statuscodes
513: Your Coding Assistant Is Wrongfand ich urkomisch, das hat mir den Tag versüßt; andererseits würde ich auchHTTP 407 Hallucinationempfehlen, im Sinne von: Der Server versteht die Anfrage, hält sie aber für nicht mit der Realität vereinbarBeispiel „GPS is wrong“
418-Antwort verwenden; ich würde mich freuen, wenn sie weiter verbreitet würde(JavaScript-Code bereitgestellt)
Wissenschaftlicher Artikel, siehe auch Wikipedia zu Salienz in den Neurowissenschaften
Chess-Royale-Screenshot
tx.updatesowohl das Einfügen als auch das Aktualisieren von Entitäten, aber das LLM hat ständig Code mittx.creategeschrieben, also habe ich am Ende auch noch eine Funktiontx.creategebaut. Ich frage mich, ob nicht nur LLMs, sondern auch echte Entwickler bei solchen verwirrenden Stellen unnötig viel Zeit verschwendentx.createursprünglich ohnehin nicht gab, würde doch eigentlich auch niemand Zeit daran verschwenden, oder?putalsupdateheißen;updatekann missverständlich seinupsertpassender zu seinputdeutet eher darauf hin, dass bestehender Inhalt überschrieben wird, währendupsertausdrücklich Einfügen/Aktualisieren bedeutetIch denke auch, dass Nutzer E-Mail-Bestätigung oder Registrierung nicht deshalb machen, weil der Computer es verlangt, sondern weil Menschen sich so beim Design entschieden haben
Künftig wird es wohl weniger darum gehen, Code-Lesbarkeit, SOLID-Prinzipien oder Komplexität zu optimieren, sondern eher darum, wie gut meine agentische IDE den Code-Kontext indexieren kann und wie gut das Modell auf dieser Basis Code generiert
Da sich Code künftig extrem schnell ändern wird, könnte Wartbarkeit paradoxerweise zum wichtigsten Messwert werden, und wir steuern vielleicht auf eine Welt zu, in der die Übereinstimmung zwischen Prompt und Code sowie die Nutzbarkeit von zufällig gut passenden Codepfaden besonders viel Aufmerksamkeit bekommen
In AWS gibt es zum Beispiel
devundprod, bei Expo dagegentestundproduction, und wenn man zwischen mehreren Projekten wechselt, kostet das mehr Denkarbeit, als man erwarten würdeVermutlich erleben LLMs genau dieses Problem in viel größerem Maßstab
Wenn wir die Synapsen, die bisher für solche unnötig verwirrenden API-Namen und Verhaltensweisen draufgehen, stattdessen für wirklich Sinnvolles nutzen könnten, wäre das ideal
Selbst wenn ein LLM noch so klug Namen vergibt, bleibt das Problem bestehen, weil es auf einem incoherent stochastic process basiert
Und ich würde gern fragen, ob jemals ernsthaft hinterfragt wurde, warum Benennungen für Umgebungen nicht vereinheitlicht sind
Als früherer CTO halte ich so etwas für ein Signal, dass es in der Organisation Kommunikationsprobleme oder fehlende Standards gibt, die verbessert werden sollten
Gerade weil man solche Dinge relativ einfach beheben und damit Kultur und Bewusstsein im Team verbessern kann, sollte man sie nicht an ein LLM delegieren, sondern sich direkter darum kümmern
Frühere Hacker-News-Diskussion ansehen
Viraler Erfolg von Soundslice