Hallo zusammen - gibt es schon KI-Tools, die einem die Übertragung eines Konzeptes in Code abnehmen? Soweit ich den Git-Copilot verstanden habe (correct me, if wrong :>), ist das eine schlaue Variante von Auto-Complete. (?) Ich meine eher etwas, wo man z.B. beschreibt, was eine Methode tun soll und vll. noch paar Constraints und der Code der Methode wird generiert. Oder sogar eine Abstraktionsebene höher - eine ganze Klasse beschreiben. Vielleicht z.B. mit der Option, dass bestimmte public Methoden vorhanden sein müssen. Viele Grüße :)
Ja, das geht. Je nachdem, was du willst, geht das extrem gut (bei Standardkram) bis extrem schlecht. Heißt also konkret: Die Software eignet sich gut, wenn du Programmieren viel weniger magst als Code Review, Fehlersuche und Debugging. Die KI kann dir nämlich ersteres bequem abnehmen, die anderen Aktivitäten wirst du dann aber deutlich intensiver durchführen müssen.
Was vorallem extrem gut geht: Code produzieren, der auf den ersten und zweiten Blick korrekt aussieht, aber dann doch subtile Fehler produziert. Ist auch nicht verwunderlich, die LLMs wurden darauf trainiert, Code zu erzeugen der aussieht wie der im Internet gefundene. Ob der Code richtig oder falsch ist, war kein Trainingsziel.
Jasson J. schrieb: > gibt es schon KI-Tools Vermutlich, wenn man bedenkt wie abgrundtief schlecht viele Software ist und wie es etablierte Firmen schaffen, jedes Jahr ein bisschen schlechter zu werden. Das, was die KI bisher geliefert hat, hat wenigstens grosse Lacher erzeugt.
Michael B. schrieb: > Das, was die KI bisher geliefert hat, hat wenigstens grosse Lacher > erzeugt. Mittlerweile betreiben Kriminelle (m/w/d) eigene KI-Farmen zur Erzeugung von Schadcode. Das scheint bereits recht gut zu funktionieren. Den Cyberexperten ist mittlerweile deshalb das Lachen darüber schon vergangen.
Jasson J. schrieb: > Hallo zusammen > - > gibt es schon KI-Tools, die einem die Übertragung eines Konzeptes in > Code abnehmen? Wenn du Online-kurse/trainings zu den KI-tools zählst, dann ja. Was stellst Du dir unter "Konzept" vor? So was wie "Business-Konzept das mir in 5 Jahren drei Porsches finazniert." Ja, sind wir hier bei "Wünsch Dir was" ?!
Dieter D. schrieb: > Mittlerweile betreiben Kriminelle (m/w/d) eigene KI-Farmen zur Erzeugung > von Schadcode. Das scheint bereits recht gut zu funktionieren. Denen ist es egal, wenn der Code auf 30% der Zielsysteme versagt. Wenn jedoch die Steuersoftware von 30% der Flugzeuge versagt...
> Mittlerweile betreiben Kriminelle (m/w/d) eigene KI-Farmen zur Erzeugung > von Schadcode. Das scheint bereits recht gut zu funktionieren. Den > Cyberexperten ist mittlerweile deshalb das Lachen darüber schon > vergangen. Beleg? Ist die URL dieser KI-Farmen WeiseVonZion.ru ? Ansonsten sind Script-Kiddies ein altbekanntes Phänomen.
:
Bearbeitet durch User
Jasson J. schrieb: > Ich meine eher etwas, wo man z.B. beschreibt, was eine Methode tun soll > und vll. noch paar Constraints und der Code der Methode wird generiert. > Oder sogar eine Abstraktionsebene höher - eine ganze Klasse beschreiben. > Vielleicht z.B. mit der Option, dass bestimmte public Methoden vorhanden > sein müssen. Man kann z.B. ein Python-Programm schreiben lassen, das die Anzahl Personen in einem Bild zählt. Das funktioniert wunderbar und man erhält dann ein Programm ohne jedes Errorhandling. Man kann es dann bitten, das Errorhandling reinzumachen. Das macht es dann. Vielleicht nicht vollständig, dann muss man es noch bitten die fehlenden Stellen auch noch zu berücksichtigen. Das ist aber sowieso Zufall. Beim C++ Programm hat es beim Bilddatei öffnen ein Errorhandling drin, für die Dateien der neuronalen Netze nicht. Man kann ihm natürlich auch sagen, es soll das Ganze in eine Funktion find_people stecken und dass es bitte englische Kommentare reinmachen soll, weil in Python eine deutsche Frage oft zu deutschen Kommentaren führt, während das C++ Programm keine Kommentare hat. Aber da ist viel Zufall im Spiel. Man kann sehr schnell Sachen ausprobieren. "Bitte zeichne um die erkannten Personen einen roten Rahmen und schreib die Anzahl erkannter Personen in grüner Schrift rechts oben ins Bild. Außerdem soll kein einzelnes Bild, sondern ein Video eingelesen werden." Funktioniert. Fazit: Man kann abstrakte Anweisungen geben und es setzt die dann um. Ganz oft ist der Code aber nicht fertig. Aber das macht (mir) nichts. Während ich normalerweise erst mal 1-2h gegoogelt hätte habe ich hier innerhalb von ein paar Minuten ein lauffähiges Beispiel, das recht nah an meine Bedürfnisse rankommt.
Markus K. schrieb: > Man kann z.B. ein Python-Programm schreiben lassen, das die Anzahl > Personen in einem Bild zählt. Das kann man aber auch per Google bekommen. Und der Code wird ja iW OpenCV aufrufen und selbst wenig Architektur und Algorithmen enthalten. Wenn man etwas komplett neues implementieren möchte muss man das ja wohl erstmal sehr detailliert beschreiben. Da kann ich es auch in C++ beschreiben...
Niklas G. schrieb: > Markus K. schrieb: >> Man kann z.B. ein Python-Programm schreiben lassen, das die Anzahl >> Personen in einem Bild zählt. > > Das kann man aber auch per Google bekommen. Und der Code wird ja iW > OpenCV aufrufen und selbst wenig Architektur und Algorithmen enthalten. Stimmt, aber man kann hier viel mehr Wünsche einfließen lassen. Man kann Variablennamen vorgeben, woher die Bilder kommen (Bilddatei, Videodatei, RTSP-Stream), ob es angezeigt oder gespeichert werden soll usw. Ich muss nicht ein generisches Beispiel nehmen und dann auf meine Bedürfnisse umbauen sondern ich bekomme ein passendes Beispiel. Ich lasse mir öfters mal Codesnippets generieren, die ich dann einfach so direkt in meinen Code kopieren kann. Natürlich muss man das noch gründlich anschauen, aber das ist bei Code von Stackoverflow auch der Fall. > Wenn man etwas komplett neues implementieren möchte muss man das ja wohl > erstmal sehr detailliert beschreiben. Da kann ich es auch in C++ > beschreiben... Das hängt von der Komplexität des Problems ab. Wenn ein Laie das Problem ausreichend gut beschreiben kann, dann hält sich der Aufwand in Grenzen. Wenn es komplexer wird, dann ist es oft sehr ineffizient, seine Gedanken umgangssprachlich zu formulieren um dann den passenden Code zu generieren.
Markus K. schrieb: > Man kann Variablennamen vorgeben, woher die Bilder kommen Das ist dann aber auch Baukastenschema. Markus K. schrieb: > Wenn ein Laie das Problem ausreichend gut beschreiben kann, dann hält > sich der Aufwand in Grenzen. Naja, auch ein einfaches Problem kann eine sehr komplexe Lösung und Software-Architektur erfordern. "Implementiere einen 5G-Protokoll-Stack" klingt einfach, aber... Und OpenSource-Beispiele gibt's nicht.
Wie gesagt, das funktioniert schon einigermaßen, wenn die Probleme nahe an dem sind, zu dem es viele Beispiele gibt. Auch Boilerplate-Code läßt sich ganz gut erzeugen. Eher schlechte Erfahrungen habe ich damit gemacht, Code nach detaillierter Spezifikation generieren zu lassen, irgendwas wird da immer falsch verstanden und dann sucht man erstmal ewig. Ich kann schneller und besser Code schreiben als diesen zu analysieren und zu debuggen, daher muß man schon wissen, wo die Grenzen der KI-gestützten Codegenerierung liegen und wie weit man sich das antun will.
Markus K. schrieb: > Natürlich muss man das noch gründlich anschauen, aber das ist bei Code > von Stackoverflow auch der Fall. Beu Stackoverflow hast du Einsicht in die Diskussion zum Code. Darun finden sich ift wertvolle Hinweise. Bei KI Output fehlt dieser Teil.
F. schrieb: > Wie gesagt, das funktioniert schon einigermaßen, wenn die Probleme nahe > an dem sind, zu dem es viele Beispiele gibt. Das kommt bei mir irgendwie selten vor...
Εrnst B. schrieb: > Was vorallem extrem gut geht: Code produzieren, der auf den ersten und > zweiten Blick korrekt aussieht, aber dann doch subtile Fehler > produziert. Das kenne ich jetzt aber auch von manchen Entwicklern... :-)
Niklas G. schrieb: > Markus K. schrieb: >> Man kann Variablennamen vorgeben, woher die Bilder kommen > > Das ist dann aber auch Baukastenschema. Genau. Aber das ist halt auch ein Teil von dem, was ich brauche. Es kann auch mehrere Klötzchen sinnvoll verbinden, aber nicht zu viele. > Markus K. schrieb: >> Wenn ein Laie das Problem ausreichend gut beschreiben kann, dann hält >> sich der Aufwand in Grenzen. > > Naja, auch ein einfaches Problem kann eine sehr komplexe Lösung und > Software-Architektur erfordern. "Implementiere einen 5G-Protokoll-Stack" > klingt einfach, aber... Und OpenSource-Beispiele gibt's nicht. Ich dachte da eher an GUI oder WEB.
Markus K. schrieb: > Ich dachte da eher an GUI oder WEB. Um zu wissen was die GUI genau machen soll muss man sich aber erst eine Menge Gedanken über UX machen. Das eigentliche Codieren, ob per KI oder manuell, ist dann ein vergleichsweise geringer Zeitaufwand.
:
Bearbeitet durch User
Niklas G. schrieb: > Das eigentliche Codieren, ob per KI oder manuell, ist dann kaum ein > Unterschied... Für erfahrene Entwickler. Anfänger lernen dabei hingegen die Programmiersprache, die Werkzeuge, die Bibliotheken, Patterns, den Style der Firma und die Kommunikation im Unternehmen alles gleichzeitig. Für diese Leute kann Hilfe durch KI nützlich sein, WENN sie denn guten Code generiert. Das wird noch besser, irgendwann. Doch alleine die Aussicht, die absoluten Anfänger unterstützen zu können, beflügelt die Phantasie einiger Manager in Richtung Personalkosten. Im Extremfall kommt die Idee auf, keine Experten mehr zu brauchen, nur Anfänger. Es gibt sogar schon Firmen, die für automatisch generierte Testautomaten Werbung machen. Gibt's noch gar nicht, aber das hält sie nicht davon ab, die Software schon zu vermarkten (von Musk abgeschaut?).
Niklas G. schrieb: > Markus K. schrieb: >> Ich dachte da eher an GUI oder WEB. > > Um zu wissen was die GUI genau machen soll muss man sich aber erst eine > Menge Gedanken über UX machen. Ich habe ja davon gesprochen, dass wenn ein Anfänger das sinnvoll definieren kann, dann kann da auch die KI sinnvoll Code erzeugen. Wenn man sich erst eine Menge Gedanken über das UX machen muss, dann ist die GUI bereits relativ komplex. Dann kommt man schnell an den Punkt, dass das Beschreiben sehr aufwändig wird und die KI auch nicht mehr gut funktioniert. > Das eigentliche Codieren, ob per KI oder > manuell, ist dann ein vergleichsweise geringer Zeitaufwand. Ich freu mich trotzdem, wenn es mir ein bisschen hilft. Mit der KI spare ich so vielleicht zwischen 0,5 - 2h pro Woche. Ich bin also etwa 1-2,5% produktiver geworden. Mir gefällt das (besser als nichts), aber es wird wohl noch etwas dauern, bis es auch nur 20% sind.
Markus K. schrieb: > Ich habe ja davon gesprochen, dass wenn ein Anfänger das sinnvoll > definieren kann, dann kann da auch die KI sinnvoll Code erzeugen. Das setzt voraus, daß der Anwender nicht nur sinnvoll "definieren", sondern auch sinnvoll und verständlich beschreiben kann. Wenn ich mir ansehe, welche Probleme manch' einer mit einer simplen Problembeschreibung hat, dann sehe ich da schlichtweg schwarz.
Markus K. schrieb: > Mit der KI spare ich so vielleicht zwischen 0,5 - 2h pro Woche. Ich bin > also etwa 1-2,5% produktiver geworden. Unser GF hat in seinem Manager Magazin etwas von 30% gelesen, die andere damit bereits sparen. Was ich für eine Werbelüge halte.
Da ich des Öfteren mit OpenCV arbeite, habe ich mal die folgende wirklich triviale Aufgabe gestellt: »Erstelle ein Python Programm welches grüne Kreise in den unteren 10% eines PNG erkennt und markiert.« Ich bekam auch "Etwas" was bei nicht ganz so genauem Betrachten durchaus als Python Code durchgehen könnte. Zunächst wurde das PNG in Grayscale gewandelt. Dann wurde auf dem kompletten Bild gesucht. Der Code übrigens eine recht ähnliche Kopie dessen, was in der OpenCV Dokumentation steht. Das man die Farbe grün nur recht schwierig in einem Grayscale Image erkennen kann, verstand das System wohl nicht richtig. Das man zur Optimierung und Geschwindigkeitssteigerung nur die unteren 10% mittels Blit kopiert und auswertet, verstand das System nicht richtig. Kurzum: Irgendwo zwischen Mangelhaft und Ungenügend. Wer also mit OpenCV vorher nicht gearbeitet hat, der beginnt nun erst einmal mit dem Studium der Dokumentation. Und danach nimmt er das hingerotzte Codefragment und wirft es angewidert in den virtuellen Mülleimer. Einzelne LEDs blinken lassen können die AI Systeme aber schon teilweise. LED-Blink-Programmierer sollten sich allerdings um ihre berufliche Zukunft sorgen machen.
Niklas G. schrieb: > F. schrieb: >> Wie gesagt, das funktioniert schon einigermaßen, wenn die Probleme nahe >> an dem sind, zu dem es viele Beispiele gibt. > > Das kommt bei mir irgendwie selten vor... Dann gibt es zwei Möglichkeiten: Entweder machst Du nur Superspezielles oder du zerlegst deine Probleme nicht geschickt. Man muß das Rad nicht neu erfinden, oftmals lassen sich ja Probleme geschickt zerlegen, abstrahieren und dann ggf. mit bereits vorhandener Software und geringen Anpassungen lösen (die man entweder mal geschrieben hat oder als Library lädt). Norbert schrieb: > Da ich des Öfteren mit OpenCV arbeite, habe ich mal die folgende > wirklich triviale Aufgabe gestellt: > > »Erstelle ein Python Programm welches grüne Kreise in den unteren 10% > eines PNG erkennt und markiert.« Wahrscheinlich ist es hier geschickter, schrittweise vorzugehen und dem Codegenerator direkt mitzuteilen, wenn er falschen Code generiert. In deinem Satz stecken sehr viele implizite Annahmen, einige davon werden der KI egal sein, einige nicht. Da muß man dann eben ein wenig nachhelfen, aber das geht ja. Nur: Das ist jetzt der Punkt, an dem man sich den generierten Code genau anschauen muß und gegebenenfalls bereits vor dem Generieren umfangreiche Tests geschrieben hat, um sicherzustellen, daß sich der Code auch so verhält, wie man sich das denkt. Für mich ergeben sich dann mit den aktuellen Lösungen kaum noch Vorteile zum selber Schreiben, aber das muß nicht so bleiben.
Norbert schrieb: > Da ich des Öfteren mit OpenCV arbeite, habe ich mal die folgende > wirklich triviale Aufgabe gestellt: > > »Erstelle ein Python Programm welches grüne Kreise in den unteren 10% > eines PNG erkennt und markiert.« > > Zunächst wurde das PNG in Grayscale gewandelt. Dann wurde auf dem > kompletten Bild gesucht. Der Code übrigens eine recht ähnliche Kopie > dessen, was in der OpenCV Dokumentation steht. Know your tools. Evtl. mehrfach probieren (in den Antworten ist eine Zufallskomponente enthalten), Frage vielleicht anders stellen. Ich habe jetzt einfach Deinen Prompt ausprobiert und u.a. folgendes bekommen:
1 | # Definieren der unteren 10% des Bildes |
2 | lower_10_percent = image[int(height * 0.9):, :] |
3 | |
4 | # Konvertieren des Bildes von BGR zu HSV |
5 | hsv = cv2.cvtColor(lower_10_percent, cv2.COLOR_BGR2HSV) |
6 | |
7 | # Definieren der Grün-Farbe im HSV-Farbraum |
8 | lower_green = np.array([40, 40, 40]) |
9 | upper_green = np.array([70, 255, 255]) |
10 | |
11 | # Erstellen einer Maske für grüne Farben |
12 | mask = cv2.inRange(hsv, lower_green, upper_green) |
[Rest davor und danach weggelassen] Ich habe es nicht ausprobiert, aber prinzipiell scheint mir der Ansatz sinnvoll zu sein. > Das man die Farbe grün nur recht schwierig in einem Grayscale Image > erkennen kann, verstand das System wohl nicht richtig. Es verrennt sich ab und zu und da kommt man dann an der Ecke nicht weiter. > Wer also mit OpenCV vorher nicht gearbeitet hat, der beginnt nun erst > einmal mit dem Studium der Dokumentation. Und danach nimmt er das > hingerotzte Codefragment und wirft es angewidert in den virtuellen > Mülleimer. Gerade in Python schreibt ChatGPT auch hin was es tut. Und wenn da drinsteht, dass es nach grayscale konvertiert, dann könnte das misstrauisch machen. Ganz ohne die Doku zu lesen.
Das ist ja alles schön und gut. Aber wenn ich zig-mal probieren und versuchen und umformulieren muss, bin ich um Größenordnungen schneller wenn ich's direkt selbst schreibe. Zumal ich mir jedes mal wieder den erzeugten Code anschauen und auf Idiotien überprüfen muss. Ich möchte gar nicht wissen was passiert wenn die Aufgabenstellung mal etwas komplizierter als Relais-On, Relais-Off ist. Da redet man dann zehnmal bis hundert mal mehr als notwendig. Zumindest wächst dann Prosa und Software-Klempnerei zusammen. Granted, für jemanden der keine, aber auch wirklich gar keine Ahnung hat was er da tut, da mag's ja gelegentlich wie Magie erscheinen. (Falls es denn mal klappt) Aber wirklich ernst nehmen kann man's sicherlich noch nicht.
F. schrieb: > Man muß das Rad nicht neu erfinden Tja, ein paar Mal hab ich es schon versucht mir Code für einzelne Detailprobleme generieren zu lassen und es kam totaler Schmarrn raus... Eine Sache die die KI eigentlich super können sollte wäre Produktrecherche - z.B. ICs mit bestimmten Eigenschaften finden, damit man sich nicht selbst durch Massen an Marketing-Blabla wühlen muss. Das wäre ein echte Zeitersparnis. Nur leider liefert die KI nur ICs die die Kriterien nicht erfüllen, ICs die gar nicht existieren (Halluzination), aber nicht die ICs von denen ich weiß dass sie passen würden...
Norbert schrieb: > Das ist ja alles schön und gut. Aber wenn ich zig-mal probieren Also bei mir hat der erste Versuch geklappt. So ein Python-Programm ist ja auch schnell ausprobiert. > und versuchen und umformulieren muss, bin ich um Größenordnungen schneller > wenn ich's direkt selbst schreibe. Zumal ich mir jedes mal wieder den > erzeugten Code anschauen und auf Idiotien überprüfen muss. Meine Erfahrung ist: In der Zeit, in der ich bisher gegoogelt habe, welche Libs es denn überhaupt gibt, habe ich jetzt ein funktionierendes Beispiel, das als Ausgangsbasis dienen kann. Wie nützlich das ist hängt auch stark davon ab, wie gut man sich mit einem Thema auskennt. Ich habe auch schon öfters mit opencv rumgespielt, aber ich hätte jetzt nicht gewusst, wie man grünliche Farbe findet. Das hätte ich erst googeln müssen. > Ich möchte gar nicht wissen was passiert wenn die Aufgabenstellung mal > etwas komplizierter als Relais-On, Relais-Off ist. Da redet man dann > zehnmal bis hundert mal mehr als notwendig. Zumindest wächst dann Prosa > und Software-Klempnerei zusammen. Es ist einfach ein Werkzeug. Mit Stärken und Schwächen. Wenn man es öfters benutzt, dann merkt man sehr schnell, welche Probleme es lösen kann und welche nicht. Es macht mich ein paar Prozent schneller, aber es ersetzt mich nicht.
Niklas G. schrieb: > Eine Sache die die KI eigentlich super können sollte wäre > Produktrecherche - z.B. ICs mit bestimmten Eigenschaften finden, damit > man sich nicht selbst durch Massen an Marketing-Blabla wühlen muss. Das > wäre ein echte Zeitersparnis. Nur leider liefert die KI nur ICs die die > Kriterien nicht erfüllen, ICs die gar nicht existieren (Halluzination), > aber nicht die ICs von denen ich weiß dass sie passen würden... Also prinzipiell hat er natürlich intern keine Liste von sowas und wie erschöpfend er da googelt kann man nicht erkennen. Aber insbesondere die Halluzinationen sind natürlich sehr ärgerlich. Ich habe neulich mal OpAmps vergleichen lassen. Das ist erstmal echt nützlich, weil er da Vergleichstabellen machen kann. Leider waren die Werte falsch. Er war sich sehr sicher, dass ein MCP604 14kHz GBW hat (korrekt 2,8MHz). Heute nochmal probiert, alles in Ordnung.
Norbert schrieb: > Da ich des Öfteren mit OpenCV arbeite, habe ich mal die folgende > wirklich triviale Aufgabe gestellt: [...] > > Wer also mit OpenCV vorher nicht gearbeitet hat, der beginnt nun erst > einmal mit dem Studium der Dokumentation. Und danach nimmt er das > hingerotzte Codefragment und wirft es angewidert in den virtuellen > Mülleimer. Die Frage ist doch, ob es bereits KI-Systeme gibt, die Systeme wie z.B. OpenCV gebnerieren können?! OpenCV passend zu verwenden, dazu gehört ja nicht allzu viel Gehirnschmalz. Allerdings würde ich es mir z.B. nicht zutrauen, ein System wie openCV from scratch zu entwickeln. Da ist einfach zu viel Theorie der Bildverarbeitung, Mustererkennung etc. dabei, und es wird dann recht zeitaufwändig, sich da einzuarbeiten... ciao Marci
Marci W. schrieb: > Die Frage ist doch, ob es bereits KI-Systeme gibt, die Systeme wie z.B. > OpenCV gebnerieren können?! Wenn die Frage ist, ob es KIs gibt, die 90% der Softwareentwickler ersetzen könnten: Nein, die gibt es nicht. > OpenCV passend zu verwenden, dazu gehört > ja nicht allzu viel Gehirnschmalz. Na doch. Man muss wissen wann man welche Funktion verwendet und wie man sie in Kombination verwendet. Wie beim Programmieren immer und überall. > Allerdings würde ich es mir z.B. > nicht zutrauen, ein System wie openCV from scratch zu entwickeln. Da ist > einfach zu viel Theorie der Bildverarbeitung, Mustererkennung etc. > dabei, und es wird dann recht zeitaufwändig, sich da einzuarbeiten... Irgendwas programmieren lassen, was du vorne und hinten nicht verstehst ist glaub nicht sinnvoll. Du könntest ja die Anforderungen gar nicht formulieren.
Zum Glück gibt's hier Leute, die sich ein wenig auskennen. KI wird nicht sofort alle unsere Probleme magisch lösen, es gibt aktuell einige interessante Einsatzbereiche für entsprechende Werkzeuge und da funktioniert das dann auch. Es werden sich sicher mit der Zeit auch Vorgehensweisen entwickeln, wie Probleme zu formulieren sind, um sie mit KI-gestützten Codegeneratoren ordentlich lösen zu können. Das ist aktuell noch alles recht neu und experimentell, da muß man sich darauf einlassen. Oder man läßt es eben und beschwert sich dann darüber, daß die KI aus einem kurzen Satz kein komplexes System fehlerfrei entwickeln kann. Wir sehen ja heute bereits, daß KI-Codegeneratoren relativ brauchbar darin sind, Code zu entwickeln, der relativ "einfach" ist. Also keine komplexe Beschreibung, sondern eher angepaßte Codebeispiele, wie man sie auch in Tutorials und Forendiskussionen findet. Das funktioniert relativ gut und ist oftmals unglaublich hilfreich, weil oft Initialisierungscode schwierig ist. Der Traum, der KI irgendeine Eingabe zu geben und dann ohne weiteres Zutun ein tolles Programm rauszukriegen, ist aber, so er denn überhaupt erfüllbar ist, noch in weiter Ferne.
Ich muss sagen das es mich auch gewundert hat was da alles geht. Ich habe ein kleines 1000 Zeilen Arduino/c++ Programm, das zweckmässig funktioniert, aber noch etwas unübersichtlich ist. Ich habe einfach nur "refactor my Code" angegeben und es wurden richtig benannte enums erstellt, einiges an Code in gut strukturierte und sogar richtig gut benannte Unterfunktionen gepackt, sowie die gesamt Lesbarkeit immens verbessert. Variablen inits neu sortiert und gruppiert. Leider klappte das nur bis Zeile 200 ;D Gibt es eigentlich einen ki Service der die 1000 Zeilen schluckt? Kann auch was kosten.
Markus K. schrieb: > Irgendwas programmieren lassen, was du vorne und hinten nicht verstehst > ist glaub nicht sinnvoll. Du könntest ja die Anforderungen gar nicht > formulieren. So ganz ungewöhnlich ist das nicht. In der Industrie wird so einiges durch Oursourcing mit unklarem oder nicht vorhandenem Lastenheft gemacht. Wenn das Ergebnis zufällig zu funktionieren scheint wird es genommen. "It compiles, lets ship it". Im Hobbybereich: 90% der Arduino-"Programmierer" versuchen Probleme zu lösen die sie nicht durchdrungen haben mit Copy-Past von Zeug das sie nicht ansatzweise verstehen. Daher ist die Hemmschwelle was KI-generiertes zu nehmen nicht so hoch. Wer vorher keine Ansprüche hatte oder viel Gottvertrauen hat nimmt heute schon ungeprüft KI, das Outsourcing des kleinen Mannes. Man sollte sich klar machen KI denkt nicht, KI lernt auswendig. Hat sie das Richtige auswendig gelernt bekommt man ein richtiges Ergebnis, wenn es nicht von falschen Informationen überlagert wurde. Hat sie Wissenslücken phantasiert sie im schlimmsten Fall.
:
Bearbeitet durch User
Philipp K. schrieb: > Gibt es eigentlich einen ki Service der die 1000 Zeilen schluckt? Schau dir mal https://codeium.com/ an (Kostenlose Version reicht, evtl. sogar der online-playground) Das hat wesentlich mehr Kontext und kann den auch aus mehreren Dateien zusammensammeln...
Jasson J. schrieb: > gibt es schon KI-Tools, die einem die Übertragung eines Konzeptes in > Code abnehmen? Das ist ja eigentlich die Algobasis. Das man mit dem Lambda-Kalkül relativ weit kommen kann, haben wir gesehen. Bibliotheken und Templates gibt es ja - wenn die KI die passenden Sachen heraussuchen kann, ist sie gut dabei. Nur manchmal hast du keine Bib und das müsste die KI klar zu erkennen geben - Oft ist es ja auch so, dass überhaupt erstmal eine Frage gestellt werden muss, oder oder der Verstand vorhanden, die Frage zu überdenken und operationalisiert auszuformulieren. Und warum sollte eine KI, wenn sie schon eine Lösung findet, ein Programm erstellt, nicht gleich das Testprogramm dazu erstellen und nutzen? So als Ablaufplanbegleitung könnte eine KI auch ganz gut sein. Was früher hoch organisierte, exzellent ausgebildete Teams geschafft haben, müssen ja heute oft einzelne Überlebenskämpfer mit halbgarer Ausbildung hinbekommen. Wenn genug Motivation da ist, könnte das funktionieren. Es gibt durchaus inspirierende Ansätze diesbezüglich.
Hannes J. schrieb: > Im Hobbybereich: 90% der Arduino-"Programmierer" versuchen Probleme zu > lösen die sie nicht durchdrungen haben mit Copy-Past von Zeug das sie > nicht ansatzweise verstehen. Ja, aber das hat halt seine Grenzen was die Komplexität des Problems angeht. Man kommt mit der KI heutzutage ein Stück weiter als mit Copy&Paste, aber etwas so komplexes wie eine große Lib ohne ordentliche Beschreibung wird nichts werden. > Man sollte sich klar machen KI denkt nicht, KI lernt auswendig. Hat sie > das Richtige auswendig gelernt bekommt man ein richtiges Ergebnis, Die KI lernt nicht nur auswendig, sondern sie erkennt auch Muster. Gerade deswegen kann man sie ja auch sehr gut dazu verwenden, mehrere Komponenten miteinander zu kombinieren. Das hat aber aktuell noch seine Grenzen.
Εrnst B. schrieb: > Schau dir mal > https://codeium.com/ > an der war auch nicht schlecht, macht aber auch Fehler. Dann muss ich es halt händisch mit den KI-Tips umschreiben. Das ist auch okay, leider nur Zeitaufwendig. Markus K. schrieb: > Im Hobbybereich: 90% der Arduino-"Programmierer" versuchen Probleme zu >> lösen die sie nicht durchdrungen haben mit Copy-Past von Zeug das sie >> nicht ansatzweise verstehen. Bei mir ist das so, das ich die Lösung meistens kenne (Gewusst wie.). Ich sehe da halt nur viele Stunden arbeit (z.B. einen Display Treiber für einen AVR zu schreiben), dann schaue ich ob es eine Lib gibt bei der sich jemand die Mühe schon gemacht hat um beim eigentlichen Kern bleiben zu können. Die KI kann halt theoretisch bei Fleißarbeit helfen, z.B. irgendein HW-Protokoll, API Anbindungen, Konvertierungen in C++ aufzuschlüsseln. Man selbst weiß wie man es macht, man müsste Zig Tabellen und PDFs durchforsten, alles in c++ übertragen und am Ende hat man nichts davon wenn man es nicht beruflich braucht.
:
Bearbeitet durch User
Philipp K. schrieb: > der war auch nicht schlecht, macht aber auch Fehler. Dann muss ich es > halt händisch mit den KI-Tips umschreiben. Codeium hat zum einen die KI-Vervollständigung/Vorschläge im Editor beim Tippen, aber auch einen Chat mit dem man größere Sachen/Refactoring machen kann. Aber ja, etwas Handarbeit bleibt immer, und kontrollieren muss man den erstellten Code auch. Die KI macht immer Fehler. Einfach weil die zum trainieren wild mit allem möglichem Code aus dem Internet gefüttert wurde, egal wie gut, korrekt oder falsch der ist. Also nicht wundern, wenn die KI 1:1 die Fehler nachbauen will, wegen der sich jemand incl. Codeschnipsel an Stackoverflow gewendet hat... Ansonsten funktioniert das einfach nach der Hoffnung, dass im Internet schon mehr korrekter als falscher Code rumfliegen wird. Tipp für das Arbeiten mit den KI-Vorschlägen: immer zuerst einen kleinen Kommentarblock tippen, was die nächste Funktion/Codeabschnitt machen soll, dann werden die Vorschläge um Welten besser. Etwas Copy&Paste aus dem Datenblatt hilft auch.
Rbx schrieb: > Und warum sollte eine KI, wenn sie schon eine Lösung findet, ein > Programm erstellt, nicht gleich das Testprogramm dazu erstellen und > nutzen? Weil sie sich dann selbst testet, was genau so unsinnig ist, wie wenn ein einzelner Programmierer die Spezifikation, das Programm und den Test selbst erstellt. So fordert man das Glück heraus, Qualitätssicherung geht anders. Vom Hersteller eines IDE Plugins habe ich mir ein Werbe-Video angeschaut, dass mich eher enttäuschte, als zu begeistern. Dort hat er die KI aufgefordert, eine stringToBoolean() Funktion zu erstellen, die positive Wärter wie "true", wahr", "yes", "1", "on", "ein" case-insensitive als TRUE einstufen wollen, andere Worte als FALSE. Die KI hat das strunz dumm 1:1 umgesetzt, dabei aber den punkt case-insensitive ignoriert. Ein guter Programmierer hätte nachgefragt, welche Wörter noch alles positiv sein sollen, ob es nur die beiden genannten Sprachen können soll und ob in allen Sprachen der gleiche Wortschatz gelten soll. Der demonstrierende Typ hat die fehlende case-insensitive Eigenschaft manuell ergänz, sowie ein paar Wörter. Dann hat er die KI aufgefordert, einen Unit Test zu erstellen. Dieser hat exakt die programmierten Wörter getestet, aber wieder "vergessen", die case-insensitive Funktionalität zu prüfen. Außerdem hat sie keine anderen Wörter getestet, die ein FALSE hätten ergeben sollen. Ein ziemlich enttäuschendes Ergebnis für so eine tausendfach kopierte Pille-Palle Funktion. Selbst wenn die KI besser wäre, bräuchte sie Zugriff auf unsere Quelltexte, was uns aus Datenschutzgründen aber untersagt wurde. Unser GF versucht gerade ein konkreten Angebot für eine eigene lokale KI zu bekommen. Aber außer warmer Worte und bunter Werbeprospekte ist dabei noch nichts greifbares heraus gekommen. Ein funktionierenden Chatbot für die FAQ eines Dienstes haben wir allerdings schon.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.