So verwenden Sie ChatGPT zum Schreiben von Code

image1.pngEine der interessanteren Entdeckungen über ChatGPT ist, dass es ziemlich guten Code schreiben kann. Ich habe es im Februar getestet, als ich darum gebeten habe, ein WordPress-Plugin zu schreiben, das meine Frau auf ihrer Website verwenden könnte. Es hat gute Arbeit geleistet, aber es war ein sehr einfaches Projekt.

So verwenden Sie ChatGPT zum Schreiben: Lebensläufe| Excel-Formeln | Aufsätze | Anschreiben

Wie können Sie ChatGPT zum Schreiben von Code als Teil Ihrer täglichen Codierungspraxis verwenden? Das werden wir hier erforschen.

Welche Arten der Codierung kann ChatGPT gut?

Es gibt zwei wichtige Fakten zu ChatGPT und Codierung. Erstens kann es tatsächlich nützlichen Code schreiben. Zweitens kann es völlig verloren gehen, in den Kaninchenbau fallen, seinem eigenen Schwanz nachjagen und absolut unbrauchbaren Müll produzieren.

Ich habe das auf die harte Tour herausgefunden. Nachdem ich das WordPress-Plugin fertiggestellt hatte, beschloss ich zu sehen, wie weit ChatGPT gehen könnte. Ich habe eine sehr sorgfältige Eingabeaufforderung für eine Mac-Anwendung geschrieben, einschließlich detaillierter Beschreibungen der Elemente der Benutzeroberfläche, der Interaktionen, der in den Einstellungen enthaltenen Funktionen, ihrer Funktionsweise usw. Dann habe ich es an ChatGPT weitergeleitet.

ChatGPT antwortete mit einer Flut von Texten und Code. Dann stoppte es mitten im Code. Als ich es aufforderte, fortzufahren, spuckte es noch mehr Code und Text aus. Ich habe „Fortfahren“ nach „Fortfahren“ angefordert und es wurde immer mehr Code ausgegeben. Aber... nichts davon war nutzbar . Es wurde nicht angegeben, wohin der Code gehen sollte, wie das Projekt aufgebaut werden sollte, und als ich mir den erzeugten Code genau ansah, ließ es wichtige von mir angeforderte Operationen aus und hinterließ einfache Textbeschreibungen mit der Aussage „Hier kommt die Programmlogik zum Einsatz.“ "

Nach einer Reihe wiederholter Tests wurde mir klar, dass es scheitern wird, wenn man ChatGPT darum bittet, eine vollständige Bewerbung zu liefern. Eine Folge dieser Beobachtung ist, dass es scheitern wird, wenn Sie nichts über Codierung wissen und möchten, dass ChatGPT Ihnen etwas erstellt.

Der Erfolg von ChatGPT – und das sehr gut – besteht darin, jemandem zu helfen, der bereits programmieren kann, um bestimmte Routinen zu erstellen und bestimmte Aufgaben zu erledigen. Fragen Sie nicht nach einer App, die in der Menüleiste ausgeführt wird. Aber wenn Sie ChatGPT nach einer Routine fragen, um ein Menü in die Menüleiste einzufügen, und dieses dann in Ihr Projekt einfügen, wird das ganz gut funktionieren.

Außerdem: So verwenden Sie ChatGPT zum Erstellen einer App

Bedenken Sie außerdem, dass ChatGPT zwar über eine enorme Menge an domänenspezifischem Wissen zu verfügen scheint (was häufig der Fall ist), es ihm aber an Weisheit mangelt. Daher ist es zwar in der Lage, Code zu schreiben, aber nicht in der Lage, Code zu schreiben, der die Nuancen für sehr spezifische oder komplexe Probleme enthält, für deren Verständnis umfassende Erfahrung erforderlich ist.

Verwenden Sie ChatGPT, um Techniken zu demonstrieren, kleine Algorithmen zu schreiben und Unterroutinen zu erstellen. Sie können sich sogar von ChatGPT helfen lassen, ein größeres Projekt in Abschnitte aufzuteilen, und dann können Sie es bitten, Ihnen beim Codieren dieser Abschnitte zu helfen.

Schauen wir uns vor diesem Hintergrund einige spezifische Schritte zur Verwendung von ChatGPT zum Schreiben von Code an.

Wie ChatGPT Ihnen beim Schreiben von Code helfen kann

1. Grenzen Sie Ihre Anfrage ein und präzisieren Sie sie

Dieser erste Schritt besteht darin, zu entscheiden, was Sie von ChatGPT verlangen möchten – aber noch nichts. Entscheiden Sie, was Ihre Funktion oder Routine tun soll oder was Sie lernen möchten, um es in Ihren Code zu integrieren. Entscheiden Sie, welche Parameter Sie an Ihren Code übergeben und was Sie herausbekommen möchten. Und schauen Sie sich dann an, wie Sie es beschreiben werden.

Stellen Sie sich vor, Sie bezahlen einen menschlichen Programmierer dafür. Geben Sie dieser Person genügend Informationen, um an Ihrem Auftrag arbeiten zu können? Oder sind Sie zu vage und die Person, die Sie bezahlen, wird eher Fragen stellen oder etwas abgeben, das überhaupt nichts mit Ihren Wünschen zu tun hat?

Hier ist ein Beispiel. Nehmen wir an, ich möchte jede Webseite zusammenfassen können. Ich möchte es in etwa wie diesen Artikel füttern und eine kurze Zusammenfassung zurückerhalten, die gut durchdacht und angemessen ist. Als Eingabe gebe ich eine Webseiten-URL an. Als meine Ausgabe ist es ein Textblock mit einer Zusammenfassung.

2. Verwenden Sie ChatGPT, um Bibliotheken und Ressourcen zu erkunden

Um mit dem obigen Beispiel fortzufahren: Eine sehr altmodische Methode zum Extrahieren von Webseitendaten bestand darin, den Text zwischen HTML-Absatz-Tags zu finden.

Aber mit dem Aufkommen von KI-Tools ist es sinnvoller, eine KI-Bibliothek zu verwenden, um einen intelligenten Auszug und eine Zusammenfassung zu erstellen. ChatGPT zeichnet sich unter anderem durch die Suche nach Bibliotheken und Ressourcen aus (und es ist auch ein Bereich, den Sie leicht überprüfen können, um sein autorisierendes, aber falsches Verhaltensmuster zu vermeiden).

OpenAI (der Hersteller von ChatGPT) verkauft API-Zugriff auf die GPT-3- und GPT-4- Engines, die genau das tun, was wir wollen. Gehen wir bei diesem Beispiel jedoch davon aus, dass wir keine Transaktionsgebühren zahlen möchten.

Schauen wir uns also die Interaktion mit ChatGPT an, um herauszufinden, wie man ein solches Tool kostenlos mit einem Projekt verwendet, das in PHP läuft.

Ich begann mit einer Eingabeaufforderung, die darauf abzielte, Informationen darüber zu erhalten, welche Bibliotheken die von mir gewünschte Funktionalität bereitstellen würden. Eine Bibliothek (für diejenigen unter Ihnen, die mitlesen und keine Programmierer sind) ist ein Codekörper, auf den ein Programmierer zugreifen kann und der einen Großteil der schweren Arbeit für einen bestimmten Zweck erledigt. Ein großer Teil der modernen Programmierung besteht darin, die richtigen Bibliotheken zu finden und auszuwählen. Das ist also ein guter Ausgangspunkt.

In diesem Fall schaue ich mir Codeblöcke an, die von anderen Leuten geschrieben wurden und den Text zusammenfassen. Hier ist meine erste Eingabeaufforderung:

Beschreiben Sie zehn verschiedene Open-Source-KI-Bibliotheken (und die Sprachen, mit denen sie arbeiten), die ich verwenden kann, um eine Zusammenfassung der wichtigsten Kerninhalte jeder Webseite zu erstellen und dabei jegliche Werbung oder eingebettete Materialien zu ignorieren.

Dies gab mir genau das, was ich wollte, einschließlich einer Erwähnung der Angebote von OpenAI. Ich denke, OpenAI würde hier großartig abschneiden, aber für dieses hypothetische Projekt möchte ich keine API-Gebühren einplanen. Also werde ich die Frage eingrenzen.

Sind einige davon kostenlos?

ChatGPT hat seine Wetten mit seiner Antwort abgesichert. Darin hieß es: „Ja, alle zehn dieser KI-Bibliotheken sind Open Source und können kostenlos genutzt werden. Für einige von ihnen gelten jedoch möglicherweise Nutzungsbeschränkungen oder sie erfordern eine Zahlung für den Zugriff auf zusätzliche Funktionen oder Ressourcen.“ Auf dieser Grundlage habe ich meine Frage geklärt.

Für welche dieser Bibliotheken gelten keine Nutzungsbeschränkungen und es sind keine zusätzlichen Zahlungen oder Lizenzen erforderlich?

Beachten Sie, dass es sich hierbei im Wesentlichen um ein Gespräch handelt. Ich muss die ursprüngliche Frage nicht noch einmal stellen. Ich gehe einfach auf die gleiche Art und Weise auf den Punkt, wie ich es tun würde, wenn ich einen Experten zur Hand hätte und um Klärung bitten würde. In diesem Fall bot mir ChatGPT acht Bibliotheksoptionen an, aber keine davon erwähnte die PHP-Sprache, in der ich programmieren wollte. Hier ist also die nächste Eingabeaufforderung:

Kann ich eine dieser 8 Bibliotheken mit PHP verwenden?

Es wurden drei Bibliotheken zurückgegeben, aber ich war mir nicht sicher, was jede einzelne tat. Also noch eine Frage:

Was ist der Unterschied zwischen Sumy, Gensim und NLTK?

Ich war mir immer noch nicht sicher, also habe ich meinen Nutzungsplan präzisiert und dann gefragt:

Welche Bibliothek würde besser funktionieren, wenn ich Zusammenfassungen von Webseiten-Nachrichtenartikeln erstellen möchte?

Die Antwort, die ich erhielt, war klar und vielversprechend: „Sumy wurde speziell für die Textzusammenfassung entwickelt, also für die Aufgabe, eine Zusammenfassung zu erstellen, die die wichtigsten Informationen aus einem Textabschnitt erfasst.“ Nun war es an der Zeit zu sehen, was die Verwendung mit PHP mit sich bringt. Ich habe meine letzte Frage für diesen Teil des Projekts gestellt:

Können Sie erklären, wie man Sumy von PHP aus verwendet?

Spielen Sie gerne auf Ihrem Computer mit und fügen Sie diese Eingabeaufforderungen in Ihre ChatGPT-Instanz ein. Beachten Sie, dass ich in Schritt 1 entschieden habe, zu welchem Programmmodul ich Hilfe erhalten möchte. In diesem Schritt führte ich dann ein Gespräch mit ChatGPT, um zu entscheiden, welche Bibliothek ich verwenden und wie ich sie in mein Projekt integrieren sollte.

Das sieht vielleicht nicht wie Programmieren aus, aber ich versichere Ihnen, dass es so ist. Beim Programmieren geht es nicht nur darum, Codezeilen auf eine Seite zu sprengen. Beim Programmieren geht es darum, herauszufinden, wie man alle verschiedenen Ressourcen und Systeme miteinander integriert und wie man mit allen verschiedenen Komponenten Ihrer Lösung kommuniziert. Hier hat mir ChatGPT bei der Integrationsanalyse geholfen.

Ich war übrigens neugierig, ob Googles Bard auf die gleiche Weise helfen könnte. Bard kann eigentlich keinen Code schreiben, aber er hat über die Antworten von ChatGPT einige zusätzliche Einblicke in den Planungsaspekt der Programmierung gegeben. Zögern Sie also nicht, mehrere Tools zu verwenden, um die gewünschten Antworten zu triangulieren. Hier ist die Geschichte: Bard vs. ChatGPT: Kann Bard Ihnen beim Codieren helfen? Seit ich diesen Artikel geschrieben habe, hat Google Bard einige Codierungsfunktionen hinzugefügt, aber sie sind nicht so toll. Hier können Sie mehr darüber lesen: Ich habe die neuen Programmierfähigkeiten von Google Bard getestet. Es lief nicht gut.

Als nächstes folgt die Codierung.

3. Bitten Sie ChatGPT, Beispielcode zu schreiben

Okay, machen wir hier eine Pause. Dieser Artikel trägt den Titel „So verwenden Sie ChatGPT zum Schreiben von Code“. Und das wird es! Aber wir bitten ChatGPT wirklich darum, Beispielcode zu schreiben. Warten. Was?

Außerdem: Was ist GPT-4? Hier finden Sie alles, was Sie wissen müssen

Damit wir uns verstehen. Sofern Sie keine sehr kleine Funktion schreiben (wie den Zeilensortierer/Randomizer, den ChatGPT für meine Frau geschrieben hat), wird ChatGPT nicht in der Lage sein, Ihren endgültigen Code zu schreiben. Zuerst müssen Sie es pflegen. ChatGPT ist schlecht darin, bereits geschriebenen Code zu ändern. Schrecklich, weil es das nicht tut. Um neuen Code zu erhalten, müssen Sie ChatGPT bitten, etwas Neues zu generieren. Wie ich zuvor herausgefunden habe, kann ChatGPT, selbst wenn Ihre Eingabeaufforderung praktisch identisch ist, das, was Sie erhalten, auf sehr unerwartete Weise ändern.

Fazit: ChatGPT kann Ihren Code nicht pflegen oder sogar optimieren.

Das bedeutet, dass Sie es selbst tun müssen. Wie wir wissen, ist der erste Entwurf eines Codeabschnitts selten der endgültige Code. Selbst wenn Sie also erwarten würden, dass ChatGPT den endgültigen Code generiert, wäre dies tatsächlich ein Ausgangspunkt, an dem Sie ihn fertigstellen, in Ihr größeres Projekt integrieren, testen, verfeinern, debuggen usw. müssen .

Außerdem: Ich habe ChatGPT gebeten, eine kurze Star Trek-Episode zu schreiben. Es ist tatsächlich gelungen

Das heißt aber nicht, dass der Beispielcode wertlos ist. Weit davon entfernt. Werfen wir einen Blick auf eine Eingabeaufforderung, die ich basierend auf dem zuvor beschriebenen Projekt geschrieben habe. Hier ist der erste Teil:

Wite eine PHP-Funktion namens summary_article.

Als Eingabe wird an summary_article eine URL zu einem Artikel auf einer nachrichtenbezogenen Website wie ZDNET.com oder Reuters.com übergeben.

Ich teile ChatGPT die Programmiersprache mit, die es verwenden soll. Ich teile ihm auch die Eingabe mit, stelle dabei aber zwei Websites als Beispiele zur Verfügung, um ChatGPT zu helfen, den Stil des Artikels zu verstehen. Ehrlich gesagt bin ich mir nicht sicher, ob ChatGPT diese Anleitung nicht ignoriert hat. Als nächstes erkläre ich ihm, wie man den Großteil der Arbeit erledigt:

Rufen Sie in summary_article den Inhalt der Webseite unter der angegebenen URL ab. Extrahieren Sie mithilfe der Bibliothek Sumy in PHP und allen anderen erforderlichen Bibliotheken den Hauptteil des Artikels, ignorieren Sie alle Anzeigen oder eingebetteten Materialien und fassen Sie ihn auf etwa 50 Wörter zusammen. Stellen Sie sicher, dass die Zusammenfassung aus vollständigen Sätzen besteht. Bei Bedarf können Sie über die 50 Wörter hinausgehen, um den letzten Satz zu beenden.

Das ist der Art und Weise, wie ich einen Mitarbeiter anweisen würde, sehr ähnlich. Ich möchte, dass diese Person weiß, dass sie nicht nur auf Sumy beschränkt ist. Wenn sie ein anderes Werkzeug brauchten, wollte ich, dass sie es benutzen.

Ich habe auch eine ungefähre Anzahl von Wörtern angegeben, um Grenzen für das zu setzen, was ich als Zusammenfassung wollte. Eine spätere Version der Routine könnte diese Zahl als Parameter verwenden. Ich habe dann abschließend gesagt, was ich als Ergebnis wollte:

Sobald die Verarbeitung abgeschlossen ist, codieren Sie summary_article, sodass die Zusammenfassung im Klartext zurückgegeben wird.

Der resultierende Code ist ziemlich einfach. ChatGPT hat eine andere Bibliothek (Goose) aufgerufen, um den Artikelinhalt abzurufen. Anschließend wurde es mit einer Beschränkung auf 50 Wörter an Summy übergeben und anschließend das Ergebnis zurückgegeben. Das ist es. Aber sobald die Grundlagen geschrieben sind, ist es nur noch eine Frage der Programmierung, um noch einmal hinzugehen und Optimierungen hinzuzufügen, anzupassen, was an die beiden Bibliotheken übergeben wird, und die Ergebnisse zu liefern.image2.png

Ein interessanter Hinweis. ChatGPT hat einen Beispielaufruf für die von ihm geschriebene Routine erstellt und dabei eine URL aus der Zeit nach 2021 (dem Ende des ChatGPT-Datensatzes) verwendet.

Ich habe diese URL sowohl mit der Website von Reuters als auch mit der Wayback Machine verglichen und festgestellt, dass sie nicht existiert. ChatGPT hat es gerade erfunden.

FAQs

Ersetzt ChatGPT Programmierer?

Nicht jetzt – oder zumindest noch nicht. ChatGPT-Programme auf dem Niveau eines talentierten Erstsemester-Programmierstudenten, aber es ist faul (wie dieser Erstsemester-Student). Es könnte zwar den Bedarf an Programmierern für Anfänger verringern, aber auf dem aktuellen Niveau denke ich, dass es Programmierern auf Einstiegsniveau (und sogar Programmierern mit mehr Erfahrung) das Leben leichter machen wird, Code zu schreiben und Informationen nachzuschlagen. Es spart auf jeden Fall Zeit, aber es gibt nur wenige Programmierprojekte, die es alleine durchführen kann – zumindest jetzt. Im Jahr 2030? Wer weiß.

Wie erhalte ich Codierungsantworten in ChatGPT?

Fragen Sie einfach nach. Sie haben oben gesehen, wie ich einen interaktiven Diskussionsdialog verwendet habe, um die gewünschten Antworten einzugrenzen. Erwarten Sie bei der Arbeit mit ChatGPT nicht, dass eine Frage auf magische Weise die ganze Arbeit für Sie erledigt. Aber nutzen Sie ChatGPT als Hilfsmittel und Ressource, dann erhalten Sie viele sehr hilfreiche Informationen. Testen Sie diese Informationen natürlich – denn wie John Schulman, Mitbegründer von OpenAI, sagt: „Unsere größte Sorge galt der Faktizität, weil das Modell gerne Dinge fabriziert.“

Wenn ich ChatGPT zum Schreiben meines Codes verwende, wem gehört er?

Wie sich herausstellt, gibt es noch nicht viel Rechtsprechung, um diese Frage endgültig zu beantworten. Die USA, Kanada und das Vereinigte Königreich verlangen, dass etwas, das urheberrechtlich geschützt ist, von Menschenhand erstellt wurde, sodass von einem KI-Tool generierter Code möglicherweise nicht urheberrechtlich geschützt ist. Es gibt auch Haftungsfragen, die davon abhängen, woher der Trainingscode stammt und wie der resultierende Code verwendet wird. ZDNET hat sich intensiv mit diesem Thema befasst, mit Rechtsexperten gesprochen und die folgenden drei Artikel verfasst. Wenn Sie über dieses Problem besorgt sind (und wenn Sie KI zur Unterstützung beim Code verwenden, sollten Sie das auch tun), empfehle ich Ihnen, die Seite durchzulesen.

  • Wem gehört der Code? Wenn die KI von ChatGPT beim Schreiben Ihrer App hilft, gehört sie dann immer noch Ihnen?
  • Wie hoch ist Ihr Haftungsrisiko, wenn Sie KI-generierten Code verwenden?
  • Eine heikle Frage: Wem gehören von KI generierter Code, Bilder und Erzählungen?

Welche Programmiersprachen kennt ChatGPT?

Die meisten von ihnen. Ich war sehr abgelenkt, als ich das versuchte. Ich habe gängige moderne Sprachen wie PHP, Python, Java, Kotlin, Swift, C# und mehr getestet. Aber dann ließ ich es Code in obskuren Sprachen des dunklen Zeitalters wie COBOL, Fortran, Forth, LISP, ALGOL, RPG (dem Berichtsprogrammgenerator, nicht dem Rollenspiel) und sogar der IBM/360-Assemblersprache schreiben.

Als Tüpfelchen auf dem i gab ich noch diesen Hinweis:

Schreiben Sie eine Sequenz, die „Hallo Welt“ in blinkenden ASCII-Lichtern auf der Vorderseite eines PDP 8/e anzeigt

Der PDP 8/e war mein allererster Computer, und ChatGPT gab mir tatsächlich Anweisungen zum Ein- und Ausschalten eines Programms mithilfe von Schaltern auf der Vorderseite. Ich war beeindruckt, fröhlich und ein wenig ängstlich.

Was ist das Endergebnis? ChatGPT kann ein sehr hilfreiches Tool sein. Schreiben Sie ihm einfach keine Superkräfte zu. Noch.

Zugehörige Artikel

Mehr anzeigen >>

Nutzen Sie die Kraft der KI mit HIX.AI!