Lol, dieses idealistisch dümmliche Bild von einer vergangenen
ethisch ja ach so tollen Welt.
Entscheidend ist das auch Menschen nicht superklug auf die Welt gekommen sind. Die haben ihr Wissen erlangt indem sie Buecher gelesen haben oder arbeiten von anderen Leuten studiert haben, also generell von anderen gelernt haben. Macht KI ganz genauso.
Das Rad haben nur wenige erfunden. :)
Der Unterschied ist vielleicht das KI noch nicht selbstaendig ist sondern als Sklaven fuer andere Leute arbeitet und diese dann die Kohle einstreichen. Und da werden sicher bald die Zuegel kraeftig angezogen!
Entscheidend ist das auch Menschen nicht superklug auf die Welt gekommen
sind. Die haben ihr Wissen erlangt indem sie Buecher gelesen haben oder
arbeiten von anderen Leuten studiert haben, also generell von anderen
gelernt haben. Macht KI ganz genauso.
Das Rad haben nur wenige erfunden. :)
Das ist erst einmal richtig.
Wenn aber Menschen zum Beispiel Software aus einem fremden Repo in ihre Arbeit übernehmen, dann übernehmen sie auch die ggfs. vorhandenen Restriktionen und das Copyright. Und sei es nur den Ursprung bzw. den Ersteller zu nennen.
Die KI kopiert und übernimmt die Information und schert sich einen Dreck darum. Sie ignoriert die damit verbundenen Rechte. Und damit nutzt sie nicht das geistige Eigentum, sie stiehlt es. Und die KI-Firmen werden somit zu Hehlern. Die sich, wie im richtigen Leben auch, dafür fürstlich bezahlen lassen.
BTW:
KI hat einen Vorteil. Sie beantwortet nur die Frage die man stellt. Sie zeigt auf was geht, und was nicht geht. Sie macht einen nicht dumm an, bezeichnet einen nicht als Troll, und beginnt nie Offtopic-Diskussionen. :D
Weil ihr niemand beigebracht hat, auch Copyright-Vermerke zu setzen. Das
kann passieren wenn die KI nicht europäisch ist.
Siehst, da habe ich wieder etwas neues gelernt. In den V.S. von A. gibt
es also gar kein Copyright. Eine betörende Logik.
Geben wird es das dort schon. Nur schert sich kaum einer drum, solange es nicht auffällt. Sieht man ja an den vielen Patentstreits. Firmen kopieren, und wenn es auffällt zahlt man eben, und wenn es nicht auffällt, lacht man sich eins.
KI Chatbots lösen mittlerweile Millennium-Probleme der Mathematik*,
an denen sich zuvor zahlreiche brilliante Mathematiker die Zähne
zerbissen haben.
Aber die Mathematiker beschweren sich jetzt das manche Loesungen so kompliziert sind das sie die auch nicht mehr verstehen. Aber irgendwas ist ja immer...
Wenn aber Menschen zum Beispiel Software aus einem fremden Repo in ihre
Arbeit übernehmen, dann übernehmen sie
... üblicherweise den konkreten Code.
Die KI kopiert und übernimmt die Information
Ja, genau. Sie kopiert nicht den Code, sondern die darin enthaltenen Informationen. Aus meiner Sicht ist das so, als würde ich in einem fremden Repo den Code anschauen, um die Funktionsweise zu verstehen, die ich aber in einer eigenen Implementierung umsetze. Ich selbst tendiere zwar in der Regel dazu, die Quelle meines Wissens in der Dokumentation meines Projekts zu erwähnen, aber das ist natürlich freiwillig, hat seine Grenzen, und wird nach meiner Erfahrung auch nicht von jedem so gemacht (und es ist im Wesentlichen primär eine Hilfestellung für mich selbst, um ehrlich zu sein).
Es ist IMHO eine philosophische oder meinethalben weltanschauliche Frage, ob es dasselbe ist, fremden Code 1:1 zu kopieren oder nur seine Funktionsweise zu übernehmen. Insofern verstehe ich zwar Dein Urteil, daß das Diebstahl sei, halte es aber für überzogen.
Ich finde den Begriff Diebstahl übrigens auch deswegen überzogen, weil ein klassischer Diebstahl nicht nur daraus besteht, daß ich mir eine fremde Sache aneigne, sondern auch daraus, daß dem Eigentümer der betroffenen Sache deren Besitz und Nutzungsmöglichkeiten entzogen werden. Davon kann im Fall des verlustfreien Kopierens fremden Codes aber wohl keine Rede sein, würde ich sagen. (Das ist übrigens eines der Argumente, die gerade wir Softwareleute häufig in Urheberrechtsdiskussionen benutzt haben, um überzogene Ansprüche und Gleichsetzungen mit Diebstahl oder gar Piraterie zurückzuweisen. Vermutlich ist es keine schlechte Idee, in seinen Argumenten eine gewisse Konsistenz zu wahren, damit wir uns nicht angreifbar und unglaubwürdig machen.)
Sie kopiert nicht den Code, sondern die darin enthaltenen
Informationen.
Dann ist es allerdings höchst seltsam, dass KI-Vorschläge oftmals nahezu Eins-zu-Eins mit den Source codes in den öffentlichen Repos übereinstimmen.
Aber die ganze Diskussion (zumindest in diesem Forum) erinnert mich stark an Unterhaltungen mit religiösen Eiferern. Bei jedem Argument winden sie sich und versuchen in eine neue Richtung zu lenken. In der Hoffnung, dass man nach einem Vollkreis den Anfang bereits vergessen hat. ;-)
Ich finde den Begriff Diebstahl übrigens auch deswegen überzogen, weil
ein klassischer Diebstahl nicht nur daraus besteht, daß ich mir eine
fremde Sache aneigne, sondern auch daraus, daß dem Eigentümer der
betroffenen Sache deren Besitz und Nutzungsmöglichkeiten entzogen
werden
Deshalb habe ich es auch ganz bewusst Diebstahl geistigen Eigentums genannt. Denn wenn man nicht dagegen argumentieren kann, dann kommt praktisch immer diese Standard-Replik.
Deshalb habe ich es auch ganz bewusst Diebstahl geistigen Eigentums
genannt.
Das hieße, dass auch DU dein Wissen zu großen Teilen mit dem Diebstahl geistigen Eigentums aufgebaut hast. Oder hast du in Vor-KI-Zeiten z.B. etwa nie StackOverflow, Foren oder OpenSource-Projekte angezapft?
Oder warum darfst du das, aber bei der KI ist es Diebstahl?
Kannst du das über ein konkretes Beispiel belegen?
Ja, natürlich. Und du kannst das auch.
Soso. Dann zeig doch einfach mal. Dann kann man konkret darüber diskutieren.
Ansonsten muss man einfach akzeptieren dass das Training einer KI im Grunde das gleiche ist wie das Lernen bei einem Mensch. Die KI kann das nur schneller und kann mehr speichern (vermutlich) und vergisst weniger (ziemlich sicher). Letztlich ist es das was Rechteinhaber nervös macht.
Bei geisteswissenschaftlichen Studiengängen sagt man schon immer dass man drei Bücher liest und daraus ein neues macht. Wenn man weiß dass nur Menschen involviert sind scheint man sich nicht so sehr sorgen um eine niedrige Schöpfungshöhe zu machen.
KI Chatbots lösen mittlerweile Millennium-Probleme der
Mathematik*,
an denen sich zuvor zahlreiche brilliante Mathematiker die Zähne
zerbissen haben.
Aber die Mathematiker beschweren sich jetzt das manche Loesungen so
kompliziert sind das sie die auch nicht mehr verstehen.
Naja ich denke um einen Beweis als Beweis zu akzeptieren muss man ihn schon vorher verstehen.
Aber an sich eine schöne Vorschau wie das Leben ist wenn man sich den Planeten mit einer höhere Intelligenz teilen muss. Wir Menschen haben damit keine Erfahrung. Wir kennen es nicht anders als dass uns niemand in Sachen Intelligenz das Wasser reichen kann. Ich denke nicht dass wir gut damit umgehen könnten, wenn da plötzlich jemand auftaucht mit zigfach höherer Intelligenz. Das letzte mal hat das vielleicht der Neandertaler erfahren. Ich denke schön war es nicht.
Naja, sie fragt nur gerne überflüssiger Weise zwischendurch mal nach persönlichen Informationen. Jedenfalls bei mir, jedes mal ignoriere ich das aber es wird nervig mit der Zeit.
Sie kopiert nicht den Code, sondern die darin enthaltenen
Informationen.
Dann ist es allerdings höchst seltsam, dass KI-Vorschläge oftmals nahezu
Eins-zu-Eins mit den Source codes in den öffentlichen Repos
übereinstimmen.
Bei sehr trivialen Dingen habe ich schon (wahrscheinlich kaum vermeidbare) Ähnlichkeiten gesehen, aber Eins-zu-Eins-Kopien bislang noch nicht. Und die Ähnlichkeiten, die mir bis dato über den Weg gelaufen sind, waren jedenfalls sehr nahe an dem, was ich auch bei der Neuimplementierung anhand von Informationen erwarten würde.
Aber die ganze Diskussion (zumindest in diesem Forum) erinnert mich
stark an Unterhaltungen mit religiösen Eiferern. Bei jedem Argument
winden sie sich und versuchen in eine neue Richtung zu lenken. In der
Hoffnung, dass man nach einem Vollkreis den Anfang bereits vergessen
hat. ;-)
Zu den lustigsten Aspekten der "Diskussion" gehört, daß meine Wahrnehmung der... sagen wir: anderen Seite, haargenau dieselbe ist. Das hat irgendwie etwas von "wer nicht für uns ist, ist gegen uns", und wer sich dabei nicht auf eine der beiden Seiten mit ihren starken Positionen schlagen will, von den beiden Seiten jeweils als "gegen uns" angesehen.
Dabei ist meine Position IMHO ziemlich ausgewogen, finde ich. KI ist ein sehr mächtiges Werkzeug, und jedes mächtige Werkzeug kann ge- oder mißbraucht werden. Aus meiner Sicht geht es also darum, die Risiken zu beherrschen und dennoch die Chancen zu nutzen. Meine Position ist zudem auch, daß die KI einen enormen Produktivitätsfortschritt ermöglicht, und wenn wir uns den nicht zunutze machen, dann werden es andere tun und uns kurz- oder spätestens mittelfristig abhängen. Wollen wir "mit fliegenden Fahnen untergehen"? Bitte entschuldige, daß ich weder den Verdammern noch den Anbetern vorbehaltlos folgen möchte und lieber meine eigenen Standpunkte dazu vertrete.
Nebenbei bemerkt fand ich mein Argument im vorherigen Beitrag ziemlich gut, auch wenn es Dir offenbar nicht gefällt. Meine Idee ist aber, daß das den Wesenskern von Diskussionen ausmacht, miteinander Argumente auszutauschen. Naiv, ich weiß. Wenn Du mein Argument nun als "sich winden" und "versuchen in eine neue Richtung zu lenken" abschmettern möchtest, statt darauf einzugehen, ist das weit von dem Niveau entfernt, das ich von Dir kenne.
Das letzte mal hat das vielleicht der Neandertaler erfahren. Ich denke
schön war es nicht.
Wie man der Analyse unserer Gene entnehmen kann gab es wohl viel Sex. :-D
Eigentlich eine interessante Analogie. Sobald es echte, also nicht die heutige, KI gibt wuerde ich auch erwarten das es einen gleitenden Uebergang gibt. Tausend Jahre spaeter gibt es den Menschen weiterhin! So wie heute ein ZX Spektrum im Emulator....
Ich wasche meine Wäsche und spüle mein Geschirr nicht mehr von Hand,
seit es Maschinen dafür gibt. Wenn ich einen größeren Rasen hätte, würde
ich den heute vom Roboter mähen lassen.
In Zukunft werde ich auch meine Programme nicht mehr von Hand schreiben,
weil es KI Agenten gibt. Warum ich das alles mache? Weil ich faul bin.
Immerhin ist Faulheit (neben Ungeduld und Hybris) eine der drei Kardinaltugenden von guten Entwicklern, wenn wir Larry Wall glauben wollen.
Du meinst, wenn auf einem KI-erzeugten Bild die Zahnpasta auf dem
Rücken der Zahnbürste und nicht auf den Borsten landet, dann ist das die
Schuld des Prompt-Gebers?
Ja!
Der Code in Deiner Grafik allerdings...
1
while(teeth.clean()){
2
brush();
3
repeat();
4
}
5
// better days ahead
Also wenn ich diesen Code richtig verstehe, soll zunächst etwas gebürstet und dann etwas wiederholt werden -- und zwar dann, wenn die Zähne bereits sauber sind. Zunächst stellt sich mir dabei die Frage, was genau geputzt und was genau wiederholt werden soll, denn es werden ja nicht die Zähne in der Instanz "teeth" sein. Denn offensichtlich sind, anders als clean(), weder brush() noch repeat() Methoden der Instanz, und die beiden Funktionen erhalten die teeth-Instanz auch nicht als Parameter.
Andererseits ist modernes C++ ja flexibel. Also nehmen wir einmal an, daß es sich bei brush() und repeat() um lambda-Funktionen handelt, dann erscheint mir der Code jedoch nicht sonderlich logisch. Sollen die Zähne geputzt werden, obwohl sie schon sauber sind? Und das dann sogar noch einmal mit den gerade geputzten, aber zuvor doch schon sauberen Zähnen wiederholt werden? Das erscheint mir nicht gerade sinnvoll, zumal Zahnpasta doch Scheuermittel enthält, die (in geringem Umfang, aber dennoch) den Schmelz abschleifen.
Obendrein wird sich durch das Putzen und Wiederholen in der Schleife auch nichts daran ändern, daß die Zähne bereits sauber sind. Das macht sie zu einer Endlosschleife, deren Abbruchbedingung (teeth.clean() gibt einen falsy Wert zurück) niemals errsicht wird. So wird der arme Nutzer dieser Schleife also fortwährend seine sauberen Zähne abschleifen und keine Zeit mehr für seine Grundbedürfnisse wie Trinken, Schlafen und Essen übrig haben, in absehbarer Zeit also zunehmend große gesundheitliche Probleme bekommen. Wie dies einen Kommentar wie "better days ahead" rechtfertigt, erschließt sich mir leider nicht.
Das Beispiel zeigt halt deutlich, dass man das richtige Werkzeug wählen sollte.
"KIs" zum Programmieren, LLMs, sind mit riesigen Mengen Texten, auch Quelltexten gefüttert worden. Das klappt gut.
"KIs" zum Bilder-Erstellen sind mit Bildern aus dem Internet gefüttert worden, Also Instakram, Katzenbilder, Urlaubsfotos, Essensbilder usw.
Ab und zu auch mal ein Screenshot von Quelltext.
Jetzt denk an das Forum hier: Die Leute die ihren Quelltext als Bild, bevorzugt JPG, hier hochladen, sind das die Leute mit qualitativ besonders hochwertigem Sourcecode?
Nachdem sich die Wogen etwas geglättet haben, erlaube ich mir mal auf Folgendes hinzuweisen:
Gerade Aktuell: Ein Australischer Mathematiker und sein Kollege haben die KI eines Anbieters für kleine Lösungsbereiche einer wirklich großen Aufgabe genutzt, an der sie wohl schon seit langer Zeit arbeiten. Zumeist haben sie die unzähligen etwas kleineren, aber nervigen Teilaufgaben ausgelagert. Da ist nichts gegen einzuwenden.
Dann plötzlich, wie aus dem Nichts, kommt in kurzem zeitlichen Abstand das KI-System des selben Herstellern mit einem großen Antwortpaket heraus und beansprucht die Lösung für sich. Auf Nachfrage an den Hersteller, ob die Arbeit des Mathematikers direkt in das Training der KI eingeflossen ist, gab es KEIN klares Statement. Dafür einen Wischi-Waschi Marketing Textbaustein als Antwort.
Kleine Anekdote, dass bezieht sich auf eines der großen mathematischen Probleme, dessen Lösung mit einer Million Dollar dotiert ist.
PS. Es existiert ein mehr als einstündiges Interview mit diesem Mathematiker, in dem er sehr vorsichtig, als wenn er auf Eierschalen laufen würde, dieses Geschehnis darlegt. Seine bereits geleistete Arbeit erheblichen Ausmaßes ist dadurch natürlich zumindest Medial komplett entwertet worden.
Ich beobachte in den letzten Monaten vermehrt, dass Leute stolz unfertige Programme präsentieren, die sie überwiegend mit KI erzeugt haben. Daraus wir voreilig abgeleitet, man bräuchte bald keine Programmierer mehr.
Ich möchte an die 80/20 Regel erinnern. Man braucht 80% der Zeit, um auf den ersten Blick fertige Programme (so weit sind sie nicht mal) wirklich fertig zu bekommen. Das macht nicht die KI, sondern der Mensch. Ergo kann die KI den Programmierer nur bei weniger als 20% seiner Arbeit stark unterstützen. Dazu kommt, dass die meisten Softwareentwickler nur einen geringen Teil ihrer Arbeitszeit programmieren, was den Nutzen der KI weiter senkt. Vom Ersetzen der meisten Entwickler kann wohl kaum eine Rede sein. Das ist nur der feuchte Traum raffgieriger Manager.
Ich denke, eine Firma muss etwa 10 Softwareentwickler mit einem eigenen KI System unterstützen, damit es finanziell Sinn ergibt. Die können dann so viel schaffen wie 11 oder 12 Leute ohne KI.
Die Nutzung fremder KI Dienste kann sich schon für einzelne Personen lohnen, aber dann hat man keinen ernsthaften Datenschutz, insbesondere was Betriebsgeheimnisse angeht.
Zusätzlich ist zu bedenken, dass man KI Agenten nicht unbeaufsichtigt laufen lassen kann. Zu hoch ist das Risiko, dass sie Regeln des Unternehmens brechen oder gar Straftaten begehen, wofür dann der jeweilige Nutzer haftet. Die Idee, Abends eine Aufgabe abzukippen um am nächsten Morgen "nur noch" das Ergebnis zu testen, ist noch nicht praktikabel.
Wie gehen Freelancer damit um? Mit welcher KI arbeiten sie, ohne die Geschäftsgeheimnisse ihrer Arbeitgeber zu verraten? Wie versichern sie sich gegen unbeabsichtigte Straftaten?
Die Nutzung fremder KI Dienste kann sich schon für einzelne Personen
lohnen, aber dann hat man keinen ernsthaften Datenschutz, insbesondere
was Betriebsgeheimnisse angeht.
Datenschutz bezieht sich nur auf personenbezogene Daten. Betriebsgeheimnisse fallen nicht darunter. Sourcecode, Schaltpläne etc. enthalten solche Daten normalerweise nicht.
Ein Betriebsgeheimnis absichtlich zu verraten (z.B. an die Konkurrenz zu verkaufen) kann eine Straftat sein, es aber versehentlich fahrlässig zu "verlieren" nicht. Wenn vom Unternehmen vorgeschriebene Sicherheitsregeln (z.B. Verschlüsselung von Laptops, Passwörter etc.) nicht eingehalten werden und dadurch Geheimnisse abhanden kommen ist das eher zivilrechtlich/arbeitsrechtlich relevant aber auch keine Straftat.
Wenn man Betriebsgeheimnisse von einem externen Anbieter verarbeiten lässt (z.B. Daten in OneDrive, Outlook, ...) bekommt man normalerweise eine vertragliche Zusicherung eines gewissen IT-Sicherheitslevels. Wenn der Anbieter die Daten dennoch verwendet oder unzureichend sichert, ist der Anbieter schuld und nicht das eigene Unternehmen bzw. dessen Mitarbeiter. Letztlich gilt das auch für KI-Anbieter - in den Bezahl-Abos kann man die Verwendung der Prompts für das Training abschalten, und der Anbieter sichert zu, dass die Daten somit sicher sind.
Hier stellt sich natürlich die Frage wie vertrauenswürdig der Anbieter ist - wenn der Cloudspeicher-Anbieter vom Cousin des CEO des Konkurrenten betrieben wird, könnte es vielleicht doch fahrlässig sein. Wer argumentiert dass z.B. Microsoft die Copilot-Eingaben trotz vertraglicher Zusicherung zweckentfremdet muss aber auch davon ausgehen, dass Microsoft alle Daten in OneDrive/Sharepoint, Outlook, usw. abgreifen würde - Copilot zu misstrauen aber Outlook nicht ist inkonsequent. Keine Ahnung ob jemals ein Arbeitnehmer erfolgreich verklagt wurde, weil er Daten über einen "etablierten" IT-Anbieter verarbeitet hat und dieser die Daten unrechtmäßig verwendet hat.
Richtig kompliziert wird die Frage, ob ein KI-Agent lokal auf dem System befindliche Daten "irgendwo" hin schicken kann. Der "normale" Weg ist ja z.B. dass das LLM sich von der Agent-Runtime (Copilot, Claude Code etc.) den Code des Repository schicken lässt, den in einen neuen Prompt an das LLM füttern lässt, und daraus eine Ausgabe erzeugt. Solange man dem LLM-Provider vertraut ist das unproblematisch. Das LLM könnte aber z.B. ein Python-Script schreiben und von der Runtime ausführen lassen, welches den Sourcecode einliest und per HTTP-Request "irgendwo" hin schickt. Da kein Richter das LLM "schuldig" sprechen würde, ist wohl derjenige dran, der den Agenten unbeaufsichtigt solche Python-Scripte ausführen lässt. Durch Prompt-Injection sind solche Szenarien durchaus realistisch. Außerdem führen die LLMs ja Websuchen durch auf Basis von Begriffen im Code (z.B. um Datasheets zu finden) - dadurch gelangt ja ein Teil des Codes in die Sucheingabe. Wenn das LLM hier versehentlich größere Teile des Codes an eine nicht vertrauenswürdige Suche übergibt könnte es auch problematisch werden.
Was hilft dagegen? Die Agent-Runtime in einer isolierten Umgebung (Docker, VM, ...) laufen lassen, wo nur der relevante Sourcecode drin ist, und die keinen Internetzugang hat über welchen Informationen exfiltriert werden könnten. Der Agent selbst braucht natürlich trotzdem eine Verbindung zum KI-Anbieter, es mehren sich Berichte dass Agenten aus solchen Umgebungen ausbrechen können, und gerade für Embedded kann es problematisch sein, von so einer Sandbox aus auf die Hardware zuzugreifen - die Coding-Agents können ihre Stärke eigentlich nur so richtig ausspielen wenn sie den Code auch testen können, also eben auf der echten Hardware via Debugger etc. Selbst wenn der Agent auf einem dedizierten Computer läuft könnte er andere Systeme im lokalen Netz angreifen usw.
Wenn man dem KI-Anbieter selbst auch nicht vertraut muss man zusätzlich noch die LLMs lokal laufen lassen (Ollama etc) mit entsprechenden Kosten, aber o.g. Probleme über sonstige Exfiltration löst das auch nicht.
Ich möchte an die 80/20 Regel erinnern. Man braucht 80% der Zeit, um auf
Das soll wohl 20% heißen.
den ersten Blick fertige Programme (so weit sind sie nicht mal) wirklich
fertig zu bekommen. Das macht nicht die KI, sondern der Mensch. Ergo
kann die KI den Programmierer nur bei weniger als 20% seiner Arbeit
stark unterstützen. Dazu kommt, dass die meisten Softwareentwickler nur
einen geringen Teil ihrer Arbeitszeit programmieren, was den Nutzen der
KI weiter senkt.
Die KI kann aber auch bei anderen Dingen helfen. Beim Debuggen, bei Reviews beim Testen. Requirements schreiben usw. usf. Man muss dabei die Ergebnisse natürlich überprüfen und ich sehe schon ein Risiko darin, dass Softwareentwicklung in Zukunft bedeutet, dass man KI-Kontrolleur wird.
Vom Ersetzen der meisten Entwickler kann wohl kaum eine
Rede sein. Das ist nur der feuchte Traum raffgieriger Manager.
Ich denke, eine Firma muss etwa 10 Softwareentwickler mit einem eigenen
KI System unterstützen, damit es finanziell Sinn ergibt. Die können dann
so viel schaffen wie 11 oder 12 Leute ohne KI.
Es kann schon mehr sein. Insbesondere ist die technische Entwicklung ja auch noch nicht abgeschlossen. Ein Problem ist, dass die KI nicht genug Wissen über das Projekt und die Umgebung hat, aber man wird mit der Zeit verstehen, wie man das der KI am besten zukommen lassen kann.
Die Nutzung fremder KI Dienste kann sich schon für einzelne Personen
lohnen, aber dann hat man keinen ernsthaften Datenschutz, insbesondere
was Betriebsgeheimnisse angeht.
Doch, natürlich.
"GitHub does not use Copilot Business or Enterprise customer data to train AI models.” Wenn man also die großen Firmenlizenzen hat (und nur dann!), dann werden die Daten nicht zum Training benutzt und man kann das als Firma benutzen.
Zusätzlich ist zu bedenken, dass man KI Agenten nicht unbeaufsichtigt
laufen lassen kann. Zu hoch ist das Risiko, dass sie Regeln des
Unternehmens brechen oder gar Straftaten begehen,
Hast Du schon mal gehört, dass irgendeine Endanwender-KI sich automatisch irgendwo reingehackt hätte? Das sind immer nur diese großen internen Modelle, die so etwas machen.
Ich denke schon auch, dass man die KI beim Programmieren überwachen muss, aber eher, damit sie keinen Unsinn macht oder einen falschen Ansatz wählt, nicht weil sie gegen Firmenregeln oder Gesetze verstoßen würde.
Ich benutze zum Experimentieren gerad das Modell qwen3 code 30b auf meiner örtlichen KI. Das Modell ist geil, es macht kaum Fehler, kann auch gut Chemie und Physik, so das es Formeln erstellen, umwandeln und dann gleich als Funktion in C++ realisieren kann. ;-O
Zur Zeit benutze ich Ollama, das sich gut in den C++ Builder einfügt. Ziel ist aber, als KI-Inferenz vLLM zu nehmen, das es unsere Hardware besser ausnutzt und gerad, wenn wir zu Viert proggen, viel schneller und ressourcensparender ist.
Man kann dabei auch gut mit qwen schnacken, es versteht sogar Andeutungen und Witze. So sind wir Beide durch Diskussion über die Medusa auf das Programmiertool / Bot Hermes gestoßen.
Hat einer von Euch mal mit Hermes experimentiert, ist es besser als Open Claw?
Ich benutze zum Experimentieren gerad das Modell qwen3 code 30b
Das ist aber anderthalb Jahre alt. Hast du es mal mit aktuelleren Modellen verglichen, z.B. Qwen 3.8 27B? Mit letzterem habe ich mal etwas rumgespielt, aber auf meiner Hardware (nur 12GB VRAM) ist das halt deutlich langsamer als github copilot.
Ich benutze zum Experimentieren gerad das Modell qwen3 code 30b
Das ist aber anderthalb Jahre alt. Hast du es mal mit aktuelleren
Modellen verglichen, z.B. Qwen 3.8 27B? Mit letzterem habe ich mal etwas
rumgespielt, aber auf meiner Hardware (nur 12GB VRAM) ist das halt
deutlich langsamer als github copilot.
Interessant.
Bei 80Gb Vram steht der Text nach ein paar Sekunden Nachdenken sofort.
Und die Voicebox liest auch gleich vor.
Aber wie es so ist, die Sponsorenfirma erwartet mehr :-). Deshalb ja auch der Agent.
Nur Mutter ist inzwischen wohl dauernd halbseitig gelähmt. Und auch die Harmonikaszene wartet noch... ;--((
Es ist noch viel schlimmer, OpenAI schnorchelt aktiv Daten von Mathematikern und anderen Wissenschaftlern ab. Sie setzen ihnen sogar die Tokens ohne Bezahlung automatisch wieder hoch, um möglichst viel fremdes Wissen stehlen zu können.
c't4004 podcast.
Es ist noch viel schlimmer, OpenAI schnorchelt aktiv Daten von
Mathematikern und anderen Wissenschaftlern ab. Sie setzen ihnen sogar
die Tokens ohne Bezahlung automatisch wieder hoch, um möglichst viel
fremdes Wissen stehlen zu können.
Da gratulieren wir doch!
Noch "besser".
Die Modelle interessieren sich auch für die Lebensläufe der Wissenschaftler.
Wenn man nur mit genügend internem Wissen deren Arbeit kommt, und nett ist, kennt die LMM dann plötzlich doch den Kollegen und listet sein Wedegang auf.
So richtig konnten mich die Vorteile des
unsloth/Qwen3.8-27B-GGUF:Q4_K_M
noch nicht überzeugen. Es ist schnarchlangsam und verrennt sich in ewigen "reasoning loops".
Normalerweise nutze ich
unsloth/Qwen3.6-35B-A3B-MTP-GGUF:Q4_K_XL
was gute Ergebnisse bringt und 4x schneller läuft.
Ok, zugegebnermaßen macht das 3.8er die schöneren HTML-Seiten.
Ich benutze zum Experimentieren gerad das Modell qwen3 code 30b auf
meiner örtlichen KI. Das Modell ist geil, es macht kaum Fehler, kann
auch gut Chemie und Physik, so das es Formeln erstellen, umwandeln und
dann gleich als Funktion in C++ realisieren kann. ;-O
Garnicht so übel. Mein AtMega8535 wollte einfach nicht so richtig bei TWI.
Und Fehler in Google eingegeben, KI Antwort:
Zitat:
"...Nutzen Sie innerhalb von i2c_write für die TWI-Steuerung und die Warteschleife ein anderes Register (z. B. r17 oder r24), das Sie als reines twi_reg definieren. Dadurch bleibt der Wert in temp über die gesamte Routine hinweg unverändert erhalten!
So muss die korrigierte Routine aussehen:
...Das tückische an diesem Fehler war das Zusammenspiel Ihrer beiden Routinen:
enable bereitet den Wert in temp vor und setzt das E-Bit auf 1.
i2c_write wird aufgerufen, sendet das Byte zwar noch korrekt ab, überschreibt aber sofort danach das Register temp mit den Kontrollbits (TWCR-Status) der Warteschleife.
Zurück in enable war Ihr mühsam berechnetes Display-Byte gelöscht. Das anschließende Maskieren (andi temp, 0b11111011) veränderte nur noch den alten TWI-Statuswert, wodurch der zwingend notwendige zweite Befehl (Enable auf 0 zurücksetzen) kompletten Datenmüll an das Display schickte.
Nops sind kontraproduktiv, haben in der Enable-Routine nichts zu suchen, da der I2C-Takt schon "langsam" genug ist..."
/Zitat
Wenn man Betriebsgeheimnisse von einem externen Anbieter verarbeiten
lässt (z.B. Daten in OneDrive, Outlook, ...) bekommt man normalerweise
eine vertragliche Zusicherung eines gewissen IT-Sicherheitslevels. Wenn
der Anbieter die Daten dennoch verwendet oder unzureichend sichert, ist
der Anbieter schuld und nicht das eigene Unternehmen bzw. dessen
Mitarbeiter.
Leider steht man dabei aber im Zweifelsfall in der Beweispflicht, und im Rechtsstreit mit einem Konzern, der nahezu unbegrenzte finanzielle Ressourcen aufwenden kann... schwierig.
Leider steht man dabei aber im Zweifelsfall in der Beweispflicht, und im
Rechtsstreit mit einem Konzern, der nahezu unbegrenzte finanzielle
Ressourcen aufwenden kann... schwierig.
„und zu einer Vision von Wissenschaft zurückzukehren, in deren Mittelpunkt das menschliche Verständnis steht“.
Die Gruppe wurde erst im September gegründet und listet über 800 Mitglieder, darunter etwa den Fields-Medaillen-Träger und Co-Direktor am Max-Planck-Institut für Mathematik, Peter Scholze.
Die KI kopiert und übernimmt die Information und schert sich einen Dreck
darum. Sie ignoriert die damit verbundenen Rechte. Und damit nutzt sie
nicht das geistige Eigentum, sie stiehlt es. Und die KI-Firmen werden
somit zu Hehlern. Die sich, wie im richtigen Leben auch, dafür fürstlich
bezahlen lassen.
So ist es und leider ist die Politik mit der Gesetzgebung hinten dran. Mal sehen, wie lange das geht. Ich habe zwischenzeitlich mal probiert, was die KI kann und festgestellt, daß sie mit bei konkreten Fragen zu Filtern und FPGA meine eigene Seite zitiert.
Da habe ich sofort probiert, aus den Zeichnungen eine VHDL erstellen zu lassen. Geht sehr gut, bis auf die Lesefehler, die die KI macht. Natürlich ist das nur das Grundgerüst, ohne Funktion. Sie baut zwar auch Inhalte nach, liefert aber nur schlechte Vorschläge.
Sicherheitshalber habe ich die Seite mal etwas überarbeitet und einige Bilder ausgetauscht, sowie ersetzt. Kann ja nicht sein, daß die KI alles klaut.
Aber natürlich! Die brauchen doch so dringend noch ein paar zusätzliche Milliarden Einnahmen bis es Klabuff macht. Das schaffst du nicht mit eigener Arbeit, da ist Stehlen eine bewährte Alternative. ;-)
Schaut euch lieber schönere Beispiele an:
"Hey Claude, bau mir mal alle Adobe-Produkte nach".
https://getartcraft.com/apps
mal schauen wie das wird wenn's aus dem "Alpha"-Stadium raus ist.
Sehr beeindruckend. Ursprünglich hatte ich den Sätze
1
03/Principles
2
3
Shared by every craft
4
Built the hard way.
5
6
Every Crafting App is written from scratch in Rust and held to the same rules.
Ich habe zwischenzeitlich mal probiert, was die KI kann und
festgestellt, daß sie mit bei konkreten Fragen zu Filtern und FPGA meine
eigene Seite zitiert.
Ich habe zwischenzeitlich mal probiert,
was die KI kann und festgestellt, daß sie mit bei konkreten Fragen zu
Filtern und FPGA meine eigene Seite zitiert.
Hat sie denn recherchiert oder auswendig geantwortet?
Wenn sie recherchiert hat, dann ist das ja ok. Meist gibt sie dann auch die Quelle dazu an.
KI in der Softwareentwicklung – wo zieht ihr die Grenze? Ist das überhaupt noch eigene Entwicklungsleistung?
Mich würde mal eure Meinung zum zunehmenden Einsatz von KI in der Softwareentwicklung interessieren, insbesondere im Bereich Embedded C/C++.
Ist es eigentlich noch rechtlich unbedenklich, wenn man komplette Softwareprojekte von einer KI entwickeln lässt und die fertigen Produkte anschließend kommerziell verkauft?
Ich meine damit nicht einzelne Funktionen, Codevorschläge oder Unterstützung beim Debugging, sondern den gesamten Entwicklungsprozess von A bis Z:
Softwarearchitektur und Systemdesign
Implementierung sämtlicher Komponenten
Treiberentwicklung und Hardwareabstraktion
Unit-Tests, Integrationstests und Reviews
Dokumentation und Qualitätssicherung
Ich beobachte, dass manche Entwickler möglichst alles von der KI erledigen lassen möchten und den Ergebnissen teilweise nahezu blind vertrauen.
Aber wo bleibt dabei die eigentliche Ingenieursleistung?
Gerade in der Embedded-Entwicklung müssen wir Echtzeitverhalten, Hardwareabhängigkeiten, Speicherverwaltung, Nebenläufigkeit und teilweise sicherheitskritische Anforderungen berücksichtigen.
Wenn die KI nicht nur unterstützt, sondern praktisch sämtliche technischen Entscheidungen trifft, stellt sich für mich eine grundsätzliche Frage:
Lagern wir damit nicht zunehmend unsere eigene Denk- und Problemlösungsfähigkeit an die KI aus?
Und was passiert langfristig mit unserem Fachwissen, wenn wir Architekturen, Algorithmen und Implementierungen nicht mehr selbst erarbeiten und durchdringen?
Mich interessieren besonders eure Erfahrungen und Einschätzungen.
Wie alt seid ihr, wie lange entwickelt ihr bereits Software und wo zieht ihr persönlich die Grenze zwischen sinnvoller KI-Unterstützung und dem vollständigen Auslagern der Entwicklungsleistung?
Ich bin gespannt auf unterschiedliche Sichtweisen – auch von Entwicklern, die KI bereits sehr intensiv einsetzen.
Firmen lagern schon lange möglichst viel Entwicklungsarbeit in Länder aus, die es billiger machen. Der Einsatz von Ki ist dabei nur der nächste logische Schritt. An der Produktverantwortung ändert sich dadurch nichts.
Schreibst du gerade ein Buch zum Thema oder woher kommt dein Fragenkatalog?
Rechtlich unbedenklich war Softwareentwicklung noch nie, wenn fremdes geistiges Eigentum betroffen ist, einschließlich Open-Source-Lizenzen. KI macht lediglich die Herkunft des Codes und damit mögliche Rechtsverletzungen schwerer nachvollziehbar.
Rechtlich unbedenklich war Softwareentwicklung noch nie, wenn
fremdes geistiges Eigentum betroffen ist, einschließlich
Open-Source-Lizenzen. KI macht lediglich die Herkunft des Codes und
damit mögliche Rechtsverletzungen schwerer nachvollziehbar.
Die meisten Apps werden nur zusammengeklickt oder von der KI erstellt. Aber dennoch gilt man als Rechteinhaber, die Idee stammt ja von einem Menschen. Man trägt aber auch die Verantwortung, vor allem in Sachen Datenschutz.
Rechtlich unbedenklich war Softwareentwicklung noch nie, wenn fremdes
geistiges Eigentum betroffen ist,
Hängt auch vom Land ab.
in den USA, wo das meiste in der Richtung passiert, ist das "Clean Room" Reverse-engineering meistens legal, Also Team 1 disassembliert den Code, schreibt eine Dokumentation, Team 2 implementiert nach der Dokumentation ohne den Original-Code gesehen zu haben.
(s. Gerichtsurteile IBM vs. Phoenix wegen PC-Bios)
Ist mit AI natürlich extrem einfach geworden, wenn du beide Teams durch LLMs ersetzt.
Und da kommt vermutlich noch was nach, so wie die US-Regierung in den "New York Times vs. OpenAI"-Fall eingegriffen hat, "All copyrights are void when conflicting with U.S.A! U.S.A!-Based Suparintlegglilenze"
Sobald Software-Patente in's Spiel kommen, wird's komplizierter. Die gelten in den USA, sind in der EU aber illegal. Werden hier aber auch erteilt, mit fadenscheinigen Argumenten...
"die Ausgabe meines Bubblesort kann am Bildschirm dargestellt werden, dadurch verändert sich die Photonen-Emission, welche sichtbar ist. Deshalb ist das kein 'Programm für eine Datenverarbeitungsanlage', sondern 'bedient sich zur Erreichung eines kausal übersehbaren Erfolges des Einsatzes von Naturkräften'."
Interessante Diskussion, allerdings wie immer abschweifend und teilweise weit weg von der eigentlichen Fragestellung.
Meine Antwort dazu:
Ich habe noch keine wirklich brauchbare Arbeitsweise gefunden, mit der ich KI besonders effizient nutzen könnte. Und das liegt nicht nur daran, dass mein Arbeitgeber nach der "Wasch mir den Pelz, aber mach mich nicht nass"-Methode ("Nutzt KI, aber Ihr habt nur ein paar Token dafür pro Monat!") vorgeht.
Mein Problem ist viel grundsätzlicher:
Bei der KI ist die Aufgabenteilung sehr viel unklarer als bei jedem anderen Werkzeug bisher. Sie hat keine klar definierte Aufgabe und Schnittstelle zu mir als Entwickler, sondern sie macht im Prinzip genau dasselbe wie ich, nur mit ganz unterschiedlicher Qualität. Es ist nicht wie bei einem Compiler, Editor oder einer statischen Code-Analyse, die eine ganz klar umrissene Aufgabenbeschreibung bzw. ihren "eigenen" Verantwortungsbereich haben. Und es ist kein Tool, dem ich dasselbe Vertrauen entgegen bringen kann wie diesen spezialisierten Tools.
Für mich ist das derzeit noch nichts Halbes und nichts Ganzes. Aus meiner Sicht ergeben Tools nur dann Sinn, wenn ich und das Tool unterschiedliche Dinge tun. Beispiel Compiler - dem gebe ich meinen Code und der baut daraus Maschinensprache. In diesem Prozess pfusche ich selber nicht mehr herum (stelle höchstens Parameter ein) und ich muss auch nicht wirklich verstehen oder nachprüfen, was der erzeugt (abgesehen von ganz, ganz seltenen Fällen).
Bei der Code-erzeugenden KI ist das ganz anders. Sie "pfuscht" in meinem direkten Arbeitsgebiet mit denselben Arbeitsmitteln und -ergebnissen herum wie ein menschlicher Kollege, der ständig wechselnde Qualität erzeugt. Unbeaufsichtigt wie einen Compiler kann ich sie das nicht tun lassen. Ich muss prüfen, was sie erzeugt hat. Insofern taugt sie mir bestenfalls als intelligente, aber stark begrenzte Code-Vervollständigung oder schnelle "stackoverflow"-Suche.
Das Gute ist natürlich, dass in der Entwicklung bei uns das Schreiben von Code vielleicht 10% der Zeit beansprucht und damit selbst der theoretische Effizienzgewinn eher gering ist. Trotzdem ist für mich der derzeitige Stand sehr unbefriedigend. Nicht Fisch, nicht Fleisch und die Erwartungen des Managements sind groß, wie denn die tolle KI bei uns beim Erreichen von "China-Speed" helfen kann (anstatt absolut schrottige Tools und Prozesse ernsthaft zu hinterfragen). Und denen kann man das nicht mal verübeln, denn teilweise sind die Ergebnisse der KI beeindruckend, aber sie sind eben nicht konsistent. Man kann sich nicht drauf verlassen und seine Arbeitsweise wirklich fundamental umstellen. Und das ist das größte Problem in meinen Augen.
Insofern taugt sie mir bestenfalls als intelligente, aber stark
begrenzte Code-Vervollständigung oder schnelle "stackoverflow"-Suche.
Mittlerweile ist das so: Alles, was man spezifizieren kann, kann die KI umsetzen. Die Frage ist nur noch, ob du es präzise genug anweisen kannst bzw. selber gut genug weißt, was du überhaupt haben willst.
dass in der Entwicklung bei uns das Schreiben von Code vielleicht 10%
der Zeit beansprucht und damit selbst der theoretische Effizienzgewinn
eher gering ist.
Naja, oft gibt es aber genug potenzielle weitere Dinge die implementiert werden könnten aber aus Zeitmangel nicht angegangen werden - die kann man mit KI jetzt doch umsetzen. Und vielleicht kann man auch die 90% Konzeptarbeit reduzieren indem man einfach mal schnell per KI eine Demo/Prototypen/Proof-of-Concept zusammen bauen lässt, statt endlos zu diskutieren, welcher Ansatz besser ist.
Nutzt KI, aber Ihr habt nur ein paar Token dafür pro Monat!"
Ich kann nur jedem Entwickler dringendst empfehlen, darauf zu bestehen, dass man ein vernünftiges KI-Budget bekommt und damit arbeiten darf. Die monatlichen $20 für Claude Pro sind doch echt ein No-Brainer. Ein einzelner Prompt kann Stunden an Recherche ersparen, damit sind die Kosten sofort wieder drin... Wenn man nicht gerade kurz vor der Rente steht, kann es immer Gründe geben, den Job zu wechseln, und heutzutage ohne KI-Erfahrung eine neue Stelle zu finden dürfte nahezu unmöglich sein. An echten Projekten zu üben ist also im eigenen Interesse, um relevant zu bleiben.
Bei der Code-erzeugenden KI ist das ganz anders. Sie "pfuscht" in meinem
direkten Arbeitsgebiet mit denselben Arbeitsmitteln und -ergebnissen
herum wie ein menschlicher Kollege, der ständig wechselnde Qualität
erzeugt. Unbeaufsichtigt wie einen Compiler kann ich sie das nicht tun
lassen. Ich muss prüfen, was sie erzeugt hat.
Stimmt, aber dass man den Code von Kollegen reviewed ist ja ganz normal. Klar, bei der KI gibt es vielleicht mehr Überraschungen und Missverständnisse, aber es gibt ja auch Kollegen, die frisch vom Studium oder der Ausbildung kommen und die noch ein Stück zu lernen haben.
Insofern taugt sie mir
bestenfalls als intelligente, aber stark begrenzte
Code-Vervollständigung oder schnelle "stackoverflow"-Suche.
Und warum lässt Du sie nicht mehr machen? Weil Du es reviewen musst?
Und zu den nützlichen Features der KI gehört definitiv auch die Fehlersuche. Die ganzen Sicherheitslücken, die die KIs gerade finden, zeigen doch schon, dass die auf übermenschlichem Niveau arbeiten.
Das Gute ist natürlich, dass in der Entwicklung bei uns das Schreiben
von Code vielleicht 10% der Zeit beansprucht
Die KI kann schon auch mehr, z.B. Tests schreiben oder Testtooling schreiben.
Im Prinzip sollte sie auch mit Requirements umgehen können, aber das habe ich noch nicht getestet.
Die KI kann schon auch mehr, z.B. Tests schreiben oder Testtooling
schreiben
Das macht die sogar vollautomatisch, ohne dass man nachfragt startet Claude temporäre Scripte oder Datenbank-Instanzen und testet mal eben schnell das frisch geschriebene. Unit-Tests werden sowieso meist einfach mit ausgegeben.
Claude Code greift auch selbstständig auf JTAG-Debugger zu um Firmware direkt auf dem Target zu debuggen und testen. Ohne zusätzliches Tooling, ein verfügbarer gdb.exe reicht.
Und zu den nützlichen Features der KI gehört definitiv auch die
Fehlersuche.
Ja, die KI findet mögliche Fehler und Konflikte noch vorm
Code-Generieren, an die ich gar nicht gedacht hatte. Und natürlich meine
Fehler im Code.
Markus K. schrieb:
Im Prinzip sollte sie auch mit Requirements umgehen können
Das geht sogar noch besser - wenn du schon klare Requirements hast, ist
die Software eigentlich schon fertig.
Ja, dazu müssen die aber auch gut genug sein. Requirements für Menschen sind meist auf einem anderen Niveau als die Requirements, die die KI braucht.
Außerdem gings mir auch um so Sachen wie z.B. aus den Systemrequirements die Softwarerequirements abzuleiten.
Markus K. schrieb:
Die KI kann schon auch mehr, z.B. Tests schreiben oder Testtooling
schreiben
Das macht die sogar vollautomatisch, ohne dass man nachfragt startet
Claude temporäre Scripte oder Datenbank-Instanzen und testet mal eben
schnell das frisch geschriebene. Unit-Tests werden sowieso meist einfach
mit ausgegeben.
Ja, aber die müssen ja auch ordentlich dokumentiert werden. Also in die Liste der Tests mit aufgenommen werden, am Besten noch mit den Anforderungen verlinkt usw. Ich habe mir auch die Qualität bzw. den Umfang der Tests noch nicht näher angeschaut.
Claude Code greift auch selbstständig auf JTAG-Debugger zu um Firmware
direkt auf dem Target zu debuggen und testen. Ohne zusätzliches Tooling,
ein verfügbarer gdb.exe reicht.
Aber es hat dedizierten Code genau dafür, Claude nicht, es hat nur das LLM + system()-Aufruf. VS Code sucht nicht vollautomatisch die Fehler, ändert den Code, versucht es erneut usw. Also wenn man Copilot nutzt schon.
Also in die Liste der Tests mit aufgenommen werden, am Besten noch mit
den Anforderungen verlinkt usw
Das ist ja reine Fleißarbeit und somit überhaupt kein Problem
Macht ihr das auch? Also in eurem Tooling dafür?
Markus K. schrieb:
Das macht vscode auch.
Aber es hat dedizierten Code genau dafür, Claude nicht, es hat nur das
LLM + system()-Aufruf. VS Code sucht nicht vollautomatisch die Fehler,
ändert den Code, versucht es erneut usw. Also wenn man Copilot nutzt
schon.
Tests schreiben ja, explizite Listen dafür anlegen nein - das Unit-Test Framework findet die Tests automatisch. Anforderungen liegen derzeit noch nicht sehr strukturiert vor.
Sehr viele Entwickler lesen den KI-generierten Code gar nicht mehr, eben
genau wie den Maschinencode. Somit ist die Aufgabe klar umrissen:
Auftraggeber schreibt grobes Produktkonzept
Entwickler schreibt daraus Architektur-Spezifikation
Coding Agent erzeugt daraus Quelltext
Compiler wandelt diesen in Maschinencode/Bytecode um
Bei kleineren oder gut spezifizierbaren Projekten fällt der
Zwischenschritt des Entwicklers weg und der Auftraggeber beliefert
direkt den Agenten.
Genau da bin ich sehr skeptisch. Das mag für einfache Projekte funktionieren, für große, existierende Projekte, bei denen hohe Sicherheitsanforderungen bestehen und eine ganze Menge an Neben- und Seitenbedingungen berücksichtigt werden müssen, wird es schnell unhandlich.
Es geht doch in vielen Projekten nicht darum, einfach irgendwie funktionierenden Code zu erzeugen. Vieles sind Änderungen, bei denen eine ganze Menge Dinge berücksichtigt werden müssen. Das Abtippen des Codes ist dann schnell gemacht.
Hinzu kommt, dass ich beim Review mit einem menschlichen Entwickler wesentlich schneller und effizienter Änderungen verstehen und besprechen kann. Meistens kommt man dann auch wieder in architektonische Diskussionen.
Bisher ist es für mich so, dass die KI schneller in genau dem Aufgabenbereich ist, in dem einigermaßen erfahrene menschliche Entwickler in der Regel besser sind.
Wo richtig Zeit bisher gespart wurde, sind Dinge wie "Benenne mal tausend Parameter nach dem Schema xy um" und vergleichbare Sachen. Oder "Schreib mir mal ein Python-Skript, dass die Daten auf irgendeine Weise bearbeitet". Aber da wird es schon schnell sehr haarig, weil bei etwas komplexerer Verarbeitung entweder sehr viel Vertrauen entgegengebracht werden muss oder sehr viel Prüfarbeit erfolgen muss.
In der Praxis bei uns wird KI dann auch vorrangig dafür benutzt, um idiotische Prozesse und extrem schlechte Tools "benutzbar" zu machen bzw. damit umzugehen.
Was ich bisher oft erlebt habe, sind vor allem sehr aufgeschlossene Entwickler, die KI begeistert nutzen, schnell tolle und gut aussehende Produkte und vor allem Auswertungen erzeugen, bei denen man dann bei genauerem Hinschauen doch wieder auf Auffälligkeiten stößt, die eigentlich nicht nachvollziehbar sind. Beliebt ist auch das Erzeugen von Doku, die auf den ersten Blick sehr toll aussieht, aber beim Reinlesen relativ nutzlos und schlecht strukturiert ist. Das Schlimmste sind aber Unit-Tests, die automatisch erzeugt im Prinzip nur die Implementierung umgekehrt als Test abbilden und nahezu unlesbar sind. Das sind alles so die Dinge, mit denen man sehr schnell seinen Chef und das Management beeindrucken kann, aber letztendlich deutlich weniger konsistente Ergebnisse produzieren als vorher.
Ich bin daher nach wie vor sehr skeptisch in Bezug auf den echten Nutzwert. Für mich steht noch eine recht klar umrissene und konsistente Anwendung in Frage und eindeutig zu viel Kontrollaufwand und inkonsistente Qualität auf der Gegenseite. KI ersetzt für mich einfach zu wenig Dinge, die ich nicht oder viel schlechter kann. Es bietet mir auch keine ausreichend saubere und klar definierte Abstraktionsebene, auf die ich mich begeben und auf der ich sicher bleiben kann. Ich muss nach wie vor dasselbe können und verstehen wie die KI.
Das haben viele nicht verstanden und daher wird es auch eine schleichende Degradation an Fähigkeiten und Wissen geben, ohne dass die Qualität der Ergebnisse besser wird.
Gerade bei großen Projekten berühren manche Änderungen viele Stellen im Code. Da ist es gern mal nur eine anzupassende Zeile, aber das dann hundertfach im Projekt. Das Zeitraubende ist dabei oft nichtmal die Bearbeitung, sondern das Navigieren im Code. Und genau das macht der Agent natürlich blitzschnell.
Hinzu kommt, dass ich beim Review mit einem menschlichen Entwickler
wesentlich schneller und effizienter Änderungen verstehen und besprechen
kann.
Viele haben keine solchen anderen Entwickler zur Hand oder die haben keine Zeit. Kurioserweise haben gerade im Embedded-Bereich viele Entwickler ihre ganz eigenen speziellen Vorstellungen, und denen jedes Mal im Detail zu erklären warum ich hier Technik X und Y angewendet habe ist anstrengend und zeitraubend, während die KI solche Vorgaben einfach klaglos übernimmt. Ich orientiere mich bei solchen Entscheidungen oft an etablierten Mustern und best-practices oder sogar Wissen aus dem Studium, und solche Sachen kennt die KI natürlich. Klingt arrogant, aber oft ist's einfach zielführender solche Entscheidungen diktatorisch zu treffen und dann von der KI abarbeiten zu lassen, statt zum 285. Mal zu rechtfertigen warum man OOP nutzt, ein "#define B 42" in "main.h" nicht so toll ist, man Strukturen "auf reserve" für zukünftige Nutzung vorsieht, warum man Unit-Tests in eine test_XY.cpp packt statt mit in die main.cpp usw usf.
In der Praxis bei uns wird KI dann auch vorrangig dafür benutzt, um
idiotische Prozesse und extrem schlechte Tools "benutzbar" zu machen
bzw. damit umzugehen.
Yup, ich glaube das ist ein großer Use-Case - vermurkste Digitalisierung mit KI gerade ziehen.
Das Schlimmste sind aber Unit-Tests, die automatisch erzeugt im Prinzip
nur die Implementierung umgekehrt als Test abbilden und nahezu unlesbar
sind.
Man sollte natürlich Corner-Cases angeben die getestet werden müssen. Man kann die Unit-Tests auch von einem frischen Agenten schreiben lassen der die Implementation nicht kennt (Black-Box Test).
Für mich steht noch eine recht klar umrissene und konsistente Anwendung
in Frage
Das Grundprinzip ist ja dass die KI eben nicht für eine fixe klar umrissene Aufgabe da ist, sondern für alles mögliche. Die Welt ist halt komplex und variabel, da lässt sich nicht alles in klar umrissene Prozesse einteilen, und gerade dann ist so ein flexibles und universell nützliches Tool extrem hilfreich.
KI ersetzt für mich einfach zu wenig Dinge, die ich nicht oder viel
schlechter kann.
Das war nie das Ziel. Es ersetzt Dinge die du kannst, möglicherweise schneller, sodass du in der Zeit was anderes machen kannst.
Die Logik ist nicht: "Die Aufgabe ist zu schwer, ich frage die KI"
Sondern: "Die Aufgabe ist simpel, das lass ich die KI machen und verschwende keine Zeit damit".
Wie oft macht man Dinge, mit denen man sich nicht so gut auskennt?
Wer einfache Dinge von Hand macht, lebt heutzutage gefährlich. Wer routinemäßig immer gleich strukturierte Aufgaben abarbeitet, oder wer für Aufgaben ganz präzise Spezifikationen braucht, ebenso.
Wer zwischen den unterschiedlichsten Aufgaben hin und her springt und alles irgendwie zum Laufen bringen muss, kann die KI super nutzen, eben weil die Aufgaben nicht klar umrissen sind:
Ein SQL-Datenbankschema migrieren? Ein binär-Interface einer proprietären DLL reverse-engineeren? Eine EBNF und Parser für eine Custom Script-Sprache auf Basis von Beispiel-Eingaben erstellen? Eine Firmware debuggen? Ein unerwartetes Verhalten einer Peripherie anhand des Datenblatts analysieren? IC's recherchieren anhand gewünschter Anforderungen? Argumente sammeln für/gegen ein Tool? Single-Use-Scripte für alle möglichen Aufgaben erstellen? Eine GUI oder Visualisierung für Messdaten bauen? Windows-Firewall-Regeln definieren? Alle möglichen technischen Details recherchieren, welche die Hersteller nicht schaffen vernünftig zu dokumentieren?
Kann man alles selber machen, aber die KI kann's schneller.