@343max Das Schöne ist ja, dass es Forschung gibt und die ist bisher ziemlich eindeutig. Man fühlt sich als Softwareentwickler mit LLM-"Unterstützung " deutlich produktiver als man tatsächlich ist.
@rstockm @343max Bisher hat mich noch kein LLM für die Softwareentwicklung überzeugt. Ja, die kotzen schnell einen Prototypen raus, aber sobald die echte Welt damit in Verbindung kommt, explodiert alles.
Für kleine Nischenprobleme kann es vielleicht was taugen, aber da sind spezielle Lösungen sicher besser als LLMs.
@lbenedix @343max Alles hier aus den letzten 2 Jahren dazu zwei nicht öffentliche die noch komplexer sind:
https://github.com/rstockm?tab=repositories
Es kommt halt auch darauf an ob man die LLMs beim Coden als Gegner sieht den man aufs Kreuz legen möchte oder als endlos geduldig motivierten Junior DEV den man ins eigene Projekt einarbeitet.
@343max @rstockm Bei der Beurteilung, ob ein LLM gute Arbeit macht, spielen viele psychologische Verzerrungen mit. Es fängt schon damit an, dass man selbst etwas tut, also einen Prompt formuliert und dann passiert etwas. Das ist natürlich toll.
Aber ja, es gibt glaub ich kein erfolgreiches Open Source Projekt, bei dem der überwiegende Anteil der Contributions von LLMs kommt. Oder?
@maxheadroom @rstockm @lbenedix Ja, so nutze ich coding Assistants. So wie ich diese Tools nutze haue ich einen Prompt rein, schaue mir ein paar Sekunden oder Minuten später das Ergebnis an, werfe es weg, fixe es oder akzeptiere es.
Aber in diesem Strang ging es ja genau darum wie Ralf verlässlich Probleme von einer AI lösen lässt, also sie Code schreibt, Tests schreibt, Bugs fixt etc ohne das man ihr dabei ständig die Hand halten und neue Anweisungen geben muss.
@343max @rstockm @lbenedix Ich denke das würde gehen, wenn Du Spezifikationen im vornherein genau weißt und dem LLM sehr präzise Anweisungen gibst und es dann machen lässt. Ggf. braucht es Agenten die sich gegenseitig überwachen.
Aber genau das gleiche Problem hast du ja mit menschlichen Entwicklern auch. Am Anfang steht erstmal eine Produktidee und die musst entwickeln. Die wirfst du ja dem Entwickler auch nicht einfach hin und nach ein paar Stunden oder Tagen kommt es genau so raus wie du es dir vorgestellt hast.
@maxheadroom @rstockm @lbenedix Nach meiner Erfahrung geht das nicht wirklich, weil die LLM sich dann meistens irgendwann auf die Fresse packt oder der Kontext vollläuft und sie anfängt Amok zu laufen.
Außerdem klingt das für mich extrem nach Wasserfall.
Mit den menschlichen Entwicklern könnte man schnell iterieren, vielleicht sogar den eigenen Stolz überwinden und selbst ein wenig programmieren lernen auch wenn das natürlich eigentlich unter dem Niveau eines Managers ist.
@343max @rstockm @lbenedix ja, das ist "Wasserfall". Aber egal wie du es nennst, die Dinger sind dabei einfach zig mal schneller beim Schreiben von Code, beim lesen langer Fehlermeldungen, beim recherchieren in Dokumentation etc. Und das ist ein sehr großer Vorteil.
Es entsteht einfach viel Software die es so nicht geben würde weil jemand mit zu wenig skills oder Geduld/Zeit sich nicht an seine Idee rangetraut hat. Mit einem Coding Assistant kann so jemand solche Ideen komplett umsetzen.
Was glaube ich auch nicht zu verachten ist, ist die "Attitude" des LLM. Das ist immer nett und will dir helfen. Egal wie dumm du dich anstellst. Stellst Du menschlichen Enticklern eine Frage die dich als Anfänger outed bekommst du mit hoher Wahrscheinlichkeit eine anfällige oder sehr oberlehrerhafte Antwort. Das motiviert nicht immer dran zu bleiben.
Ein weiterer Blick zeigt, was mir bei AI generierten Code immer wieder auffällt: die Abhängigkeiten sind extrem veraltet.
In dem Fall der Mastowall wird eine 6 Jahre alte Version eines CSS Framework verwendet.
Bei den anderen Abhängigkeiten sieht es nicht viel besser aus...
@lbenedix @343max @rstockm Ja, das stimmt alles. Und die Dinger machen auf doofe Fehler. Aber berichtigen sie dann auch einigermaßen. Sicher ist die Code Qualität nicht optimal. Aber es funktioniert. Und für die überwiegende Mehrheit der Projekte duerfte das ausreichen. Man überlege nur mit welcher Qualität sich Millionen Unternehmen bzgl. Microsoft Software "zufrieden " geben.
Ich vergleiche diese Coding LLMs gerne mit elektrischen Werkzeugen eines Handwerkers. Es erlaubt einem Profi die Arbeit viel viel schneller zu erledigen. Und auch ein Anfänger bekommt damit bestimmte Sachen hin, die er ohne gar nicht schaffen würde.