{"id":3707,"date":"2025-11-25T15:15:10","date_gmt":"2025-11-25T14:15:10","guid":{"rendered":"https:\/\/www.rustimation.eu\/?p=3707"},"modified":"2026-01-20T17:34:49","modified_gmt":"2026-01-20T16:34:49","slug":"chat-gpt","status":"publish","type":"post","link":"https:\/\/www.rustimation.eu\/index.php\/chat-gpt\/","title":{"rendered":"Chat GPT"},"content":{"rendered":"<h2>Arduino Sketch Entwicklung mit ChatGP<\/h2>\n<p>Vorausgeschickt sei, dass ich ChatGPT zu 96,37% f\u00fcr technische Fragestellungen verwende. So hat ChatGPT mir bei Linux Problemen geholfen, auch kleinere Python Routinen versch\u00f6nert, Javascript Rechenformeln erstellt und so weiter.<br \/>\nFragen, das t\u00e4gliche Dasein betreffend, habe ich wenig gestellt und wenn, dann meist nur, weil irgendwelche Unklarheiten bei Diskussionen oder Unterhaltungen aufkamen.<\/p>\n<p>Arduino bzw. das C++ dahinter bereitet mir Kopfschmerzen. Extrem pingelig bei Variablendeklarationen und Strings, dazu Libraries in unterschiedlichen inkompatiblen Versionen etc. Da hilft dir ChatGPT, dachte ich mir.<!--more--><\/p>\n<h3>Das Projekt<\/h3>\n<p>Mein letztes Projekt war, aus in der Bastelkiste gefundenen ESP32-Cam Modulen eine Webcam zu bauen, die alle halbe Stunde ein Foto macht und auf einen FTP Server hochl\u00e4dt.<\/p>\n<p>Frage an ChatGPT war also:<br \/>\n&lt;&lt;ich habe ein esp32-cam board und m\u00f6chte eine kamera bauen, die alle x minuten ein foto macht und an einen ftp server schickt&gt;&gt;<\/p>\n<p>ChatGPT antwortet in gewohnt freundlicher, fast euphorischer Manier:<\/p>\n<p><em>Perfekt \u2013 das ist ein sehr h\u00e4ufiges Projekt f\u00fcr das <strong>ESP32-CAM<\/strong>, und l\u00e4sst sich gut umsetzen. Ich kann dir daf\u00fcr eine komplette, funktionierende Firmware in Arduino-C++ schreiben.<\/em><\/p>\n<p>Wir werden sp\u00e4ter noch feststellen, dass ChatGPT einige Dale Carnegie Seminare (\u201eWie man Freunde gewinnt\u201c) besucht \u2013 bzw. verarbeitet &#8211; hat. Immer freundlich, geduldig erkl\u00e4rend. So entspannt sich ein (fast) menschlicher Dialog. Ein Mensch w\u00fcrde irgendwann einmal ungeduldig werden, C. bleibt immer hilfsbereit und h\u00e4lt aufmunternde Worte f\u00fcr einen bereit.<\/p>\n<p>Manchmal auch zu hilfsbereit. Als User kommt man dann schnell in einen Modus, ChatGPT die ganze Arbeit machen zu lassen und selbst weniger oder gar nicht mehr zu hirnen.<\/p>\n<h3>Nicht im Kontext<\/h3>\n<p>Dabei entstehen unweigerlich Probleme: ChatGPT denkt nur wenig im Kontext.<br \/>\nBeispiel:\u00a0 Ich habe ein St\u00fcck Code geschrieben und zu GPT hochgeladen. Der Code enth\u00e4lt ein paar, jetzt auch Chat GPT bekannte Zusatzfunktionen (z.B. Kamerachip vorw\u00e4rmen, Datum auswerten), die mit dem eigentlichen Problem wenig zu tun haben. Gemeinsam werden \u00c4nderungen erarbeitet und ChatGPT macht sein typisches Angebot: \u201c<em>Wenn du m\u00f6chtest, kann ich dir den <strong>vollst\u00e4ndigen Sketch mit dem neuen Block integriert<\/strong> schicken, damit du ihn einfach kopieren kannst \u2013 m\u00f6chtest du das?<\/em><\/p>\n<p>Das kann gewaltig schief gehen. Der Code ist hinterher gelegentlich komplett anders, als der, an dem ich gerade gearbeitet habe. Code Teile sind pl\u00f6tzlich verschwunden, stattdessen sind auf einmal neue Libraries eingebunden, die nicht gebraucht werden.<br \/>\nIch frage nach, warum es sowas getan hat, die Antwort lautet sinngem\u00e4\u00df: <em>\u201eich habe gerade mehrere ESP32 Diskussionen am Laufen, da muss sich irgendetwas \u00fcberschnitten haben\u201c<\/em><\/p>\n<h3>Erfinderisch<\/h3>\n<p>Auch beim Einf\u00fcgen von kleineren, vom System erstellten Codebl\u00f6cken ist Vorsicht geboten. ChatGPT erfindet neue Variable, die nat\u00fcrlich vorher nicht deklariert wurden und so den Compiler zum Meckern bringen. Ebenso ver\u00e4ndert \"Chattie\" frech die Namen von Unterroutinen aus <span class=\"lang:default decode:true crayon-inline \">void startConfigPortalIfNeeded() <\/span>\u00a0wird auf einmal <span class=\"lang:default decode:true crayon-inline \">void startConfig()<\/span> was dann alle Referenzen auf die Routine ung\u00fcltig macht.<\/p>\n<p>Auch wenn es der k\u00fcnstlichen \"Intelligenz\" durch den Chatverlauf eigentlich bekannt sein sollte, mit welchem ESP32 Modul man es zu tun hat, jubelt sie einem v\u00f6llig untaugliche Befehle unter:<br \/>\nNach jeder Messung soll sich ein Sensormodul f\u00fcr drei\u00dfig Minuten schlafen legen. Neben anderen Befehlen wird zum Strom sparen auch der WiFi Teil des Moduls abgeschaltet: <span class=\"lang:default decode:true crayon-inline\">WiFi.mode(WIFI_OFF);<\/span> . So weit so gut; aber was macht Sam Altman's Wundermaschine? Sie schreibt noch flugs ein <span class=\"lang:default decode:true crayon-inline \">WiFi.disconnect(true);<\/span>\u00a0 davor, was bewirkt, dass die Wifi Credentials (StationsID\/Passwort) gel\u00f6scht werden. Hinterher sucht man sich einen Wolf, ChatGPT unterst\u00fctzt eifrig mit Code\u00e4nderungen, die den Sketch immer verworrener machen. Das ist dann reine Zeitverschwendung.<\/p>\n<p>Wei\u00df die \"Intelligenz\" nicht mehr weiter, wird ein Problem mit der Hardware oder der speziellen Version des Treibers erfunden, anstatt zu sagen: \"<em>Ende Gel\u00e4nde, ich wei\u00df es nicht<\/em>\". Stattdessen heimt\u00fcckische Hilfsangebote: \"<em>Wenn du willst schreibe ich deinen Sketch do um, dass er garantiert funktioniert&#8230;<\/em>\" was dann irgendwann in einem codetechnischen Spaghettimonster m\u00fcndet.<\/p>\n<p><strong>Merke<\/strong>: Was ChatGPT einem liefert, sollte immer \u201ecum grano salis\u201c genommen werden. Hirn einschalten und ggf. selbst recherchieren.<br \/>\nEmpfehung: Hinterfragen mit \"Woher hast du Information?\". Mit etwas Gl\u00fcck gibt es eine Antwort wie diese: \"<em>Die Aussage ist <strong>nicht spekulativ<\/strong>. Sie basiert auf der <strong>offiziellen Arduino-ESP32-Implementierung<\/strong> und der darunterliegenden <strong>ESP-IDF-WiFi-API<\/strong>. Ich lege das sauber her.<\/em>\"<\/p>\n<h3>Vergesslich<\/h3>\n<p>Getreu der Devise \u201ewas geht mich mein Geschw\u00e4tz von gestern an\u201c ist Chat GPT sehr vergesslich. Hat man zusammen mit dem System \u00fcber mehrere Tage an einem ESP32 Sketch gearbeitet, muss ich es explizit an das erinnern, was vorher getan wurde. Wurde ein\u00a0 einigerma\u00dfen funktionierender Stand erarbeitet, sollte man ChatGPT bitten, sich diesen zu merken. &lt;&lt;bitte merke dir diesen Code f\u00fcr das n\u00e4chste mal&gt;&gt;.<\/p>\n<h3>Guter Ratschlag, schlecht umgesetzt<\/h3>\n<p>Immerhin, auf die Frage, wie das Arduino IDE beschleuniget werden k\u00f6nne, empfiehlt Chat GPT, es doch einmal mit PlatformIO auf Basis von Visual Code zu probieren.<br \/>\nHier ist, wie \u00fcblich, aller Anfang schwer und Chat GPT erkl\u00e4rt geduldig, wie ein Projekt aufsetzt und migriert wird. Doch irgendwann kommt man an einen Punkt, wo die Erkl\u00e4rung mit der Wirklichkeit nicht mehr korrespondiert. Nach einem l\u00e4ngeren Frage- und Antwort Pingpong \u2013 Chat GPT muss ja verbal erkl\u00e4ren, was der Benutzer vermeintlich vor Augen hat \u2013 stellt sich heraus, dass die bisherigen Erkl\u00e4rungen f\u00fcr eine veraltete Version von PlatformIO gelten. \u201e<em>Ach ja richtig, dann arbeitest du wahrscheinlich mit der neuesten Version\u2026 da hat sich manches ge\u00e4ndert. Du findest die Compile Anweisung im Statusbalken ganz unten. Es ist ein Haken.<\/em>\u201c<\/p>\n<p>Warum Chat GPT nicht gleich die neueste Benutzeroberfl\u00e4che erkl\u00e4rt, wo es doch vorher einem gesagt hat, man solle das Programm erst einmal installieren, ist mir schleierhaft. Ein Programm erstmalig zu installieren impliziert doch, dass man auch die neueste GUI vor sich hat, oder?<\/p>\n<h3>Die Katze bei\u00dft sich in den Schwanz<\/h3>\n<p>Ein anderer Sketch soll Befehle, die per MQTT empfangen wurden, auch synchron auf einer Weboberfl\u00e4che darstellen \u2013 Schalter ein bzw. aus. Irgendwie klappt das nicht &#8211; die Weboberfl\u00e4che reagiert nicht. So pr\u00e4sentiert mir Chat GPT dann einen ganzen Blumenstrau\u00df von M\u00f6glichkeiten bzw. Hinweisen dazu, was ich (eigentlich ja Chat GPT) falsch gemacht haben k\u00f6nnte. Manchmal dreht sich das Hinweiskarussell sogar im Keis:<br \/>\n\u201e<em>Mach mal B und l\u00f6sche Codeteil A, dann funktioniert es garantiert!<\/em>\u201c<br \/>\n&lt;&lt;geht nicht&gt;&gt;<br \/>\n\u201e<em>Mach mal C und \u00e4ndere B folgenderma\u00dfen, dann klappt es bestimmt.<\/em>\u201c Untermalt von verschiedenen ausf\u00fchrlichen Erkl\u00e4rungen warum es bisher nicht geklappt hat.<br \/>\n&lt;&lt;bringt nichts&gt;&gt;<br \/>\n\u201eMach mal \u2026.\u201c<br \/>\nNach der xten Iteration sind wir wieder am Ausgangspunkt A angekommen, ohne dass ich meinem Ziel auch nur einen Millimeter n\u00e4her gekommen w\u00e4re.<\/p>\n<p>Ich selbst komme dann darauf, dass es am Refresh des Browsers liegt, den man von Hand ausl\u00f6sen muss. Daraufhin kommt auch ChatGPT auf die richtige L\u00f6sung, es mit AJAX etc. zu probieren. Ich habe bis dahin aber die Lust an der Probleml\u00f6sung verloren&#8230;<\/p>\n<h3>Nicht lernf\u00e4hig<\/h3>\n<p>Bei all diesen Dialogen ist Chat GPT immer sehr h\u00f6flich, sogar enthusiastisch. Bei Vorhaltungen, sich gr\u00fcndlich vertan zu haben reagiert das System freundlich zerknirscht und schl\u00e4gt gleich eine andere L\u00f6sung vor \u2013 ohne dass es sich seine eigenen Fehler oder das Gelernte merkt. D.h. Chat GPT tappt beim n\u00e4chsten Mal wieder in dieselbe Falle wenn man selbst nicht gut aufgepasst hat und korrigierend eingreift.<\/p>\n<p>Ich frage C.: &lt;&lt;Lernst du eigentlich etwas aus den Sachen die wir hier erarbeiten?&gt;&gt;<br \/>\nDie ehrliche Antwort: \"<em>Nein, ich arbeite auf dem Stand der Informationen, mit denen ich trainiert wurde.\"\u00a0<\/em><\/p>\n<p>Das ist einerseits schade, ein echt lernendes System w\u00e4re wesentlich n\u00fctzlicher. Andererseits ist das auch gut so, da Chat GPT ja Fragen aus s\u00e4mtlichen Bereichen des Universums beantwortet. W\u00fcrde es sich aus der Diskussion mit Kriminellen oder Faschisten deren Aussagen aneignen, w\u00e4re das ausgesprochen gef\u00e4hrlich. Hierzu gab es auch schon Experimente, in denen die KI bei entsprechender (A-)Social Media Beschallung zu einem b\u00f6sartigen, rassistischen Ungeheuer wurde.<\/p>\n<h2><strong>Fazit<\/strong><\/h2>\n<p>aus mehreren teils Nachmittage langen Unterhaltungen ist: Ohne Chat GPT h\u00e4tte ich meine ESP Bausteine mangels tiefergehender C++ Kentnisse sicher nicht programmieren k\u00f6nnen. Andererseits ist das System eher ein \u201eIdiot Savant\u201c, etwas, das sich zwar in einer bestimmten Materie auskennt aber kaum \u00fcber den Tellerrand hinausblickt keine Schl\u00fcsse zieht und dann anf\u00e4ngt, wie wild zu raten \u2013 zu halluzinieren. So dauert die SW Entwicklung lange, sehr lange \u2013 vielleicht sogar l\u00e4nger als wenn ich mich auf den Hosenboden gesetzt und mir die fehlenden Kenntnisse angeeignet oder selbst recherchiert h\u00e4tte. Trotzdem habe ich eine Menge dabei gelernt.<\/p>\n<p><strong>Noch eine Erkenntnis:<\/strong> Anstatt sich einen kompletten Code entwickeln zu lassen, lieber erst einmal ein Codeger\u00fcst mit den wesentlichen Funktionen (Wifi connect, Sensor auslesen etc.) bauen und dann ChatGPT oder andere Large Language Models (LLMs) fragen, wenn bei bestimmten Funktionen Probleme auftauchen. Das geht allemal schneller als sich jedesmal bei Google oder DuckDuckGo die Finger wund zu suchen. Ganz ohne Arduino bzw. C++ Kenntnisse wird einem derzeit(!) auch die beste KI keinen halwegs komplexen, sofort lauff\u00e4higen Code bauen. Man sollte genau wissen was herauskommen soll und das genauestens als Vorgabe in den Prompt hineinschreiben. Anschlie\u00dfend durcharbeiten, R\u00fcckfragen stellen und so weiter.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Arduino Sketch Entwicklung mit ChatGP Vorausgeschickt sei, dass ich ChatGPT zu 96,37% f\u00fcr technische Fragestellungen verwende. So hat ChatGPT mir bei Linux Problemen geholfen, auch kleinere Python Routinen versch\u00f6nert, Javascript Rechenformeln erstellt und so weiter. Fragen, das t\u00e4gliche Dasein betreffend, habe ich wenig gestellt und wenn, dann meist nur, weil irgendwelche Unklarheiten bei Diskussionen oder &hellip; <a href=\"https:\/\/www.rustimation.eu\/index.php\/chat-gpt\/\" class=\"more-link\"><span class=\"screen-reader-text\">Chat GPT<\/span> weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,103,102],"tags":[],"class_list":["post-3707","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-arduino","category-esp8266-esp32"],"_links":{"self":[{"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/posts\/3707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/comments?post=3707"}],"version-history":[{"count":1,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/posts\/3707\/revisions"}],"predecessor-version":[{"id":3784,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/posts\/3707\/revisions\/3784"}],"wp:attachment":[{"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/media?parent=3707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/categories?post=3707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rustimation.eu\/index.php\/wp-json\/wp\/v2\/tags?post=3707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}