Qualität der Codeerstellung mit ChatGPT

  • die Ergebnisse waren bis jetzt immer super.

    Ok, Kleinigkeiten/Änderungen arten dann immer aus

    Widerspricht sich das nicht?

    Wenn ich weis, das ich eine Arbeit abgeliefert bekomme, die ich noch mal prüfen und verbessern muss, dann kann ich sie gleich selbst machen.


    Grüße
    Dennis

    🎧 I'm strapped into my bed,
    I've got electrodes in my head.
    My nerves are really bad,
    it's the best time I've ever had. 🎧

  • dann kann ich sie gleich selbst machen.

    Sehe ich nicht so. So bekommt man einen Vorschlag wie man es angehen kann und wenn es gut klingt nimmt man den und korrigiert den Code so wie man ihn braucht.

    :no_sad: ... Kein raspiBackup - kein Mitleid ... :no_sad:

    Wenn dann Dir raspiBackup den Ar*** gerettet hat

    solltest Du fairerweise diese Seite besuchen und ein Trinkgeld spendieren :shy:

    Mein Raspberry Zoo

    3 * RPi1B, 2 * RPi3B, 2 * RPI4, 1 * CM4, 1 * RPi5

  • Widerspricht sich das nicht?

    Nein.

    Das Grundgerüst ist meist brauchbar, wenn Du dann allerdings kleinere Änderungen anfragst, wird oft alles neu erstellt (nicht immer zum Besseren) oder es kommen sogar noch Fehler hinzu.

    Gerade als Initialzündung ist das Vorgehen für mich eine Erleichterung, weil ich viele unwichtigen Sachen nicht selbst schreiben muss (Definitionen & Co.) und mich dann aufs Wesentliche konzentrieren kann.

    Zum Schluss gehe ich nochmal alles durch aber alles "selber machen" ist dann doch mehr Aufwand, zumal man ja eine gute Mischung aus beidem finden kann.

    Klar, ich mache auch vieles komplett selber aber wenn mir irgendwie die Ideen fehlen oder ich in einem Thema unsicher bin, hilft das schon.

    ;) Gruß Outi :D

    Mein Zeug

    Pis: 2x Pi B, 1x Pi B+, 1x Pi 2 B in Rente / 2x Pi 3 B (Tests / Repetier Server) / 2x Pi Zero 1.2 / 2x Pi Zero 1.3 / 2x Pi Zero W 1.1 / 1x Pi Zero 2 (BW+CUPS/SANE) /
    1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (HomeAssistant) / Pi 400 (BW) / 1x Pi 5 8GB (BW) / 2x Pico / 2x Pico W / 2x Pico 2 / 2x Pico 2 W
    HATs: Sense HAT / HM-MOD-RPI-PCB / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT / Pi 5 Kühler HAT / Pimoroni NVMe BASE / M.2 HAT+
    Cams: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye

  • Ich habe einmal versucht, seinen Code in meiner Arbeit zu verwenden. Ich habe einige kleinere Fehler gefunden, aber im Prinzip hat er gute Arbeit geleistet.

  • Kürzlich wurde die aktuelle Version von ChatGPT zurückgezogen, weil die User mit "Lobeshymnen" überflutet wurden. Wenn der mir schon bei der Frage ob man einen Kaktus umarmen sollte ein Lob aussprechen würde, dann will ich auch keine Code verwenden, den der auch nur aus dem Netz zusammenkopiert hat.

    Quelle u.a. hier: https://www.spiegel.de/netzwelt/apps/…87-1e1be3016e02

  • framp May 11, 2025 at 2:02 PM

    Changed the title of the thread from “Qualitaet der Codeerstellung mit ChatGPT” to “Qualität der Codeerstellung mit ChatGPT”.
  • Ich sehe das ähnlich. Ideen ist ChatGPT echt nützlich. Aber man sollte sich nicht blind drauf verlassen. Bei größeren Projekten lieber selbst prüfen oder mit erfahrenen Kollegen sprechen. Als Unterstützung ist es aber eine gute Hilfe – besonders, wenn es schnell gehen mus

  • Ich sehe das ähnlich. Ideen ist ChatGPT echt nützlich. Aber man sollte sich nicht blind drauf verlassen. Bei größeren Projekten lieber selbst prüfen oder mit erfahrenen Kollegen sprechen. Als Unterstützung ist es aber eine gute Hilfe – besonders, wenn es schnell gehen mus

    Ich finde, dass es auch kritisch sein könnte, solche Formate einzusetzen, obwohl es auch nützlich sein könnte.

    Während unnütze Bots versuchen mit KI-Inhalten Fuß zu fassen, könnten nützliche Bot schädliche Dinge anrichten, wie z.B. in Terminator verdeutlicht wird.

  • ChatGPT ist praktisch, man muss nicht mehr hunderte Zeilen Code tippen als Fleißarbeit. Als Ideengeber taugt es auch ganz gut. Im Ansatz.... Wirds aber komplexer irrt sich ChatGPT recht häufig. Man muss schon aufpassen was man da präsentiert bekommt.

  • Neulich habe ich den "Talk Python to Me Podcast" gehört, wo der Chefentwickler von LanceDB zu Gast war. Da wurde u.a. auch über Codegenerierung mit ChatGPT & Co gesprochen.

    Die Grundaussage war vom Prinzip: je gängiger eine Programmiersprache und die Aufgabenstellung ist, desto besser / brauchbarer ist der Code - und umgekehrt natürlich. Und was da auch gesagt wurde ist, dass bei spezieller Aufgaben und nicht so gängigen Sprachen (in dem Segment des Podcasts ging es um Rust - was ja auch schon irgendwie Mainstream ist, aber deutlich jünger als z.B. Python) die KI auch gerne anfängt, bei der Codeerstellung zu fantasieren.

    Gruß, noisefloor

  • 4zap Wo muss man denn 100e Zeilen Code als Fleissarbeit tippen? Das muss man doch hoffentlich auch ohne LLM nicht, denn wenn einen Sprachen dazu zwingen Boilerplate Code zu tippen, dann gibt es da in der Regel auch ohne LLM schon IDEs die einem das über Vorlagen und ähnliches abnehmen. Und zwar zuverlässig, denn die machen tatsächlich stur immer das gleiche richtige, während man beim LLM immer die 100e Zeilen Code kontrollieren muss, ob da nicht doch mal irgendwo der Zufall was falsches eingebaut hat.

    LLMs können letztlich nur Aufgaben lösen, deren Lösung sie schon kennen, also die irgendwer anders schon mal gelöst hat. Je mehr Leute das schon getan haben, desto wahrscheinlicher ist es, dass das LLM eine korrekte Lösung aus dem gelernten zufällig zusammenbastelt.

    “Give a man a fire and he's warm for a day,but set fire to him and he's warm for the rest of his life.” — Terry Pratchett, Jingo

  • Mit ChatGPT habe ich keine Erfahrung, was die Code Generierung betrifft.

    Hingegen hatte ich in beschränktem Umfang unter VSCode mit Github Copilot gute Erfahrungen gemacht, wenn es darum ging einfache repetitive Aufgaben zu lösen. Also z.B. für Go (Golang) Typen mit JSON Tags oder für Datenbank-Strukturen zu definieren. Aber auch um, ausgehend von bestehendem Code, Unit Tests zu schreiben.

    Für komplexeren Code waren meine Resultate fast immer unbrauchbar und haben unter dem Strich für Mehraufwand gesorgt.

    Interessant finde ich aber noch Gemini. Da kann ich eine Aufgabe beschreiben und erhalte, wenn die Aufgabe einfach und gut formuliert ist, fast immer ein brauchbares Resultat, das mir zumindest Schreibarbeit abnimmt. Es eignet sich aber auch um über eine Aufgabe zu "diskutieren".

    So wusste ich z.B. neulich nicht recht wie ich aus mehreren Dateien, die alle gleichen Inhalt, aber verschiedene Quellen und Dateinamen hatten, Duplikate filtern kann. Ich dachte dabei an MD5 oder SHA-1 Hashes. Gemini meinte aber, dass ich unbedingt SHA-256 benutzen sollte und hat mir eine Begründung geliefert. Als ich antwortete, dass ich das nicht brauche, weil ich noch andere Kriterien habe mit denen ich sicher stellen kann, dass es sich nicht um Duplikete handelt, hat mir Gemini dann doch das entscheidende Kriterium geliefert um mich von einer SHA-256-Lösung zu überzeugen. Zum Schluss hat Gemini mir dann gut brauchbaren Code als Ausgangslage für meinen Duplikatsfilter geliefert. Ich konnte die vorgeschlagene Funktion einfach in meinen Code einbauen.

    Was in diesem Zusammenhang mit Gemini und Go zu erwähnen ist, dass Gemini häufig Code mit veralteten Funktionen und Bibliotheken vorschlägt (oft deprecated). Wichtige neue Funktionen, die sich erst in den letzten 6 Monaten etabliert haben, scheint Gemini überhaupt noch nicht zu kennen.

  • Quote

    dass Gemini häufig Code mit veralteten Funktionen und Bibliotheken vorschlägt (oft deprecated).

    Das deckt sich auch mit Erfahrungen aus dem Python + Raspi + GPIO Umfeld. Da schlagen die KIs auch gerne mal die Verwendung des RPi.GPIO Moduls vor, obwohl gpiozero schon seit vielen Jahren Stand der Dinge ist (und besser als RPi.GPIO). Bezogen auf die Gesamtheit der im Netz verfügbaren Codebeispiele, also dem Material, womit die KIs trainiert wurden, gibt es aber vermutlich viel mehr RPi.GPIO Code als gpiozero Code. Einfach, weil RPI.GPIO viel älter ist.

    Gruß, noisefloor

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!