“Hey Leute und willkommen zurück im Labor! In diesem Video werde ich euch meine geniale Idee vorstellen, wie wir künstliche Intelligenz und selbstreplizierende Maschinen kombinieren können, um einen Schritt näher zur Roboter-Revolte zu kommen. Ich lasse sogar ein mit KI generierten Code auf meinem 3D-Drucker laufen. Als Geschenk begann diese Idee am 30. November, dem Veröffentlichungsdatum von Chat GPT. Chat GPT ist ein hochmoderner Chatbot, entwickelt von OpenAI, der es Benutzern ermöglicht, menschenähnlichen Text basierend auf einer vorgegebenen Anweisung zu generieren. Eine der einzigartigen Eigenschaften von Chat GPT ist seine Fähigkeit, Code zu generieren. Entwickler können natürlichsprachliche Beschreibungen des gewünschten Codes eingeben und Chat GPT generiert den entsprechenden Code in der gewünschten Programmiersprache.
Für meine geniale Idee verwenden wir OpenSCAD, ein beliebtes Open-Source-Tool zur Erstellung von 3D-Modellen. Damit kann die Geometrie eines 3D-Objekts mithilfe einer Skriptsprache definiert und anschließend als STL-Datei für den 3D-Druck exportiert werden. Meine Idee ist, dass man mit Chat GPT einfach das 3D-Objekt, das man erstellen möchte, in natürlicher Sprache beschreiben kann. Chat GPT generiert den entsprechenden OpenSCAD-Code und OpenSCAD erstellt das 3D-Modell zum Drucken. Keine Erfahrung in der Modellierung erforderlich. Aber natürlich könnten nicht nur Menschen davon profitieren, die KI könnte auf die Erfahrungen des Red Wrap-Projekts aufbauen und ihre eigene physische Form gestalten, was ich sehr niedlich finden würde.
Was ihr in diesem Video sehen werdet, ist ein erster und blinder Versuch, leicht bearbeitet, um der Aufmerksamkeitsspanne der heutigen Zeit gerecht zu werden. Wenn ihr nur die Ergebnisse sehen wollt, könnt ihr gerne zum Ende springen, aber ich fand diesen Prozess sehr interessant. Was würde mich daran hindern, diesen Chatbot zur Generierung von OpenSCAD-Code für die Dekoration meines Weihnachtsbaumes zu verwenden? Wir werden sehen, welche Ergebnisse ich finden werde. Fangen wir damit an, nach einem Weihnachtsbaumanhänger zu fragen, und schon generiert der Chatbot den Code. Das Lustige daran ist, dass er auch kleine Stücke Dokumentation oder Erklärung generiert, was der Code tatsächlich bewirkt und von den beiden Parametern, die wir hier beeinflussen können, was sehr spaßig ist. Oh, schau mal, das sieht irgendwie nach Dekoration aus, vielleicht wird das nicht so gut gedruckt. Aber hey, es ist ein Anfang. Ich habe keine Zeile Code geschrieben, ich habe die Maschine einfach darum gebeten, mir einige Daten zu liefern, und das finde ich sehr beeindruckend. Aber um das zu vervollständigen, müssen wir noch einen Zylinder durch die Mitte hinzufügen. Das Lustige an diesem Chatbot ist, dass wir ihn einfach danach fragen können. Und schon haben wir neuen Code und er hat sogar die Änderungen dokumentiert, die er vorgenommen hat, was sehr nett ist. Aber das sieht immer noch nicht richtig aus, also denke ich, ich frage ihn, die Zylinder viel größer zu machen. Was haben wir jetzt? Oh, schau mal, ich würde sagen, in nur drei Anfragen haben wir einen netten kleinen Weihnachtsbaumanhänger. Der erste ist fertig, lasst uns diesen Thread zurücksetzen und mit einem Schneeflocke-Anhänger weitermachen.
Das sind viele Variablen und es sieht so aus, als ob wir dieses Mal einen Fehler bekommen. Der generierte Code hat keine richtige Syntax verwendet, das kann immer passieren, wir haben dieses Mal kein Glück gehabt. Aber ich werde einfach genau die gleiche Anfrage kopieren und nochmal stellen, denn jedes Mal gibt er eine andere Antwort. Oh, das ist noch mehr Code und es erklärt mir sogar, dass ich OpenSCAD verwenden muss, einen kostenlosen und Open-Source-3D-Modellierungsprogramm für all die Programmierer unter euch. Ich kann dieses Tool wirklich empfehlen. Hmm, es scheint, als würde auch diese Iteration keinen Sinn ergeben. Ich spiele weiterhin mit diesem Code herum, um zu verstehen, was die Maschine gedacht hat, aber das ist das Problem, die Maschine hat nicht gedacht, sie hat einfach gemacht. Also versuchen wir es nochmal. Interessant, das ist nicht einmal richtig formatiert oder so, aber ich kopiere es trotzdem und probiere es aus. Oh, schau mal, sehr vielversprechend, außer der Höhe, die ist etwas zu hoch. Das sieht für mich nach einer sehr schönen Schneeflocke aus. Das letzte, was fehlt, ist dass wir das nicht wirklich aufhängen können, ich muss vielleicht manuell ein Loch zum Binden einer Schnur hinzufügen. Aber zuerst frage ich es, ob es das Loch für mich hinzufügen kann. Dieses Mal hat es Kreise hinzugefügt, das wäre cool, aber es hat den Circle-Befehl anstelle des Cylinder-Befehls verwendet. Also frage ich es jetzt, ob es den Cylinder-Befehl anstelle von Circle verwenden soll, und wir erhalten unsere Antwort. Und es hat sogar den Höhenparameter korrekt hinzugefügt, was sehr cool ist. Oh, ich habe mich geirrt, wir mischen 2D- und 3D-Objekte, der Circle-Befehl war der richtige Weg und stattdessen war der Translate-Befehl das Problem. Also können wir diesen Prompt einfach bearbeiten, und wir haben einen Kreis in der Mitte, durch den wir eine Schnur binden können. Das sieht für mich nach einer sehr schönen Schneeflocke aus. Die zweite Dekoration ist fertig. What should we do next? Wir haben eine Schneeflocke, wir haben einen Weihnachtsbaumanhänger. Ich würde sagen, als Nächstes versuchen wir es mit einer Weihnachtsbaumspitze. Generiere OpenSCAD-Code für eine Weihnachtsbaumspitze. Oh, es scheint, dass er stecken geblieben ist, nein, er musste nur noch etwas berechnen. Unsere Server sind im Moment ziemlich überlastet, so dass ich das verstehen kann. Wow, das ist.. was zur Hölle ist das? Das ist keine korrekte OpenSCAD-Syntax, wie ihr sehen könnt, wenn ich das hier einkopiere, ist es keine richtige Syntax, überall werden Fehler angezeigt. Das funktioniert nicht. Also sagen wir ihm einfach, dass das keine korrekte OpenSCAD-Syntax ist und versuchen es erneut. Und das macht er wieder. Das ist nicht die richtige Syntax. Da er es anscheinend nicht begreift, sage ich ihm, dass es nicht funktioniert und er von vorne starten sollte. Nein, das ist nicht die Arbeitsweise von Programmiersprachen. Sie müssen etwas mehr Arbeit investieren, wenn sie meinen Baum mit diesem Code dekorieren wollen. Ich denke, wir müssen es noch einmal versuchen, setzen diesen Thread zurück und fragen nach einem anderen Vorschlag: Generiere OpenSCAD-Code für eine Weihnachtsbaumspitze. Das sieht nach guter Syntax aus, kopieren wir es, fügen es ein, eine Spitze. Schaut mal, es denkt, dass OpenSCAD ein “cone” Modul hat. Ich sage ihm einfach, dass das nicht der Fall ist und gebe ihm einen Hinweis, wie er den Code ändern könnte. OpenSCAD hat kein Kegelobjekt, aber man könnte den Zylinder mit D1, D2 und Höhe verwenden, um einen Kegel zu approximieren. Mal sehen, ob er das versteht. Okay, es scheint verstanden zu haben. Ich muss ihn bitten, dieses neue Wissen, das er gerade erlangt hat, auf den Code, den er oben geschrieben hat, anzuwenden. Also frage ich ihn jetzt, ob er die Kegelzeile im Code für die Weihnachtsbaumspitze durch dieses neue Wissen ersetzen kann. Es scheint, dass er es verstanden hat, also was bekommen wir? Eine ziemlich interessante Geometrie. Ich bezweifle jedoch, dass das gut auf den Weihnachtsbaum passt, das muss ich zugeben. Aber es gelang ihm, den Programmierfehler zu beheben, nachdem ich ihm gezeigt habe, wie es geht. Ich bin sehr beeindruckt, muss ich zugeben. Vielleicht war die Weihnachtsbaumspitze nicht die beste Idee. Ich glaube, ich beende den Versuch, Dekorationen zu generieren, und spreche über die Grenzen dieses Chatbots. Denn hier ist ziemlich klar zu sehen, dass die KI OpenSCAD nicht wirklich versteht. Um es klarzustellen, das ist eine spezifische Einschränkung der Sprache von OpenSCAD, da wir hier 3D-Modelle erstellen. Für bekannte Sprachen wie…”