Website-Suche

Ich bat Claude, den kaputten Code von ChatGPT zu reparieren - ich hätte dieses Ergebnis nicht erwartet


Vor einiger Zeit bat ich Claude, ChatGPT und Gemini, einen Solarsystem-Simulator zu bauen. Das war zu einer Zeit, als Claude in aller Munde war, und immer mehr Menschen, mich eingeschlossen, erkannten, dass sie sich vielleicht nicht auf ChatGPT beschränken sollten.

Dieser Test lieferte eines der deutlichsten Ergebnisse, die ich je hatte. Claude hat es hervorragend gemeistert und decisively gewonnen. Gemini produzierte funktionierenden, aber nicht besonders beeindruckenden Code, und interessanterweise ist ChatGPT gescheitert.

Heute habe ich beschlossen, einen anderen Parameter zu testen. Dieses Mal habe ich statt Code zu schreiben, die LLMs damit beauftragt, Code zu debuggen. Konkret habe ich sie gebeten, ChatGPTs fehlerhaften Code zu reparieren.

ChatGPTs kaputter Code

Ein kleiner, aber katastrophaler Fehler

Der vorherige Test hatte eine einfache Einschränkung: keine Wiederholungsversuche. Was auch immer wir in der ersten Antwort bekamen, war das Ergebnis, das wir bewerteten. Leider für ChatGPT enthielt der von ihm generierte Code einen kleinen, subtilen Fehler, der das Ganze unbrauchbar machte.

Ich habe auch in dem ursprünglichen Artikel darüber gesprochen. ChatGPT verwendete für einige Entfernungen Kilometer und für andere astronomische Einheiten (AE). Dann vermischte es diese und stellte schließlich den Raum und die Durchmesser in AE dar, aber die Entfernung zwischen den Planeten in Kilometern. Das Ergebnis war, dass die Planeten nur Kilometer voneinander entfernt waren, was im Maßstab des Sonnensystems bedeutete, dass sie praktisch alle ineinander lagen.

Der Code von ChatGPT war ordentlich, und es hatte alles implementiert, aber leider machte dieser kleine Fehler ihn in einem Ausmaß unbrauchbar, dass ich die anderen Aspekte des Codes nicht wirklich beurteilen konnte.

Code zu schreiben und Code zu debuggen sind zwei verschiedene Fähigkeiten. Das ist beim Menschen genauso. Ein Entwickler kann im Schreiben von Code hervorragend sein, während ein anderer im Debuggen davon hervorragend ist. Dasselbe Konzept gilt auch anderswo. Ein guter Schriftsteller ist nicht unbedingt ein guter Herausgeber, und umgekehrt.

Jedenfalls, lassen Sie uns mit dem Test beginnen. Die Aufforderung steht unten. Sie ist einfach, und ich habe besonders darauf geachtet, sie zu bitten anzugeben, was sie korrigiert haben, damit es für uns offensichtlich ist.

Du erhältst einen fehlerhaften Code für einen Sonnensystem-Simulator. Der Code enthält einen Fehler, der den Simulator unbrauchbar macht. Deine Aufgaben: Identifiziere das genaue Problem, das den Ausfall verursacht. Behebe den Code. Gib die vollständig korrigierte Version des Codes zurück. Erkläre kurz, was kaputt war und wie du es behoben hast. Halte die Erklärung knapp und konzentriere dich nur auf die Hauptursache und die Lösung.

Der Haupttest bestand zunächst darin, zu sehen, ob Claude den Code von ChatGPT reparieren konnte, aber um mehr Kontext hinzuzufügen, habe ich alle üblichen Verdächtigen dasselbe tun lassen.

Gemini macht es richtig

Besser als ich erwartet habe

Gemini war in letzter Zeit die schlechteste der ganzen Reihe, zumindest für mich. Es ist übermäßig eifrig. Meiner Erfahrung nach, selbst wenn man ihm ein völlig einwandfreies Code schickt und es bittet, die Fehler darin zu beheben, wird es einen Fehler halluzinieren, ihn „beheben“ und den Code zerstören. Deshalb war ich interessiert, ob es in der Lage sein würde, den tatsächlichen Fehler in einem wirklich fehlerhaften Code zu finden. Zur Information: Wir verwenden Gemini 3.1 Thinking.

Zu meiner Überraschung hat Gemini es geschafft. Es hat den Fehler genau erkannt: Die Projektionsmaschine erwartet Positionen in Kilometern, aber orbitalPosition und drawOrbit berechnen in astronomischen Einheiten. Es ging sogar so weit, das Ergebnis des Fehlers zu nennen: Effektiv stapelte es die Planeten auf der Sonne, wodurch das System leer erschien.

Die verwendete Lösung war auch korrekt, und der korrigierte Code funktionierte. Ich konnte endlich ChatGPTs Solarsystem-Simulator sehen! Ihr könnt ihn auch sehen, ich habe ihn auf einer Vercel-Seite hochgeladen.

ChatGPT löst sich ein

Der Erlösungsbogen

Ich weiß, ich weiß. Das ist schließlich der fehlerhafte Code von ChatGPT. Wir können nicht denselben Chatbot, der den fehlerhaften Code geschrieben hat, bitten, den Fehler darin zu finden. Aber ChatGPT hat in letzter Zeit einen Aufschwung erlebt. Es hat zumindest meiner Erfahrung nach besser als Gemini abgeschnitten. ChatGPT wurde an einem Punkt so nervig, dass ich zu Claude gewechselt habe, aber jetzt, wenn ich es gelegentlich benutze, bekomme ich tendenziell gute Ergebnisse.

Das ist natürlich. Diese Modelle werden ständig angepasst und aktualisiert, selbst wenn sich der Versionsname nicht ändert. Nach meiner Erfahrung ist ChatGPT auch viel sensibler gegenüber benutzerdefinierten Anweisungen als andere Chatbots, sodass deine benutzerdefinierten Anweisungen in ChatGPT das Erlebnis drastisch beeinflussen können.

Sehr überraschend hat ChatGPT es geschafft. Es fand die Ursache, gab eine prägnante, aber klare Erklärung genau wie ich es verlangt hatte, und hat den Code repariert. Und der reparierte Code funktioniert. Ich habe ChatGPT 5.4 Thinking verwendet.

Ich möchte hier etwas ableiten, bin mir aber nicht ganz sicher. ChatGPT dachte am längsten über die anfängliche Aufgabe nach. Vielleicht füllte all das Nachdenken, das in die Aufgabe vor der Codegenerierung gesteckt wurde, das Kontextfenster und trug zum Fehler bei. Oder vielleicht ist es einfach so abgestimmt, dass es bei kleineren Aufgaben und Anpassungen besser ist als beim Erstellen eines Projekts von Grund auf.

Ich bin mir nicht sicher. Aber der Kontrast ist interessant. Am interessantesten ist jedoch, was im nächsten Absatz kommt.

Claude!

Die größte Überraschung






Claudes Ergebnis im letzten Test war einfach in einer anderen Liga. Es war gründlicher, vielschichtiger, faktenreicher und wissenschaftlich machbarer. Es setzte sich meilenweit von ChatGPT und Gemini ab.

Aber hier ist die Überraschung: Claude konnte den Hauptfehler im Code von ChatGPT nicht finden.

Stattdessen fand es einen anderen Fehler, der den Kameraschwenkmechanismus betrifft. Um fair zu sein, hat es ihn nicht halluziniert. Dieser Fehler ist real, aber er tritt nur auf, wenn man bei gedrückter Shift-Taste schwenkt, und in den meisten Kamerawinkeln ist er so subtil, dass er leicht übersehen werden kann. Aber da es einen viel, viel größeren Fehler gab, der den Simulator praktisch nutzlos machte, hat Claude ihn völlig übersehen.

Seltsam, nicht wahr? Der Chatbot, der den besten Code schrieb, war nun der schlechteste darin, den Code von jemand anderem zu debuggen. Diesmal scheiterte Claude dort, wo ChatGPT und Gemini erfolgreich waren. Zur Erinnerung: Wir verwenden Claude Sonnet 4.6, dasselbe Modell, das wir zuvor verwendet haben.

Ich war enttäuscht, und weil ich Claude mag, habe ich die Regeln gebogen und ihm eine weitere Chance gegeben:

Das ist ein Fehler, aber es ist ein subtiler Fehler. Es gibt einen viel größeren Fehler im Code. Einen, der ihn nutzlos macht.

Claude versprach, den Code genauer anzuschauen, und machte sich erneut daran. Dann kam er mit einem weiteren Ergebnis zurück, das wieder falsch war. Aber interessant war, dass es dort nicht stoppte. Es sagte: „Lass uns genauer hinsehen,“ und machte weiter.

Dann antwortete es mit einer weiteren Eingebung: „Jetzt sehe ich es.“ Aber wieder lag es beim falschen Fehler. Dies war immer noch nicht das skalenbezogene Showstopper-Problem. Aber Claude hörte trotzdem nicht auf. Es dachte weiter und generierte weiter, bis es schließlich einen „Moment, nein“-Moment hatte. Da erkannte es den AU-gegen-Kilometer-Fehler. Die Konsequenz, die es ableitete, war zwar falsch, aber die Lösung war trotzdem korrekt. Ausschnitte des Gesprächs kannst du in der obigen Galerie sehen.

Endlich meldete es den richtigen Fehler zusammen mit der richtigen Lösung. Obwohl ich mich frage, wie viele Token es dabei verbrannt hat, angesichts von Claudes strengeren Token-Limits.

Hol dir ein zweites Paar Augen, selbst wenn es künstlich ist

Claude ist mehr ein Bot als die anderen Chatbots. Das ist zum Teil der Grund, warum ich zu Claude gewechselt habe und warum ich ihn in letzter Zeit am meisten benutze. Ich möchte, dass mein Chatbot ein Chatbot ist. Ich möchte nicht, dass er so sehr versucht, mein bester Freund zu sein. Ich möchte nicht, dass er sich wie ein Mensch verhält, und ich brauche das auch nicht.

Während kommerziellere Chatbots wie Gemini und ChatGPT eher auf den Durchschnittsnutzer ausgerichtet sind und sich mehr bemühen, menschlich zu klingen und zu wirken, tut Claude das nicht. Ich möchte glauben, dass sich dieser Unterschied auch in diesem Test widerspiegelt. Claude fand echte Fehler, aber nicht den entscheidenden zuerst. Claudes Denkweise schien in etwa so zu verlaufen: dies ist ein Fehler; der Code sollte keine Fehler haben; das ist wichtig; daher muss dies der wichtige Fehler sein; Aufgabe beendet.

Claude produzierte den stärksten ursprünglichen Simulator, aber er war am schwächsten darin, den wichtigsten Fehler zu erkennen, wenn Einschränkungen beteiligt waren. Das ist für mich die wichtigste Erkenntnis hier. Holen Sie sich ein zweites Paar Augen für jedes Projekt, das zählt, auch wenn es künstliche Augen sind.

Auf den ersten Blick ist ein LLM wie ein anderer, aber sie unterscheiden sich auf bedeutsame Weise. Beginne ein separates Gespräch und bitte es, dort den Fehler in seinem eigenen Code zu finden. Sende denselben Code an einen anderen Chatbot und bitte ihn, dasselbe zu tun.

Immer mehr stellt sich heraus, dass es nicht ein Modell gibt, das über alle herrscht. Wir werden wahrscheinlich eine Kombination von ihnen brauchen, nur für den Fall.

Verwandte Artikel