Dem ein oder anderen mag es schon aufgefallen sein, hier und da verwende ich Referral Links in meinen Artikel. Diese waren, bis vor kurzem, Abhängig von einer externen API welche den Zugriff beliebig beschränkt. Nun kam mir die Idee die Daten einfach direkt in WordPress zu halten ohne externe Abhängigkeiten. Also stellte ich am Sonntag ChatGPT die Frage ob er mir ein Modul erstellen könnte und das Ergebnis hat mich wirklich überrascht – entstanden ist das Simple Amazon Referral Modul für WordPress.
Warum überhaupt ein neues Modul?
Mehr oder weniger Regelmäßig kommt es dazu, dass Amazon* seine Prozesse ändert. Anfangs konnte man über die UI HTML-Code mit Bildern etc. erstellen. Dann musste man das über das Backend machen, dann gab es eine API. Nun hat sich Amazon gedacht, es wäre clever die API zu drosseln, wenn man zu wenige Verkäufe hat was dazu führt, dass die Artikel nicht mehr angezeigt werden und weniger verkauft werden … Kein Kommentar dazu.
Möchte man jedoch einen einfachen Link, ggf. mit einem Foto und einer Beschreibung anzeigen und zu Amazon* verlinken benötigt man mehr als den bereitgestellten HTML-Link. Die Informationen die man selbst benötigt um einen Link zusammen zu bauen sind überschaubar (Link, Titel, Beschreibung, ID), also ist eine echte Abhängigkeit aus meiner Sicht nicht notwendig und über eine kleine Datenbanktabelle recht einfach umsetzbar.
ChatGPT: erstelle mir ein WordPress-Modul
Es war Sonntag und ich saß mit dem Notebook am Wohnzimmertisch. Ich dachte mir ich könnte doch einfach mal ChatGPT fragen, ob es nicht Lust hätte mir ein WordPress-Modul zur Verwaltung der Referal Links zu erstellen. Ich eröffnete einen Chat und hatte nach nur 2 Prompts das erste funktionierende Modul. Als erstes fragte ich ChatGPT ob dies eine Möglichkeit kennt die Produkte zu integrieren:
Wie kann ich einen Amazon Artikel auf meiner Seite mit Name, Bild und Beschreibung anzeigen wenn ich einen Partner Account habe aber mein API Access limitiert ist?
Die Antworten zeigten unterschiedliche Möglichkeiten auf wie kostenpflichtige Module welche Amazon Scrapen über den Einsatz von Dienstleistern bis hin zur manuellen Erstellung der Anzeigen. Also fragte ich
Ich denke es ist am einfachsten, wenn ich mir hier selbst was bastle
Kannst du mir ein WordPress Modul erstellen? Dies soll folgende Funktionen habenDas Modul hat eine Datenbanktabelle in welcher die relevanten Daten gespeichert werden (Amazon-Produkt-ID, URL zum anzuzeigenden Bild, Titel des Produktes, Optionale Beschreibung, Link zum Artikel)
Die Daten sollen über eine Maske im Adminbereich des Modules gepflegt werden können
Über einen Shortcode sollen die Artikel in einen Beitrag integriert werden – BeispielProdukt nicht gefunden.
Wenn es integriert wird soll ein HTML Snippet in die Seite integriert werden bei welchen die entsprechenden Daten des Produktes zur ID angezeigt werden
Die Snippets sollten in externen Dateien pflegbar und erweiterbar sein.
Das Modul soll ‘Simple Amazon Referral’ heissen
Um ehrlich zu sein habe ich nicht sonderlich viel erwartet doch das Ergebnis war direkt einsetzbar. ChatGPT erstellt mir eine erste Version des Modules welches den Vorgaben von WordPress entsprach, die Datenbank aufsetzte und sämtliche Vorgaben erfüllte.
ChatGPT setzt auch Anpassungswünsche um
Nachdem die erste Version des Modules bereits recht gute Ergebnisse erzielte und ein erster PoC erfolgreich war versuchte ich, das Modul weiter zu verbessern. Hierbei blieb ich einfach im gleichen Chat und teilte meine Wünsche mit:
- Erstellung weiterer Anzeige-Templates
- Shortcode erweitern um Auswahl des Templates
- weitere Shortcode zur Erstellung eines Textlinks
- Angabe der Datenbank-ID oder der Produkt-ID im Shortcode
Am “Ende” ist ein Modul entstanden welches ich, ohne eigene Anpassungen, direkt einsetzen könnte. Die Qualität überraschte mich wirklich enorm.
Code nach kleinem Review veröffentlicht
Ich gebe zu, dass ich ChatGPT nicht vertraut und den Code nochmal geprüft habe. Auch habe ich mir manuell nochmal die Vorgaben von WordPress zur Entwicklung von Modulen durchgelesen (mein letzte Modul ist doch schon ein paar Jahre her). Allerdings musste ich selbst nichts verbessern was ich nicht über Prompts durch ChatGPT übernehmen lassen konnte.
In den offiziellen WordPress Modulkatalog habe ich das Modul nun nicht übernommen, dennoch entschied ich mich dazu es auf Github abzulegen.
Das gesamte Modul ist unter GitHub unter dem Namen ‘Simple Amazon Referral‘ bereitgestellt. Mal sehen wie sich das ganze weiter entwickelt …
ChatGPT als Gefahr für die Softwareentwicklung?
Wenn ich mich mit Bekannten unterhalte kommt häufig die Frage auf, ob ChatGPT (oder andere LLMs) nicht eine Gefahr für die Softwareentwicklung darstellen. Ich selbst sehe das nicht so sondern sehe in den LLMs Möglichkeiten zu Optimierung. Schon heute unterstützen mich die Modelle in meiner täglichen Arbeit (inzwischen auch in meinem Berufsleben) und nehmen mir “leichte Arbeiten” zum Teil ab. Hier und da werde ich korrigiert oder auf Fehler hingewiesen. Ich persönlich sehe die Large Language Modelle eher als eine neue Technik an die man als guter ITler kennen und beherrschen sollte.
Wie seht Ihr das?