Weitere Versuche
Ich habe es auch mit einigen anderen schwierigen Algorithmen ausprobiert, die ich geschrieben hatte, und es ist jedes Mal ähnlich. ChatGPT schlägt oft Lösungen für ähnliche Probleme vor, übersieht aber die Feinheiten, die das konkrete Problem anders machen, und nach ein paar Überarbeitungen funktioniert oft einfach gar nichts mehr.
In dem untenstehenden Fall (Wie löst Mew ein Rückstoßproblem) übersah es einfach alle Details des Problems. Zum Beispiel, dass es nicht zwei sich bewegende Objekte gleichzeitig bewegen darf. Dieses Problem war aber insofern interessant, dass GPT-3.5 (das ich versehentlich statt GPT-4 fragte) viel näher an eine echte Lösung herankam als GPT-4.
Das ist weit weg von der richtigen Lösung. Als ich jedoch GPT 3.5 fragte, gab es mir eine eigentlich funktionierende Lösung mit einigen Fehlern und Randfällen aus. Es kann nicht mit einem Zyklus von Objekten umgehen, die sich in einer Kette aufeinander zubewegen; trotzdem ist es besser als das absolute Nichts, das GPT4 ausgab. Seltsam.
Es ist möglich, dass ähnliche Probleme in seinem Trainingssatz auftauchen. Offenbar tut es sich aber schwer mit sehr seltenen Problemen, die es noch nicht kennt – zumindest mit solchen, die in einem oder zwei Absätzen beschrieben werden können.
Versuchen wir es mit einem etwas konstruierten Beispiel, lassen wir es einen Algorithmus zur Kollisionserkennung zwischen Mondsichelformen erstellen (ich konnte bei einer kurzen Google-Suche keinen Algorithmus dafür finden und das Problem scheint nicht trivial zu sein).
Daraus machte es einen Code. Zu ChatGPTs Ehrenrettung sei gesagt, dass nicht direkt zu sehen ist, warum er falsch ist. Aber es ist auch nicht allzu schwer, ein Gegenbeispiel zu finden.
Nächster Versuch: Auch hier ist es schwer, Gegenbeispiele zu finden, aber hier ist eines, das 2.a nicht erfüllt: Die äußeren Kreise kollidieren, jeder innere Kreis kollidiert mit dem äußeren Kreis des anderen, aber nicht miteinander – die Halbmonde kollidieren also nicht.
Offenbar macht ChatGPT an diesem Punkt einfach nur Mist. Es hat keine Antwort, also denkt es sich einfach irgendetwas aus.
Tatsächlich ist es gut darin, sich etwas auszudenken, wie diesen Algorithmus. Die Fälle, in denen es versagt, sind raffiniert. Man könnte den Algorithmus leicht in einem Buch veröffentlichen und Menschen damit verwirren, weil sie wahrscheinlich denken würden, sie hätten die Implementierung verpfuscht, wenn es Fehler in der Kollisionserkennung gibt. Denn GPTs Lösung wirkt wie ein Algorithmus, der das Problem lösen kann.
Kann ChatGPT nun Code schreiben oder nicht?
Wenn es eine Beschreibung eines Algorithmus oder ein bekanntes Problem mit vielen Beispielen im Internet gibt, kann GPT-4 durchaus Code schreiben. Meistens setzt es eben Dinge zusammen, die es schon gesehen hat. Und um ehrlich zu sein: Ein Großteil von Programmierungsaufgaben ist ja genau das.
Allerdings versagt es völlig, wenn es versucht, wirkliche Probleme zu lösen. Die Art von neuartigen Problemen, die noch nie gelöst wurden und auf die man beim Programmieren stoßen kann. Außerdem rät es gern, und mit diesem Raten kann man viel Zeit verschwenden, wenn es einen auf den falschen Weg führt.
Das Beispiel mit dem Halbmond ist ziemlich bedenklich. ChatGPT kennt die Antwort nicht, es gab kein Beispiel dafür in seinen Trainingsdaten und es kann nichts dazu in seinem Modell finden. Es wäre sinnvoll, wenn es einfach sagen würde: "Ich kenne keinen Algorithmus, der das kann."
Aber es ist zu sehr von seinen eigenen Fähigkeiten überzeugt und erfindet einfach etwas.
Oder, in seinen eigenen Worten:
Das gleiche Problem hat es in vielen anderen Bereichen, auch wenn seine Kompetenz beim Schreiben von einfachem Code das ein wenig überdeckt.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Wie gut schlägt sich GPT-4? |
Das trifft auf die konkrete Formulierung zu - im Gegensatz zu ChatGPT hat der Mensch...
Haha, also Ich würde im Job nicht auf eine solche Idee kommen, und kenne auch keinen...
Wenn ich 10 Jahre zurück gehe, fällt mir bis auf Ki nichts ein, was es nicht auch schon...
Die Programmiersprachen sind deutlich exakter als natürliche Sprachen. Du hast auf jeden...